·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> f90/models (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
MODELS(3I)					      Last changed: 1-15-98

```

### NAME[Toc][Back]

```     MODELS - Describes	mathematical representation models for CF90 and
MIPSpro 7 Fortran 90 compiler intrinsic procedures
```

### IMPLEMENTATION[Toc][Back]

```     UNICOS, UNICOS/mk,	and IRIX systems
```

### STANDARDS[Toc][Back]

```     Fortran 90
```

### DESCRIPTION[Toc][Back]

```     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 SR-3903.

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	s-1
k
(Refer to the	printed	MODELS(3I) man page in the Intrinsic
Procedures Reference Manual, publication SR-2138, 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 64-bit	integers, the values in	the model are as follows:

Object    Value

s	       64

k	       0 through 63

On	UNICOS systems,	a 46-bit integer is stored in a	64-bit storage
container.

For 32-bit	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 SR-3902.

Integer model    [Toc]    [Back]

The integer number	system model is	as follows:
k-1
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 SR-3903, 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 64-bit	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 32-bit	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 8-bit 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 16-bit	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 SR-3903, 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 128-bit 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 128-bit 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 128-bit real numbers on CRAY T90 systems that support IEEE
floating-point 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 64-bit	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 64-bit	real numbers on	IRIX systems, on CRAY T90 systems that
support IEEE floating-point 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 32-bit	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
1-p
epsilon = b   .
```

### NOTES[Toc][Back]

```     On	UNICOS systems,	both execution speed and the number of bits used in
mathematical operations are affected when compiling with
see CF90 Commands and Directives Reference	Manual,	publication
SR-3901.
```

```     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
printed version of	this man page.
MODELS(3I)					      Last changed: 1-15-98

```

### NAME[Toc][Back]

```     MODELS - Describes	mathematical representation models for CF90 and
MIPSpro 7 Fortran 90 compiler intrinsic procedures
```

### IMPLEMENTATION[Toc][Back]

```     UNICOS, UNICOS/mk,	and IRIX systems
```

### STANDARDS[Toc][Back]

```     Fortran 90
```

### DESCRIPTION[Toc][Back]

```     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 SR-3903.

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	s-1
k
(Refer to the	printed	MODELS(3I) man page in the Intrinsic
Procedures Reference Manual, publication SR-2138, 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 64-bit	integers, the values in	the model are as follows:

Object    Value

s	       64

k	       0 through 63

On	UNICOS systems,	a 46-bit integer is stored in a	64-bit storage
container.

For 32-bit	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 SR-3902.

Integer model    [Toc]    [Back]

The integer number	system model is	as follows:
k-1
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 SR-3903, 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 64-bit	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 32-bit	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 8-bit 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 16-bit	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 SR-3903, 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 128-bit 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 128-bit 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 128-bit real numbers on CRAY T90 systems that support IEEE
floating-point 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 64-bit	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 64-bit	real numbers on	IRIX systems, on CRAY T90 systems that
support IEEE floating-point 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 32-bit	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
1-p
epsilon = b   .
```

### NOTES[Toc][Back]

```     On	UNICOS systems,	both execution speed and the number of bits used in
mathematical operations are affected when compiling with
see CF90 Commands and Directives Reference	Manual,	publication
SR-3901.
```

```     Intrinsic Procedures Reference Manual, publication	SR-2138, for the