Class: GMP::RandState
- Inherits:
-
Object
- Object
- GMP::RandState
- Defined in:
- ext/gmprandstate.c
Instance Method Summary collapse
-
#mpc_urandom ⇒ Object
From the MPC Manual:.
Instance Method Details
#mpc_urandom ⇒ Object
From the MPC Manual:
Generate a uniformly distributed random complex in the unit square [0,1] x [0,1].
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'ext/gmprandstate.c', line 15
VALUE r_gmprandstate_mpc_urandom(int argc, VALUE *argv, VALUE self_val)
{
MP_RANDSTATE *self;
MP_COMPLEX *res;
VALUE res_val;
unsigned long prec = 0;
if (argc > 1)
rb_raise (rb_eArgError, "wrong # of arguments (%d for 0 or 1)", argc);
mprandstate_get_struct (self_val, self);
if (argc == 1) {
if (FIXNUM_P (argv[0])) {
if (FIX2INT (argv[0]) >= 2)
prec = FIX2INT (argv[0]);
else
rb_raise (rb_eRangeError, "prec must be at least 2");
} else {
rb_raise (rb_eTypeError, "prec must be a Fixnum");
}
}
mpc_make_struct (res_val, res);
if (prec == 0) { mpc_init2 (res, mpfr_get_default_prec()); }
else { mpc_init2 (res, prec); }
mpc_urandom (res, self);
return res_val;
}
|