Spec-Zone.ru › GNU Fortran 6

9.262 TRANSFER — Передача битовых шаблонов

Описание:

Интерпретирует битовое представление SOURCE в памяти так, как если бы это было представление переменной или массива того же типа и параметров типа, что и MOLD.

Это приблизительно эквивалентно концепции приведения типов в C.

Стандарт:

Fortran 95 и более поздние версии

Класс:

Функция преобразования

Синтаксис:

RESULT = TRANSFER(SOURCE, MOLD[, SIZE])

Аргументы:
SOURCE Должен быть скаляром или массивом любого типа.
MOLD Должен быть скаляром или массивом любого типа.
SIZE (Необязательно) должен быть скаляром типа INTEGER.
Значение результата:

Результат имеет тот же тип, что и MOLD, с битовым представлением SOURCE. Если SIZE указан, результат является одномерным массивом длины SIZE. Если SIZE отсутствует, но MOLD является массивом (любого размера или формы), результат — одномерный массив минимальной длины, необходимой для хранения всего битового представления SOURCE. Если SIZE отсутствует, а MOLD — скаляр, результат — скаляр.

Если битовое представление результата длиннее, чем SOURCE, ведущие биты результата соответствуют битам SOURCE, а все последующие биты заполняются произвольно.

Когда битовое представление результата не соответствует допустимому представлению переменной того же типа, что и MOLD, результаты не определены, и последующие операции над результатом не гарантируют разумного поведения. Например, возможно создать LOGICAL переменные, для которых VAR и .NOT.VAR оба кажутся истинными.

Пример:
PROGRAM test_transfer
  integer :: x = 2143289344
  print *, transfer(x, 1.0)    ! prints "NaN" on i686
END PROGRAM

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

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

Spec-Zone.ru

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