00001
00019 #ifndef _F90VENDOR_H_
00020 #define _F90VENDOR_H_
00021
00022 #include <stdio.h>
00023 #include <CompilerCharacteristics.h>
00024
00078 #ifdef __cplusplus
00079 extern "C" {
00080 #endif
00081
00082
00097
00098
00127 void* createArrayDesc_F90Vendor(void* desc,
00128 void* hidden,
00129 int rank,
00130 F90_DescType desc_type
00131 );
00132
00133
00169 int setArrayDesc_F90Vendor(void* desc,
00170 void* base_addr,
00171 int rank,
00172 F90_DescType desc_type,
00173 F90_ArrayDataType data_type,
00174 unsigned long element_size,
00175 const long* lowerBound,
00176 const unsigned long* extent,
00177 const long* strideMult
00178 );
00179
00180
00201 int resetArrayDesc_F90Vendor(void* desc,
00202 void* base_addr,
00203 int rank,
00204 const long* lowerBound,
00205 const unsigned long* extent,
00206 const long* strideMult
00207 );
00208
00210
00211
00222
00223
00245 int copyToArrayDescAndHidden_F90Vendor(void* src,
00246 int rank,
00247 F90_DescType desc_type,
00248 void* desc,
00249 void* hidden
00250 );
00251
00252
00280 int createArrayDescAndHidden_F90Vendor(void* src,
00281 int rank,
00282 F90_DescType desc_type,
00283 void** desc,
00284 void** hidden
00285 );
00286
00287
00298 int freeArrayDescAndHidden_F90Vendor(F90_DescType desc_type,
00299 void* desc, void* hidden
00300 );
00301
00302
00304
00305
00314
00315
00323 void* getArrayBaseAddress_F90Vendor(const void* desc, int rank);
00324
00325
00333 unsigned long getArraySize_F90Vendor(const void* desc, int rank);
00334
00335
00344 long getArrayLowerBound_F90Vendor(const void* desc, int rank, int dim);
00345
00346
00355 unsigned long getArrayExtent_F90Vendor(const void* desc, int rank, int dim);
00356
00357
00366 long getArrayStrideMult_F90Vendor(const void* desc, int rank, int dim);
00367
00368
00370
00371
00382
00383
00390 unsigned long getArrayDescSize_F90Vendor(int rank);
00391
00392
00400 F90_HiddenDescType hiddenArrayDescType_F90Vendor(F90_DescType desc_type);
00401
00402
00414 int verifyArrayDesc_F90Vendor(const void* desc, int rank);
00415
00416
00427 int nullifyArrayDesc_F90Vendor(void* desc, int rank);
00428
00429
00437 int printArrayDesc_F90Vendor(const void* desc, int rank);
00438
00439
00448 int equalsArrayDesc_F90Vendor(const void* desc1, const void* desc2, int rank);
00449
00450
00463 char* getMangledName_F90Vendor(const char* fun_name, const char* mod_name);
00464
00465
00475 void F90_SetCCFunctions_F90Vendor(F90_CompilerCharacteristics* cc);
00476
00477
00479
00480
00481 #ifdef __cplusplus
00482 }
00483 #endif
00484
00485 #endif