PDLA-Rest

 view release on metacpan or  search on metacpan

Libtmp/GSL/RNG/gsl_random.pd  view on Meta::CPAN

DEF_RNG(mt19937_1998)
DEF_RNG(r250)
DEF_RNG(ran0)
DEF_RNG(ran1)
DEF_RNG(ran2)
DEF_RNG(ran3)
DEF_RNG(rand)
DEF_RNG(rand48)
DEF_RNG(random128_bsd)
DEF_RNG(random128_glibc2)
DEF_RNG(random128_libc5)
DEF_RNG(random256_bsd)
DEF_RNG(random256_glibc2)
DEF_RNG(random256_libc5)
DEF_RNG(random32_bsd)
DEF_RNG(random32_glibc2)
DEF_RNG(random32_libc5)
DEF_RNG(random64_bsd)
DEF_RNG(random64_glibc2)
DEF_RNG(random64_libc5)
DEF_RNG(random8_bsd)
DEF_RNG(random8_glibc2)
DEF_RNG(random8_libc5)
DEF_RNG(random_bsd)
DEF_RNG(random_glibc2)
DEF_RNG(random_libc5)
DEF_RNG(randu)
DEF_RNG(ranf)
DEF_RNG(ranlux)
DEF_RNG(ranlux389)
DEF_RNG(ranlxd1)
DEF_RNG(ranlxd2)
DEF_RNG(ranlxs0)
DEF_RNG(ranlxs1)
DEF_RNG(ranlxs2)
DEF_RNG(ranmar)
DEF_RNG(slatec)
DEF_RNG(taus)
DEF_RNG(taus2)
DEF_RNG(taus113)
DEF_RNG(transputer)
DEF_RNG(tt800)
DEF_RNG(uni)
DEF_RNG(uni32)
DEF_RNG(vax)
DEF_RNG(waterman14)
DEF_RNG(zuf)
DEF_RNG(default)
  if (rng==NULL) {
    barf("Unknown RNG, plese use one of the following: %s", rngs);
  }
  else
  RETVAL = rng;
 OUTPUT:
  RETVAL

void
set_seed(rng, seed)
  gsl_rng * rng
  int seed
 PPCODE:
  gsl_rng_set(rng,seed);
  XPUSHs(ST(0)); /* return self */

unsigned int
min(rng)
  gsl_rng * rng
 CODE:
  RETVAL = gsl_rng_min(rng);
 OUTPUT:
  RETVAL

unsigned int
max(rng)
  gsl_rng * rng
 CODE:
  RETVAL = gsl_rng_max(rng);
 OUTPUT:
  RETVAL

char*
name(rng)
  gsl_rng * rng
 CODE:
  RETVAL = (char *) gsl_rng_name(rng);
 OUTPUT:
  RETVAL

void
DESTROY(sv)
  SV * sv
 CODE:
  gsl_rng *rng = INT2PTR(gsl_rng *, SvIV((SV*)SvRV(sv)));
  /* fprintf(stderr,"Freeing %d\n",rng); */
  gsl_rng_free((gsl_rng *) rng);

gsl_ran_discrete_t *
ran_discrete_preproc(rng, p)
  gsl_rng * rng
  pdl * p
     CODE:
       int n;

       if (p->ndims!=1 || p->datatype!=PDLA_D) {
	 barf("Bad input to ran_discrete_preproc!");
       }
       n = p->dims[0];
       PDLA->make_physical(p);
       RETVAL = gsl_ran_discrete_preproc(n,(double *) p->data);
     OUTPUT:
       RETVAL

void
ran_shuffle(rng, in)
  gsl_rng * rng
  pdl * in
 CODE:
  int size, n;

  n = in->nvals;
  PDLA->make_physical(in);



( run in 0.637 second using v1.01-cache-2.11-cpan-5511b514fd6 )