1
2 #include "H5Part.h"
3 #include "H5PartPrivate.h"
4 #include "H5Block.h"
5 #include "H5BlockReadWrite.h"
6 #include "Underscore.h"
7
8 #if defined(F77_SINGLE_UNDERSCORE)
9 #define F77NAME(a,b) a
10 #elif defined(F77_CRAY_UNDERSCORE)
11 #define F77NAME(a,b) b
12 #elif defined(F77_NO_UNDERSCORE)
13 #else
14 #error Error, no way to determine how to construct fortran bindings
15 #endif
16
17 #if ! defined(F77_NO_UNDERSCORE)
18 #define h5bl_3d_write_scalar_field_r8 F77NAME ( \
19 h5bl_3d_write_scalar_field_r8_, \
20 H5BL_3D_WRITE_SCALAR_FIELD_R8 )
21 #endif
22
23 h5part_int64_t
h5bl_3d_write_scalar_field_r8(h5part_int64_t * f,const char * field_name,const h5part_float64_t * data,const int l_field_name)24 h5bl_3d_write_scalar_field_r8 (
25 h5part_int64_t *f,
26 const char *field_name,
27 const h5part_float64_t *data,
28 const int l_field_name
29 ) {
30
31 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
32
33 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
34
35 h5part_int64_t herr = H5Block3dWriteScalarFieldFloat64 (
36 filehandle, field_name2, data );
37
38 free ( field_name2 );
39 return herr;
40 }
41
42 #if ! defined(F77_NO_UNDERSCORE)
43 #define h5bl_3d_read_scalar_field_r8 F77NAME ( \
44 h5bl_3d_read_scalar_field_r8_, \
45 H5BL_3D_READ_SCALAR_FIELD_R8 )
46 #endif
47
48 h5part_int64_t
h5bl_3d_read_scalar_field_r8(h5part_int64_t * f,const char * field_name,h5part_float64_t * data,const int l_field_name)49 h5bl_3d_read_scalar_field_r8 (
50 h5part_int64_t *f,
51 const char *field_name,
52 h5part_float64_t *data,
53 const int l_field_name
54 ) {
55
56 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
57
58 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
59
60 h5part_int64_t herr = H5Block3dReadScalarFieldFloat64 (
61 filehandle, field_name2, data );
62
63 free ( field_name2 );
64 return herr;
65 }
66
67 #if ! defined(F77_NO_UNDERSCORE)
68 #define h5bl_3d_write_3dvector_field_r8 F77NAME ( \
69 h5bl_3d_write_3dvector_field_r8_, \
70 H5BL_3D_WRITE_3DVECTOR_FIELD_R8 )
71 #endif
72
73 h5part_int64_t
h5bl_3d_write_3dvector_field_r8(h5part_int64_t * f,const char * field_name,const h5part_float64_t * xval,const h5part_float64_t * yval,const h5part_float64_t * zval,const int l_field_name)74 h5bl_3d_write_3dvector_field_r8 (
75 h5part_int64_t *f, /*!< file handle */
76 const char *field_name, /*!< name of the data set */
77 const h5part_float64_t *xval, /*!< array of x component data */
78 const h5part_float64_t *yval, /*!< array of y component data */
79 const h5part_float64_t *zval, /*!< array of z component data */
80 const int l_field_name
81 ) {
82
83 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
84
85 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
86
87 h5part_int64_t herr = H5Block3dWrite3dVectorFieldFloat64 (
88 filehandle, field_name2, xval, yval, zval );
89
90 free ( field_name2 );
91 return herr;
92 }
93
94 #if ! defined(F77_NO_UNDERSCORE)
95 #define h5bl_3d_read_3dvector_field_r8 F77NAME ( \
96 h5bl_3d_read_3dvector_field_r8_, \
97 H5BL_3D_READ_3DVECTOR_FIELD_R8 )
98 #endif
99
100 h5part_int64_t
h5bl_3d_read_3dvector_field_r8(h5part_int64_t * f,const char * field_name,h5part_float64_t * xval,h5part_float64_t * yval,h5part_float64_t * zval,const int l_field_name)101 h5bl_3d_read_3dvector_field_r8 (
102 h5part_int64_t *f, /*!< file handle */
103 const char *field_name, /*!< name of the data set */
104 h5part_float64_t *xval, /*!< array of x component data */
105 h5part_float64_t *yval, /*!< array of y component data */
106 h5part_float64_t *zval, /*!< array of z component data */
107 const int l_field_name
108 ) {
109
110 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
111
112 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
113
114 h5part_int64_t herr = H5Block3dRead3dVectorFieldFloat64 (
115 filehandle, field_name2, xval, yval, zval );
116
117 free ( field_name2 );
118 return herr;
119 }
120
121 #if ! defined(F77_NO_UNDERSCORE)
122 #define h5bl_3d_write_scalar_field_r4 F77NAME ( \
123 h5bl_3d_write_scalar_field_r4_, \
124 H5BL_3D_WRITE_SCALAR_FIELD_R4 )
125 #endif
126
127 h5part_int64_t
h5bl_3d_write_scalar_field_r4(h5part_int64_t * f,const char * field_name,const h5part_float32_t * data,const int l_field_name)128 h5bl_3d_write_scalar_field_r4 (
129 h5part_int64_t *f,
130 const char *field_name,
131 const h5part_float32_t *data,
132 const int l_field_name
133 ) {
134
135 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
136
137 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
138
139 h5part_int64_t herr = H5Block3dWriteScalarFieldFloat32 (
140 filehandle, field_name2, data );
141
142 free ( field_name2 );
143 return herr;
144 }
145
146 #if ! defined(F77_NO_UNDERSCORE)
147 #define h5bl_3d_read_scalar_field_r4 F77NAME ( \
148 h5bl_3d_read_scalar_field_r4_, \
149 H5BL_3D_READ_SCALAR_FIELD_R4 )
150 #endif
151
152 h5part_int64_t
h5bl_3d_read_scalar_field_r4(h5part_int64_t * f,const char * field_name,h5part_float32_t * data,const int l_field_name)153 h5bl_3d_read_scalar_field_r4 (
154 h5part_int64_t *f,
155 const char *field_name,
156 h5part_float32_t *data,
157 const int l_field_name
158 ) {
159
160 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
161
162 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
163
164 h5part_int64_t herr = H5Block3dReadScalarFieldFloat32 (
165 filehandle, field_name2, data );
166
167 free ( field_name2 );
168 return herr;
169 }
170
171 #if ! defined(F77_NO_UNDERSCORE)
172 #define h5bl_3d_write_3dvector_field_r4 F77NAME ( \
173 h5bl_3d_write_3dvector_field_r4_, \
174 H5BL_3D_WRITE_3DVECTOR_FIELD_R4 )
175 #endif
176
177 h5part_int64_t
h5bl_3d_write_3dvector_field_r4(h5part_int64_t * f,const char * field_name,const h5part_float32_t * xval,const h5part_float32_t * yval,const h5part_float32_t * zval,const int l_field_name)178 h5bl_3d_write_3dvector_field_r4 (
179 h5part_int64_t *f, /*!< file handle */
180 const char *field_name, /*!< name of the data set */
181 const h5part_float32_t *xval, /*!< array of x component data */
182 const h5part_float32_t *yval, /*!< array of y component data */
183 const h5part_float32_t *zval, /*!< array of z component data */
184 const int l_field_name
185 ) {
186
187 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
188
189 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
190
191 h5part_int64_t herr = H5Block3dWrite3dVectorFieldFloat32 (
192 filehandle, field_name2, xval, yval, zval );
193
194 free ( field_name2 );
195 return herr;
196 }
197
198 #if ! defined(F77_NO_UNDERSCORE)
199 #define h5bl_3d_read_3dvector_field_r4 F77NAME ( \
200 h5bl_3d_read_3dvector_field_r4_, \
201 H5BL_3D_READ_3DVECTOR_FIELD_R4 )
202 #endif
203
204 h5part_int64_t
h5bl_3d_read_3dvector_field_r4(h5part_int64_t * f,const char * field_name,h5part_float32_t * xval,h5part_float32_t * yval,h5part_float32_t * zval,const int l_field_name)205 h5bl_3d_read_3dvector_field_r4 (
206 h5part_int64_t *f, /*!< file handle */
207 const char *field_name, /*!< name of the data set */
208 h5part_float32_t *xval, /*!< array of x component data */
209 h5part_float32_t *yval, /*!< array of y component data */
210 h5part_float32_t *zval, /*!< array of z component data */
211 const int l_field_name
212 ) {
213
214 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
215
216 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
217
218 h5part_int64_t herr = H5Block3dRead3dVectorFieldFloat32 (
219 filehandle, field_name2, xval, yval, zval );
220
221 free ( field_name2 );
222 return herr;
223 }
224
225 #if ! defined(F77_NO_UNDERSCORE)
226 #define h5bl_3d_write_scalar_field_i8 F77NAME ( \
227 h5bl_3d_write_scalar_field_i8_, \
228 H5BL_3D_WRITE_SCALAR_FIELD_I8 )
229 #endif
230
231 h5part_int64_t
h5bl_3d_write_scalar_field_i8(h5part_int64_t * f,const char * field_name,const h5part_int64_t * data,const int l_field_name)232 h5bl_3d_write_scalar_field_i8 (
233 h5part_int64_t *f,
234 const char *field_name,
235 const h5part_int64_t *data,
236 const int l_field_name
237 ) {
238
239 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
240
241 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
242
243 h5part_int64_t herr = H5Block3dWriteScalarFieldInt64 (
244 filehandle, field_name2, data );
245
246 free ( field_name2 );
247 return herr;
248 }
249
250 #if ! defined(F77_NO_UNDERSCORE)
251 #define h5bl_3d_read_scalar_field_i8 F77NAME ( \
252 h5bl_3d_read_scalar_field_i8_, \
253 H5BL_3D_READ_SCALAR_FIELD_I8 )
254 #endif
255
256 h5part_int64_t
h5bl_3d_read_scalar_field_i8(h5part_int64_t * f,const char * field_name,h5part_int64_t * data,const int l_field_name)257 h5bl_3d_read_scalar_field_i8 (
258 h5part_int64_t *f,
259 const char *field_name,
260 h5part_int64_t *data,
261 const int l_field_name
262 ) {
263
264 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
265
266 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
267
268 h5part_int64_t herr = H5Block3dReadScalarFieldInt64 (
269 filehandle, field_name2, data );
270
271 free ( field_name2 );
272 return herr;
273 }
274
275 #if ! defined(F77_NO_UNDERSCORE)
276 #define h5bl_3d_write_3dvector_field_i8 F77NAME ( \
277 h5bl_3d_write_3dvector_field_i8_, \
278 H5BL_3D_WRITE_3DVECTOR_FIELD_I8 )
279 #endif
280
281 h5part_int64_t
h5bl_3d_write_3dvector_field_i8(h5part_int64_t * f,const char * field_name,const h5part_int64_t * xval,const h5part_int64_t * yval,const h5part_int64_t * zval,const int l_field_name)282 h5bl_3d_write_3dvector_field_i8 (
283 h5part_int64_t *f, /*!< file handle */
284 const char *field_name, /*!< name of the data set */
285 const h5part_int64_t *xval, /*!< array of x component data */
286 const h5part_int64_t *yval, /*!< array of y component data */
287 const h5part_int64_t *zval, /*!< array of z component data */
288 const int l_field_name
289 ) {
290
291 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
292
293 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
294
295 h5part_int64_t herr = H5Block3dWrite3dVectorFieldInt64 (
296 filehandle, field_name2, xval, yval, zval );
297
298 free ( field_name2 );
299 return herr;
300 }
301
302 #if ! defined(F77_NO_UNDERSCORE)
303 #define h5bl_3d_read_3dvector_field_i8 F77NAME ( \
304 h5bl_3d_read_3dvector_field_i8_, \
305 H5BL_3D_READ_3DVECTOR_FIELD_I8 )
306 #endif
307
308 h5part_int64_t
h5bl_3d_read_3dvector_field_i8(h5part_int64_t * f,const char * field_name,h5part_int64_t * xval,h5part_int64_t * yval,h5part_int64_t * zval,const int l_field_name)309 h5bl_3d_read_3dvector_field_i8 (
310 h5part_int64_t *f, /*!< file handle */
311 const char *field_name, /*!< name of the data set */
312 h5part_int64_t *xval, /*!< array of x component data */
313 h5part_int64_t *yval, /*!< array of y component data */
314 h5part_int64_t *zval, /*!< array of z component data */
315 const int l_field_name
316 ) {
317
318 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
319
320 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
321
322 h5part_int64_t herr = H5Block3dRead3dVectorFieldInt64 (
323 filehandle, field_name2, xval, yval, zval );
324
325 free ( field_name2 );
326 return herr;
327 }
328
329 #if ! defined(F77_NO_UNDERSCORE)
330 #define h5bl_3d_write_scalar_field_i4 F77NAME ( \
331 h5bl_3d_write_scalar_field_i4_, \
332 H5BL_3D_WRITE_SCALAR_FIELD_I4 )
333 #endif
334
335 h5part_int64_t
h5bl_3d_write_scalar_field_i4(h5part_int64_t * f,const char * field_name,const h5part_int32_t * data,const int l_field_name)336 h5bl_3d_write_scalar_field_i4 (
337 h5part_int64_t *f,
338 const char *field_name,
339 const h5part_int32_t *data,
340 const int l_field_name
341 ) {
342
343 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
344
345 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
346
347 h5part_int64_t herr = H5Block3dWriteScalarFieldInt32 (
348 filehandle, field_name2, data );
349
350 free ( field_name2 );
351 return herr;
352 }
353
354 #if ! defined(F77_NO_UNDERSCORE)
355 #define h5bl_3d_read_scalar_field_i4 F77NAME ( \
356 h5bl_3d_read_scalar_field_i4_, \
357 H5BL_3D_READ_SCALAR_FIELD_I4 )
358 #endif
359
360 h5part_int64_t
h5bl_3d_read_scalar_field_i4(h5part_int64_t * f,const char * field_name,h5part_int32_t * data,const int l_field_name)361 h5bl_3d_read_scalar_field_i4 (
362 h5part_int64_t *f,
363 const char *field_name,
364 h5part_int32_t *data,
365 const int l_field_name
366 ) {
367
368 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
369
370 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
371
372 h5part_int64_t herr = H5Block3dReadScalarFieldInt32 (
373 filehandle, field_name2, data );
374
375 free ( field_name2 );
376 return herr;
377 }
378
379 #if ! defined(F77_NO_UNDERSCORE)
380 #define h5bl_3d_write_3dvector_field_i4 F77NAME ( \
381 h5bl_3d_write_3dvector_field_i4_, \
382 H5BL_3D_WRITE_3DVECTOR_FIELD_I4 )
383 #endif
384
385 h5part_int64_t
h5bl_3d_write_3dvector_field_i4(h5part_int64_t * f,const char * field_name,const h5part_int32_t * xval,const h5part_int32_t * yval,const h5part_int32_t * zval,const int l_field_name)386 h5bl_3d_write_3dvector_field_i4 (
387 h5part_int64_t *f, /*!< file handle */
388 const char *field_name, /*!< name of the data set */
389 const h5part_int32_t *xval, /*!< array of x component data */
390 const h5part_int32_t *yval, /*!< array of y component data */
391 const h5part_int32_t *zval, /*!< array of z component data */
392 const int l_field_name
393 ) {
394
395 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
396
397 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
398
399 h5part_int64_t herr = H5Block3dWrite3dVectorFieldInt32 (
400 filehandle, field_name2, xval, yval, zval );
401
402 free ( field_name2 );
403 return herr;
404 }
405
406 #if ! defined(F77_NO_UNDERSCORE)
407 #define h5bl_3d_read_3dvector_field_i4 F77NAME ( \
408 h5bl_3d_read_3dvector_field_i4_, \
409 H5BL_3D_READ_3DVECTOR_FIELD_I4 )
410 #endif
411
412 h5part_int64_t
h5bl_3d_read_3dvector_field_i4(h5part_int64_t * f,const char * field_name,h5part_int32_t * xval,h5part_int32_t * yval,h5part_int32_t * zval,const int l_field_name)413 h5bl_3d_read_3dvector_field_i4 (
414 h5part_int64_t *f, /*!< file handle */
415 const char *field_name, /*!< name of the data set */
416 h5part_int32_t *xval, /*!< array of x component data */
417 h5part_int32_t *yval, /*!< array of y component data */
418 h5part_int32_t *zval, /*!< array of z component data */
419 const int l_field_name
420 ) {
421
422 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
423
424 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
425
426 h5part_int64_t herr = H5Block3dRead3dVectorFieldInt32 (
427 filehandle, field_name2, xval, yval, zval );
428
429 free ( field_name2 );
430 return herr;
431 }
432
433 #if ! defined(F77_NO_UNDERSCORE)
434 #define h5bl_writefieldattrib_r8 F77NAME ( \
435 h5bl_writefieldattrib_r8_, \
436 H5BL_WRITEFIELDATTRIB_R8 )
437 #endif
438
439 h5part_int64_t
h5bl_writefieldattrib_r8(h5part_int64_t * f,const char * field_name,const char * attrib_name,const h5part_float64_t * attrib_value,const h5part_int64_t * attrib_nelem,const int l_field_name,const int l_attrib_name)440 h5bl_writefieldattrib_r8 (
441 h5part_int64_t *f,
442 const char *field_name,
443 const char *attrib_name,
444 const h5part_float64_t *attrib_value,
445 const h5part_int64_t *attrib_nelem,
446 const int l_field_name,
447 const int l_attrib_name
448 ) {
449
450 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
451
452 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
453 char *attrib_name2 =_H5Part_strdupfor2c ( attrib_name, l_attrib_name );
454
455 h5part_int64_t herr = H5BlockWriteFieldAttribFloat64 (
456 filehandle, field_name2, attrib_name2,
457 attrib_value, *attrib_nelem );
458
459 free ( field_name2 );
460 free ( attrib_name2 );
461 return herr;
462 }
463
464 #if ! defined(F77_NO_UNDERSCORE)
465 #define h5bl_writefieldattrib_r4 F77NAME ( \
466 h5bl_writefieldattrib_r4_, \
467 H5BL_WRITEFIELDATTRIB_R4 )
468 #endif
469
470 h5part_int64_t
h5bl_writefieldattrib_r4(h5part_int64_t * f,const char * field_name,const char * attrib_name,const h5part_float32_t * attrib_value,const h5part_int64_t * attrib_nelem,const int l_field_name,const int l_attrib_name)471 h5bl_writefieldattrib_r4 (
472 h5part_int64_t *f,
473 const char *field_name,
474 const char *attrib_name,
475 const h5part_float32_t *attrib_value,
476 const h5part_int64_t *attrib_nelem,
477 const int l_field_name,
478 const int l_attrib_name
479 ) {
480
481 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
482
483 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
484 char *attrib_name2 =_H5Part_strdupfor2c ( attrib_name, l_attrib_name );
485
486 h5part_int64_t herr = H5BlockWriteFieldAttribFloat32 (
487 filehandle, field_name2, attrib_name2,
488 attrib_value, *attrib_nelem );
489
490 free ( field_name2 );
491 free ( attrib_name2 );
492 return herr;
493 }
494
495 #if ! defined(F77_NO_UNDERSCORE)
496 #define h5bl_writefieldattrib_i8 F77NAME ( \
497 h5bl_writefieldattrib_i8_, \
498 H5BL_WRITEFIELDATTRIB_I8 )
499 #endif
500
501 h5part_int64_t
h5bl_writefieldattrib_i8(h5part_int64_t * f,const char * field_name,const char * attrib_name,const h5part_int64_t * attrib_value,const h5part_int64_t * attrib_nelem,const int l_field_name,const int l_attrib_name)502 h5bl_writefieldattrib_i8 (
503 h5part_int64_t *f,
504 const char *field_name,
505 const char *attrib_name,
506 const h5part_int64_t *attrib_value,
507 const h5part_int64_t *attrib_nelem,
508 const int l_field_name,
509 const int l_attrib_name
510 ) {
511
512 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
513
514 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
515 char *attrib_name2 =_H5Part_strdupfor2c ( attrib_name, l_attrib_name );
516
517 h5part_int64_t herr = H5BlockWriteFieldAttribInt64 (
518 filehandle, field_name2, attrib_name2,
519 attrib_value, *attrib_nelem );
520
521 free ( field_name2 );
522 free ( attrib_name2 );
523 return herr;
524 }
525
526 #if ! defined(F77_NO_UNDERSCORE)
527 #define h5bl_writefieldattrib_i4 F77NAME ( \
528 h5bl_writefieldattrib_i4_, \
529 H5BL_WRITEFIELDATTRIB_I4 )
530 #endif
531
532 h5part_int64_t
h5bl_writefieldattrib_i4(h5part_int64_t * f,const char * field_name,const char * attrib_name,const h5part_int32_t * attrib_value,const h5part_int64_t * attrib_nelem,const int l_field_name,const int l_attrib_name)533 h5bl_writefieldattrib_i4 (
534 h5part_int64_t *f,
535 const char *field_name,
536 const char *attrib_name,
537 const h5part_int32_t *attrib_value,
538 const h5part_int64_t *attrib_nelem,
539 const int l_field_name,
540 const int l_attrib_name
541 ) {
542
543 H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
544
545 char *field_name2 = _H5Part_strdupfor2c ( field_name, l_field_name );
546 char *attrib_name2 =_H5Part_strdupfor2c ( attrib_name, l_attrib_name );
547
548 h5part_int64_t herr = H5BlockWriteFieldAttribInt32 (
549 filehandle, field_name2, attrib_name2,
550 attrib_value, *attrib_nelem );
551
552 free ( field_name2 );
553 free ( attrib_name2 );
554 return herr;
555 }
556