From da0a123df39f93402be497c96b99d15aaefa8d12 Mon Sep 17 00:00:00 2001
From: John Benediktsson <mrjbq7@gmail.com>
Date: Wed, 20 Mar 2013 13:49:55 -0700
Subject: [PATCH] math.extras: adding logspace.

---
 extra/math/extras/extras-docs.factor | 4 ++++
 extra/math/extras/extras.factor      | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/extra/math/extras/extras-docs.factor b/extra/math/extras/extras-docs.factor
index f9cd705bcb..605cb76596 100644
--- a/extra/math/extras/extras-docs.factor
+++ b/extra/math/extras/extras-docs.factor
@@ -61,3 +61,7 @@ HELP: sinc
 HELP: linspace
 { $values { "from" number } { "to" number } { "points" number } { "seq" sequence } }
 { $description "Return evenly spaced numbers over a specified interval " { $snippet "[from,to]" } "." } ;
+
+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]" } "." } ;
diff --git a/extra/math/extras/extras.factor b/extra/math/extras/extras.factor
index d65cd5ea18..96312b3329 100644
--- a/extra/math/extras/extras.factor
+++ b/extra/math/extras/extras.factor
@@ -201,3 +201,6 @@ PRIVATE>
 
 : linspace ( from to points -- seq )
     1 - [ 2dup swap - ] dip / <range> ;
+
+: logspace ( from to points base -- seq )
+    [ linspace ] dip swap n^v ;