ruby-hdf5 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/hdf5/attribute.rb +25 -10
- data/lib/hdf5/data_helpers.rb +153 -17
- data/lib/hdf5/dataset.rb +125 -64
- data/lib/hdf5/dtype.rb +22 -8
- data/lib/hdf5/ffi.rb +3 -3
- data/lib/hdf5/ffi_10.rb +0 -485
- data/lib/hdf5/ffi_14.rb +0 -479
- data/lib/hdf5/ffi_20.rb +0 -516
- data/lib/hdf5/file.rb +23 -5
- data/lib/hdf5/group.rb +23 -5
- data/lib/hdf5/hierarchy.rb +1 -1
- data/lib/hdf5/selection.rb +17 -1
- data/lib/hdf5/string_codec.rb +31 -18
- data/lib/hdf5/version.rb +1 -1
- metadata +1 -1
data/lib/hdf5/dtype.rb
CHANGED
|
@@ -17,7 +17,7 @@ module HDF5
|
|
|
17
17
|
}.freeze
|
|
18
18
|
|
|
19
19
|
attr_reader :numo_class, :memory_type_name, :storage_type_name, :kind, :itemsize, :byteorder, :precision, :offset,
|
|
20
|
-
:hdf5_class
|
|
20
|
+
:hdf5_class, :encoding
|
|
21
21
|
|
|
22
22
|
def self.for_numo(value)
|
|
23
23
|
type = TYPES.values.find { |numo_class,| value.is_a?(numo_class) }
|
|
@@ -35,6 +35,10 @@ module HDF5
|
|
|
35
35
|
def self.for_hdf5(type_id)
|
|
36
36
|
type_class = HDF5::FFI.H5Tget_class(type_id)
|
|
37
37
|
itemsize = HDF5::FFI.H5Tget_size(type_id)
|
|
38
|
+
if type_class == :H5T_STRING
|
|
39
|
+
return new(:string, Numo::RObject, nil, nil, :string, itemsize, byteorder: :none,
|
|
40
|
+
hdf5_class: type_class, encoding: StringCodec.encoding_for(type_id))
|
|
41
|
+
end
|
|
38
42
|
return for_bool_hdf5(type_id, itemsize) if type_class == :H5T_ENUM
|
|
39
43
|
return for_complex_hdf5(type_id, itemsize) if type_class == :H5T_COMPOUND
|
|
40
44
|
|
|
@@ -83,22 +87,28 @@ module HDF5
|
|
|
83
87
|
HDF5::FFI.H5Tget_nmembers(type_id) == 2 &&
|
|
84
88
|
HDF5::FFI.H5Tget_member_offset(type_id, real_index) == 0 &&
|
|
85
89
|
HDF5::FFI.H5Tget_member_offset(type_id, imaginary_index) == component_size
|
|
90
|
+
byteorders = []
|
|
86
91
|
[real_index, imaginary_index].each do |index|
|
|
87
92
|
next unless index >= 0
|
|
88
93
|
|
|
89
94
|
member_type_id = HDF5::FFI.H5Tget_member_type(type_id, index)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
begin
|
|
96
|
+
member_dtype = member_type_id >= 0 ? for_hdf5(member_type_id) : nil
|
|
97
|
+
valid &&= member_dtype && member_dtype.kind == :float && member_dtype.itemsize == component_size
|
|
98
|
+
byteorders << member_dtype.byteorder if member_dtype
|
|
99
|
+
ensure
|
|
100
|
+
HDF5::FFI.H5Tclose(member_type_id) if member_type_id >= 0
|
|
101
|
+
end
|
|
93
102
|
end
|
|
103
|
+
valid &&= byteorders.length == 2 && byteorders.uniq.length == 1
|
|
94
104
|
raise UnsupportedTypeError, 'Unsupported HDF5 compound datatype' unless valid
|
|
95
105
|
|
|
96
106
|
symbol = itemsize == 8 ? :complex64 : :complex128
|
|
97
|
-
new(symbol, *TYPES.fetch(symbol), hdf5_class: :H5T_COMPOUND)
|
|
107
|
+
new(symbol, *TYPES.fetch(symbol), byteorder: byteorders.first, hdf5_class: :H5T_COMPOUND)
|
|
98
108
|
end
|
|
99
109
|
|
|
100
110
|
def initialize(symbol, numo_class, memory_type_name, storage_type_name, kind, itemsize, byteorder: :little,
|
|
101
|
-
precision: itemsize * 8, offset: 0, hdf5_class: nil)
|
|
111
|
+
precision: itemsize * 8, offset: 0, hdf5_class: nil, encoding: nil)
|
|
102
112
|
@symbol = symbol
|
|
103
113
|
@numo_class = numo_class
|
|
104
114
|
@memory_type_name = memory_type_name
|
|
@@ -108,6 +118,7 @@ module HDF5
|
|
|
108
118
|
@byteorder = byteorder
|
|
109
119
|
@precision = precision
|
|
110
120
|
@offset = offset
|
|
121
|
+
@encoding = encoding
|
|
111
122
|
@hdf5_class = hdf5_class || (kind == :integer ? :H5T_INTEGER : :H5T_FLOAT)
|
|
112
123
|
freeze
|
|
113
124
|
end
|
|
@@ -141,10 +152,13 @@ module HDF5
|
|
|
141
152
|
return itemsize < target.itemsize
|
|
142
153
|
end
|
|
143
154
|
return itemsize <= target.itemsize if kind == :float && target.kind == :float
|
|
155
|
+
return itemsize <= target.itemsize if kind == :complex && target.kind == :complex
|
|
156
|
+
return itemsize <= target.itemsize / 2 if kind == :float && target.kind == :complex
|
|
144
157
|
|
|
145
|
-
if kind == :integer && target.kind
|
|
158
|
+
if kind == :integer && %i[float complex].include?(target.kind)
|
|
146
159
|
significant_bits = unsigned? ? itemsize * 8 : itemsize * 8 - 1
|
|
147
|
-
|
|
160
|
+
size = target.kind == :complex ? target.itemsize / 2 : target.itemsize
|
|
161
|
+
mantissa_bits = size == 4 ? 24 : 53
|
|
148
162
|
return significant_bits <= mantissa_bits
|
|
149
163
|
end
|
|
150
164
|
|
data/lib/hdf5/ffi.rb
CHANGED
|
@@ -34,9 +34,9 @@ module HDF5
|
|
|
34
34
|
case [major, minor]
|
|
35
35
|
in [1, 10..13]
|
|
36
36
|
'ffi_10'
|
|
37
|
-
in [1, 14
|
|
37
|
+
in [1, 14]
|
|
38
38
|
'ffi_14'
|
|
39
|
-
in [2
|
|
39
|
+
in [2, 0..2]
|
|
40
40
|
'ffi_20'
|
|
41
41
|
else
|
|
42
42
|
raise "Unsupported HDF5 version #{major}.#{minor}.#{release}"
|
|
@@ -71,7 +71,7 @@ module HDF5
|
|
|
71
71
|
H5Screate H5Screate_simple H5Sclose H5Sget_simple_extent_type H5Sget_simple_extent_ndims
|
|
72
72
|
H5Sget_simple_extent_dims H5Sselect_hyperslab H5Sget_select_npoints
|
|
73
73
|
H5Tcopy H5Tclose H5Tget_class H5Tget_size H5Tget_sign H5Tget_order H5Tget_precision H5Tget_offset
|
|
74
|
-
H5Tset_size H5Tset_cset H5Tis_variable_str H5Tcreate H5Tinsert H5Tenum_create H5Tenum_insert
|
|
74
|
+
H5Tset_size H5Tset_cset H5Tget_cset H5Tis_variable_str H5Tcreate H5Tinsert H5Tenum_create H5Tenum_insert
|
|
75
75
|
H5Tenum_valueof H5Tget_nmembers H5Tget_member_index H5Tget_member_offset H5Tget_member_type H5Tget_super
|
|
76
76
|
H5Pcreate H5Pclose H5Pset_chunk H5Pget_chunk H5Pget_layout H5Pset_deflate H5Pset_shuffle H5Pset_fletcher32
|
|
77
77
|
H5Pset_fill_value H5Pget_fill_value H5Zfilter_avail H5Zget_filter_info
|
data/lib/hdf5/ffi_10.rb
CHANGED
|
@@ -269,23 +269,6 @@ module HDF5
|
|
|
269
269
|
|
|
270
270
|
typedef :__fd_mask, :fd_mask
|
|
271
271
|
|
|
272
|
-
attach_function 'select', [
|
|
273
|
-
:int,
|
|
274
|
-
FdSet.ptr,
|
|
275
|
-
FdSet.ptr,
|
|
276
|
-
FdSet.ptr,
|
|
277
|
-
Timeval.ptr
|
|
278
|
-
], :int
|
|
279
|
-
|
|
280
|
-
attach_function 'pselect', [
|
|
281
|
-
:int,
|
|
282
|
-
FdSet.ptr,
|
|
283
|
-
FdSet.ptr,
|
|
284
|
-
FdSet.ptr,
|
|
285
|
-
Timespec.ptr,
|
|
286
|
-
C_SigsetT.ptr
|
|
287
|
-
], :int
|
|
288
|
-
|
|
289
272
|
typedef :__blksize_t, :blksize_t
|
|
290
273
|
|
|
291
274
|
typedef :__blkcnt_t, :blkcnt_t
|
|
@@ -518,39 +501,6 @@ module HDF5
|
|
|
518
501
|
|
|
519
502
|
ImaxdivT = Anon_Type_15
|
|
520
503
|
|
|
521
|
-
attach_function 'imaxabs', [
|
|
522
|
-
:intmax_t
|
|
523
|
-
], :intmax_t
|
|
524
|
-
|
|
525
|
-
attach_function 'imaxdiv', %i[
|
|
526
|
-
intmax_t
|
|
527
|
-
intmax_t
|
|
528
|
-
], ImaxdivT
|
|
529
|
-
|
|
530
|
-
attach_function 'strtoimax', %i[
|
|
531
|
-
string
|
|
532
|
-
pointer
|
|
533
|
-
int
|
|
534
|
-
], :intmax_t
|
|
535
|
-
|
|
536
|
-
attach_function 'strtoumax', %i[
|
|
537
|
-
string
|
|
538
|
-
pointer
|
|
539
|
-
int
|
|
540
|
-
], :uintmax_t
|
|
541
|
-
|
|
542
|
-
attach_function 'wcstoimax', %i[
|
|
543
|
-
pointer
|
|
544
|
-
pointer
|
|
545
|
-
int
|
|
546
|
-
], :intmax_t
|
|
547
|
-
|
|
548
|
-
attach_function 'wcstoumax', %i[
|
|
549
|
-
pointer
|
|
550
|
-
pointer
|
|
551
|
-
int
|
|
552
|
-
], :uintmax_t
|
|
553
|
-
|
|
554
504
|
typedef :long, :ptrdiff_t
|
|
555
505
|
|
|
556
506
|
typedef :int, :wchar_t
|
|
@@ -2724,195 +2674,6 @@ module HDF5
|
|
|
2724
2674
|
|
|
2725
2675
|
FposT = C_FposT
|
|
2726
2676
|
|
|
2727
|
-
attach_variable :stdin, :stdin, FILE.ptr
|
|
2728
|
-
|
|
2729
|
-
attach_variable :stdout, :stdout, FILE.ptr
|
|
2730
|
-
|
|
2731
|
-
attach_variable :stderr, :stderr, FILE.ptr
|
|
2732
|
-
|
|
2733
|
-
attach_function 'remove', [
|
|
2734
|
-
:string
|
|
2735
|
-
], :int
|
|
2736
|
-
|
|
2737
|
-
attach_function 'rename', %i[
|
|
2738
|
-
string
|
|
2739
|
-
string
|
|
2740
|
-
], :int
|
|
2741
|
-
|
|
2742
|
-
attach_function 'renameat', %i[
|
|
2743
|
-
int
|
|
2744
|
-
string
|
|
2745
|
-
int
|
|
2746
|
-
string
|
|
2747
|
-
], :int
|
|
2748
|
-
|
|
2749
|
-
attach_function 'fclose', [
|
|
2750
|
-
FILE.ptr
|
|
2751
|
-
], :int
|
|
2752
|
-
|
|
2753
|
-
attach_function 'tmpfile', [], FILE.ptr
|
|
2754
|
-
|
|
2755
|
-
attach_function 'tmpnam', [
|
|
2756
|
-
:pointer # [:char, 20]
|
|
2757
|
-
], :string
|
|
2758
|
-
|
|
2759
|
-
attach_function 'tmpnam_r', [
|
|
2760
|
-
:pointer # [:char, 20]
|
|
2761
|
-
], :string
|
|
2762
|
-
|
|
2763
|
-
attach_function 'tempnam', %i[
|
|
2764
|
-
string
|
|
2765
|
-
string
|
|
2766
|
-
], :string
|
|
2767
|
-
|
|
2768
|
-
attach_function 'fflush', [
|
|
2769
|
-
FILE.ptr
|
|
2770
|
-
], :int
|
|
2771
|
-
|
|
2772
|
-
attach_function 'fflush_unlocked', [
|
|
2773
|
-
FILE.ptr
|
|
2774
|
-
], :int
|
|
2775
|
-
|
|
2776
|
-
attach_function 'fopen', %i[
|
|
2777
|
-
string
|
|
2778
|
-
string
|
|
2779
|
-
], FILE.ptr
|
|
2780
|
-
|
|
2781
|
-
attach_function 'freopen', [
|
|
2782
|
-
:string,
|
|
2783
|
-
:string,
|
|
2784
|
-
FILE.ptr
|
|
2785
|
-
], FILE.ptr
|
|
2786
|
-
|
|
2787
|
-
attach_function 'fdopen', %i[
|
|
2788
|
-
int
|
|
2789
|
-
string
|
|
2790
|
-
], FILE.ptr
|
|
2791
|
-
|
|
2792
|
-
attach_function 'fopencookie', [
|
|
2793
|
-
:pointer,
|
|
2794
|
-
:string,
|
|
2795
|
-
CookieIoFunctionsT
|
|
2796
|
-
], FILE.ptr
|
|
2797
|
-
|
|
2798
|
-
attach_function 'fmemopen', %i[
|
|
2799
|
-
pointer
|
|
2800
|
-
size_t
|
|
2801
|
-
string
|
|
2802
|
-
], FILE.ptr
|
|
2803
|
-
|
|
2804
|
-
attach_function 'open_memstream', %i[
|
|
2805
|
-
pointer
|
|
2806
|
-
pointer
|
|
2807
|
-
], FILE.ptr
|
|
2808
|
-
|
|
2809
|
-
attach_function 'setbuf', [
|
|
2810
|
-
FILE.ptr,
|
|
2811
|
-
:string
|
|
2812
|
-
], :void
|
|
2813
|
-
|
|
2814
|
-
attach_function 'setvbuf', [
|
|
2815
|
-
FILE.ptr,
|
|
2816
|
-
:string,
|
|
2817
|
-
:int,
|
|
2818
|
-
:size_t
|
|
2819
|
-
], :int
|
|
2820
|
-
|
|
2821
|
-
attach_function 'setbuffer', [
|
|
2822
|
-
FILE.ptr,
|
|
2823
|
-
:string,
|
|
2824
|
-
:size_t
|
|
2825
|
-
], :void
|
|
2826
|
-
|
|
2827
|
-
attach_function 'setlinebuf', [
|
|
2828
|
-
FILE.ptr
|
|
2829
|
-
], :void
|
|
2830
|
-
|
|
2831
|
-
attach_function 'fprintf', [
|
|
2832
|
-
FILE.ptr,
|
|
2833
|
-
:string
|
|
2834
|
-
], :int
|
|
2835
|
-
|
|
2836
|
-
attach_function 'printf', [
|
|
2837
|
-
:string
|
|
2838
|
-
], :int
|
|
2839
|
-
|
|
2840
|
-
attach_function 'sprintf', %i[
|
|
2841
|
-
string
|
|
2842
|
-
string
|
|
2843
|
-
], :int
|
|
2844
|
-
|
|
2845
|
-
attach_function 'vfprintf', [
|
|
2846
|
-
FILE.ptr,
|
|
2847
|
-
:string,
|
|
2848
|
-
:__gnuc_va_list
|
|
2849
|
-
], :int
|
|
2850
|
-
|
|
2851
|
-
attach_function 'vprintf', %i[
|
|
2852
|
-
string
|
|
2853
|
-
__gnuc_va_list
|
|
2854
|
-
], :int
|
|
2855
|
-
|
|
2856
|
-
attach_function 'vsprintf', %i[
|
|
2857
|
-
string
|
|
2858
|
-
string
|
|
2859
|
-
__gnuc_va_list
|
|
2860
|
-
], :int
|
|
2861
|
-
|
|
2862
|
-
attach_function 'snprintf', %i[
|
|
2863
|
-
string
|
|
2864
|
-
size_t
|
|
2865
|
-
string
|
|
2866
|
-
], :int
|
|
2867
|
-
|
|
2868
|
-
attach_function 'vsnprintf', %i[
|
|
2869
|
-
string
|
|
2870
|
-
size_t
|
|
2871
|
-
string
|
|
2872
|
-
__gnuc_va_list
|
|
2873
|
-
], :int
|
|
2874
|
-
|
|
2875
|
-
attach_function 'vasprintf', %i[
|
|
2876
|
-
pointer
|
|
2877
|
-
string
|
|
2878
|
-
__gnuc_va_list
|
|
2879
|
-
], :int
|
|
2880
|
-
|
|
2881
|
-
attach_function '__asprintf', %i[
|
|
2882
|
-
pointer
|
|
2883
|
-
string
|
|
2884
|
-
], :int
|
|
2885
|
-
|
|
2886
|
-
attach_function 'asprintf', %i[
|
|
2887
|
-
pointer
|
|
2888
|
-
string
|
|
2889
|
-
], :int
|
|
2890
|
-
|
|
2891
|
-
attach_function 'vdprintf', %i[
|
|
2892
|
-
int
|
|
2893
|
-
string
|
|
2894
|
-
__gnuc_va_list
|
|
2895
|
-
], :int
|
|
2896
|
-
|
|
2897
|
-
attach_function 'dprintf', %i[
|
|
2898
|
-
int
|
|
2899
|
-
string
|
|
2900
|
-
], :int
|
|
2901
|
-
|
|
2902
|
-
attach_function 'fscanf', [
|
|
2903
|
-
FILE.ptr,
|
|
2904
|
-
:string
|
|
2905
|
-
], :int
|
|
2906
|
-
|
|
2907
|
-
attach_function 'scanf', [
|
|
2908
|
-
:string
|
|
2909
|
-
], :int
|
|
2910
|
-
|
|
2911
|
-
attach_function 'sscanf', %i[
|
|
2912
|
-
string
|
|
2913
|
-
string
|
|
2914
|
-
], :int
|
|
2915
|
-
|
|
2916
2677
|
typedef :float, :_Float32
|
|
2917
2678
|
|
|
2918
2679
|
typedef :double, :_Float64
|
|
@@ -2921,252 +2682,6 @@ module HDF5
|
|
|
2921
2682
|
|
|
2922
2683
|
typedef :long_double, :_Float64x
|
|
2923
2684
|
|
|
2924
|
-
attach_function 'vfscanf', [
|
|
2925
|
-
FILE.ptr,
|
|
2926
|
-
:string,
|
|
2927
|
-
:__gnuc_va_list
|
|
2928
|
-
], :int
|
|
2929
|
-
|
|
2930
|
-
attach_function 'vscanf', %i[
|
|
2931
|
-
string
|
|
2932
|
-
__gnuc_va_list
|
|
2933
|
-
], :int
|
|
2934
|
-
|
|
2935
|
-
attach_function 'vsscanf', %i[
|
|
2936
|
-
string
|
|
2937
|
-
string
|
|
2938
|
-
__gnuc_va_list
|
|
2939
|
-
], :int
|
|
2940
|
-
|
|
2941
|
-
attach_function 'fgetc', [
|
|
2942
|
-
FILE.ptr
|
|
2943
|
-
], :int
|
|
2944
|
-
|
|
2945
|
-
attach_function 'getc', [
|
|
2946
|
-
FILE.ptr
|
|
2947
|
-
], :int
|
|
2948
|
-
|
|
2949
|
-
attach_function 'getchar', [], :int
|
|
2950
|
-
|
|
2951
|
-
attach_function 'getc_unlocked', [
|
|
2952
|
-
FILE.ptr
|
|
2953
|
-
], :int
|
|
2954
|
-
|
|
2955
|
-
attach_function 'getchar_unlocked', [], :int
|
|
2956
|
-
|
|
2957
|
-
attach_function 'fgetc_unlocked', [
|
|
2958
|
-
FILE.ptr
|
|
2959
|
-
], :int
|
|
2960
|
-
|
|
2961
|
-
attach_function 'fputc', [
|
|
2962
|
-
:int,
|
|
2963
|
-
FILE.ptr
|
|
2964
|
-
], :int
|
|
2965
|
-
|
|
2966
|
-
attach_function 'putc', [
|
|
2967
|
-
:int,
|
|
2968
|
-
FILE.ptr
|
|
2969
|
-
], :int
|
|
2970
|
-
|
|
2971
|
-
attach_function 'putchar', [
|
|
2972
|
-
:int
|
|
2973
|
-
], :int
|
|
2974
|
-
|
|
2975
|
-
attach_function 'fputc_unlocked', [
|
|
2976
|
-
:int,
|
|
2977
|
-
FILE.ptr
|
|
2978
|
-
], :int
|
|
2979
|
-
|
|
2980
|
-
attach_function 'putc_unlocked', [
|
|
2981
|
-
:int,
|
|
2982
|
-
FILE.ptr
|
|
2983
|
-
], :int
|
|
2984
|
-
|
|
2985
|
-
attach_function 'putchar_unlocked', [
|
|
2986
|
-
:int
|
|
2987
|
-
], :int
|
|
2988
|
-
|
|
2989
|
-
attach_function 'getw', [
|
|
2990
|
-
FILE.ptr
|
|
2991
|
-
], :int
|
|
2992
|
-
|
|
2993
|
-
attach_function 'putw', [
|
|
2994
|
-
:int,
|
|
2995
|
-
FILE.ptr
|
|
2996
|
-
], :int
|
|
2997
|
-
|
|
2998
|
-
attach_function 'fgets', [
|
|
2999
|
-
:string,
|
|
3000
|
-
:int,
|
|
3001
|
-
FILE.ptr
|
|
3002
|
-
], :string
|
|
3003
|
-
|
|
3004
|
-
attach_function '__getdelim', [
|
|
3005
|
-
:pointer,
|
|
3006
|
-
:pointer,
|
|
3007
|
-
:int,
|
|
3008
|
-
FILE.ptr
|
|
3009
|
-
], :__ssize_t
|
|
3010
|
-
|
|
3011
|
-
attach_function 'getdelim', [
|
|
3012
|
-
:pointer,
|
|
3013
|
-
:pointer,
|
|
3014
|
-
:int,
|
|
3015
|
-
FILE.ptr
|
|
3016
|
-
], :__ssize_t
|
|
3017
|
-
|
|
3018
|
-
attach_function 'getline', [
|
|
3019
|
-
:pointer,
|
|
3020
|
-
:pointer,
|
|
3021
|
-
FILE.ptr
|
|
3022
|
-
], :__ssize_t
|
|
3023
|
-
|
|
3024
|
-
attach_function 'fputs', [
|
|
3025
|
-
:string,
|
|
3026
|
-
FILE.ptr
|
|
3027
|
-
], :int
|
|
3028
|
-
|
|
3029
|
-
attach_function 'puts', [
|
|
3030
|
-
:string
|
|
3031
|
-
], :int
|
|
3032
|
-
|
|
3033
|
-
attach_function 'ungetc', [
|
|
3034
|
-
:int,
|
|
3035
|
-
FILE.ptr
|
|
3036
|
-
], :int
|
|
3037
|
-
|
|
3038
|
-
attach_function 'fread', [
|
|
3039
|
-
:pointer,
|
|
3040
|
-
:size_t,
|
|
3041
|
-
:size_t,
|
|
3042
|
-
FILE.ptr
|
|
3043
|
-
], :ulong
|
|
3044
|
-
|
|
3045
|
-
attach_function 'fwrite', [
|
|
3046
|
-
:pointer,
|
|
3047
|
-
:size_t,
|
|
3048
|
-
:size_t,
|
|
3049
|
-
FILE.ptr
|
|
3050
|
-
], :ulong
|
|
3051
|
-
|
|
3052
|
-
attach_function 'fread_unlocked', [
|
|
3053
|
-
:pointer,
|
|
3054
|
-
:size_t,
|
|
3055
|
-
:size_t,
|
|
3056
|
-
FILE.ptr
|
|
3057
|
-
], :size_t
|
|
3058
|
-
|
|
3059
|
-
attach_function 'fwrite_unlocked', [
|
|
3060
|
-
:pointer,
|
|
3061
|
-
:size_t,
|
|
3062
|
-
:size_t,
|
|
3063
|
-
FILE.ptr
|
|
3064
|
-
], :size_t
|
|
3065
|
-
|
|
3066
|
-
attach_function 'fseek', [
|
|
3067
|
-
FILE.ptr,
|
|
3068
|
-
:long,
|
|
3069
|
-
:int
|
|
3070
|
-
], :int
|
|
3071
|
-
|
|
3072
|
-
attach_function 'ftell', [
|
|
3073
|
-
FILE.ptr
|
|
3074
|
-
], :long
|
|
3075
|
-
|
|
3076
|
-
attach_function 'rewind', [
|
|
3077
|
-
FILE.ptr
|
|
3078
|
-
], :void
|
|
3079
|
-
|
|
3080
|
-
attach_function 'fseeko', [
|
|
3081
|
-
FILE.ptr,
|
|
3082
|
-
:__off_t,
|
|
3083
|
-
:int
|
|
3084
|
-
], :int
|
|
3085
|
-
|
|
3086
|
-
attach_function 'ftello', [
|
|
3087
|
-
FILE.ptr
|
|
3088
|
-
], :__off_t
|
|
3089
|
-
|
|
3090
|
-
attach_function 'fgetpos', [
|
|
3091
|
-
FILE.ptr,
|
|
3092
|
-
FposT.ptr
|
|
3093
|
-
], :int
|
|
3094
|
-
|
|
3095
|
-
attach_function 'fsetpos', [
|
|
3096
|
-
FILE.ptr,
|
|
3097
|
-
FposT.ptr
|
|
3098
|
-
], :int
|
|
3099
|
-
|
|
3100
|
-
attach_function 'clearerr', [
|
|
3101
|
-
FILE.ptr
|
|
3102
|
-
], :void
|
|
3103
|
-
|
|
3104
|
-
attach_function 'feof', [
|
|
3105
|
-
FILE.ptr
|
|
3106
|
-
], :int
|
|
3107
|
-
|
|
3108
|
-
attach_function 'ferror', [
|
|
3109
|
-
FILE.ptr
|
|
3110
|
-
], :int
|
|
3111
|
-
|
|
3112
|
-
attach_function 'clearerr_unlocked', [
|
|
3113
|
-
FILE.ptr
|
|
3114
|
-
], :void
|
|
3115
|
-
|
|
3116
|
-
attach_function 'feof_unlocked', [
|
|
3117
|
-
FILE.ptr
|
|
3118
|
-
], :int
|
|
3119
|
-
|
|
3120
|
-
attach_function 'ferror_unlocked', [
|
|
3121
|
-
FILE.ptr
|
|
3122
|
-
], :int
|
|
3123
|
-
|
|
3124
|
-
attach_function 'perror', [
|
|
3125
|
-
:string
|
|
3126
|
-
], :void
|
|
3127
|
-
|
|
3128
|
-
attach_function 'fileno', [
|
|
3129
|
-
FILE.ptr
|
|
3130
|
-
], :int
|
|
3131
|
-
|
|
3132
|
-
attach_function 'fileno_unlocked', [
|
|
3133
|
-
FILE.ptr
|
|
3134
|
-
], :int
|
|
3135
|
-
|
|
3136
|
-
attach_function 'pclose', [
|
|
3137
|
-
FILE.ptr
|
|
3138
|
-
], :int
|
|
3139
|
-
|
|
3140
|
-
attach_function 'popen', %i[
|
|
3141
|
-
string
|
|
3142
|
-
string
|
|
3143
|
-
], FILE.ptr
|
|
3144
|
-
|
|
3145
|
-
attach_function 'ctermid', [
|
|
3146
|
-
:string
|
|
3147
|
-
], :string
|
|
3148
|
-
|
|
3149
|
-
attach_function 'flockfile', [
|
|
3150
|
-
FILE.ptr
|
|
3151
|
-
], :void
|
|
3152
|
-
|
|
3153
|
-
attach_function 'ftrylockfile', [
|
|
3154
|
-
FILE.ptr
|
|
3155
|
-
], :int
|
|
3156
|
-
|
|
3157
|
-
attach_function 'funlockfile', [
|
|
3158
|
-
FILE.ptr
|
|
3159
|
-
], :void
|
|
3160
|
-
|
|
3161
|
-
attach_function '__uflow', [
|
|
3162
|
-
FILE.ptr
|
|
3163
|
-
], :int
|
|
3164
|
-
|
|
3165
|
-
attach_function '__overflow', [
|
|
3166
|
-
FILE.ptr,
|
|
3167
|
-
:int
|
|
3168
|
-
], :int
|
|
3169
|
-
|
|
3170
2685
|
enum :H5E_type_t, [
|
|
3171
2686
|
:H5E_MAJOR, 0,
|
|
3172
2687
|
:H5E_MINOR, 1
|