Print

Print


> Before C the most common "under the hood" implementation
> of logicals I came across was negative means .true. and positive
> means .false.  That's because almost all hardware had a conditional
> branch based on the sign bit of an operand register.

Yes, I remember that from my VAX FORTRAN days.  Still the case with
Fortran95 on ALPHA under VMS:

$ type test.f90
PROGRAM TEST
REAL :: X
PRINT*, "false: ", TRANSFER((.FALSE.),(X))
PRINT*, "true: ", TRANSFER((.TRUE.),(X))
PRINT*, "-huge:", -HUGE(X)
END PROGRAM TEST
$ fortran test
$ link test
$ run test
false:   0.0000000E+00
true:  -1.7014117E+38
-huge: -1.7014117E+38