49 #include <mm_malloc.h> 51 extern void dlarnv_(
int *,
int *,
int *,
double *);
52 extern void slarnv_(
int *,
int *,
int *,
float *);
61 #define max(a,b) (((a)>(b ))?( a):(b)) 62 #define min(a,b) (((a)<(b ))?( a):(b)) 64 void dmemset_x86(
const int n,
double *__restrict__ x,
const double val);
65 void smemset_x86(
const int n,
float *__restrict__ x,
const float val);
67 void ddiv_x86(
const int n,
const double *x,
double *__restrict__ y);
68 void sdiv_x86(
const int n,
const float *x,
float *__restrict__ y);
70 void dsub_x86(
const int n,
const double *x,
double *__restrict__ y);
71 void ssub_x86(
const int n,
const float *x,
float *__restrict__ y);
73 void dlarngenn_x86(
const int m,
const int n,
const int seed,
double *X);
74 void slarngenn_x86(
const int m,
const int n,
const int seed,
float *X);
76 double derror_x86(
const int m,
const int n,
const int k,
const double *A,
const double *W,
const double *H);
77 float serror_x86(
const int m,
const int n,
const int k,
const float *A,
const float *W,
const float *H);
void dlarnv_(int *, int *, int *, double *)
float serror_x86(const int m, const int n, const int k, const float *A, const float *W, const float *H)
serror_x86 returns simple precision "2norm(A - WH) / sqrt(m x n)"
void dsub_x86(const int n, const double *x, double *__restrict__ y)
This function performs double precision element-wise substraction y[i]=x[i]-y[i]. ...
void dmemset_x86(const int n, double *__restrict__ x, const double val)
This function fills all positions of x with val.
void ddiv_x86(const int n, const double *x, double *__restrict__ y)
This function calls the appropiate funtions to performs double precision element-wise y[i]=x[i]/y[i] ...
void smemset_x86(const int n, float *__restrict__ x, const float val)
This function fills all positions of x with val.
void sdiv_x86(const int n, const float *x, float *__restrict__ y)
This function calls the appropiate funtions to performs simple precision element-wise x[i]=x[i]/y[i] ...
void slarngenn_x86(const int m, const int n, const int seed, float *X)
slarngenn_x86 returns an (m x n) random simple precision matrix. An uniform (0, 1) distribution is us...
void slarnv_(int *, int *, int *, float *)
double derror_x86(const int m, const int n, const int k, const double *A, const double *W, const double *H)
derror_x86 returns double precision "2norm(A - WH) / sqrt(m x n)"
void dlarngenn_x86(const int m, const int n, const int seed, double *X)
dlarngenn_x86 returns an (m x n) random double precision matrix. An uniform (0, 1) distribution is us...
void ssub_x86(const int n, const float *x, float *__restrict__ y)
This function performs simple precision element-wise substraction y[i]=x[i]-y[i]. ...