next up previous contents
След.: Функции редукции Выше: Функции для работы с Пред.: Преобразование массивов   Содержание

Справочные функции

Имеется ряд справочных функций предоставляющих информацию о массиве в целом, при этом содержимое массива не играет роли и может не быть определено. Функция PRESENT может относиться и к скалярам.

ALLOCATED(ARRAY) -- выяснение, размещен ли массив. Аргументом может быть и размещаемый скаляр (в этом случае аргумент называется SCALAR).

ASSOCIATED(POINTER,TARGET) -- выяснение связан ли указатель (с конкретной целью, если она указана).

IS_CONTIGUOUS(ARRAY) -- выяснение является ли массив сплошным (концепция сплошности описана на стр. [*], атрибут CONTIGUOUS).

LBOUND(ARRAY[,DIM,KIND]) и UBOUND -- функции, определяющие нижние и верхние границы массива или указанного измерения массива (параметры одинаковы).

LCOBOUND(COARRAY[,DIM,KIND]) и UCOBOUND -- определяют нижние и верхние кограницы комассива или указанного измерения комассива.

PRESENT(A) -- определение наличия необязательного аргумента процедуры. Аргумент, скаляр или массив, может быть любого типа, включая указатель -- это имя формального параметра.

SIZE(ARRAY[,DIM,KIND]) -- размер массива или измерения -- целое число указанной или стандартной разновидности целого типа, равное числу элементов массива или указанного измерения.

SHAPE(SOURCE[,KIND]) -- конфигурация массива -- целый одномерный массив.

STORAGE_SIZE(A[,KIND]) -- размер объекта в битах. Первый аргумент -- скаляр или массив любого типа. Если он полиморфный, то не должен быть неопределенным указателем. Возвращается размер в битах элемента массива того же типа, что и A. Элемент массива может занимать больше памяти, чем скаляр, из-за выравнивания. Для встроенных типов значения согласованы с константами модуля ISO_FORTRAN_ENV.



Ilya A. Chernov 2012-12-19
X