246 |
vs_push(old_READtable); |
vs_push(old_READtable); |
247 |
for (i = 0; i < sharp_eq_context_max; i++) |
for (i = 0; i < sharp_eq_context_max; i++) |
248 |
old_sharp_eq_context[i] = sharp_eq_context[i]; |
old_sharp_eq_context[i] = sharp_eq_context[i]; |
249 |
|
memset(old_sharp_eq_context+i,0,sizeof(old_sharp_eq_context)-i*sizeof(*old_sharp_eq_context)); |
250 |
old_backq_level = backq_level; |
old_backq_level = backq_level; |
251 |
setup_READ(); |
setup_READ(); |
252 |
|
|
1897 |
static void |
static void |
1898 |
Lsharp_dollar_reader() |
Lsharp_dollar_reader() |
1899 |
{ |
{ |
1900 |
int i; |
object x; |
1901 |
|
enum type tx; |
1902 |
|
|
1903 |
check_arg(3); |
check_arg(3); |
1904 |
if (vs_base[2] != Cnil && !READsuppress) |
if (vs_base[2] != Cnil && !READsuppress) |
1905 |
extra_argument('$'); |
extra_argument('$'); |
1906 |
vs_popp; |
vs_popp; |
1907 |
vs_popp; |
vs_popp; |
1908 |
vs_base[0] = read_object(vs_base[0]); |
x = read_object(vs_base[0]); |
1909 |
if (type_of(vs_base[0]) != t_fixnum) |
tx=type_of(x); |
1910 |
FEerror("Cannot make a random-state with the value ~S.", |
if (tx!=t_fixnum && tx!=t_bignum) |
1911 |
1, vs_base[0]); |
FEerror("Cannot make a random-state with the value ~S.",1, x); |
|
i = fix(vs_base[0]); |
|
1912 |
vs_base[0] = alloc_object(t_random); |
vs_base[0] = alloc_object(t_random); |
1913 |
vs_base[0]->rnd.rnd_value = i; |
bzero(&vs_base[0]->rnd.rnd_state,sizeof(vs_base[0]->rnd.rnd_state)); |
1914 |
|
gmp_randinit_default(&vs_base[0]->rnd.rnd_state); |
1915 |
|
if (tx==t_fixnum) |
1916 |
|
gmp_randseed_ui(&vs_base[0]->rnd.rnd_state,fix(x)); |
1917 |
|
else |
1918 |
|
gmp_randseed(&vs_base[0]->rnd.rnd_state,MP(x)); |
1919 |
|
|
1920 |
} |
} |
1921 |
|
|
1922 |
/* |
/* |