summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5match_types.c
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src/H5match_types.c')
-rw-r--r--fortran/src/H5match_types.c614
1 files changed, 309 insertions, 305 deletions
diff --git a/fortran/src/H5match_types.c b/fortran/src/H5match_types.c
index d36e52c..ce8a8a0 100644
--- a/fortran/src/H5match_types.c
+++ b/fortran/src/H5match_types.c
@@ -26,7 +26,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
******
-*/
+ */
#include <stdio.h>
#include <assert.h>
@@ -39,22 +39,22 @@
#include "H5fort_type_defines.h"
/* File pointers for files */
-FILE * c_header;
-FILE * fort_header;
+FILE *c_header;
+FILE *fort_header;
#define CFILE "H5f90i_gen.h"
#define FFILE "H5fortran_types.f90"
/* Prototypes for the write routines */
-void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size);
-void writeTypedefDefault(const char* c_typedef, unsigned int size);
-void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind);
+void writeTypedef(const char *c_typedef, const char *c_type, unsigned int size);
+void writeTypedefDefault(const char *c_typedef, unsigned int size);
+void writeToFiles(const char *c_typedef, const char *fortran_type, const char *c_type, int size,
+ unsigned int kind);
static void
initCfile(void)
{
- fprintf(c_header,
- "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\
+ fprintf(c_header, "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\
* Copyright by The HDF Group. *\n\
* Copyright by the Board of Trustees of the University of Illinois. *\n\
* All rights reserved. *\n\
@@ -78,8 +78,7 @@ initCfile(void)
static void
initFfile(void)
{
- fprintf(fort_header,
- "! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n\
+ fprintf(fort_header, "! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n\
! Copyright by The HDF Group. *\n\
! Copyright by the Board of Trustees of the University of Illinois. *\n\
! All rights reserved. *\n\
@@ -97,276 +96,281 @@ initFfile(void)
!\n\
! HDF5 integers\n\
!\n");
-
}
static void
endCfile(void)
{
- fprintf(c_header, "\n#endif /* _H5f90i_gen_H */\n");
+ fprintf(c_header, "\n#endif /* _H5f90i_gen_H */\n");
}
static void
endFfile(void)
{
- fprintf(fort_header, "\n INTEGER(SIZE_T), PARAMETER :: OBJECT_NAMELEN_DEFAULT_F = -1\n\n");
- fprintf(fort_header, " END MODULE H5FORTRAN_TYPES\n");
+ fprintf(fort_header, "\n INTEGER(SIZE_T), PARAMETER :: OBJECT_NAMELEN_DEFAULT_F = -1\n\n");
+ fprintf(fort_header, " END MODULE H5FORTRAN_TYPES\n");
}
/* Define a c_int_x type in the C header */
-void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size)
+void
+writeTypedef(const char *c_typedef, const char *c_type, unsigned int size)
{
- fprintf(c_header, "#define c_%s_%u %s\n", c_typedef, size, c_type);
+ fprintf(c_header, "#define c_%s_%u %s\n", c_typedef, size, c_type);
}
/* Call this function if there is no matching C type for sizes > 1 */
-void writeTypedefDefault(const char* c_typedef, unsigned int size)
+void
+writeTypedefDefault(const char *c_typedef, unsigned int size)
{
- assert(size %2 == 0);
- fprintf(c_header, "typedef struct {c_%s_%u a; c_%s_%u b;} c_%s_%u\n", c_typedef, size / 2, c_typedef, size / 2, c_typedef, size);
+ assert(size % 2 == 0);
+ fprintf(c_header, "typedef struct {c_%s_%u a; c_%s_%u b;} c_%s_%u\n", c_typedef, size / 2, c_typedef,
+ size / 2, c_typedef, size);
}
/* Create matching Fortran and C types by writing to both files */
-void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind)
+void
+writeToFiles(const char *c_typedef, const char *fortran_type, const char *c_type, int size, unsigned int kind)
{
- fprintf(fort_header, " INTEGER, PARAMETER :: %s = %u\n", fortran_type, kind);
- fprintf(c_header, "typedef c_%s_%d %s;\n", c_typedef, size, c_type);
+ fprintf(fort_header, " INTEGER, PARAMETER :: %s = %u\n", fortran_type, kind);
+ fprintf(c_header, "typedef c_%s_%d %s;\n", c_typedef, size, c_type);
}
-int main(void)
+int
+main(void)
{
- int FoundIntSize[4];
- unsigned FoundIntSizeKind[4];
- int FoundRealSize[3];
- unsigned FoundRealSizeKind[3];
- int i,j,flag;
- char chrA[20],chrB[20];
- int H5_C_HAS_REAL_NATIVE_16;
+ int FoundIntSize[4];
+ unsigned FoundIntSizeKind[4];
+ int FoundRealSize[3];
+ unsigned FoundRealSizeKind[3];
+ int i, j, flag;
+ char chrA[20], chrB[20];
+ int H5_C_HAS_REAL_NATIVE_16;
- /* Open target files */
- c_header = fopen(CFILE, "w");
- fort_header = fopen(FFILE, "w");
+ /* Open target files */
+ c_header = fopen(CFILE, "w");
+ fort_header = fopen(FFILE, "w");
- /* Default is C has 16 byte float */
- H5_C_HAS_REAL_NATIVE_16 = 1;
+ /* Default is C has 16 byte float */
+ H5_C_HAS_REAL_NATIVE_16 = 1;
- /* Write copyright, boilerplate to both files */
- initCfile();
- initFfile();
+ /* Write copyright, boilerplate to both files */
+ initCfile();
+ initFfile();
- /* First, define c_int_x */
+ /* First, define c_int_x */
#if defined H5_FORTRAN_HAS_INTEGER_1_KIND
- if(sizeof(long long) == 1)
- writeTypedef("int", "long long", 1);
- else if(sizeof(long) == 1)
- writeTypedef("int", "long", 1);
- else if(sizeof(int) == 1)
- writeTypedef("int", "int", 1);
- else if(sizeof(short) == 1)
- writeTypedef("int", "short", 1);
- else
- writeTypedef("int", "char", 1);
- /* Actually, char is not necessarily one byte.
- * But if char isn't, then nothing is, so this
- * is as close as we can get. */
- if(sizeof(size_t) == 1)
- writeTypedef("size_t", "size_t", 1);
- if(sizeof(hsize_t) == 1)
- writeTypedef("hsize_t", "hsize_t", 1);
+ if (sizeof(long long) == 1)
+ writeTypedef("int", "long long", 1);
+ else if (sizeof(long) == 1)
+ writeTypedef("int", "long", 1);
+ else if (sizeof(int) == 1)
+ writeTypedef("int", "int", 1);
+ else if (sizeof(short) == 1)
+ writeTypedef("int", "short", 1);
+ else
+ writeTypedef("int", "char", 1);
+ /* Actually, char is not necessarily one byte.
+ * But if char isn't, then nothing is, so this
+ * is as close as we can get. */
+ if (sizeof(size_t) == 1)
+ writeTypedef("size_t", "size_t", 1);
+ if (sizeof(hsize_t) == 1)
+ writeTypedef("hsize_t", "hsize_t", 1);
#endif /*H5_FORTRAN_HAS_INTEGER_1_KIND*/
#if defined H5_FORTRAN_HAS_INTEGER_2_KIND
- if(sizeof(long long) == 2)
- writeTypedef("int", "long long", 2);
- else if(sizeof(long) == 2)
- writeTypedef("int", "long", 2);
- else if(sizeof(int) == 2)
- writeTypedef("int", "int", 2);
- else if(sizeof(short) == 2)
- writeTypedef("int", "short", 2);
- else
- writeTypedefDefault("int",2);
-
- if(sizeof(size_t) == 2)
- writeTypedef("size_t", "size_t", 2);
- if(sizeof(hsize_t) == 2)
- writeTypedef("hsize_t", "hsize_t", 2);
+ if (sizeof(long long) == 2)
+ writeTypedef("int", "long long", 2);
+ else if (sizeof(long) == 2)
+ writeTypedef("int", "long", 2);
+ else if (sizeof(int) == 2)
+ writeTypedef("int", "int", 2);
+ else if (sizeof(short) == 2)
+ writeTypedef("int", "short", 2);
+ else
+ writeTypedefDefault("int", 2);
+
+ if (sizeof(size_t) == 2)
+ writeTypedef("size_t", "size_t", 2);
+ if (sizeof(hsize_t) == 2)
+ writeTypedef("hsize_t", "hsize_t", 2);
#endif /*H5_FORTRAN_HAS_INTEGER_2_KIND*/
#if defined H5_FORTRAN_HAS_INTEGER_4_KIND
- if(sizeof(long long) == 4)
- writeTypedef("int", "long long", 4);
- else if(sizeof(long) == 4)
- writeTypedef("int", "long", 4);
- else if(sizeof(int) == 4)
- writeTypedef("int", "int", 4);
- else if(sizeof(short) == 4)
- writeTypedef("int", "short", 4);
- else
- writeTypedefDefault("int",4);
-
- if(sizeof(size_t) == 4)
- writeTypedef("size_t", "size_t", 4);
- if(sizeof(hsize_t) == 4)
- writeTypedef("hsize_t", "hsize_t", 4);
-
+ if (sizeof(long long) == 4)
+ writeTypedef("int", "long long", 4);
+ else if (sizeof(long) == 4)
+ writeTypedef("int", "long", 4);
+ else if (sizeof(int) == 4)
+ writeTypedef("int", "int", 4);
+ else if (sizeof(short) == 4)
+ writeTypedef("int", "short", 4);
+ else
+ writeTypedefDefault("int", 4);
+
+ if (sizeof(size_t) == 4)
+ writeTypedef("size_t", "size_t", 4);
+ if (sizeof(hsize_t) == 4)
+ writeTypedef("hsize_t", "hsize_t", 4);
+
#endif /*H5_FORTRAN_HAS_INTEGER_4_KIND*/
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND
- if(sizeof(long long) == 8)
- writeTypedef("int", "long long", 8);
- else if(sizeof(long) == 8)
- writeTypedef("int", "long", 8);
- else if(sizeof(int) == 8)
- writeTypedef("int", "int", 8);
- else if(sizeof(short) == 8)
- writeTypedef("int", "short", 8);
- else
- writeTypedefDefault("int",8);
-
- if(sizeof(size_t) == 8)
- writeTypedef("size_t", "size_t", 8);
- if(sizeof(hsize_t) == 8)
- writeTypedef("hsize_t", "hsize_t", 8);
+ if (sizeof(long long) == 8)
+ writeTypedef("int", "long long", 8);
+ else if (sizeof(long) == 8)
+ writeTypedef("int", "long", 8);
+ else if (sizeof(int) == 8)
+ writeTypedef("int", "int", 8);
+ else if (sizeof(short) == 8)
+ writeTypedef("int", "short", 8);
+ else
+ writeTypedefDefault("int", 8);
+
+ if (sizeof(size_t) == 8)
+ writeTypedef("size_t", "size_t", 8);
+ if (sizeof(hsize_t) == 8)
+ writeTypedef("hsize_t", "hsize_t", 8);
#endif /*H5_FORTRAN_HAS_INTEGER_8_KIND*/
- /* Define c_float_x */
+ /* Define c_float_x */
#if defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND || defined H5_FORTRAN_HAS_REAL_4_KIND
- if(sizeof(long double) == 4)
- writeTypedef("float", "long double", 4);
- else if(sizeof(double) == 4)
- writeTypedef("float", "double", 4);
- else if(sizeof(float) == 4)
- writeTypedef("float", "float", 4);
- else
- { printf("Fortran REAL is 4 bytes, no corresponding C floating type\n");
- printf("Quitting....\n");
- return -1;
- }
+ if (sizeof(long double) == 4)
+ writeTypedef("float", "long double", 4);
+ else if (sizeof(double) == 4)
+ writeTypedef("float", "double", 4);
+ else if (sizeof(float) == 4)
+ writeTypedef("float", "float", 4);
+ else {
+ printf("Fortran REAL is 4 bytes, no corresponding C floating type\n");
+ printf("Quitting....\n");
+ return -1;
+ }
#endif /*H5_FORTRAN_HAS_REAL_NATIVE_4_KIND*/
#if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND || defined H5_FORTRAN_HAS_REAL_8_KIND
- if(sizeof(long double) == 8)
- writeTypedef("float", "long double", 8);
- else if(sizeof(double) == 8)
- writeTypedef("float", "double", 8);
- else if(sizeof(float) == 8)
- writeTypedef("float", "float", 8);
- else
- { printf("Fortran REAL is 16 bytes, no corresponding C floating type\n");
- printf("Quitting....\n");
- return -1;
- }
+ if (sizeof(long double) == 8)
+ writeTypedef("float", "long double", 8);
+ else if (sizeof(double) == 8)
+ writeTypedef("float", "double", 8);
+ else if (sizeof(float) == 8)
+ writeTypedef("float", "float", 8);
+ else {
+ printf("Fortran REAL is 16 bytes, no corresponding C floating type\n");
+ printf("Quitting....\n");
+ return -1;
+ }
#endif /*H5_FORTRAN_HAS_REAL_NATIVE_8_KIND*/
#if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND || defined H5_FORTRAN_HAS_REAL_16_KIND
- if(sizeof(long double) == 16)
- writeTypedef("float", "long double", 16);
- else if(sizeof(double) == 16)
- writeTypedef("float", "double", 16);
- else if(sizeof(float) == 16)
- writeTypedef("float", "float", 16);
- else /*C has no 16 byte float so disable it in Fortran*/
- { printf("warning: Fortran REAL is 16 bytes, no corresponding C floating type\n");
- printf(" Disabling Fortran 16 byte REALs\n");
- H5_C_HAS_REAL_NATIVE_16 = 0;
- }
+ if (sizeof(long double) == 16)
+ writeTypedef("float", "long double", 16);
+ else if (sizeof(double) == 16)
+ writeTypedef("float", "double", 16);
+ else if (sizeof(float) == 16)
+ writeTypedef("float", "float", 16);
+ else /*C has no 16 byte float so disable it in Fortran*/
+ {
+ printf("warning: Fortran REAL is 16 bytes, no corresponding C floating type\n");
+ printf(" Disabling Fortran 16 byte REALs\n");
+ H5_C_HAS_REAL_NATIVE_16 = 0;
+ }
#endif /*H5_FORTRAN_HAS_REAL_NATIVE_16_KIND*/
- /* Now begin defining fortran types. */
- fprintf(c_header, "\n");
- /* haddr_t */
+ /* Now begin defining fortran types. */
+ fprintf(c_header, "\n");
+ /* haddr_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HADDR_T >= 8
- writeToFiles("int","HADDR_T", "haddr_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("int", "HADDR_T", "haddr_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HADDR_T >= 4
- writeToFiles("int","HADDR_T", "haddr_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("int", "HADDR_T", "haddr_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HADDR_T >= 2
- writeToFiles("int","HADDR_T", "haddr_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("int", "HADDR_T", "haddr_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HADDR_T >= 1
- writeToFiles("int","HADDR_T", "haddr_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("int", "HADDR_T", "haddr_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#else
/* Error: couldn't find a size for haddr_t */
return -1;
#endif
- /* hsize_t */
+ /* hsize_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSIZE_T >= 8
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("hsize_t", "HSIZE_T", "hsize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSIZE_T >= 4
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("hsize_t", "HSIZE_T", "hsize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSIZE_T >= 2
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("hsize_t", "HSIZE_T", "hsize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSIZE_T >= 1
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("hsize_t", "HSIZE_T", "hsize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#else
/* Error: couldn't find a size for hsize_t */
return -1;
#endif
- /* hssize_t */
+ /* hssize_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSSIZE_T >= 8
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("int", "HSSIZE_T", "hssize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSSIZE_T >= 4
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("int", "HSSIZE_T", "hssize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSSIZE_T >= 2
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("int", "HSSIZE_T", "hssize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSSIZE_T >= 1
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("int", "HSSIZE_T", "hssize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#else
/* Error: couldn't find a size for hssize_t */
return -1;
#endif
- /* off_t */
+ /* off_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_OFF_T >= 8
- writeToFiles("int","OFF_T", "off_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("int", "OFF_T", "off_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_OFF_T >= 4
- writeToFiles("int","OFF_T", "off_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("int", "OFF_T", "off_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_OFF_T >= 2
- writeToFiles("int","OFF_T", "off_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("int", "OFF_T", "off_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_OFF_T >= 1
- writeToFiles("int","OFF_T", "off_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("int", "OFF_T", "off_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#else
/* Error: couldn't find a size for off_t */
return -1;
#endif
- /* size_t */
+ /* size_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_SIZE_T >= 8
- writeToFiles("size_t","SIZE_T", "size_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("size_t", "SIZE_T", "size_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_SIZE_T >= 4
- writeToFiles("size_t","SIZE_T", "size_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("size_t", "SIZE_T", "size_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_SIZE_T >= 2
- writeToFiles("size_t","SIZE_T", "size_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("size_t", "SIZE_T", "size_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_SIZE_T >= 1
- writeToFiles("size_t","SIZE_T", "size_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("size_t", "SIZE_T", "size_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#else
/* Error: couldn't find a size for size_t */
return -1;
#endif
- /* int */
+ /* int */
#if defined H5_FORTRAN_HAS_NATIVE_8_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 8, H5_FORTRAN_HAS_NATIVE_8_KIND);
+ writeToFiles("int", "Fortran_INTEGER", "int_f", 8, H5_FORTRAN_HAS_NATIVE_8_KIND);
#elif defined H5_FORTRAN_HAS_NATIVE_4_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 4, H5_FORTRAN_HAS_NATIVE_4_KIND);
+ writeToFiles("int", "Fortran_INTEGER", "int_f", 4, H5_FORTRAN_HAS_NATIVE_4_KIND);
#elif defined H5_FORTRAN_HAS_NATIVE_2_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 2, H5_FORTRAN_HAS_NATIVE_2_KIND);
+ writeToFiles("int", "Fortran_INTEGER", "int_f", 2, H5_FORTRAN_HAS_NATIVE_2_KIND);
#elif defined H5_FORTRAN_HAS_NATIVE_1_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 1, H5_FORTRAN_HAS_NATIVE_1_KIND);
+ writeToFiles("int", "Fortran_INTEGER", "int_f", 1, H5_FORTRAN_HAS_NATIVE_1_KIND);
#else
/* Error: couldn't find a size for int */
return -1;
#endif
- /* int_1, int_2, int_4, int_8 */
+ /* int_1, int_2, int_4, int_8 */
-/* Defined different KINDs of integers: */
-/* if the integer kind is not available then we assign */
-/* it a value of the next larger one, but if the next */
-/* higher one is not available we assigned it the next lowest */
+ /* Defined different KINDs of integers: */
+ /* if the integer kind is not available then we assign */
+ /* it a value of the next larger one, but if the next */
+ /* higher one is not available we assigned it the next lowest */
FoundIntSize[0] = -1;
FoundIntSize[1] = -2;
@@ -374,159 +378,159 @@ int main(void)
FoundIntSize[3] = -8;
#if defined H5_FORTRAN_HAS_INTEGER_1_KIND
- FoundIntSize[0] = 1;
+ FoundIntSize[0] = 1;
FoundIntSizeKind[0] = H5_FORTRAN_HAS_INTEGER_1_KIND;
#endif
#if defined H5_FORTRAN_HAS_INTEGER_2_KIND
- FoundIntSize[1] = 2;
+ FoundIntSize[1] = 2;
FoundIntSizeKind[1] = H5_FORTRAN_HAS_INTEGER_2_KIND;
#endif
#if defined H5_FORTRAN_HAS_INTEGER_4_KIND
- FoundIntSize[2] = 4;
+ FoundIntSize[2] = 4;
FoundIntSizeKind[2] = H5_FORTRAN_HAS_INTEGER_4_KIND;
#endif
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND
- FoundIntSize[3] = 8;
- FoundIntSizeKind[3] = H5_FORTRAN_HAS_INTEGER_8_KIND ;
+ FoundIntSize[3] = 8;
+ FoundIntSizeKind[3] = H5_FORTRAN_HAS_INTEGER_8_KIND;
#endif
- for(i=0;i<4;i++) {
- if( FoundIntSize[i] > 0) /* Found the integer type */
- {
- sprintf(chrA, "Fortran_INTEGER_%d", FoundIntSize[i]);
- sprintf(chrB, "int_%d_f", FoundIntSize[i]);
- writeToFiles("int",chrA, chrB, FoundIntSize[i], FoundIntSizeKind[i]);
- }
- else /* Did not find the integer type */
- {
- flag = 0; /* flag indicating if found the next highest */
- for(j=i+1;j<4;j++) /* search for next highest */
- {
- if( FoundIntSize[j] > 0) /* Found the next highest */
- {
- sprintf(chrA, "Fortran_INTEGER_%d", (-1)*FoundIntSize[i]);
- sprintf(chrB, "int_%d_f", (-1)*FoundIntSize[i]);
- writeToFiles("int",chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]);
- flag = 1;
- break;
- }
- }
- if(flag == 0) /* No higher one found, so find next lowest */
- {
- for(j=2;j>-1;j--) /* Search for next lowest */
- {
- if( FoundIntSize[j] > 0) /* Found the next lowest */
- {
- sprintf(chrA, "Fortran_INTEGER_%d", (-1)*FoundIntSize[i]);
- sprintf(chrB, "int_%d_f", (-1)*FoundIntSize[i]);
- writeToFiles("int",chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]);
- flag = 1;
- break;
- }
- }
- }
- if(flag == 0) /* No higher or lower one found, indicating an error */
- return -1;
- }
+ for (i = 0; i < 4; i++) {
+ if (FoundIntSize[i] > 0) /* Found the integer type */
+ {
+ sprintf(chrA, "Fortran_INTEGER_%d", FoundIntSize[i]);
+ sprintf(chrB, "int_%d_f", FoundIntSize[i]);
+ writeToFiles("int", chrA, chrB, FoundIntSize[i], FoundIntSizeKind[i]);
+ }
+ else /* Did not find the integer type */
+ {
+ flag = 0; /* flag indicating if found the next highest */
+ for (j = i + 1; j < 4; j++) /* search for next highest */
+ {
+ if (FoundIntSize[j] > 0) /* Found the next highest */
+ {
+ sprintf(chrA, "Fortran_INTEGER_%d", (-1) * FoundIntSize[i]);
+ sprintf(chrB, "int_%d_f", (-1) * FoundIntSize[i]);
+ writeToFiles("int", chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]);
+ flag = 1;
+ break;
+ }
+ }
+ if (flag == 0) /* No higher one found, so find next lowest */
+ {
+ for (j = 2; j > -1; j--) /* Search for next lowest */
+ {
+ if (FoundIntSize[j] > 0) /* Found the next lowest */
+ {
+ sprintf(chrA, "Fortran_INTEGER_%d", (-1) * FoundIntSize[i]);
+ sprintf(chrB, "int_%d_f", (-1) * FoundIntSize[i]);
+ writeToFiles("int", chrA, chrB, FoundIntSize[j], FoundIntSizeKind[j]);
+ flag = 1;
+ break;
+ }
+ }
+ }
+ if (flag == 0) /* No higher or lower one found, indicating an error */
+ return -1;
+ }
}
- /* real_4, real_8, real_16 */
+ /* real_4, real_8, real_16 */
-/* Defined different KINDs of reals: */
-/* if the REAL kind is not available then we assign */
-/* it a value of the next larger one, but if the next */
-/* higher one is not available we assigned it the next lowest */
+ /* Defined different KINDs of reals: */
+ /* if the REAL kind is not available then we assign */
+ /* it a value of the next larger one, but if the next */
+ /* higher one is not available we assigned it the next lowest */
FoundRealSize[0] = -4;
FoundRealSize[1] = -8;
FoundRealSize[2] = -16;
#if defined H5_FORTRAN_HAS_REAL_4_KIND
- FoundRealSize[0] = 4;
+ FoundRealSize[0] = 4;
FoundRealSizeKind[0] = H5_FORTRAN_HAS_REAL_4_KIND;
#endif
#if defined H5_FORTRAN_HAS_REAL_8_KIND
- FoundRealSize[1] = 8;
+ FoundRealSize[1] = 8;
FoundRealSizeKind[1] = H5_FORTRAN_HAS_REAL_8_KIND;
#endif
#if defined H5_FORTRAN_HAS_REAL_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) {
- FoundRealSize[2] = 16;
- FoundRealSizeKind[2] = H5_FORTRAN_HAS_REAL_16_KIND;
+ if (H5_C_HAS_REAL_NATIVE_16 != 0) {
+ FoundRealSize[2] = 16;
+ FoundRealSizeKind[2] = H5_FORTRAN_HAS_REAL_16_KIND;
}
#endif
- for(i=0;i<3;i++) {
- if( FoundRealSize[i] > 0) /* Found the real type */
- {
- sprintf(chrA, "Fortran_REAL_%d", FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", FoundRealSize[i]);
- writeToFiles("float",chrA, chrB, FoundRealSize[i], FoundRealSizeKind[i]);
- }
- else /* Did not find the real type */
- {
- flag = 0; /* flag indicating if found the next highest */
- for(j=i+1;j<3;j++) /* search for next highest */
- {
- if( FoundRealSize[j] > 0) /* Found the next highest */
- {
- sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]);
- if(FoundRealSize[j]>4) {
- writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
- flag = 1;
- }
- /* else { */
-/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
-/* } */
- flag = 1;
- break;
- }
- }
- if(flag == 0) /* No higher one found, so find next lowest */
- {
- for(j=1;j>-1;j--) /* Search for next lowest */
- {
- if( FoundRealSize[j] > 0) /* Found the next lowest */
- {
- sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]);
- if(FoundRealSize[j]>4)
- writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
- /* else { */
-/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
-/* } */
- flag = 1;
- break;
- }
- }
- }
- if(flag == 0) /* No higher or lower one found, indicating an error */
- return -1;
- }
+ for (i = 0; i < 3; i++) {
+ if (FoundRealSize[i] > 0) /* Found the real type */
+ {
+ sprintf(chrA, "Fortran_REAL_%d", FoundRealSize[i]);
+ sprintf(chrB, "real_%d_f", FoundRealSize[i]);
+ writeToFiles("float", chrA, chrB, FoundRealSize[i], FoundRealSizeKind[i]);
+ }
+ else /* Did not find the real type */
+ {
+ flag = 0; /* flag indicating if found the next highest */
+ for (j = i + 1; j < 3; j++) /* search for next highest */
+ {
+ if (FoundRealSize[j] > 0) /* Found the next highest */
+ {
+ sprintf(chrA, "Fortran_REAL_%d", (-1) * FoundRealSize[i]);
+ sprintf(chrB, "real_%d_f", (-1) * FoundRealSize[i]);
+ if (FoundRealSize[j] > 4) {
+ writeToFiles("float", chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
+ flag = 1;
+ }
+ /* else { */
+ /* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
+ /* } */
+ flag = 1;
+ break;
+ }
+ }
+ if (flag == 0) /* No higher one found, so find next lowest */
+ {
+ for (j = 1; j > -1; j--) /* Search for next lowest */
+ {
+ if (FoundRealSize[j] > 0) /* Found the next lowest */
+ {
+ sprintf(chrA, "Fortran_REAL_%d", (-1) * FoundRealSize[i]);
+ sprintf(chrB, "real_%d_f", (-1) * FoundRealSize[i]);
+ if (FoundRealSize[j] > 4)
+ writeToFiles("float", chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
+ /* else { */
+ /* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
+ /* } */
+ flag = 1;
+ break;
+ }
+ }
+ }
+ if (flag == 0) /* No higher or lower one found, indicating an error */
+ return -1;
+ }
}
- /* hid_t */
+ /* hid_t */
#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 8
- writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("int", "HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HID_T >= 4
- writeToFiles("int","HID_T", "hid_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
+ writeToFiles("int", "HID_T", "hid_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HID_T >= 2
- writeToFiles("int","HID_T", "hid_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
+ writeToFiles("int", "HID_T", "hid_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HID_T >= 1
- writeToFiles("int","HID_T", "hid_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
+ writeToFiles("int", "HID_T", "hid_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
#elif defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 4
- writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
+ writeToFiles("int", "HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
#else
/* Error: couldn't find a size for hid_t */
return -1;
#endif
- /* real_f */
+ /* real_f */
#if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) {
- writeToFiles("float","Fortran_REAL", "real_f", 16, H5_FORTRAN_HAS_REAL_NATIVE_16_KIND);
+ if (H5_C_HAS_REAL_NATIVE_16 != 0) {
+ writeToFiles("float", "Fortran_REAL", "real_f", 16, H5_FORTRAN_HAS_REAL_NATIVE_16_KIND);
}
#elif defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND
writeToFiles("float", "Fortran_REAL", "real_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND);
@@ -537,20 +541,21 @@ int main(void)
return -1;
#endif
- /* double_f */
+ /* double_f */
#if defined H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) { /* Check if C has 16 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 16, H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND);
- } else {
+ if (H5_C_HAS_REAL_NATIVE_16 != 0) { /* Check if C has 16 byte floats */
+ writeToFiles("float", "Fortran_DOUBLE", "double_f", 16, H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND);
+ }
+ else {
#if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND /* Fall back to 8 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND);
+ writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND);
}
-#elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND /* Fall back to 4 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND);
+#elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND /* Fall back to 4 byte floats */
+ writeToFiles("float", "Fortran_DOUBLE", "double_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND);
}
#else
- /* Error: couldn't find a size for double_f when fortran has 16 byte reals */
- return -1;
+ /* Error: couldn't find a size for double_f when fortran has 16 byte reals */
+ return -1;
}
#endif
@@ -561,19 +566,18 @@ int main(void)
return -1;
#endif
- /* Need the buffer size for the fortran derive type 'hdset_reg_ref_t_f03'
- * in order to be interoperable with C's structure, the C buffer size
- * H5R_DSET_REG_REF_BUF_SIZE is (sizeof(haddr_t)+4)
- */
-
- fprintf(fort_header, " INTEGER, PARAMETER :: H5R_DSET_REG_REF_BUF_SIZE_F = %u\n", H5_SIZEOF_HADDR_T + 4 );
+ /* Need the buffer size for the fortran derive type 'hdset_reg_ref_t_f03'
+ * in order to be interoperable with C's structure, the C buffer size
+ * H5R_DSET_REG_REF_BUF_SIZE is (sizeof(haddr_t)+4)
+ */
+ fprintf(fort_header, " INTEGER, PARAMETER :: H5R_DSET_REG_REF_BUF_SIZE_F = %u\n",
+ H5_SIZEOF_HADDR_T + 4);
- /* Close files */
- endCfile();
- endFfile();
- fclose(c_header);
- fclose(fort_header);
- return 0;
+ /* Close files */
+ endCfile();
+ endFfile();
+ fclose(c_header);
+ fclose(fort_header);
+ return 0;
}
-