Spec-Zone.ru › GNU Fortran 4

8.217 SELECTED_REAL_KIND — Выбор действительного вида

Описание:
SELECTED_REAL_KIND(P,R) возвращает значение вида действительного типа данных с десятичной точностью не менее P цифр, диапазоном показателей степени не менее R, и основанием RADIX.
Стандарт:
Fortran 95 и более поздние версии, с RADIX Fortran 2008 или более поздними
Класс:
Трансформационная функция
Синтаксис:
RESULT = SELECTED_REAL_KIND([P, R, RADIX])
Аргументы:
P (Необязательно) должен быть скаляром и типа INTEGER.
R (Необязательно) должен быть скаляром и типа INTEGER.
RADIX (Необязательно) должен быть скаляром и типа INTEGER.
Перед Fortran 2008, по крайней мере, один из аргументов R или P должен быть присутствовать; с Fortran 2008 они предполагаются равными нулю, если отсутствуют.
Значение возвращаемого значения:
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-4.9.3/gfortran/SELECTED_005fREAL_005fKIND.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API