9.274 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-9.3.0/gfortran/TRANSFER.html