From da1931317d7a1ad807c5fbe04d023a0790e9bb26 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 20 Mar 2013 15:15:50 -0700 Subject: [PATCH] math.extras: rename to linspace[a,b) and linspace[a,b] and fixes. --- extra/math/extras/extras-docs.factor | 24 ++++++++++++------------ extra/math/extras/extras-tests.factor | 4 ++-- extra/math/extras/extras.factor | 25 +++++++++++++------------ 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/extra/math/extras/extras-docs.factor b/extra/math/extras/extras-docs.factor index 0a4dbadb2c..466f00da32 100644 --- a/extra/math/extras/extras-docs.factor +++ b/extra/math/extras/extras-docs.factor @@ -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]" } "." } ; diff --git a/extra/math/extras/extras-tests.factor b/extra/math/extras/extras-tests.factor index 62a170276e..4760808944 100644 --- a/extra/math/extras/extras-tests.factor +++ b/extra/math/extras/extras-tests.factor @@ -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 diff --git a/extra/math/extras/extras.factor b/extra/math/extras/extras.factor index 9ead1a97b9..3c128988d9 100644 --- a/extra/math/extras/extras.factor +++ b/extra/math/extras/extras.factor @@ -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) ; -: linspace] ( from to points -- seq ) +: linspace[a,b] ( a b points -- seq ) { { [ dup 1 < ] [ 3drop { } ] } { [ dup 1 = ] [ 2drop 1array ] } - [ steps ] + [ 1 - steps ] } 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 ;