28 use,
intrinsic :: iso_c_binding
46 function odb_count(filename)
bind(C, name="odb_count")
47 use,
intrinsic :: iso_c_binding
48 character(kind=C_CHAR),
dimension(*) :: filename
53 use,
intrinsic :: iso_c_binding
54 character(kind=C_CHAR),
dimension(*) :: config
55 integer(kind=C_INT) :: err
60 use,
intrinsic :: iso_c_binding
61 type(c_ptr),
VALUE :: odb
65 function odb_read_new(config, err)
bind(C, name = "odb_read_create")
66 use,
intrinsic :: iso_c_binding
67 character(kind=C_CHAR),
dimension(*) :: config
68 integer(kind=C_INT) :: err
73 use,
intrinsic :: iso_c_binding
74 type(c_ptr),
VALUE :: odb
80 use,
intrinsic :: iso_c_binding
81 type(c_ptr),
VALUE :: odb
82 character(kind=C_CHAR),
dimension(*) :: filename
83 integer(kind=C_INT) :: err
88 use,
intrinsic :: iso_c_binding
89 type(c_ptr),
VALUE :: odb_iterator
94 use,
intrinsic :: iso_c_binding
95 type(c_ptr),
VALUE :: odb_iterator
96 integer(kind=C_INT) :: ncols
101 use,
intrinsic :: iso_c_binding
102 type(c_ptr),
VALUE :: odb_iterator
103 integer(kind=C_INT),
VALUE :: n
104 integer(kind=C_INT) :: type
109 use,
intrinsic :: iso_c_binding
110 type(c_ptr),
VALUE :: odb_iterator
111 integer(kind=C_INT),
VALUE :: n
112 integer(kind=C_INT) :: nchar
113 type(c_ptr) :: colname
117 function odb_read_get_bitfield(odb_iterator, n, bitfield_names, bitfield_sizes, bitfield_names_size, bitfield_sizes_size) &
118 bind(C, name="odb_read_iterator_get_bitfield")
119 use,
intrinsic :: iso_c_binding
120 type(c_ptr),
VALUE :: odb_iterator
121 integer(kind=C_INT),
VALUE :: n
122 type(c_ptr) :: bitfield_names
123 type(c_ptr) :: bitfield_sizes
124 integer(kind=C_INT) :: bitfield_names_size
125 integer(kind=C_INT) :: bitfield_sizes_size
129 function odb_read_get_next_row(odb_iterator, count, data, new_dataset)
bind(C, name="odb_read_iterator_get_next_row")
130 use,
intrinsic :: iso_c_binding
131 type(c_ptr),
VALUE :: odb_iterator
132 integer(kind=C_INT),
VALUE ::
count
133 integer(kind=C_INT) :: new_dataset
134 real(kind=c_double),
dimension(*) ::
data
140 bind(C, name="odb_read_iterator_get_missing_value")
141 use,
intrinsic :: iso_c_binding
142 type(c_ptr),
VALUE :: odb_iterator
143 integer(kind=C_INT),
VALUE :: n
144 real(kind=c_double) :: v
150 bind(C, name="odb_read_iterator_get_row_buffer_size_doubles")
151 use,
intrinsic :: iso_c_binding
152 type(c_ptr),
value :: odb_iterator
153 integer(kind=c_int) :: sz
154 integer(kind=c_int) :: cerr
159 bind(C, name="odb_read_iterator_get_column_offset")
160 use,
intrinsic :: iso_c_binding
161 type(c_ptr),
value :: odb_iterator
162 integer(kind=c_int),
value :: n
163 integer(kind=c_int) :: offset
164 integer(kind=c_int) :: cerr
169 bind(C, name="odb_read_iterator_get_column_size_doubles")
170 use,
intrinsic :: iso_c_binding
171 type(c_ptr),
value :: odb_iterator
172 integer(kind=c_int),
value :: n
173 integer(kind=c_int) :: sz
174 integer(kind=c_int) :: cerr
180 use,
intrinsic :: iso_c_binding
181 type(c_ptr),
VALUE :: odb
182 character(kind=C_CHAR),
dimension(*) :: sql
183 integer(kind=C_INT) :: err
188 use,
intrinsic :: iso_c_binding
189 type(c_ptr),
VALUE :: odb
190 character(kind=C_CHAR),
dimension(*) :: sql, filename
191 integer(kind=C_INT) :: err
196 use,
intrinsic :: iso_c_binding
197 type(c_ptr),
VALUE :: odb_iterator
202 use,
intrinsic :: iso_c_binding
203 type(c_ptr),
VALUE :: odb_iterator
204 integer(kind=C_INT) :: ncols
210 bind(C, name="odb_select_iterator_get_row_buffer_size_doubles")
211 use,
intrinsic :: iso_c_binding
212 type(c_ptr),
value :: odb_iterator
213 integer(kind=c_int) :: sz
214 integer(kind=c_int) :: cerr
219 bind(C, name="odb_select_iterator_get_column_offset")
220 use,
intrinsic :: iso_c_binding
221 type(c_ptr),
value :: odb_iterator
222 integer(kind=c_int),
value :: n
223 integer(kind=c_int) :: offset
224 integer(kind=c_int) :: cerr
229 bind(C, name="odb_select_iterator_get_column_size_doubles")
230 use,
intrinsic :: iso_c_binding
231 type(c_ptr),
value :: odb_iterator
232 integer(kind=c_int),
value :: n
233 integer(kind=c_int) :: sz
234 integer(kind=c_int) :: cerr
238 use,
intrinsic :: iso_c_binding
239 type(c_ptr),
VALUE :: odb_iterator
240 integer(kind=C_INT),
VALUE :: n
241 integer(kind=C_INT) :: type
246 use,
intrinsic :: iso_c_binding
247 type(c_ptr),
VALUE :: odb_iterator
248 integer(kind=C_INT),
VALUE :: n
249 type(c_ptr) :: colname
250 integer(kind=C_INT) :: nchar
255 bind(C, name="odb_select_iterator_get_bitfield")
256 use,
intrinsic :: iso_c_binding
257 type(c_ptr),
VALUE :: odb_iterator
258 integer(kind=C_INT),
VALUE :: n
259 type(c_ptr) :: bitfield_names
260 type(c_ptr) :: bitfield_sizes
261 integer(kind=C_INT) :: bitfield_names_size
262 integer(kind=C_INT) :: bitfield_sizes_size
267 use,
intrinsic :: iso_c_binding
268 type(c_ptr),
VALUE :: odb_iterator
269 integer(kind=C_INT),
VALUE ::
count
270 integer(kind=C_INT) :: new_dataset
271 real(kind=c_double),
dimension(*) ::
data
277 use,
intrinsic :: iso_c_binding
278 character(kind=C_CHAR),
dimension(*) :: config
279 integer(kind=C_INT) :: err
284 use,
intrinsic :: iso_c_binding
285 type(c_ptr),
VALUE :: odb
291 use,
intrinsic :: iso_c_binding
292 type(c_ptr),
VALUE :: odb
293 character(kind=C_CHAR),
dimension(*) :: filename
294 integer(kind=C_INT) :: err
299 use,
intrinsic :: iso_c_binding
300 type(c_ptr),
VALUE :: odb
301 character(kind=C_CHAR),
dimension(*) :: filename
302 integer(kind=C_INT) :: err
307 use,
intrinsic :: iso_c_binding
308 type(c_ptr),
VALUE :: odb_iterator
313 use,
intrinsic :: iso_c_binding
314 type(c_ptr),
VALUE :: odb_iterator
315 integer(kind=C_INT),
VALUE :: ncols
320 use,
intrinsic :: iso_c_binding
321 type(c_ptr),
VALUE :: odb_iterator
322 integer(kind=C_INT),
VALUE :: n
323 integer(kind=C_INT),
VALUE :: type
324 character(kind=C_CHAR),
dimension(*) :: colname
329 bind(C, name="odb_write_iterator_set_bitfield")
330 use,
intrinsic :: iso_c_binding
331 type(c_ptr),
VALUE :: odb_iterator
332 integer(kind=C_INT),
VALUE :: n
333 integer(kind=C_INT),
VALUE :: type
334 character(kind=C_CHAR),
dimension(*) :: colname
335 character(kind=C_CHAR),
dimension(*) :: bitfield_names, bitfield_sizes
340 use,
intrinsic :: iso_c_binding
341 type(c_ptr),
VALUE :: odb_iterator
342 integer(kind=C_INT),
VALUE :: n
343 real(kind=c_double),
VALUE :: v
349 bind(C, name="odb_write_iterator_set_column_size_doubles")
350 use,
intrinsic :: iso_c_binding
351 type(c_ptr),
value :: odb_iterator
352 integer(kind=c_int),
value :: n
353 integer(kind=c_int),
value :: sz
354 integer(kind=c_int) :: cerr
359 bind(C, name="odb_write_iterator_get_row_buffer_size_doubles")
360 use,
intrinsic :: iso_c_binding
361 type(c_ptr),
value :: odb_iterator
362 integer(kind=c_int) :: sz
363 integer(kind=c_int) :: cerr
368 bind(C, name="odb_write_iterator_get_column_offset")
369 use,
intrinsic :: iso_c_binding
370 type(c_ptr),
value :: odb_iterator
371 integer(kind=c_int),
value :: n
372 integer(kind=c_int) :: offset
373 integer(kind=c_int) :: cerr
377 use,
intrinsic :: iso_c_binding
378 type(c_ptr),
VALUE :: odb_iterator
379 integer(kind=C_INT),
VALUE ::
count
380 real(kind=c_double),
dimension(*) ::
data
385 use,
intrinsic :: iso_c_binding
386 type(c_ptr),
VALUE :: odb_iterator
396 use,
intrinsic :: iso_c_binding
397 type(c_ptr),
value :: odb_iterator
398 integer(kind=c_int),
value :: n
399 integer(kind=c_int) :: offset
400 integer(kind=c_int) :: cerr
407 use,
intrinsic :: iso_c_binding
408 type(c_ptr),
value :: odb_iterator
409 integer(kind=c_int),
value :: n
410 integer(kind=c_int) :: offset
411 integer(kind=c_int) :: cerr
418 use,
intrinsic :: iso_c_binding
419 type(c_ptr),
value :: odb_iterator
420 integer(kind=c_int),
value :: n
421 integer(kind=c_int) :: offset
422 integer(kind=c_int) :: cerr
static void count(void *counter, const double *data, size_t n)
Counts number of rows in an ODB file.
Create new read iterator.
Initialize ODB API. This function must be called before any other function from the ODB API.
Provides Fortran bindings for ODB API.
integer, parameter odb_ignore
integer, parameter odb_integer
integer, parameter odb_bitfield
integer, parameter odb_double
integer(kind=c_int) function odb_read_get_column_offset(odb_iterator, n, offset)
integer(kind=c_int) function odb_write_get_column_offset(odb_iterator, n, offset)
integer, parameter odb_real
integer, parameter odb_string
integer(kind=c_int) function odb_select_get_column_offset(odb_iterator, n, offset)