Updating contrib/math/ for latest changes

darcs
slava 2006-06-15 05:36:48 +00:00
parent 7725d92f26
commit 59c64064a7
2 changed files with 8 additions and 2 deletions

View File

@ -1,7 +1,6 @@
IN: math-contrib
USING: kernel sequences errors namespaces math lists vectors errors prettyprint ;
USING: io inspector ;
USING: kernel sequences errors namespaces math vectors errors prettyprint io inspector ;
: setup-range ( from to -- frange )
step-size get swap <frange> ;

View File

@ -13,6 +13,13 @@ USING: errors kernel sequences math sequences-internals namespaces arrays ;
gcd 1 = [ "Non-trivial divisor found" throw ] unless ;
foldable
: each-bit ( n quot -- | quot: 0/1 -- )
over zero? pick -1 number= or [
2drop
] [
2dup >r >r >r 1 bitand r> call r> -1 shift r> each-bit
] if ; inline
: (^mod) ( n z w -- z^w )
1 swap [
1 number= [ dupd * pick mod ] when >r sq over mod r>