@@ 1,6 1,8 @@
(* Unit tests *)
+val cospi4 = 0.5 * Math.sqrt(2.0)
+
val testcases = [
{ name = "dc",
real = true,
@@ 27,6 29,20 @@ val testcases = [
input = ([ 1.0, 0.0, ~1.0, 0.0 ], [ 0.0, 0.0, 0.0, 0.0 ]),
output = ([ 0.0, 2.0, 0.0, 2.0 ], [ 0.0, 0.0, 0.0, 0.0 ]),
ccs = ([ 0.0, 2.0, 0.0 ], [ 0.0, 0.0, 0.0 ])},
+ { name = "cosine_8",
+ real = true,
+ input = ([ 1.0, cospi4, 0.0, ~cospi4, ~1.0, ~cospi4, 0.0, cospi4 ],
+ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]),
+ output = ([ 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0 ],
+ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]),
+ ccs = ([ 0.0, 4.0, 0.0, 0.0, 0.0 ], [ 0.0, 0.0, 0.0, 0.0, 0.0 ]) },
+ { name = "sine_8",
+ real = true,
+ input = ([ 0.0, cospi4, 1.0, cospi4, 0.0, ~cospi4, ~1.0, ~cospi4 ],
+ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]),
+ output = ([ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ],
+ [ 0.0, ~4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0 ]),
+ ccs = ([ 0.0, 0.0, 0.0, 0.0, 0.0 ], [ 0.0, ~4.0, 0.0, 0.0, 0.0 ]) },
{ name = "sine_cosine",
real = true,
input = ([ 0.5, 1.0, ~0.5, ~1.0 ], [ 0.0, 0.0, 0.0, 0.0 ]),