Spec-Zone.ru › GNU Fortran 11

9.242 SELECTED_REAL_KIND — Выбор вида вещественного типа

Описание:

SELECTED_REAL_KIND(P,R) возвращает значение вида вещественного типа данных с точностью десятичной части не менее P цифр, диапазоном показателя степени не менее R, и с основанием RADIX.

Стандарт:

Fortran 90 и позднее, с 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
Пример:
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
См. также:

PRECISION, RANGE, RADIX

Далее: SET_EXPONENT, Предыдущее: SELECTED_INT_KIND, Наверх: Встроенные процедуры [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gfortran/SELECTED_005fREAL_005fKIND.html

Spec-Zone.ru

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