]> gitweb.factorcode.org Git - factor.git/commitdiff
Move fft/haar transforms to their own subdirectory
authorAaron Schaefer <aaron@elasticdog.com>
Mon, 10 Nov 2008 02:42:01 +0000 (21:42 -0500)
committerAaron Schaefer <aaron@elasticdog.com>
Mon, 10 Nov 2008 02:42:01 +0000 (21:42 -0500)
17 files changed:
extra/math/fft/authors.txt [deleted file]
extra/math/fft/fft.factor [deleted file]
extra/math/fft/summary.txt [deleted file]
extra/math/haar/authors.txt [deleted file]
extra/math/haar/haar-tests.factor [deleted file]
extra/math/haar/haar.factor [deleted file]
extra/math/haar/summary.txt [deleted file]
extra/math/transforms/fft/authors.txt [new file with mode: 0644]
extra/math/transforms/fft/fft-docs.factor [new file with mode: 0644]
extra/math/transforms/fft/fft.factor [new file with mode: 0644]
extra/math/transforms/fft/summary.txt [new file with mode: 0644]
extra/math/transforms/haar/authors.txt [new file with mode: 0644]
extra/math/transforms/haar/haar-docs.factor [new file with mode: 0644]
extra/math/transforms/haar/haar-tests.factor [new file with mode: 0644]
extra/math/transforms/haar/haar.factor [new file with mode: 0644]
extra/math/transforms/haar/summary.txt [new file with mode: 0644]
extra/math/transforms/summary.txt [new file with mode: 0644]

diff --git a/extra/math/fft/authors.txt b/extra/math/fft/authors.txt
deleted file mode 100644 (file)
index 3b4a4af..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Hans Schmid
diff --git a/extra/math/fft/fft.factor b/extra/math/fft/fft.factor
deleted file mode 100644 (file)
index 7dfdc0b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-! Copyright (c) 2007 Hans Schmid.
-! See http://factorcode.org/license.txt for BSD license.
-USING: columns grouping kernel math math.constants math.functions math.vectors
-    sequences ;
-IN: math.fft
-
-! Fast Fourier Transform
-
-<PRIVATE
-
-: n^v ( n v -- w ) [ ^ ] with map ;
-
-: omega ( n -- n' )
-    recip -2 pi i* * * exp ;
-
-: twiddle ( seq -- seq )
-    dup length [ omega ] [ n^v ] bi v* ;
-
-PRIVATE>
-
-DEFER: fft
-
-: two ( seq -- seq )
-    fft 2 v/n dup append ;
-
-<PRIVATE
-
-: even ( seq -- seq ) 2 group 0 <column> ;
-: odd ( seq -- seq ) 2 group 1 <column> ;
-
-: (fft) ( seq -- seq )
-    [ odd two twiddle ] [ even two ] bi v+ ;
-
-PRIVATE>
-
-: fft ( seq -- seq )
-    dup length 1 = [ (fft) ] unless ;
-
diff --git a/extra/math/fft/summary.txt b/extra/math/fft/summary.txt
deleted file mode 100644 (file)
index 3d71dfa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fast fourier transform
diff --git a/extra/math/haar/authors.txt b/extra/math/haar/authors.txt
deleted file mode 100644 (file)
index cf46c0e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Slava Pestov
-Aaron Schaefer
diff --git a/extra/math/haar/haar-tests.factor b/extra/math/haar/haar-tests.factor
deleted file mode 100644 (file)
index 9c9124b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-USING: math.haar tools.test ;
-IN: math.haar.tests
-
-[ { 3 2 -1 -2 3 0 4 1 } ] [ { 7 1 6 6 3 -5 4 2 } haar ] unit-test
-[ { 7 1 6 6 3 -5 4 2 } ] [ { 3 2 -1 -2 3 0 4 1 } rev-haar ] unit-test
diff --git a/extra/math/haar/haar.factor b/extra/math/haar/haar.factor
deleted file mode 100644 (file)
index f745721..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-! Copyright (c) 2008 Slava Pestov, Aaron Schaefer.
-! See http://factorcode.org/license.txt for BSD license.
-USING: assocs columns grouping kernel math math.statistics math.vectors
-    sequences ;
-IN: math.haar
-
-! Haar Wavelet Transform -- http://dmr.ath.cx/gfx/haar/
-
-<PRIVATE
-
-: averages ( seq -- seq )
-    [ mean ] map ;
-
-: differences ( seq averages -- differences )
-    [ 0 <column> ] dip v- ;
-
-: haar-step ( seq -- differences averages )
-    2 group dup averages [ differences ] keep ;
-
-: rev-haar-step ( seq -- seq )
-    halves [ v+ ] [ v- ] 2bi zip concat ;
-
-PRIVATE>
-
-: haar ( seq -- seq )
-    dup length 1 <= [ haar-step haar prepend ] unless ;
-
-: rev-haar ( seq -- seq )
-    dup length 2 > [ halves swap rev-haar prepend ] when rev-haar-step ;
-
diff --git a/extra/math/haar/summary.txt b/extra/math/haar/summary.txt
deleted file mode 100644 (file)
index 5bb26dc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Haar wavelet transform
diff --git a/extra/math/transforms/fft/authors.txt b/extra/math/transforms/fft/authors.txt
new file mode 100644 (file)
index 0000000..3b4a4af
--- /dev/null
@@ -0,0 +1 @@
+Hans Schmid
diff --git a/extra/math/transforms/fft/fft-docs.factor b/extra/math/transforms/fft/fft-docs.factor
new file mode 100644 (file)
index 0000000..430058b
--- /dev/null
@@ -0,0 +1,7 @@
+USING: help.markup help.syntax sequences ;
+IN: math.transforms.fft
+
+HELP: fft
+{ $values { "seq" sequence } { "seq" sequence } }
+{ $description "Fast Fourier transform function." } ;
+
diff --git a/extra/math/transforms/fft/fft.factor b/extra/math/transforms/fft/fft.factor
new file mode 100644 (file)
index 0000000..0688c00
--- /dev/null
@@ -0,0 +1,38 @@
+! Copyright (c) 2007 Hans Schmid.
+! See http://factorcode.org/license.txt for BSD license.
+USING: columns grouping kernel math math.constants math.functions math.vectors
+    sequences ;
+IN: math.transforms.fft
+
+! Fast Fourier Transform
+
+<PRIVATE
+
+: n^v ( n v -- w ) [ ^ ] with map ;
+
+: omega ( n -- n' )
+    recip -2 pi i* * * exp ;
+
+: twiddle ( seq -- seq )
+    dup length [ omega ] [ n^v ] bi v* ;
+
+PRIVATE>
+
+DEFER: fft
+
+: two ( seq -- seq )
+    fft 2 v/n dup append ;
+
+<PRIVATE
+
+: even ( seq -- seq ) 2 group 0 <column> ;
+: odd ( seq -- seq ) 2 group 1 <column> ;
+
+: (fft) ( seq -- seq )
+    [ odd two twiddle ] [ even two ] bi v+ ;
+
+PRIVATE>
+
+: fft ( seq -- seq )
+    dup length 1 = [ (fft) ] unless ;
+
diff --git a/extra/math/transforms/fft/summary.txt b/extra/math/transforms/fft/summary.txt
new file mode 100644 (file)
index 0000000..3d71dfa
--- /dev/null
@@ -0,0 +1 @@
+Fast fourier transform
diff --git a/extra/math/transforms/haar/authors.txt b/extra/math/transforms/haar/authors.txt
new file mode 100644 (file)
index 0000000..cf46c0e
--- /dev/null
@@ -0,0 +1,2 @@
+Slava Pestov
+Aaron Schaefer
diff --git a/extra/math/transforms/haar/haar-docs.factor b/extra/math/transforms/haar/haar-docs.factor
new file mode 100644 (file)
index 0000000..218a63a
--- /dev/null
@@ -0,0 +1,15 @@
+USING: help.markup help.syntax sequences ;
+IN: math.transforms.haar
+
+HELP: haar
+{ $values { "seq" sequence } { "seq" sequence } }
+{ $description "Haar wavelet transform function." }
+{ $notes "The sequence length should be a power of two." }
+{ $examples { $example "USING: math.transforms.haar prettyprint ;" "{ 7 1 6 6 3 -5 4 2 } haar ." "{ 3 2 -1 -2 3 0 4 1 }" } } ;
+
+HELP: rev-haar
+{ $values { "seq" sequence } { "seq" sequence } }
+{ $description "Reverse Haar wavelet transform function." }
+{ $notes "The sequence length should be a power of two." }
+{ $examples { $example "USING: math.transforms.haar prettyprint ;" "{ 3 2 -1 -2 3 0 4 1 } rev-haar ." "{ 7 1 6 6 3 -5 4 2 }" } } ;
+
diff --git a/extra/math/transforms/haar/haar-tests.factor b/extra/math/transforms/haar/haar-tests.factor
new file mode 100644 (file)
index 0000000..fd2ab90
--- /dev/null
@@ -0,0 +1,6 @@
+USING: math.transforms.haar tools.test ;
+IN: math.transforms.haar.tests
+
+[ { 3 2 -1 -2 3 0 4 1 } ] [ { 7 1 6 6 3 -5 4 2 } haar ] unit-test
+[ { 7 1 6 6 3 -5 4 2 } ] [ { 3 2 -1 -2 3 0 4 1 } rev-haar ] unit-test
+
diff --git a/extra/math/transforms/haar/haar.factor b/extra/math/transforms/haar/haar.factor
new file mode 100644 (file)
index 0000000..c0359b8
--- /dev/null
@@ -0,0 +1,30 @@
+! Copyright (c) 2008 Slava Pestov, Aaron Schaefer.
+! See http://factorcode.org/license.txt for BSD license.
+USING: assocs columns grouping kernel math math.statistics math.vectors
+    sequences ;
+IN: math.transforms.haar
+
+! Haar Wavelet Transform -- http://dmr.ath.cx/gfx/haar/
+
+<PRIVATE
+
+: averages ( seq -- seq )
+    [ mean ] map ;
+
+: differences ( seq averages -- differences )
+    [ 0 <column> ] dip v- ;
+
+: haar-step ( seq -- differences averages )
+    2 group dup averages [ differences ] keep ;
+
+: rev-haar-step ( seq -- seq )
+    halves [ v+ ] [ v- ] 2bi zip concat ;
+
+PRIVATE>
+
+: haar ( seq -- seq )
+    dup length 1 <= [ haar-step haar prepend ] unless ;
+
+: rev-haar ( seq -- seq )
+    dup length 2 > [ halves swap rev-haar prepend ] when rev-haar-step ;
+
diff --git a/extra/math/transforms/haar/summary.txt b/extra/math/transforms/haar/summary.txt
new file mode 100644 (file)
index 0000000..5bb26dc
--- /dev/null
@@ -0,0 +1 @@
+Haar wavelet transform
diff --git a/extra/math/transforms/summary.txt b/extra/math/transforms/summary.txt
new file mode 100644 (file)
index 0000000..d3d93df
--- /dev/null
@@ -0,0 +1 @@
+Collection of mathematical transforms