#include <stdio.h>
#include <CompilerCharacteristics.h>
Go to the source code of this file.
Functions | |
void * | createArrayDesc_F90Vendor (void *desc, void *hidden, int rank, F90_DescType desc_type) |
Creates an array descriptor by copying an existing array and hidden descriptor pair. | |
int | setArrayDesc_F90Vendor (void *desc, void *base_addr, int rank, F90_DescType desc_type, F90_ArrayDataType data_type, unsigned long element_size, const long *lowerBound, const unsigned long *extent, const long *strideMult) |
Sets the elements of a preallocated array descriptor. | |
int | resetArrayDesc_F90Vendor (void *desc, void *base_addr, int rank, const long *lowerBound, const unsigned long *extent, const long *strideMult) |
Resets the elements of a preallocated array descriptor. | |
int | copyToArrayDescAndHidden_F90Vendor (void *src, int rank, F90_DescType desc_type, void *desc, void *hidden) |
Copies an array descriptor to an array and hidden descriptor pair. | |
int | createArrayDescAndHidden_F90Vendor (void *src, int rank, F90_DescType desc_type, void **desc, void **hidden) |
Creates an array and hidden descriptor pair from an existing descriptor. | |
int | freeArrayDescAndHidden_F90Vendor (F90_DescType desc_type, void *desc, void *hidden) |
Frees an array and hidden descriptor pair created by a call to createArrayDescAndHidden_F90Vendor(). | |
void * | getArrayBaseAddress_F90Vendor (const void *desc, int rank) |
Returns a pointer to the base address of the array. | |
unsigned long | getArraySize_F90Vendor (const void *desc, int rank) |
Returns the array size (in elements). | |
long | getArrayLowerBound_F90Vendor (const void *desc, int rank, int dim) |
Returns the lower bound for the given dimension. | |
unsigned long | getArrayExtent_F90Vendor (const void *desc, int rank, int dim) |
Returns the extent of the array for the given dimension (in elements). | |
long | getArrayStrideMult_F90Vendor (const void *desc, int rank, int dim) |
Returns the distance between successive elements (in bytes). | |
unsigned long | getArrayDescSize_F90Vendor (int rank) |
Returns the size of an array descriptor (in bytes). | |
F90_HiddenDescType | hiddenArrayDescType_F90Vendor (F90_DescType desc_type) |
Returns the type of hidden descriptor used by the compiler for the given descriptor type. | |
int | verifyArrayDesc_F90Vendor (const void *desc, int rank) |
Verify an array descriptor. | |
int | nullifyArrayDesc_F90Vendor (void *desc, int rank) |
Nullify an array descriptor. | |
int | printArrayDesc_F90Vendor (const void *desc, int rank) |
Prints all fields in the array descriptor. | |
int | equalsArrayDesc_F90Vendor (const void *desc1, const void *desc2, int rank) |
Determines if two descriptors are equal (equivalent). | |
char * | getMangledName_F90Vendor (const char *fun_name, const char *mod_name) |
Returns the symbol name of a module procedure, if the module name is not null, otherwise returns the name of the procedure. | |
void | F90_SetCCFunctions_F90Vendor (F90_CompilerCharacteristics *cc) |
Set CompilerCharacteristics function pointers for a particular compiler. |
Fortran 90 (and later) compilers pass array-valued parameters via an array descriptor (sometimes called a dope vector). The Chasm library provides C functions to get and set array-descriptor elements. This file declares the API for the array-descriptor library.
Note that separate global functions are provided for each Fortran compiler with vendor name appended to the generic function name. In this file, F90Vendor is used in place of a specific compiler vendor. A generic interface is available via function pointers in the F90_CompilerCharacteristics struct. These function pointers are set with the F90_SetCompilerCharacteristics() function.