/* * file : alib.h * * */ #define ALIB #define Exp(x) ((float) exp((double) (x))) #define PI 3.14159 #define CONST 2.5066 #define Square(x) ((x) * (x)) //overload gauss_to_value; extern nsl_matrix vec_mult_vec_trans(nsl_vector&, nsl_vector&); extern nsl_vector mat_mult_col_vec(nsl_matrix&, nsl_vector&); extern nsl_vector mat_trans_mult_col_vec(nsl_matrix&, nsl_vector&); extern void extract_col_vector(nsl_matrix&, int, nsl_vector&); extern void extract_row_vector(nsl_matrix&, int, nsl_vector&); extern void insert_col_vector(nsl_matrix&, int, nsl_vector&); extern void insert_row_vector(nsl_matrix&, int, nsl_vector&); 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);