add 10^ to math.functions and update usages
parent
14ef1649d4
commit
4fef246ca4
|
@ -162,7 +162,7 @@ M: timestamp year. ( timestamp -- )
|
|||
|
||||
: read-rfc3339-seconds ( s -- s' ch )
|
||||
"+-Z" read-until [
|
||||
[ string>number ] [ length 10 swap ^ ] bi / +
|
||||
[ string>number ] [ length 10^ ] bi / +
|
||||
] dip ;
|
||||
|
||||
: (rfc3339>timestamp) ( -- timestamp )
|
||||
|
|
|
@ -32,7 +32,7 @@ IN: formatting
|
|||
[ "." split1 ] dip [ CHAR: 0 pad-tail ] [ head-slice ] bi "." glue ;
|
||||
|
||||
: max-digits ( n digits -- n' )
|
||||
10 swap ^ [ * round ] keep / ; inline
|
||||
10^ [ * round ] keep / ; inline
|
||||
|
||||
: >exp ( x -- exp base )
|
||||
[
|
||||
|
|
|
@ -9,11 +9,11 @@ calendar ascii combinators.short-circuit locals ;
|
|||
IN: io.files.info.windows
|
||||
|
||||
:: round-up-to ( n multiple -- n' )
|
||||
n multiple rem dup 0 = [
|
||||
drop n
|
||||
n multiple rem [
|
||||
n
|
||||
] [
|
||||
multiple swap - n +
|
||||
] if ;
|
||||
] if-zero ;
|
||||
|
||||
TUPLE: windows-file-info < file-info attributes ;
|
||||
|
||||
|
|
|
@ -104,10 +104,12 @@ PRIVATE>
|
|||
: divisor? ( m n -- ? )
|
||||
mod 0 = ;
|
||||
|
||||
ERROR: non-trivial-divisor n ;
|
||||
|
||||
: mod-inv ( x n -- y )
|
||||
[ nip ] [ gcd 1 = ] 2bi
|
||||
[ dup 0 < [ + ] [ nip ] if ]
|
||||
[ "Non-trivial divisor found" throw ] if ; foldable
|
||||
[ non-trivial-divisor ] if ; foldable
|
||||
|
||||
: ^mod ( x y n -- z )
|
||||
over 0 < [
|
||||
|
@ -116,6 +118,8 @@ PRIVATE>
|
|||
-rot (^mod)
|
||||
] if ; foldable
|
||||
|
||||
: 10^ ( n -- n' ) 10 swap ^ ; inline
|
||||
|
||||
GENERIC: absq ( x -- y ) foldable
|
||||
|
||||
M: real absq sq ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2008 Doug Coleman, Slava Pestov, Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: combinators.short-circuit kernel math math.constants math.functions
|
||||
math.vectors sequences ;
|
||||
USING: combinators.short-circuit kernel math math.constants
|
||||
math.functions math.vectors sequences ;
|
||||
IN: math.analysis
|
||||
|
||||
<PRIVATE
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: help.markup help.syntax ;
|
||||
IN: math.text.utils
|
||||
|
||||
HELP: 3digit-groups
|
||||
{ $values { "n" "a positive integer" } { "seq" "a sequence" } }
|
||||
{ $description "Decompose a number into 3 digits groups and return them in a sequence, starting with the units, then the tenths, etc." } ;
|
||||
HELP: digit-groups
|
||||
{ $values { "n" "a positive integer" } { "k" "a positive integer" } { "seq" "a sequence" } }
|
||||
{ $description "Decompose a number into groups of " { $snippet "k" } " digits and return them in a sequence starting with the least significant grouped digits first." } ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (c) 2007, 2008 Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel math sequences ;
|
||||
USING: kernel fry math.functions math sequences ;
|
||||
IN: math.text.utils
|
||||
|
||||
: 3digit-groups ( n -- seq )
|
||||
[ dup 0 > ] [ 1000 /mod ] produce nip ;
|
||||
: digit-groups ( n k -- seq )
|
||||
[ dup 0 > ] swap '[ _ 10^ /mod ] produce nip ;
|
||||
|
|
|
@ -28,6 +28,6 @@ ERROR: not-an-integer x ;
|
|||
[
|
||||
[ dup string>number [ nip ] [ not-an-integer ] if* ] bi@
|
||||
] keep length
|
||||
10 swap ^ / + swap [ neg ] when ;
|
||||
10^ / + swap [ neg ] when ;
|
||||
|
||||
SYNTAX: DECIMAL: scan parse-decimal parsed ;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
! Copyright (c) 2008 Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel math math.functions math.ranges project-euler.common sequences ;
|
||||
USING: kernel math math.functions math.ranges
|
||||
project-euler.common sequences ;
|
||||
IN: project-euler.048
|
||||
|
||||
! http://projecteuler.net/index.php?section=problems&id=48
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
! Copyright (c) 2007, 2008 Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: continuations fry io kernel make math math.functions math.parser
|
||||
math.statistics memory tools.time ;
|
||||
USING: continuations fry io kernel make math math.functions
|
||||
math.parser math.statistics memory tools.time ;
|
||||
IN: project-euler.ave-time
|
||||
|
||||
: nth-place ( x n -- y )
|
||||
10 swap ^ [ * round >integer ] keep /f ;
|
||||
10^ [ * round >integer ] keep /f ;
|
||||
|
||||
: collect-benchmarks ( quot n -- seq )
|
||||
[
|
||||
|
|
|
@ -11,7 +11,7 @@ XML-NS: inkscape-name http://www.inkscape.org/namespaces/inkscape
|
|||
|
||||
: svg-string>number ( string -- number )
|
||||
{ { CHAR: E CHAR: e } } substitute "e" split1
|
||||
[ string>number ] [ [ string>number 10 swap ^ ] [ 1 ] if* ] bi* *
|
||||
[ string>number ] [ [ string>number 10^ ] [ 1 ] if* ] bi* *
|
||||
>float ;
|
||||
|
||||
: degrees ( deg -- rad ) pi * 180.0 / ;
|
||||
|
|
Loading…
Reference in New Issue