blob: 6e2660a4c1f269a6372f5c7f2e5f4c7543209ff3 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
(define-module (langauge python module _random)
#:use-module (oop pf-objects)
#:export ())
(define-python-class Random ()
(define seed
(lambda (self s)
(rawset self '_state (seed->random-state s))))
(define setstate
(lambda (self s)
(rawset self '_state s)))
(define getstate
(lambda (self)
(aif it (rawref self '_state)
it
(let ((ret (copy-random-state)))
(set self '_state ret)
ret))))
(define random
(lambda (self)
(let ((x (random:uniform (getstate self))))
(rawset self '_state (copy-random-state))))))
|