ruby-hdf5 0.0.2 → 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.
data/lib/hdf5.rb CHANGED
@@ -1,15 +1,40 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'ffi'
4
+ require 'English'
5
+ require 'numo/narray/alt'
4
6
  require_relative 'hdf5/version'
5
7
 
6
8
  module HDF5
7
9
  class Error < StandardError; end
10
+ class ClosedError < Error; end
11
+ class UnsupportedTypeError < Error; end
12
+ class UnsupportedFeatureError < Error; end
13
+ class ShapeError < Error; end
14
+ class ConversionError < Error; end
15
+ class NativeError < Error; end
16
+
17
+ class Empty
18
+ attr_reader :dtype
19
+
20
+ def initialize(dtype)
21
+ @dtype = dtype.is_a?(DType) ? dtype : DType.for_symbol(dtype)
22
+ freeze
23
+ end
24
+ end
25
+ Slice = Struct.new(:range, :step, keyword_init: true)
8
26
  DEFAULT_PROPERTY_LIST = 0
9
27
 
10
28
  class << self
11
29
  attr_accessor :lib_path
12
30
 
31
+ def slice(range, step:)
32
+ raise ArgumentError, 'slice step must be a positive integer' unless step.is_a?(Integer) && step.positive?
33
+ raise ArgumentError, 'slice range must be a Range' unless range.is_a?(Range)
34
+
35
+ Slice.new(range:, step:)
36
+ end
37
+
13
38
  def search_hdf5lib
14
39
  name = "libhdf5.#{FFI::Platform::LIBSUFFIX}"
15
40
  env_path = ENV['HDF5_LIB_PATH']
@@ -37,6 +62,12 @@ end
37
62
 
38
63
  require_relative 'hdf5/ffi'
39
64
 
65
+ require_relative 'hdf5/file_context'
66
+ require_relative 'hdf5/dtype'
67
+ require_relative 'hdf5/data_helpers'
68
+ require_relative 'hdf5/selection'
69
+ require_relative 'hdf5/hierarchy'
70
+ require_relative 'hdf5/string_codec'
40
71
  require_relative 'hdf5/file'
41
72
  require_relative 'hdf5/group'
42
73
  require_relative 'hdf5/dataset'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-hdf5
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kojix2
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: numo-narray-alt
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: pkg-config
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -48,12 +62,19 @@ files:
48
62
  - README.md
49
63
  - lib/hdf5.rb
50
64
  - lib/hdf5/attribute.rb
65
+ - lib/hdf5/data_helpers.rb
51
66
  - lib/hdf5/dataset.rb
67
+ - lib/hdf5/dtype.rb
52
68
  - lib/hdf5/ffi.rb
53
69
  - lib/hdf5/ffi_10.rb
54
70
  - lib/hdf5/ffi_14.rb
71
+ - lib/hdf5/ffi_20.rb
55
72
  - lib/hdf5/file.rb
73
+ - lib/hdf5/file_context.rb
56
74
  - lib/hdf5/group.rb
75
+ - lib/hdf5/hierarchy.rb
76
+ - lib/hdf5/selection.rb
77
+ - lib/hdf5/string_codec.rb
57
78
  - lib/hdf5/version.rb
58
79
  licenses:
59
80
  - MIT
@@ -66,14 +87,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
66
87
  requirements:
67
88
  - - ">="
68
89
  - !ruby/object:Gem::Version
69
- version: 3.2.0
90
+ version: 3.4.0
70
91
  required_rubygems_version: !ruby/object:Gem::Requirement
71
92
  requirements:
72
93
  - - ">="
73
94
  - !ruby/object:Gem::Version
74
95
  version: '0'
75
96
  requirements: []
76
- rubygems_version: 4.0.6
97
+ rubygems_version: 4.0.21
77
98
  specification_version: 4
78
99
  summary: hdf5
79
100
  test_files: []