octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #47214] isnan and isinf problems with C++11


From: anonymous
Subject: [Octave-bug-tracker] [bug #47214] isnan and isinf problems with C++11
Date: Sun, 21 Feb 2016 17:12:57 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0

URL:
  <http://savannah.gnu.org/bugs/?47214>

                 Summary: isnan and isinf problems with C++11
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Sun 21 Feb 2016 05:12:56 PM UTC
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Incorrect Result
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

The builtin isnan and isinf functions in C++11 cause "make check" to fail in
several places with similar errors:


>>>>> processing build/libinterp/corefcn/data.cc-tst
***** assert (log2 (complex (0,Inf)), Inf + log2 (i))
!!!!! test failed
ASSERT errors for:  assert (log2 (complex (0, Inf)),Inf + log2 (i))

  Location  |  Observed  |  Expected  |  Reason
     ()        Inf+NaNi      Inf+2i      'NaN' mismatch
shared variables 
  scalar structure containing the fields:

    xs =

Compressed Column Sparse (rows = 1, cols = 4, nnz = 3 [75%])

  (1, 2) ->  1
  (1, 3) ->  2
  (1, 4) ->  3

>>>>> processing build/libinterp/corefcn/str2double.cc-tst
***** assert (str2double ("Inf*i"), complex (0, Inf))
!!!!! test failed
ASSERT errors for:  assert (str2double ("Inf*i"),complex (0, Inf))

  Location  |  Observed  |  Expected  |  Reason
     ()         0+Infi      NaN+Infi     'NaN' mismatch
***** assert (str2double ("iNF*i"), complex (0, Inf))
!!!!! test failed
ASSERT errors for:  assert (str2double ("iNF*i"),complex (0, Inf))

  Location  |  Observed  |  Expected  |  Reason
     ()         0+Infi      NaN+Infi     'NaN' mismatch
***** assert (str2double ("Inf - Inf*i"), complex (Inf, -Inf))
!!!!! test failed
ASSERT errors for:  assert (str2double ("Inf - Inf*i"),complex (Inf, -Inf))

  Location  |  Observed  |  Expected  |  Reason
     ()        Inf-Infi     NaN-Infi     'NaN' mismatch
***** assert (str2double ("-i*NaN - Inf"), complex (-Inf, -NaN))
!!!!! test failed
ASSERT errors for:  assert (str2double ("-i*NaN - Inf"),complex (-Inf, -NaN))

  Location  |  Observed  |  Expected  |  Reason
     ()       -Inf+NaNi     NaN+NaNi     'NaN' mismatch
>>>>> processing octave/scripts/general/num2str.m
***** assert (num2str ([complex(Inf,0), complex(0,-Inf)]), "Inf+0i   0-Infi")
!!!!! test failed
ASSERT errors for:  assert (num2str ([complex(Inf, 0), complex(0,
-Inf)]),"Inf+0i   0-Infi")

  Location  |  Observed  |  Expected  |  Reason
     []      Inf+0i NaN-Infi Inf+0i   0-Infi   Strings don't match
***** assert (num2str (complex(1,Inf)), "1+Infi")
!!!!! test failed
ASSERT errors for:  assert (num2str (complex (1, Inf)),"1+Infi")

  Location  |  Observed  |  Expected  |  Reason
     []        NaN+Infi      1+Infi      Strings don't match
***** assert (num2str (complex (1, NaN)), "1+NaNi")
!!!!! test failed
ASSERT errors for:  assert (num2str (complex (1, NaN)),"1+NaNi")

  Location  |  Observed  |  Expected  |  Reason
     []        NaN+NaNi      1+NaNi      Strings don't match
***** assert (num2str (complex (1, NA)), "1+NAi")
!!!!! test failed
ASSERT errors for:  assert (num2str (complex (1, NA)),"1+NAi")

  Location  |  Observed  |  Expected  |  Reason
     []         NA+NAi       1+NAi       Strings don't match


Changing to C++11 also gives two new failures in rounding small numbers:


>>>>> processing build/libinterp/corefcn/sparse-xpow.cc-tst
***** assert (sparse (2i) .^ [3, 4], sparse ([-0-8i, 16]))
!!!!! test failed
ASSERT errors for:  assert (sparse (2i) .^ [3, 4],sparse ([-0 - 8i, 16]))

  Location  |  Observed  |  Expected  |  Reason
    (1)      -1.46953e-15-8i     0-8i       Abs err 2.3054e-15 exceeds tol 0
    (2)      16-3.91874e-15i    16+0i       Abs err 4.3026e-15 exceeds tol 0
>>>>> processing octave/scripts/specfun/realpow.m
***** assert (realpow (1i,2), -1)
!!!!! test failed
realpow: produced complex result





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47214>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]