]> gitweb.factorcode.org Git - factor.git/blob - extra/math/affine-transforms/affine-transforms-tests.factor
more test IN: cleanup.
[factor.git] / extra / math / affine-transforms / affine-transforms-tests.factor
1 ! (c)2009 Joe Groff, see BSD license
2 USING: arrays kernel literals tools.test math math.affine-transforms
3 math.constants math.functions ;
4
5 { { 7.25 4.25 } } [
6     { 0.75 0.75 } { 0.75 -0.75 } { 5.0 5.0 } <affine-transform>
7     { 1.0 2.0 } a.v
8 ] unit-test
9
10 { -1.125 } [
11     { 0.75 0.75 } { 0.75 -0.75 } { 5.0 5.0 } <affine-transform>
12     |a|
13 ] unit-test
14
15 { 1.0 3.0 } { 2.0 4.0 } { 5.0 6.0 } <affine-transform> 1array [
16     { 1.0 2.0 } { 3.0 4.0 } { 5.0 6.0 } <affine-transform>
17     transpose-axes
18 ] unit-test
19
20 { 1.0 -1.0 } { 1.0 1.0 } { 0.0 0.0 } <affine-transform> 1array [
21     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
22     inverse-axes
23 ] unit-test
24
25 { 1.0 -1.0 } { 1.0 1.0 } { -10.0 0.0 } <affine-transform> 1array [
26     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
27     inverse-transform
28 ] unit-test
29
30 { 1.0 0.0 } { 0.0 1.0 } { 0.0 0.0 } <affine-transform> 1array [
31     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
32     dup inverse-transform a.
33 ] unit-test
34
35 { 2.0 -1.0 } { -1.0 -2.0 } { 5.0 -6.0 } <affine-transform> 1array [
36     { 1.0 0.0 } { 0.0 -1.0 } { 0.0 0.0 } <affine-transform>
37     { 2.0 1.0 } { -1.0 2.0 } { 5.0 6.0 } <affine-transform>
38     a.
39 ] unit-test
40
41 { t } [
42     { 0.01  0.02  } { 0.03  0.04  } { 0.05  0.06  } <affine-transform>
43     { 0.011 0.021 } { 0.031 0.041 } { 0.051 0.061 } <affine-transform> 0.01 a~
44 ] unit-test
45
46 { 1.0 0.0 } { 0.0 1.0 } { 5.0 10.0 } <affine-transform> 1array [
47     { 5.0 10.0 } <translation>
48 ] unit-test
49
50 { $[ pi  0.25 * cos ] $[ pi 0.25 * sin ] }
51 { $[ pi -0.25 * sin ] $[ pi 0.25 * cos ] }
52 { 0.0 0.0 } <affine-transform> 1array [
53     pi 0.25 * <rotation>
54 ] unit-test