view test/bug-46330.tst @ 22249:da201af35c97

maint: properly include <vector> in svd classes. * liboctave/numeric/gsvd.cc: insert missing include. * liboctave/numeric/svd.h: use <> rather than "". * liboctave/numeric/svd.cc: remove include, done in the header already.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Wed, 10 Aug 2016 09:09:41 +0200
parents bf5fbf347aaf
children 5aa8f199e328
line wrap: on
line source

## bug #46330: segfault with matrices containing Inf & NaN

%!warning
%! a = [-0.46E-01,            0.10681415316, 0.0,   -0.17121680433;
%!      -0.1675901504661613, -0.515,         1.0,    0.6420630320636088E-02;
%!       0.1543104215347786, -0.547945,     -0.906, -0.1521689385990753E-02;
%!       0.0,                 0.0,           1.0,    0.0];
%!
%! b = [0.1602300107479095,      0.2111848453E-02;
%!      0.8196877780963616E-02, -0.3025E-01;
%!      0.9173594317692437E-01, -0.75283075;
%!      0.0,                     0.0];
%!
%! c = [1.0, 0.0, 0.0, 0.0;
%!      0.0, 0.0, 0.0, 1.0];
%!
%! ## This statement caused an error in LAPACK and eventually caused
%! ## a segmentation fault.
%! ## Triggers "warning: matrix singular to machine precision"
%! ## FIXME: LAPACK errors become fatal crashes on Windows, don't test this
%! if (ispc ())
%!   warning ("unable to test for bug #46330 on Windows");
%! else
%!   assert (c / (i * Inf * eye (4) - a) * b, zeros (2, 2))
%! endif