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

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

[Octave-bug-tracker] [bug #59149] [octave forge] (signal) Resampling fro


From: anonymous
Subject: [Octave-bug-tracker] [bug #59149] [octave forge] (signal) Resampling from 22050 to 48000 Hz introduces strange and unexpected artifacts
Date: Thu, 24 Sep 2020 11:20:53 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0

Follow-up Comment #31, bug #59149 (project octave):

It gets more insidious. The signal package uses several instances of this
pattern:


if (target == target) // not nan
    // do something
else // nan
    // do something else


Here's what happens when testing for nan with -ffast-math:


$ cat test.cpp 
#include <iostream>

int main()
{
        double a = 0.0/0.0, b = (a + 1e-3) - 1e-3;
        std::cout << "a = " << a << "\nb = " << b << '\n';
        if (a==b)
                std::cout << "Equal\n";
        else
                std::cout << "Unequal\n";
}
$ g++ test.cpp && ./a.out 
a = -nan
b = -nan
Unequal
$ g++ test.cpp -ffast-math && ./a.out 
a = nan
b = nan
Equal
$ clang++ test.cpp && ./a.out 
a = nan
b = nan
Unequal
$ clang++ test.cpp -ffast-math && ./a.out 
a = nan
b = nan
Unequal



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59149>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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