This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: INT(x) == 1 if x < 1?


As the standard requires (13.14.85, F95 final draft), RANDOM_NUMBER () shall
return a harvest x in the range 0 <= x < 1. Therefore, on REAL :: x;
RANDOM_NUMBER(x), INT(x) must(?) equal zero. As I learned the hard way, this
is not always true?!

No, that's always true. RANDOM_NUMBER sets x to a machine- representible number that lies between 0 (inclusively) and 1 (exclusively). Since it's a machine representible number, it will not be converted to the nearest machine representible number; this only happens when you write number in base 10, in the program, or when you read them by formatted I/O.


FX



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]