Mercurial > repos > public > sbplib
annotate +grid/evalOnScalarTest.m @ 311:713b125038a3 feature/beams
Fixed function names in renamed files.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 23 Sep 2016 14:59:55 +0200 |
parents | f688e2bdb74a |
children |
rev | line source |
---|---|
273
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function tests = evalOnScalarTest() |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function testInputConstant(testCase) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 in = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 0, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 47, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 1, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 [1; 2], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 out = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 [0; 0; 0], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 [47; 47; 47], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 [1; 1; 1], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 [1; 2; 1; 2; 1; 2], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 g = getTestGrid('1d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 for i = 1:length(in) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 gf = grid.evalOnScalar(g,in{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 testCase.verifyEqual(gf, out{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 function testInputScalarFunction1d(testCase) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 in = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 @(x)1+x*0, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 @(x)x, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 @(x)x.*x, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 out = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 [1; 1; 1], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 [0; 1; 2], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 [0; 1; 4], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 g = getTestGrid('1d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 for i = 1:length(in) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 gf = grid.evalOnScalar(g,in{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 testCase.verifyEqual(gf, out{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 function testInputScalarFunction2d(testCase) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 in = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 @(x,y)1+x*0, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 @(x,y)x-y, |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 @(x,y)x./(1+y), |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 out = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 [1; 1; 1; 1; 1; 1; 1; 1; 1], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 [0; -1; -2; 1; 0; -1; 2; 1; 0], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 [0; 0; 0; 1; 1/2; 1/3; 2; 1; 2/3], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 g = getTestGrid('2d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 for i = 1:length(in) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 gf = grid.evalOnScalar(g, in{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 testCase.verifyEqual(gf, out{i}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
69 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
70 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 function testInputVectorFunction(testCase) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 g = getTestGrid('1d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 in = @(x)[x; -2*x]; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 out = [0; 0; 1; -2; 2; -4]; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 gf = grid.evalOnScalar(g,in); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 testCase.verifyEqual(gf, out); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
79 g = getTestGrid('2d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 in = @(x,y)[x.^2; -2*y]; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 out = [ |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 0; 0; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 0; -2; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 0; -4; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 1; 0; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 1; -2; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 1; -4; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 4; 0; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 4; -2; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 4; -4; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 ]; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 gf = grid.evalOnScalar(g,in); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
94 testCase.verifyEqual(gf, out); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
95 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
97 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
98 function testInputErrorVectorValued(testCase) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
99 in = { |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
100 [1,2,3], |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
101 @(x,y)[x,-y]; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
102 }; |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
103 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
104 g = getTestGrid('2d'); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
105 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
106 for i = 1:length(in) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
107 testCase.verifyError(@()grid.evalOnScalar(g, in{i}),'grid:evalOnScalar:VectorValuedWrongDim',sprintf('in(%d) = %s',i,toString(in{i}))); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
108 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
109 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
110 |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
111 function g = getTestGrid(d) |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
112 switch d |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
113 case '1d' |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
114 g = grid.equidistant(3,{0,2}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
115 case '2d' |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
116 g = grid.equidistant([3,3],{0,2},{0,2}); |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
117 end |
f688e2bdb74a
grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
118 end |