Mercurial > forge
changeset 12656:ddbd9137910a octave-forge
fix nantest to avoid crashing Octave 4.0.0 on Windows
author | schloegl |
---|---|
date | Thu, 02 Jul 2015 11:14:16 +0000 |
parents | 70d4171ae21a |
children | 64365c8eb18b |
files | extra/NaN/NEWS extra/NaN/inst/nantest.m |
diffstat | 2 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/extra/NaN/NEWS Tue Jun 30 09:09:47 2015 +0000 +++ b/extra/NaN/NEWS Thu Jul 02 11:14:16 2015 +0000 @@ -1,3 +1,5 @@ + +- fix nantest to avoid crashing octave 4.0.0 on windows 2015-06-24: Release of NaN-tb v2.8.0
--- a/extra/NaN/inst/nantest.m Tue Jun 30 09:09:47 2015 +0000 +++ b/extra/NaN/inst/nantest.m Thu Jul 02 11:14:16 2015 +0000 @@ -227,16 +227,20 @@ %(roots([2e-37,-2,2])-[1e37;1]) %%%%% check nan/nan %% this test addresses a problem in Matlab 5.3, 6.1 & 6.5 p = 4; +tmp1 = repmat(nan, 4); +tmp2 = repmat(nan, 4); +if ~ispc try tmp1 = repmat(nan,p)/repmat(nan,p); catch % exception error in Octave 3.8.2 of debian wheezy - tmp1 = repmat(nan, 4); + fprintf(2,'repmat(nan,4)/repmat(nan,4) fails with an exception\n'); end; try tmp2 = repmat(nan,p)\repmat(nan,p); catch % exception error in Octave 3.8.2 of debian wheezy - tmp2 = repmat(nan, 4); + fprintf(2,'repmat(nan,4)\repmat(nan,4) fails with an exception\n'); end +end; tmp3 = repmat(0,p)/repmat(0,p); tmp4 = repmat(0,p)\repmat(0,p); tmp5 = repmat(0,p)*repmat(inf,p); @@ -278,16 +282,16 @@ %%%%% QUANTILE TEST -d = [1 1 2 2 4 4 10 700]; +d = [1 1 2 2 4 4 10 700]'; q = [-1,0,.05,.1,.25,.49,.5,.51,.75,.8, .999999,1,2]; r = [ NaN, 1, 1, 1, 1.5, 2, 3, 4, 7, 10, 700, 700, NaN]; -if any( quantile(d, q) - r>0) +if any( quantile(d, q)' - r>0) fprintf(1,'Quantile(1): failed\n'); else fprintf(1,'Quantile(1): OK\n'); end; if exist('histo3','file') - H = histo3(d'); + H = histo3(d); else H.X = [1;2;4;10;700]; H.H = [2;2;2;1;1];