comparison scripts/statistics/base/skewness.m @ 17587:a13ff4521538

skewness.m: Simplify %!test for division-by-zero. * scripts/statistics/base/skewness.m: Use "local" option to warning() rather than unwind_protect block to simplify code.
author Rik <rik@octave.org>
date Mon, 07 Oct 2013 08:07:55 -0700
parents 8334144458a4
children a53a97faf61a
comparison
equal deleted inserted replaced
17586:8334144458a4 17587:a13ff4521538
146 146
147 ## Test behaviour on single input 147 ## Test behaviour on single input
148 %!assert (skewness (single ([1:5 10])), single (1.0513283), eps ("single")) 148 %!assert (skewness (single ([1:5 10])), single (1.0513283), eps ("single"))
149 %!assert (skewness (single ([1 2]), 0), single (NaN)) 149 %!assert (skewness (single ([1 2]), 0), single (NaN))
150 150
151 ## Verify no "division-by-zero" warnings
152 %!test 151 %!test
153 %! wstate = warning ("query", "Octave:divide-by-zero"); 152 %! ## Verify no "division-by-zero" warnings
154 %! unwind_protect 153 %! warning ("on", "Octave:divide-by-zero", "local");
155 %! lastwarn (""); # clear last warning 154 %! lastwarn (""); # clear last warning
156 %! skewness (1); 155 %! skewness (1);
157 %! assert (lastwarn (), ""); 156 %! assert (lastwarn (), "");
158 %! unwind_protect_cleanup
159 %! warning (wstate, "Octave:divide-by-zero");
160 %! end_unwind_protect
161 157
162 ## Test input validation 158 ## Test input validation
163 %!error skewness () 159 %!error skewness ()
164 %!error skewness (1, 2, 3) 160 %!error skewness (1, 2, 3)
165 %!error <X must be a numeric vector or matrix> skewness (['A'; 'B']) 161 %!error <X must be a numeric vector or matrix> skewness (['A'; 'B'])