Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Ankündigungen
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.

machine precision -- smooth region

diedro
Einsteiger
1.099Aufrufe

hi everyone,

I'ma writing a code about diffusion. It is veru sensible to fortran precision. I men negative value (taht I do not want) star from -1.e-60 and than rise ud to 1.e2.

I compile in double precision. Hos is possible that the program can handle so negative errors, Can I set them to zero when I compile.

Really really thanks

0 Kudos
6 Antworten
Anonymous66
Geschätzter Beitragender I
1.099Aufrufe
The option, -fpe1 will turn on underflow to zero rather than allowing gradual underflow. Any value that is too small to be represented precisely in double precision will be rounded down to 0. Is something like this what you are looking for?
diedro
Einsteiger
1.099Aufrufe
yes is that the things that I want to know. However I got the same error. Do you know a forum where to talk about numerical scheme problem? thanks a lot
Anonymous66
Geschätzter Beitragender I
1.099Aufrufe
We do not have a forum specifically for numerical scheme problems. This white paper may be useful to you though.
Ron_Green
Moderator
1.099Aufrufe
jimdempseyatthecove
Geehrter Beitragender III
1.099Aufrufe
diedro wrote:

hi everyone,

I'ma writing a code about diffusion. It is veru sensible to fortran precision. I men negative value (taht I do not want) star from -1.e-60 and than rise ud to 1.e2.

I compile in double precision. Hos is possible that the program can handle so negative errors, Can I set them to zero when I compile.

Really really thanks

Try changing your parameters and literals from "e" to "d". Example, change -1.e-60 to -1.d-60 "e" defaults to REAL(4) Jim Dempsey
TimP
Geehrter Beitragender III
1.099Aufrufe
In case the implication of changing from a single to a double precision constant isn't evident, the smallest magnitude non-zero single precision numbers are TINY(1.)*EPSILON(1.) when gradual underflow is enabled, and TINY(1.) in the case of abrupt underflow (ifort option -ftz). In either case, 1.e-60 is the same as 0. (except possibly in some contexts of -mia32)
Antworten