Re: problem with very small numbers - g95 versus gfortran



On May 28, 11:58 pm, "James Van Buskirk" <not_va...@xxxxxxxxxxx>
wrote:
"e p chandler" <e...@xxxxxxxx> wrote in messagenews:9059cf42-b099-4825-990e-fd1b7df9fa09@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Looking up TINY() shows:
TINY(X) returns the smallest positive (non zero) number in the model
of the type of X.
Please explain what I am seeing in light of the above definition. Does
this mean that specifying a literal in double precision where that
literal is less than tiny() is invalid? Yet it seems to work with
gfortran.
At least you found the boundary where the bug is triggered.

I don't have much time, but a description of denormals might perhaps
be found inhttp://download.intel.com/design/processor/manuals/253665.pdf
section 4.8.3.2.  Suffice it to say that denormals aren't model
numbers.

1. MR&C [p. 166] says "Note that is quite likely that there are some
machine numbers that lie outside the model." It then mentions
denormals.

2. Thanks for the Intel reference.

3. I really do like MR&C, but it's quite terse. I think I need a book
entitled "fortran 95/2003 explained explained".

- e


.



Relevant Pages

  • Re: IBM 45nm -- new or licensed from Intel?
    ... Zeroes, denormals, infinities ... That is of course the obvious way to do it, with zero such an important special case that it might be a good idea to handle that with branchless code, i.e. use a conditional move to fixup the exponent. ... Next priority should be Inf, then Denorm, with NaN a distant last entry. ... NaN rather than keeping the original NaN and flushes denormals to ...
    (comp.arch)
  • Re: Floating Point Numbers
    ... IEEE 754 permits this restriction to be relaxed for numbers close to zero. ... You "know" if your number is denormal if all bits of the exponent are 0, ... In the two cases where the exponent is zero and the fraction is also ... you can consider them special cases of denormals. ...
    (comp.programming)
  • Re: Future Risc
    ... slow down by more than a factor of 2 due to denormals then there is something ... Often they don't care about them, so flush to zero is ... In other cases (such as matrix computations) you care a lot ...
    (comp.arch)