]> gitweb.factorcode.org Git - factor.git/commitdiff
math.extras: more new range syntax
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 30 Dec 2021 03:25:05 +0000 (21:25 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 30 Dec 2021 03:25:05 +0000 (21:25 -0600)
extra/math/extras/extras-docs.factor
extra/math/extras/extras-tests.factor
extra/math/extras/extras.factor

index 2974d1deaea6dd575a09cce5d9e41c492b9c724d..0d9ce145150b60411e37a4c8e4758b0208c4828b 100644 (file)
@@ -58,19 +58,19 @@ HELP: sinc
 { $description "Returns the " { $link sinc } " function, calculated according to " { $snippet "sin(pi * x) / (pi * x)" } ". The name " { $link sinc } " is short for \"sine cardinal\" or \"sinus cardinalis\"." }
 { $notes { $snippet "0 sinc" } " is the limit value of 1." } ;
 
-HELP: linspace[a,b)
+HELP: linspace[a..b)
 { $values { "a" number } { "b" number } { "length" integer } { "seq" sequence } }
 { $description "Return evenly spaced numbers over an interval " { $snippet "[a,b)" } "." } ;
 
-HELP: linspace[a,b]
+HELP: linspace[a..b]
 { $values { "a" number } { "b" number } { "length" integer } { "seq" sequence } }
 { $description "Return evenly spaced numbers over an interval " { $snippet "[a,b]" } "." } ;
 
-HELP: logspace[a,b)
+HELP: logspace[a..b)
 { $values { "a" number } { "b" number } { "length" integer } { "base" number } { "seq" sequence } }
 { $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^a,base^b)" } "." } ;
 
-HELP: logspace[a,b]
+HELP: logspace[a..b]
 { $values { "a" number } { "b" number } { "length" integer } { "base" number } { "seq" sequence } }
 { $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^a,base^b]" } "." } ;
 
index f89cfd67b025ffb6682b7f3ab388f3548d986a61..8967451fd13c45dc8ea6458622f53c8153c22dd7 100644 (file)
@@ -87,8 +87,8 @@ tools.test ;
     { 0 1 0 0 2 3 }
 } [ { 1 2 1 1 3 4 } unique-indices ] unit-test
 
-{ { 1 8+4/5 16+3/5 24+2/5 32+1/5 } } [ 1 40 5 linspace[a,b) >array ] unit-test
-{ { 1 10+3/4 20+1/2 30+1/4 40 } } [ 1 40 5 linspace[a,b] >array ] unit-test
+{ { 1 8+4/5 16+3/5 24+2/5 32+1/5 } } [ 1 40 5 linspace[a..b) >array ] unit-test
+{ { 1 10+3/4 20+1/2 30+1/4 40 } } [ 1 40 5 linspace[a..b] >array ] unit-test
 
 { f } [ { } majority ] unit-test
 { 1 } [ { 1 } majority ] unit-test
@@ -113,7 +113,7 @@ tools.test ;
         12345.68 12345.679 12345.6789 12345.6789 12345.678901
         12345.6789012 12345.67890123 12345.678901235
     }
-} [ 12345.67890123456 -6 9 [a,b] [ round-to-decimal ] with map ] unit-test
+} [ 12345.67890123456 -6 9 [a..b] [ round-to-decimal ] with map ] unit-test
 
 { 0 } [ 0 5 round-to-step ] unit-test
 { 0 } [ 1 5 round-to-step ] unit-test
index 2786490f524937bdfe1e560d163ce542859dcda1..00686c4f4bee90e550f1fb715bbbc6d809ea447d 100644 (file)
@@ -215,21 +215,21 @@ PRIVATE>
 
 PRIVATE>
 
-: linspace[a,b) ( a b length -- seq )
+: linspace[a..b) ( a b length -- seq )
     steps ..b) <range> ;
 
-: linspace[a,b] ( a b length -- seq )
+: linspace[a..b] ( a b length -- seq )
     {
         { [ dup 1 < ] [ 3drop { } ] }
         { [ dup 1 = ] [ 2drop 1array ] }
         [ 1 - steps <range> ]
     } cond ;
 
-: logspace[a,b) ( a b length base -- seq )
-    [ linspace[a,b) ] dip swap n^v ;
+: logspace[a..b) ( a b length base -- seq )
+    [ linspace[a..b) ] dip swap n^v ;
 
-: logspace[a,b] ( a b length base -- seq )
-    [ linspace[a,b] ] dip swap n^v ;
+: logspace[a..b] ( a b length base -- seq )
+    [ linspace[a..b] ] dip swap n^v ;
 
 : majority ( seq -- elt/f )
     [ f 0 ] dip [