MODELS(3I) Last changed: 11598
MODELS  Describes mathematical representation models for CF90 and
MIPSpro 7 Fortran 90 compiler intrinsic procedures
UNICOS, UNICOS/mk, and IRIX systems
Fortran 90
The CF90 and MIPSpro 7 Fortran 90 compilers implement the intrinsic
procedures according to the representation models described in the
Fortran 90 standard. The Fortran 90 standard describes a bit model,
an integer model, and a real number model. For more information on
these models, see the Fortran Language Reference Manual, Volume 2,
publication SR3903.
Bit model [Toc] [Back]
The bit model interprets a nonnegative scalar data object of type
integer as a sequence of binary digits (bits). In the model, w
k
has a value of 0 or 1. A bit is defined to be a binary digit w
located at position k of a nonnegative integer scalar object, which is
based on the following nonnegative integer model:
k
j = the summation of w 2 as k goes from 0 to s1
k
(Refer to the printed MODELS(3I) man page in the Intrinsic
Procedures Reference Manual, publication SR2138, for a graphical
representation of this summation.)
Object Definition
j The integer value.
s The number of bits in the model. The bits are numbered from
right to left beginning with 0.
w A bit is a binary digit, w, located at position k. Either 0
k or 1.
For 64bit integers, the values in the model are as follows:
Object Value
s 64
k 0 through 63
On UNICOS systems, a 46bit integer is stored in a 64bit storage
container.
For 32bit integers, the values are as follows:
Object Value
s 32
k 0 through 31
You can use the BIT_SIZE intrinsic function to determine the value of
s in the model.
The bit manipulation functions are based upon this bit model. The
model deals only with nonnegative integers interpreted through these
functions and the MVBITS subroutine. It is not necessarily related to
the implementation of the integer data type. It also is independent
of the binary, octal, and hexadecimal (BOZ) constants described in the
Fortran Language Reference Manual, Volume 1, publication SR3902.
Integer model [Toc] [Back]
The integer number system model is as follows:
k1
i = s * the summation of w r as k goes from 1 to q
k
(Refer to the printed MODELS(3I) man page in the Fortran Language
Reference Manual, Volume 2, publication SR3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
Object Definition
i The integer value.
s The sign. Either +1 or 1.
r The radix. An integer greater than 1.
q The number of digits. An integer greater than 0.
w The kth digit. An integer 0 <= w < r.
k k
For 64bit integers, the values in the model are as follows:
Object Value
r 2
q 63
k An integer 1 <= k <= 63, and the sign bit
For 32bit integers on UNICOS/mk and IRIX systems, the values in the
model are as follows:
Object Value
r 2
q 31
k An integer 1 <= k <= 31, and the sign bit
For 8bit integers on IRIX systems, the values in the model are as
follows:
Object Value
r 2
q 7
k An integer 1 <= k <= 7, and the sign bit
For 16bit integers on IRIX systems, the values in the model are as
follows:
Object Value
r 2
q 15
k An integer 1 <= k <= 15, and the sign bit
The values shown for the integer number system model can be retrieved
through the DIGITS, RANGE, and RADIX numeric inquiry intrinsic
functions. The DIGITS function returns the number of significant
digits (q) for an integer in the model, and the RANGE function returns
the decimal number of significant digits. The RADIX function returns
the base of the model (r).
The HUGE numeric inquiry intrinsic function returns the largest
positive number in the integer number system model.
Real model [Toc] [Back]
The real number system model is as follows:
x = 0
or
e k
x = s * b * the summation of f b as k goes from 1 to p}
k
(Refer to the printed MODELS(3I) man page in the Fortran Language
Reference Manual, Volume 2, publication SR3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
Object Definition
x The real value.
s The sign. Either +1 or 1.
b The base (real radix). An integer greater than 1.
e An integer between some minimum and maximum value.
p The number of mantissa digits. An integer greater than 1.
f The kth digit. An integer 1 <= f < b.
k k
f can be 0 only if all f are 0.
1 k
For 128bit real numbers on UNICOS systems, the values in the model
are as follows:
Object Value
b 2
e 8189
max
e 8188
min
p 95
k An integer 1 <= k <= 95
For 128bit real numbers on IRIX systems, the values in the model are
as follows:
Object Value
b 2
e 1023
max
e 967
min
p 107
k An integer 1 <= k <= 107
For 128bit real numbers on CRAY T90 systems that support IEEE
floatingpoint arithmetic, the values in the model are as follows:
Object Value
b 2
e 16384
max
e 16381
min
p 113
k An integer 1 <= k <= 113
For 64bit real numbers on UNICOS systems, the values in the model are
as follows:
Object Value
b 2
e 8189
max
e 8188
min
p 47
k An integer 1 <= k <= 47
For 64bit real numbers on IRIX systems, on CRAY T90 systems that
support IEEE floatingpoint arithmetic, and on UNICOS/mk systems, the
values in the model are as follows:
Object Value
b 2
e 1024
max
e 1021
min
p 53
k An integer 1 <= k <= 53
For 32bit real numbers on UNICOS/mk and IRIX systems, the values in
the model are as follows:
Object Value
b 2
e 128
max
e 125
min
p 24
k An integer 1 <= k <= 24
The values shown for the real number system model can be retrieved
through the RADIX, MAXEXPONENT, MINEXPONENT, DIGITS, PRECISION, and
RANGE numeric inquiry intrinsic functions.
The HUGE and TINY numeric inquiry intrinsic functions return the
largest and the smallest positive number in the real number system
model. The EPSILON function returns a positive real number that is
1p
epsilon = b .
On UNICOS systems, both execution speed and the number of bits used in
mathematical operations are affected when compiling with
f90 O fastint, which is the default setting. For more information,
see CF90 Commands and Directives Reference Manual, publication
SR3901.
Intrinsic Procedures Reference Manual, publication SR2138, for the
printed version of this man page.
MODELS(3I) Last changed: 11598
MODELS  Describes mathematical representation models for CF90 and
MIPSpro 7 Fortran 90 compiler intrinsic procedures
UNICOS, UNICOS/mk, and IRIX systems
Fortran 90
The CF90 and MIPSpro 7 Fortran 90 compilers implement the intrinsic
procedures according to the representation models described in the
Fortran 90 standard. The Fortran 90 standard describes a bit model,
an integer model, and a real number model. For more information on
these models, see the Fortran Language Reference Manual, Volume 2,
publication SR3903.
Bit model [Toc] [Back]
The bit model interprets a nonnegative scalar data object of type
integer as a sequence of binary digits (bits). In the model, w
k
has a value of 0 or 1. A bit is defined to be a binary digit w
located at position k of a nonnegative integer scalar object, which is
based on the following nonnegative integer model:
k
j = the summation of w 2 as k goes from 0 to s1
k
(Refer to the printed MODELS(3I) man page in the Intrinsic
Procedures Reference Manual, publication SR2138, for a graphical
representation of this summation.)
Object Definition
j The integer value.
s The number of bits in the model. The bits are numbered from
right to left beginning with 0.
w A bit is a binary digit, w, located at position k. Either 0
k or 1.
For 64bit integers, the values in the model are as follows:
Object Value
s 64
k 0 through 63
On UNICOS systems, a 46bit integer is stored in a 64bit storage
container.
For 32bit integers, the values are as follows:
Object Value
s 32
k 0 through 31
You can use the BIT_SIZE intrinsic function to determine the value of
s in the model.
The bit manipulation functions are based upon this bit model. The
model deals only with nonnegative integers interpreted through these
functions and the MVBITS subroutine. It is not necessarily related to
the implementation of the integer data type. It also is independent
of the binary, octal, and hexadecimal (BOZ) constants described in the
Fortran Language Reference Manual, Volume 1, publication SR3902.
Integer model [Toc] [Back]
The integer number system model is as follows:
k1
i = s * the summation of w r as k goes from 1 to q
k
(Refer to the printed MODELS(3I) man page in the Fortran Language
Reference Manual, Volume 2, publication SR3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
Object Definition
i The integer value.
s The sign. Either +1 or 1.
r The radix. An integer greater than 1.
q The number of digits. An integer greater than 0.
w The kth digit. An integer 0 <= w < r.
k k
For 64bit integers, the values in the model are as follows:
Object Value
r 2
q 63
k An integer 1 <= k <= 63, and the sign bit
For 32bit integers on UNICOS/mk and IRIX systems, the values in the
model are as follows:
Object Value
r 2
q 31
k An integer 1 <= k <= 31, and the sign bit
For 8bit integers on IRIX systems, the values in the model are as
follows:
Object Value
r 2
q 7
k An integer 1 <= k <= 7, and the sign bit
For 16bit integers on IRIX systems, the values in the model are as
follows:
Object Value
r 2
q 15
k An integer 1 <= k <= 15, and the sign bit
The values shown for the integer number system model can be retrieved
through the DIGITS, RANGE, and RADIX numeric inquiry intrinsic
functions. The DIGITS function returns the number of significant
digits (q) for an integer in the model, and the RANGE function returns
the decimal number of significant digits. The RADIX function returns
the base of the model (r).
The HUGE numeric inquiry intrinsic function returns the largest
positive number in the integer number system model.
Real model [Toc] [Back]
The real number system model is as follows:
x = 0
or
e k
x = s * b * the summation of f b as k goes from 1 to p}
k
(Refer to the printed MODELS(3I) man page in the Fortran Language
Reference Manual, Volume 2, publication SR3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
Object Definition
x The real value.
s The sign. Either +1 or 1.
b The base (real radix). An integer greater than 1.
e An integer between some minimum and maximum value.
p The number of mantissa digits. An integer greater than 1.
f The kth digit. An integer 1 <= f < b.
k k
f can be 0 only if all f are 0.
1 k
For 128bit real numbers on UNICOS systems, the values in the model
are as follows:
Object Value
b 2
e 8189
max
e 8188
min
p 95
k An integer 1 <= k <= 95
For 128bit real numbers on IRIX systems, the values in the model are
as follows:
Object Value
b 2
e 1023
max
e 967
min
p 107
k An integer 1 <= k <= 107
For 128bit real numbers on CRAY T90 systems that support IEEE
floatingpoint arithmetic, the values in the model are as follows:
Object Value
b 2
e 16384
max
e 16381
min
p 113
k An integer 1 <= k <= 113
For 64bit real numbers on UNICOS systems, the values in the model are
as follows:
Object Value
b 2
e 8189
max
e 8188
min
p 47
k An integer 1 <= k <= 47
For 64bit real numbers on IRIX systems, on CRAY T90 systems that
support IEEE floatingpoint arithmetic, and on UNICOS/mk systems, the
values in the model are as follows:
Object Value
b 2
e 1024
max
e 1021
min
p 53
k An integer 1 <= k <= 53
For 32bit real numbers on UNICOS/mk and IRIX systems, the values in
the model are as follows:
Object Value
b 2
e 128
max
e 125
min
p 24
k An integer 1 <= k <= 24
The values shown for the real number system model can be retrieved
through the RADIX, MAXEXPONENT, MINEXPONENT, DIGITS, PRECISION, and
RANGE numeric inquiry intrinsic functions.
The HUGE and TINY numeric inquiry intrinsic functions return the
largest and the smallest positive number in the real number system
model. The EPSILON function returns a positive real number that is
1p
epsilon = b .
On UNICOS systems, both execution speed and the number of bits used in
mathematical operations are affected when compiling with
f90 O fastint, which is the default setting. For more information,
see CF90 Commands and Directives Reference Manual, publication
SR3901.
Intrinsic Procedures Reference Manual, publication SR2138, for the
printed version of this man page.
[ Back ]
