]> gitweb.factorcode.org Git - factor.git/commitdiff
math.extras: rename to linspace[a,b) and linspace[a,b] and fixes.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 20 Mar 2013 22:15:50 +0000 (15:15 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 20 Mar 2013 22:15:50 +0000 (15:15 -0700)
extra/math/extras/extras-docs.factor
extra/math/extras/extras-tests.factor
extra/math/extras/extras.factor

index 0a4dbadb2ca5edfedf63e3085daeff4b9db985a7..466f00da3208ad46738556487281da1bf926d08f 100644 (file)
@@ -58,18 +58,18 @@ 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)
-{ $values { "from" number } { "to" number } { "points" number } { "seq" sequence } }
-{ $description "Return evenly spaced numbers over a specified interval " { $snippet "[from,to)" } "." } ;
+HELP: linspace[a,b)
+{ $values { "a" number } { "b" number } { "points" number } { "seq" sequence } }
+{ $description "Return evenly spaced numbers over an interval " { $snippet "[a,b)" } "." } ;
 
-HELP: linspace]
-{ $values { "from" number } { "to" number } { "points" number } { "seq" sequence } }
-{ $description "Return evenly spaced numbers over a specified interval " { $snippet "[from,to]" } "." } ;
+HELP: linspace[a,b]
+{ $values { "a" number } { "b" number } { "points" number } { "seq" sequence } }
+{ $description "Return evenly spaced numbers over an interval " { $snippet "[a,b]" } "." } ;
 
-HELP: logspace)
-{ $values { "from" number } { "to" number } { "points" number } { "base" number } { "seq" sequence } }
-{ $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^from,base^to)" } "." } ;
+HELP: logspace[a,b)
+{ $values { "a" number } { "b" number } { "points" number } { "base" number } { "seq" sequence } }
+{ $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^a,base^b)" } "." } ;
 
-HELP: logspace]
-{ $values { "from" number } { "to" number } { "points" number } { "base" number } { "seq" sequence } }
-{ $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^from,base^to]" } "." } ;
+HELP: logspace[a,b]
+{ $values { "a" number } { "b" number } { "points" number } { "base" number } { "seq" sequence } }
+{ $description "Return evenly spaced numbers on a log scaled interval " { $snippet "[base^a,base^b]" } "." } ;
index 62a170276e2630c97d7dcec194cab84b82bb7345..4760808944ef275a95b50476482c7f734c44b25d 100644 (file)
@@ -78,5 +78,5 @@ IN: math.extras.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) >array ] unit-test
-{ { 1 10+3/4 20+1/2 30+1/4 40 } } [ 1 40 5 linspace] >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
index 9ead1a97b95c6e5df7dd27a5254243d4f73942f7..3c128988d94c544af5d433dbe831e2c662508953 100644 (file)
@@ -1,11 +1,12 @@
 ! Copyright (C) 2012 John Benediktsson
 ! See http://factorcode.org/license.txt for BSD license
 
-USING: arrays assocs assocs.extras combinators.short-circuit fry
-grouping kernel locals math math.combinatorics math.constants
-math.functions math.order math.primes math.ranges
-math.ranges.private math.statistics math.vectors memoize
-random sequences sequences.extras sets sorting ;
+USING: arrays assocs assocs.extras combinators
+combinators.short-circuit fry grouping kernel locals math
+math.combinatorics math.constants math.functions math.order
+math.primes math.ranges math.ranges.private math.statistics
+math.vectors memoize random sequences sequences.extras sets
+sorting ;
 
 IN: math.extras
 
@@ -206,18 +207,18 @@ PRIVATE>
 
 PRIVATE>
 
-: linspace) ( from to points -- seq )
+: linspace[a,b) ( a b points -- seq )
     steps ,b) <range> ;
 
-: linspace] ( from to points -- seq )
+: linspace[a,b] ( a b points -- seq )
     {
         { [ dup 1 < ] [ 3drop { } ] }
         { [ dup 1 = ] [ 2drop 1array ] }
-        [ steps <range> ]
+        [ 1 - steps <range> ]
     } cond ;
 
-: logspace) ( from to points base -- seq )
-    [ linspace) ] dip swap n^v ;
+: logspace[a,b) ( a b points base -- seq )
+    [ linspace[a,b) ] dip swap n^v ;
 
-: logspace] ( from to points base -- seq )
-    [ linspace] ] dip swap n^v ;
+: logspace[a,b] ( a b points base -- seq )
+    [ linspace[a,b] ] dip swap n^v ;