|
GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis
111
|
Data Types | |
| interface | f1mach |
| This function resolves into the particular routines depending on the type of the second dummy argument 'p' which specifies the data type for which the machine parameters are required. More... | |
Functions/Subroutines | |
| subroutine, public | print_precision_params (stdout) |
| integer function, public | I1MACH (I) |
Variables | |
| integer, parameter | rbyte = 8 |
| integer, parameter | sp =selected_real_kind(6) |
| integer, parameter | sp_bytes = 4 |
| integer, parameter | wp =selected_real_kind(12) |
| integer, parameter | wp_bytes = 8 |
| integer, parameter | ep1 =selected_real_kind(19) |
| integer, parameter | ep1_bytes = 16 |
| integer, parameter | ep = MAX(ep1, wp) |
| integer, parameter | shortint =selected_int_kind(9) |
| integer, parameter | longint =selected_int_kind(10) |
| integer, parameter | cfp = ep |
| Floating point precision for which the library is to be compiled (Current-Float-Precision). It must be one of: wp, ep, ep1. Single precision (sp) is not supported. More... | |
| integer, parameter | cfp_bytes = ep1_bytes |
| Number of bytes in float of type real(kind=cfp). More... | |
| integer, parameter | storage_unit_cfp = cfp_bytes |
| Storage unit used when writing values of kind cfp into disk. More... | |
| integer, parameter | storage_unit_int = bit_size(wp)/8 |
| Storage unit used when writing values of default integer kind into disk. More... | |
| real(kind=cfp), parameter | cfp_dummy = 1.0_cfp |
| Dummy variable used on input to F1MACH in various routines. More... | |
| real(kind=wp), parameter | wp_dummy = 1.0_cfp |
| Dummy variable used on input to F1MACH in various routines. More... | |
| real(kind=ep1), parameter | ep_dummy = 1.0_cfp |
| Dummy variable used on input to F1MACH in various routines. More... | |
| integer function, public precisn_gbl::I1MACH | ( | integer | I | ) |
***PURPOSE Return integer machine dependent constants.
***LIBRARY SLATEC
***CATEGORY R1
***TYPE INTEGER (I1MACH-I)
***KEYWORDS MACHINE CONSTANTS
***AUTHOR Fox, P. A., (Bell Labs)
Hall, A. D., (Bell Labs)
Schryer, N. L., (Bell Labs)
***DESCRIPTION
I1MACH can be used to obtain machine-dependent parameters for the
local machine environment. It is a function subprogram with one
(input) argument and can be referenced as follows:
K = I1MACH(I)
where I=1,...,16. The (output) value of K above is determined by
the (input) value of I. The results for various values of I are
discussed below.
I/O unit numbers:
I1MACH( 1) = the standard input unit.
I1MACH( 2) = the standard output unit.
I1MACH( 3) = the standard punch unit.
I1MACH( 4) = the standard error message unit.
Words:
I1MACH( 5) = the number of bits per integer storage unit.
I1MACH( 6) = the number of characters per integer storage unit.
Integers:
assume integers are represented in the S-digit, base-A form
sign ( X(S-1)*A**(S-1) + ... + X(1)*A + X(0) )
where 0 .LE. X(I) .LT. A for I=0,...,S-1.
I1MACH( 7) = A, the base.
I1MACH( 8) = S, the number of base-A digits.
I1MACH( 9) = A**S - 1, the largest magnitude.
Floating-Point Numbers:
Assume floating-point numbers are represented in the T-digit,
base-B form
sign (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )
where 0 .LE. X(I) .LT. B for I=1,...,T,
0 .LT. X(1), and EMIN .LE. E .LE. EMAX.
I1MACH(10) = B, the base.
Single-Precision:
I1MACH(11) = T, the number of base-B digits.
I1MACH(12) = EMIN, the smallest exponent E.
I1MACH(13) = EMAX, the largest exponent E.
Double-Precision:
I1MACH(14) = T, the number of base-B digits.
I1MACH(15) = EMIN, the smallest exponent E.
I1MACH(16) = EMAX, the largest exponent E.
Quad-Precision:
I1MACH(17) = T, the number of base-B digits.
I1MACH(18) = EMIN, the smallest exponent E.
I1MACH(19) = EMAX, the largest exponent E.
***REFERENCES P. A. Fox, A. D. Hall and N. L. Schryer, Framework for
a portable library, ACM Transactions on Mathematical
Software 4, 2 (June 1978), pp. 177-188.
***ROUTINES CALLED (NONE)
| subroutine, public precisn_gbl::print_precision_params | ( | integer, intent(in) | stdout | ) |

| integer parameter precisn_gbl::cfp = ep |
Floating point precision for which the library is to be compiled (Current-Float-Precision). It must be one of: wp, ep, ep1. Single precision (sp) is not supported.
| integer parameter precisn_gbl::cfp_bytes = ep1_bytes |
Number of bytes in float of type real(kind=cfp).
| real(kind=cfp), parameter precisn_gbl::cfp_dummy = 1.0_cfp |
Dummy variable used on input to F1MACH in various routines.
| integer, parameter precisn_gbl::ep1 =selected_real_kind(19) |
| integer, parameter precisn_gbl::ep1_bytes = 16 |
| real(kind=ep1), parameter precisn_gbl::ep_dummy = 1.0_cfp |
Dummy variable used on input to F1MACH in various routines.
| integer, parameter precisn_gbl::longint =selected_int_kind(10) |
| integer, parameter precisn_gbl::rbyte = 8 |
| integer, parameter precisn_gbl::shortint =selected_int_kind(9) |
| integer, parameter precisn_gbl::sp =selected_real_kind(6) |
| integer, parameter precisn_gbl::sp_bytes = 4 |
| integer, parameter precisn_gbl::storage_unit_cfp = cfp_bytes |
Storage unit used when writing values of kind cfp into disk.
| integer, parameter precisn_gbl::storage_unit_int = bit_size(wp)/8 |
Storage unit used when writing values of default integer kind into disk.
| integer, parameter precisn_gbl::wp =selected_real_kind(12) |
| integer, parameter precisn_gbl::wp_bytes = 8 |
| real(kind=wp), parameter precisn_gbl::wp_dummy = 1.0_cfp |
Dummy variable used on input to F1MACH in various routines.