9.231 SELECTED_REAL_KIND — Выбор действительного типа
- Описание:
-
SELECTED_REAL_KIND(P,R)возвращает значение типа действительного числа с десятичной точностью не менееPцифр, диапазоном показателей степени не менееR, и с основаниемRADIX. - Стандарт:
- Fortran 95 и более поздние версии, с
RADIXFortran 2008 или более поздние - Класс:
- Трансформационная функция
- Синтаксис:
-
RESULT = SELECTED_REAL_KIND([P, R, RADIX]) - Аргументы:
-
Перед Fortran 2008, по меньшей мере, один из аргументов R или P должен быть присутствовать; начиная с Fortran 2008, они предполагаются равными нулю, если отсутствуют.P (Необязательно) должен быть скалярным и типа INTEGER.R (Необязательно) должен быть скалярным и типа INTEGER.RADIX (Необязательно) должен быть скалярным и типа INTEGER. - Возвращаемое значение:
-
SELECTED_REAL_KINDвозвращает значение параметра типа kind действительного типа с десятичной точностью не менееPцифр, диапазоном десятичных показателей степени не менееR, и с требуемымRADIX. Если параметрRADIXотсутствует, могут быть возвращены действительные типы с любым основанием. Если более одного действительного типа соответствуют критериям, возвращается тип с наименьшей десятичной точностью. Если ни один действительный тип не соответствует критериям, результатом является- -1, если процессор не поддерживает действительный тип с
- точностью, большей или равной
P, но требованияRиRADIXмогут быть выполнены - -2, если процессор не поддерживает действительный тип с диапазоном
- показателей степени, большим или равным
R, ноPиRADIXмогут быть выполнены - -3, если
RADIX, но неPиRтребования - могут быть выполнены
- -4, если
RADIXи либоP, либоRтребования - могут быть выполнены
- -5, если нет действительного типа с заданным
RADIX
- См. также:
- PRECISION, RANGE, RADIX
- Пример:
-
program real_kinds integer,parameter :: p6 = selected_real_kind(6) integer,parameter :: p10r100 = selected_real_kind(10,100) integer,parameter :: r400 = selected_real_kind(r=400) real(kind=p6) :: x real(kind=p10r100) :: y real(kind=r400) :: z print *, precision(x), range(x) print *, precision(y), range(y) print *, precision(z), range(z) end program real_kinds
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/SELECTED_005fREAL_005fKIND.html