combinators.random: some style cleanup.
parent
669367f29f
commit
d3ce5c7deb
|
@ -6,7 +6,9 @@ summary ;
|
||||||
IN: combinators.random
|
IN: combinators.random
|
||||||
|
|
||||||
: ifp ( p true false -- ) [ random-unit > ] 2dip if ; inline
|
: ifp ( p true false -- ) [ random-unit > ] 2dip if ; inline
|
||||||
|
|
||||||
: whenp ( p true -- ) [ ] ifp ; inline
|
: whenp ( p true -- ) [ ] ifp ; inline
|
||||||
|
|
||||||
: unlessp ( p false -- ) [ [ ] ] dip ifp ; inline
|
: unlessp ( p false -- ) [ [ ] ] dip ifp ; inline
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
@ -41,13 +43,14 @@ MACRO: (casep) ( assoc -- ) (casep>quot) ;
|
||||||
(casep>quot) [ random-unit ] prepend ;
|
(casep>quot) [ random-unit ] prepend ;
|
||||||
|
|
||||||
: (conditional-probabilities) ( seq i -- p )
|
: (conditional-probabilities) ( seq i -- p )
|
||||||
[ dup 0 > [ head [ 1 swap - ] [ * ] map-reduce ] [ 2drop 1 ] if ] [ swap nth ] 2bi * ;
|
[ dup 0 > [ head [ 1 swap - ] [ * ] map-reduce ] [ 2drop 1 ] if ]
|
||||||
|
[ swap nth ] 2bi * ;
|
||||||
|
|
||||||
: conditional-probabilities ( seq -- seq' )
|
: conditional-probabilities ( seq -- seq' )
|
||||||
dup length iota [ (conditional-probabilities) ] with map ;
|
dup length iota [ (conditional-probabilities) ] with map ;
|
||||||
|
|
||||||
: (direct>conditional) ( assoc -- assoc' )
|
: (direct>conditional) ( assoc -- assoc' )
|
||||||
[ keys conditional-probabilities ] [ values ] bi zip ;
|
[ keys conditional-probabilities ] [ values ] bi zip ;
|
||||||
|
|
||||||
: direct>conditional ( assoc -- assoc' )
|
: direct>conditional ( assoc -- assoc' )
|
||||||
dup last pair? [ (direct>conditional) ] [
|
dup last pair? [ (direct>conditional) ] [
|
||||||
|
|
Loading…
Reference in New Issue