- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
In my application i do the following call:
Thanks,
Thor Andreas
In my application i do the following call:
[cpp]iSt = ippsDiv_32f_I(iPtr1,iPtr2,mLength);But this crashes when iPtr1 has a zero value (not the pointer but one of the values in the vector), and the peculiar thing is that it crashes only when I compile the thing in release mode. I am using IPP6.0 and MSVC 8.0. If I remove zero values from iPtr1, it all works nicely.
[/cpp]
Thanks,
Thor Andreas
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the reporting on the issue. What platform you are running on? Is that IA32 based or EM64T?
Vladimir
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Vladimir Dudnik (Intel)
Thanks for the reporting on the issue. What platform you are running on? Is that IA32 based or EM64T?
Vladimir
Vladimir
Thor Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, I submitted this as a bug report for you. IPP developers team will investigate this and we will come back to you with update on this.
Vladimir
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hiall,
right now I wasn't able to reproduce the problem.
I used MVSC 2008
IPP v.6.0
WinXP
CPU types were used for testing this case are:
- Intel Core 2 Duo CPU
and another one:
- Intel Core 2 QuAD CPU
Below the source code I used and the output I got:
+++++++++++++++
int main() {
IppStatus status = ippStsNoErr;
Ipp32f pSrc[4] = { 2, 20, 0, 200 };
Ipp32f pSrcDst[4] = { 100, 100, 100, 100 };
int len = 4;
status = ippsDiv_32f_I( pSrc, pSrcDst, len);
if( status != ippStsNoErr ){
printf( "Error: "%s" in position n", ippGetStatusString( status ));
}else{
printf("n PASSED n");
}
printf("pSrcDst = %lfn", pSrcDst[0]);
printf("pSrcDst = %lfn", pSrcDst[1]);
printf("pSrcDst = %lfn", pSrcDst[2]);
printf("pSrcDst = %lfn", pSrcDst[3]);
return 0;
}//main()
+++++++++++++++++
Error: "ippStsDivByZero: Zero value(s) of the divisor in the function Div" in position
pSrcDst = 50.000000
pSrcDst = 5.000000
pSrcDst = 1.#INF00
pSrcDst = 0.500000
Press any key to continue . . .
++++++++++++++++++++
as we can see, we have the expected behavior with this test.
--Gennady
right now I wasn't able to reproduce the problem.
I used MVSC 2008
IPP v.6.0
WinXP
CPU types were used for testing this case are:
- Intel Core 2 Duo CPU
and another one:
- Intel Core 2 QuAD CPU
Below the source code I used and the output I got:
+++++++++++++++
int main() {
IppStatus status = ippStsNoErr;
Ipp32f pSrc[4] = { 2, 20, 0, 200 };
Ipp32f pSrcDst[4] = { 100, 100, 100, 100 };
int len = 4;
status = ippsDiv_32f_I( pSrc, pSrcDst, len);
if( status != ippStsNoErr ){
printf( "Error: "%s" in position n", ippGetStatusString( status ));
}else{
printf("n PASSED n");
}
printf("pSrcDst = %lfn", pSrcDst[0]);
printf("pSrcDst = %lfn", pSrcDst[1]);
printf("pSrcDst = %lfn", pSrcDst[2]);
printf("pSrcDst = %lfn", pSrcDst[3]);
return 0;
}//main()
+++++++++++++++++
Error: "ippStsDivByZero: Zero value(s) of the divisor in the function Div" in position
pSrcDst = 50.000000
pSrcDst = 5.000000
pSrcDst = 1.#INF00
pSrcDst = 0.500000
Press any key to continue . . .
++++++++++++++++++++
as we can see, we have the expected behavior with this test.
--Gennady

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