#include #include #include "eclipse.h" #include #include int initialized = 0; const gsl_rng_type * T; gsl_rng *r; void init(){ gsl_rng_env_setup (); // T = gsl_rng_default; r = gsl_rng_alloc(gsl_rng_taus); gsl_rng_set(r, (unsigned long int) time(NULL) ); initialized = 1; } int std_normal_cdf(){ double x; pword num; if(!initialized){ init(); } num = ec_arg(1); if (ec_get_double(num, &x) != PSUCCEED) return PFAIL; return ec_unify(ec_arg(2), ec_double(gsl_cdf_ugaussian_P(x))); } // int std_normal_rand(){ // if(!initialized){ // init(); // } // return ec_unify(ec_arg(1), ec_double(gsl_ran_ugaussian(r))); // }