kolibrios-gitea/programs/develop/tinypy/std_modules/random/init.c
superturbocat2001 b29cc6670d - Rebuilt TinyPy
- Non-working trash is cleaned.
- Updated from latest git version. 
- Fixed modules pygame math and others. 
- Removed old modules added new ones.
- All samples work except "net"

git-svn-id: svn://kolibrios.org@8535 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-01-12 23:18:45 +00:00

53 lines
2.3 KiB
C

#include "random.c"
/*
* random_mod_init()
*
* random module initialization function
*/
void random_init(TP)
{
/*
* module dict for random
*/
tp_obj random_mod = tp_dict(tp);
/*
* bind functions to random module
*/
tp_set(tp, random_mod, tp_string("seed"), tp_fnc(tp, random_seed));
tp_set(tp, random_mod, tp_string("getstate"), tp_fnc(tp, random_getstate));
tp_set(tp, random_mod, tp_string("setstate"), tp_fnc(tp, random_setstate));
tp_set(tp, random_mod, tp_string("jumpahead"), tp_fnc(tp, random_jumpahead));
tp_set(tp, random_mod, tp_string("random"), tp_fnc(tp, random_random));
/*
* bind usual distribution random variable generator
*/
tp_set(tp, random_mod, tp_string("uniform"), tp_fnc(tp, random_uniform));
tp_set(tp, random_mod, tp_string("normalvariate"), tp_fnc(tp, random_normalvariate));
tp_set(tp, random_mod, tp_string("lognormvariate"), tp_fnc(tp, random_lognormvariate));
tp_set(tp, random_mod, tp_string("expovariate"), tp_fnc(tp, random_expovariate));
tp_set(tp, random_mod, tp_string("vonmisesvariate"), tp_fnc(tp, random_vonmisesvariate));
tp_set(tp, random_mod, tp_string("gammavariate"), tp_fnc(tp, random_gammavariate));
tp_set(tp, random_mod, tp_string("betavariate"), tp_fnc(tp, random_betavariate));
tp_set(tp, random_mod, tp_string("paretovariate"), tp_fnc(tp, random_paretovariate));
tp_set(tp, random_mod, tp_string("weibullvariate"), tp_fnc(tp, random_weibullvariate));
tp_set(tp, random_mod, tp_string("randrange"), tp_fnc(tp, random_randrange));
tp_set(tp, random_mod, tp_string("randint"), tp_fnc(tp, random_randint));
tp_set(tp, random_mod, tp_string("choice"), tp_fnc(tp, random_choice));
tp_set(tp, random_mod, tp_string("shuffle"), tp_fnc(tp, random_shuffle));
/*
* bind special attributes to random module
*/
tp_set(tp, random_mod, tp_string("__doc__"), tp_string("Random variable generators."));
tp_set(tp, random_mod, tp_string("__name__"), tp_string("random"));
tp_set(tp, random_mod, tp_string("__file__"), tp_string(__FILE__));
/*
* bind random module to tinypy modules[]
*/
tp_set(tp, tp->modules, tp_string("random"), random_mod);
}