/* * file : lib.h * * */ #define ALIB #define Exp(x) ((float) exp((double) (x))) #define PI 3.14159 #define NEWCONST 2.5066 #define Square(x) ((x) * (x)) //overload gauss_to_value; extern nsl_matrix vec_mult_vec_trans(NslFloat1&, NslFloat1&); extern nsl_matrix vec_mult_vec_trans(NslFloat1&, NslInt1&); extern nsl_vector mat_mult_col_vec(NslFloat2&, NslFloat1&); extern nsl_vector mat_mult_col_vec(NslFloat2&, NslInt1&); extern nsl_vector mat_trans_mult_col_vec(NslFloat2&, NslInt1&); extern void extract_col_vector(NslInt2&, int, NslInt1&); extern void extract_row_vector(NslInt2&, int, NslInt1&); extern void insert_col_vector(NslInt2&, int, NslInt1&); extern void insert_row_vector(NslInt2&, int, NslInt1&); extern float random_value(); extern float randomv(); extern nsl_vector square(nsl_vector& a); extern nsl_vector sqrt(nsl_vector& a); extern nsl_vector abs(nsl_vector& a); extern nsl_vector apply_func(nsl_vector& a,double (*func)(double)); extern nsl_matrix apply_func(nsl_matrix& a,double (*func)(double)); extern nsl_vector sigmoid(nsl_vector& vec); extern void randomize(nsl_vector& vec); extern void randomize(nsl_matrix& mat); extern nsl_vector distributed_sum(nsl_vector& a, nsl_vector& b); extern void gauss_to_value(nsl_vector& a, float& total, float& div); extern nsl_vector biased_distributed_sum(nsl_vector& a, nsl_vector& b, nsl_matrix& bias, int size); extern nsl_vector value_to_gauss(float val, float min, float max, int pad, float std, nsl_vector& vec); extern void gauss_to_value(float min, float max, int pad, nsl_vector& vec, float& total, float& div); extern nsl_vector& random(nsl_vector&); extern nsl_matrix& random(nsl_matrix&); extern nsl_data dot(nsl_vector&, nsl_vector&); void normal_row(nsl_matrix&, int); void normal_col(nsl_matrix&, int); #define L1 1 #define L2 2