> 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
|