9.271 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-7.2.0/gfortran/TRANSFER.html