- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The(SSE1) P3/P4 implementation of ippsCartToPolar_32fc generates floating point infinite magnitudesfor from finite input. This occurs when the complex input is sufficiently close to {re,im} = {0,0}.
The following, whenlinked with the PIII library,generates an incorrect, floating-point infinity, magnitude:
const Ipp32fc complex[] = { { 0.0f, 1e-22f } };
float magnitude[] = { 0 };
float phase[] = { 0 };
::ippsCartToPolar_32fc( complex, magnitude, phase, 1 );
printf( "magnitude: %g ", magnitude[0] );
float magnitude[] = { 0 };
float phase[] = { 0 };
::ippsCartToPolar_32fc( complex, magnitude, phase, 1 );
printf( "magnitude: %g ", magnitude[0] );
On my system (Visual C++ 6, SP5) this outputs "magnitude: -1.#INF".
The generic library outputs the correct result.
This occurs in IPP 3.0 and 4.0.
Other magnitude related functions are also flawed.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Customer,
Could you please try the latest version 4.1or 5.0 beta to see if it has same issue?
If the result on Pentium III is still inaccurate, please submit details with test case via Intel Premier Support (https://premier.intel.com)
Thanks,
Ying S
Intel Corp.
Intel Corp.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page