8.273 TRANSFER — Передача битовых шаблонов
- Описание:
-
Интерпретирует битовое представление SOURCE в памяти так, как если бы оно было представлением переменной или массива того же типа и параметров типа, что и MOLD.
Это примерно эквивалентно концепции приведения типов в языке C.
- Стандарт:
-
Fortran 90 и более поздние версии
- Класс:
-
Функция преобразования
- Синтаксис:
-
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-12.1.0/gfortran/TRANSFER.html