Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

IVF and MATHERRQQ

phil31
Beginner
806 Views

Hi all,

In most of the projects I manage, I have used until now the feature of the MATHERRQQ routine to catch and handle properly math exceptions (I code my own MATHERRQQ routine). Unfortunately this feature is no more available with IVF. (in particular the MTH$E_INFO record that contain information does not exists anymore)

How can I do now ?

In particular, can the SIGNALQQ routine, associated withe the SIG$FPE signal, be used to produce the same behavior if the handler routine is a copy of my "old" MATHERRQQ routine (remaned of course) ?

Thanks.

0 Kudos
5 Replies
Xj_Kong
Novice
806 Views

Agree to retrieve MATHERRQQ! This made me quite often jump back to CVF.

0 Kudos
Steven_L_Intel1
Employee
806 Views

Sorry, but we're using a very different math library now. What sort of errors are you hoping to catch and what do you want to do with them?

0 Kudos
Xj_Kong
Novice
806 Views

Most common is the power, exponential and log functions for instance when the number goes to very large or small sometimes, like type*,(-0.008)**(0.33333333333d0)  as I remember but (-0.008)**(1d0/3d0) works.

Let me keep more report later. 

0 Kudos
Xj_Kong
Novice
806 Views

The most common cases I met are the power, exponential and log functions for instance when the number goes to very large or small sometimes, like type*,(-0.008)**(0.33333333333d0)  as I remember but (-0.008)**(1d0/3d0) works.

Let me keep more report later. 

0 Kudos
mecej4
Honored Contributor III
806 Views

For the example you gave, the issue is not related to the presence of very large or very small numbers.

Here is a point to ponder, from a mathematical point of view. The number -0.008, raised to the 1/3-rd power, is -0.2; however, if the exponent is not exactly 1/3, but the reciprocal of any real number greater than 1, the result is, in general, complex and multiple-valued. The exponent that you gave in the first expression is not exactly equal 1/3. Maple gives, for that expression, the value .1000000000+.1732050808*I, which is close to (1 + i.sqrt(3))/10. Would you accept this result?

0 Kudos
Reply