#include "riscv_math.h"
#include "math_helper.h"
#include <stdio.h>
#define SNR_THRESHOLD 77
{
782.0, 7577.0, 470.0, 4505.0
};
{
1.0, 32.0, 4.0, 128.0,
1.0, 32.0, 64.0, 2048.0,
1.0, 16.0, 4.0, 64.0,
1.0, 16.0, 64.0, 1024.0,
};
const float32_t xRef_f32[4] = {73.0, 8.0, 21.25, 2.875};
int32_t main(void)
{
#if (defined(__riscv_vector))
__RV_CSR_SET(CSR_MSTATUS, 0x200);
#endif
uint32_t srcRows, srcColumns;
srcRows = 4;
srcColumns = 4;
srcRows = 4;
srcColumns = 4;
srcRows = 4;
srcColumns = 4;
srcRows = 4;
srcColumns = 4;
srcRows = 4;
srcColumns = 1;
srcRows = 4;
srcColumns = 1;
snr = riscv_snr_f32((
float32_t *)xRef_f32, X_f32, 4);
if ( snr > SNR_THRESHOLD)
{
printf("passed\n");
return 0;
}
else
{
printf("failed\n");
return 1;
}
}
void riscv_mat_init_f32(riscv_matrix_instance_f32 *S, uint16_t nRows, uint16_t nColumns, float32_t *pData)
Floating-point matrix initialization.
Definition: riscv_mat_init_f32.c:58
riscv_status riscv_mat_inverse_f32(const riscv_matrix_instance_f32 *src, riscv_matrix_instance_f32 *dst)
Floating-point matrix inverse.
Definition: riscv_mat_inverse_f32.c:88
riscv_status riscv_mat_mult_f32(const riscv_matrix_instance_f32 *pSrcA, const riscv_matrix_instance_f32 *pSrcB, riscv_matrix_instance_f32 *pDst)
Floating-point matrix multiplication.
Definition: riscv_mat_mult_f32.c:90
riscv_status riscv_mat_trans_f32(const riscv_matrix_instance_f32 *pSrc, riscv_matrix_instance_f32 *pDst)
Floating-point matrix transpose.
Definition: riscv_mat_trans_f32.c:74
float float32_t
32-bit floating-point type definition.
Definition: riscv_math_types.h:257
riscv_status
vector types
Definition: riscv_math_types.h:271
@ RISCV_MATH_TEST_FAILURE
Definition: riscv_math_types.h:278
@ RISCV_MATH_SUCCESS
Definition: riscv_math_types.h:272
Instance structure for the floating-point matrix structure.
Definition: matrix_functions.h:120