comparison scripts/general/interp2.m @ 18664:900b524d9072

interp2: Verify Z matrix is 2-D (bug #41267). * interp2.m: Validate that Z matrix is 2-D. Add %!error test to check new code.
author Rik <rik@octave.org>
date Sat, 19 Apr 2014 09:28:20 -0700
parents 4792a115c735
children
comparison
equal deleted inserted replaced
18663:271873b2f44f 18664:900b524d9072
139 otherwise 139 otherwise
140 print_usage (); 140 print_usage ();
141 endswitch 141 endswitch
142 142
143 ## Type checking 143 ## Type checking
144 if (! ismatrix (Z)) 144 if (! (ismatrix (Z) && ndims (Z) == 2))
145 error ("interp2: Z must be a matrix"); 145 error ("interp2: Z must be a 2-D matrix");
146 endif 146 endif
147 if (! isempty (n) && ! (isscalar (n) && n >= 0 && n == fix (n))) 147 if (! isempty (n) && ! (isscalar (n) && n >= 0 && n == fix (n)))
148 error ("interp2: N must be an integer >= 0"); 148 error ("interp2: N must be an integer >= 0");
149 endif 149 endif
150 if (! ischar (method)) 150 if (! ischar (method))
652 %!assert (interp2 (z, [2 3 1], [2 2 2], "pchip"), [5 7 3], tol) 652 %!assert (interp2 (z, [2 3 1], [2 2 2], "pchip"), [5 7 3], tol)
653 %!assert (interp2 (z, [2 3 1], [2 2 2], "cubic"), [5 7 3], 10 * tol) 653 %!assert (interp2 (z, [2 3 1], [2 2 2], "cubic"), [5 7 3], 10 * tol)
654 %!assert (interp2 (z, [2 3 1], [2 2 2], "spline"), [5 7 3], tol) 654 %!assert (interp2 (z, [2 3 1], [2 2 2], "spline"), [5 7 3], tol)
655 655
656 %% Test input validation 656 %% Test input validation
657 %!error <Z must be a matrix> interp2 ({1}) 657 %!error <Z must be a 2-D matrix> interp2 ({1})
658 %!error <Z must be a 2-D matrix> interp2 (ones (2,2,2))
658 %!error <N must be an integer .= 0> interp2 (1, ones (2)) 659 %!error <N must be an integer .= 0> interp2 (1, ones (2))
659 %!error <N must be an integer .= 0> interp2 (1, -1) 660 %!error <N must be an integer .= 0> interp2 (1, -1)
660 %!error <N must be an integer .= 0> interp2 (1, 1.5) 661 %!error <N must be an integer .= 0> interp2 (1, 1.5)
661 %!error <METHOD must be a string> interp2 (1, 1, 1, 1, 1, 2) 662 %!error <METHOD must be a string> interp2 (1, 1, 1, 1, 1, 2)
662 %!warning <ignoring unsupported '\*' flag> interp2 (rand (3,3), 1, "*linear"); 663 %!warning <ignoring unsupported '\*' flag> interp2 (rand (3,3), 1, "*linear");