cglm 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/Gemfile.lock +18 -16
  4. data/README.md +2 -0
  5. data/cglm.gemspec +3 -3
  6. data/ext/cglm/cglm-0.6.2/include/cglm/affine-mat.h +168 -0
  7. data/ext/cglm/cglm-0.6.2/include/cglm/affine.h +490 -0
  8. data/ext/cglm/cglm-0.6.2/include/cglm/applesimd.h +95 -0
  9. data/ext/cglm/cglm-0.6.2/include/cglm/bezier.h +154 -0
  10. data/ext/cglm/cglm-0.6.2/include/cglm/box.h +279 -0
  11. data/ext/cglm/cglm-0.6.2/include/cglm/call/affine.h +117 -0
  12. data/ext/cglm/cglm-0.6.2/include/cglm/call/bezier.h +31 -0
  13. data/ext/cglm/cglm-0.6.2/include/cglm/call/box.h +79 -0
  14. data/ext/cglm/cglm-0.6.2/include/cglm/call/cam.h +143 -0
  15. data/ext/cglm/cglm-0.6.2/include/cglm/call/curve.h +23 -0
  16. data/ext/cglm/cglm-0.6.2/include/cglm/call/ease.h +143 -0
  17. data/ext/cglm/cglm-0.6.2/include/cglm/call/euler.h +55 -0
  18. data/ext/cglm/cglm-0.6.2/include/cglm/call/frustum.h +41 -0
  19. data/ext/cglm/cglm-0.6.2/include/cglm/call/io.h +44 -0
  20. data/ext/cglm/cglm-0.6.2/include/cglm/call/mat3.h +86 -0
  21. data/ext/cglm/cglm-0.6.2/include/cglm/call/mat4.h +127 -0
  22. data/ext/cglm/cglm-0.6.2/include/cglm/call/plane.h +23 -0
  23. data/ext/cglm/cglm-0.6.2/include/cglm/call/project.h +33 -0
  24. data/ext/cglm/cglm-0.6.2/include/cglm/call/quat.h +159 -0
  25. data/ext/cglm/cglm-0.6.2/include/cglm/call/sphere.h +39 -0
  26. data/ext/cglm/cglm-0.6.2/include/cglm/call/vec3.h +312 -0
  27. data/ext/cglm/cglm-0.6.2/include/cglm/call/vec4.h +290 -0
  28. data/ext/cglm/cglm-0.6.2/include/cglm/call.h +36 -0
  29. data/ext/cglm/cglm-0.6.2/include/cglm/cam.h +585 -0
  30. data/ext/cglm/cglm-0.6.2/include/cglm/cglm.h +32 -0
  31. data/ext/cglm/cglm-0.6.2/include/cglm/color.h +26 -0
  32. data/ext/cglm/cglm-0.6.2/include/cglm/common.h +37 -0
  33. data/ext/cglm/cglm-0.6.2/include/cglm/curve.h +40 -0
  34. data/ext/cglm/cglm-0.6.2/include/cglm/ease.h +317 -0
  35. data/ext/cglm/cglm-0.6.2/include/cglm/euler.h +453 -0
  36. data/ext/cglm/cglm-0.6.2/include/cglm/frustum.h +255 -0
  37. data/ext/cglm/cglm-0.6.2/include/cglm/io.h +203 -0
  38. data/ext/cglm/cglm-0.6.2/include/cglm/mat3.h +422 -0
  39. data/ext/cglm/cglm-0.6.2/include/cglm/mat4.h +726 -0
  40. data/ext/cglm/cglm-0.6.2/include/cglm/plane.h +36 -0
  41. data/ext/cglm/cglm-0.6.2/include/cglm/project.h +118 -0
  42. data/ext/cglm/cglm-0.6.2/include/cglm/quat.h +828 -0
  43. data/ext/cglm/cglm-0.6.2/include/cglm/simd/arm.h +83 -0
  44. data/ext/cglm/cglm-0.6.2/include/cglm/simd/avx/affine.h +66 -0
  45. data/ext/cglm/cglm-0.6.2/include/cglm/simd/avx/mat4.h +66 -0
  46. data/ext/cglm/cglm-0.6.2/include/cglm/simd/intrin.h +90 -0
  47. data/ext/cglm/cglm-0.6.2/include/cglm/simd/neon/mat4.h +57 -0
  48. data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/affine.h +111 -0
  49. data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat3.h +59 -0
  50. data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat4.h +405 -0
  51. data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/quat.h +46 -0
  52. data/ext/cglm/cglm-0.6.2/include/cglm/simd/x86.h +192 -0
  53. data/ext/cglm/cglm-0.6.2/include/cglm/sphere.h +99 -0
  54. data/ext/cglm/cglm-0.6.2/include/cglm/struct/affine.h +337 -0
  55. data/ext/cglm/cglm-0.6.2/include/cglm/struct/box.h +256 -0
  56. data/ext/cglm/cglm-0.6.2/include/cglm/struct/cam.h +451 -0
  57. data/ext/cglm/cglm-0.6.2/include/cglm/struct/color.h +27 -0
  58. data/ext/cglm/cglm-0.6.2/include/cglm/struct/curve.h +40 -0
  59. data/ext/cglm/cglm-0.6.2/include/cglm/struct/euler.h +152 -0
  60. data/ext/cglm/cglm-0.6.2/include/cglm/struct/frustum.h +155 -0
  61. data/ext/cglm/cglm-0.6.2/include/cglm/struct/io.h +82 -0
  62. data/ext/cglm/cglm-0.6.2/include/cglm/struct/mat3.h +285 -0
  63. data/ext/cglm/cglm-0.6.2/include/cglm/struct/mat4.h +459 -0
  64. data/ext/cglm/cglm-0.6.2/include/cglm/struct/plane.h +40 -0
  65. data/ext/cglm/cglm-0.6.2/include/cglm/struct/project.h +104 -0
  66. data/ext/cglm/cglm-0.6.2/include/cglm/struct/quat.h +532 -0
  67. data/ext/cglm/cglm-0.6.2/include/cglm/struct/sphere.h +93 -0
  68. data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec3-ext.h +257 -0
  69. data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec3.h +970 -0
  70. data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec4-ext.h +257 -0
  71. data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec4.h +814 -0
  72. data/ext/cglm/cglm-0.6.2/include/cglm/struct.h +36 -0
  73. data/ext/cglm/cglm-0.6.2/include/cglm/types-struct.h +129 -0
  74. data/ext/cglm/cglm-0.6.2/include/cglm/types.h +76 -0
  75. data/ext/cglm/cglm-0.6.2/include/cglm/util.h +328 -0
  76. data/ext/cglm/cglm-0.6.2/include/cglm/vec3-ext.h +272 -0
  77. data/ext/cglm/cglm-0.6.2/include/cglm/vec3.h +1078 -0
  78. data/ext/cglm/cglm-0.6.2/include/cglm/vec4-ext.h +315 -0
  79. data/ext/cglm/cglm-0.6.2/include/cglm/vec4.h +1078 -0
  80. data/ext/cglm/cglm-0.6.2/include/cglm/version.h +15 -0
  81. data/ext/cglm/extconf.rb +2 -3
  82. data/ext/cglm/rb_cglm.h +5 -3
  83. data/ext/cglm/rb_cglm_mat3.c +3 -3
  84. data/ext/cglm/rb_cglm_mat4.c +3 -3
  85. data/ext/cglm/rb_cglm_quat.c +2 -2
  86. data/ext/cglm/rb_cglm_vec3.c +63 -61
  87. data/ext/cglm/rb_cglm_vec4.c +2 -0
  88. data/ext/cglm/ruby_pre27.h +35 -0
  89. data/lib/cglm/vec3.rb +2 -2
  90. data/lib/cglm/vec4.rb +2 -2
  91. data/lib/cglm/vector_type.rb +15 -0
  92. data/lib/cglm/version.rb +1 -1
  93. metadata +89 -13
@@ -0,0 +1,35 @@
1
+ #ifndef RUBY_PRE27_H
2
+ #define RUBY_PRE27_H
3
+
4
+ #ifndef RB_PASS_KEYWORDS
5
+ /* Only define macros on Ruby <2.7 */
6
+ #define rb_funcallv_kw(o, m, c, v, kw) rb_funcallv(o, m, c, v)
7
+ #define rb_funcallv_public_kw(o, m, c, v, kw) rb_funcallv_public(o, m, c, v)
8
+ #define rb_funcall_passing_block_kw(o, m, c, v, kw) rb_funcall_passing_block(o, m, c, v)
9
+ #define rb_funcall_with_block_kw(o, m, c, v, b, kw) rb_funcall_with_block(o, m, c, v, b)
10
+ #define rb_scan_args_kw(kw, c, v, s, ...) rb_scan_args(c, v, s, __VA_ARGS__)
11
+ #define rb_call_super_kw(c, v, kw) rb_call_super(c, v)
12
+ #define rb_yield_values_kw(c, v, kw) rb_yield_values2(c, v)
13
+ #define rb_yield_splat_kw(a, kw) rb_yield_splat(a)
14
+ #define rb_block_call_kw(o, m, c, v, f, p, kw) rb_block_call(o, m, c, v, f, p)
15
+ #define rb_fiber_resume_kw(o, c, v, kw) rb_fiber_resume(o, c, v)
16
+ #define rb_fiber_yield_kw(c, v, kw) rb_fiber_yield(c, v)
17
+ #define rb_enumeratorize_with_size_kw(o, m, c, v, f, kw) rb_enumeratorize_with_size(o, m, c, v, f)
18
+ #define SIZED_ENUMERATOR_KW(obj, argc, argv, size_fn, kw_splat) \
19
+ rb_enumeratorize_with_size((obj), ID2SYM(rb_frame_this_func()), \
20
+ (argc), (argv), (size_fn))
21
+ #define RETURN_SIZED_ENUMERATOR_KW(obj, argc, argv, size_fn, kw_splat) do { \
22
+ if (!rb_block_given_p()) \
23
+ return SIZED_ENUMERATOR(obj, argc, argv, size_fn); \
24
+ } while (0)
25
+ #define RETURN_ENUMERATOR_KW(obj, argc, argv, kw_splat) RETURN_SIZED_ENUMERATOR(obj, argc, argv, 0)
26
+ #define rb_check_funcall_kw(o, m, c, v, kw) rb_check_funcall(o, m, c, v)
27
+ #define rb_obj_call_init_kw(o, c, v, kw) rb_obj_call_init(o, c, v)
28
+ #define rb_class_new_instance_kw(c, v, k, kw) rb_class_new_instance(c, v, k)
29
+ #define rb_proc_call_kw(p, a, kw) rb_proc_call(p, a)
30
+ #define rb_proc_call_with_block_kw(p, c, v, b, kw) rb_proc_call_with_block(p, c, v, b)
31
+ #define rb_method_call_kw(c, v, m, kw) rb_method_call(c, v, m)
32
+ #define rb_method_call_with_block_kw(c, v, m, b, kw) rb_method_call_with_block(c, v, m, b)
33
+ #endif
34
+
35
+ #endif // RUBY_PRE27_H
data/lib/cglm/vec3.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module CGLM
2
2
  class Vec3 < VectorType
3
- def to_a
4
- [self[0], self[1], self[2]]
3
+ def size
4
+ 3
5
5
  end
6
6
 
7
7
  def inspect
data/lib/cglm/vec4.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module CGLM
2
2
  class Vec4 < VectorType
3
- def to_a
4
- [self[0], self[1], self[2], self[3]]
3
+ def size
4
+ 4
5
5
  end
6
6
 
7
7
  def inspect
@@ -13,5 +13,20 @@ module CGLM
13
13
  raise ArgumentError, 'initial values must be an Array, Quat, Vec3 or Vec4'
14
14
  end
15
15
  end
16
+
17
+ def to_enum
18
+ size = self.size
19
+ Enumerator.new(size) do |y|
20
+ size.times { |i| y << self[i] }
21
+ end
22
+ end
23
+
24
+ def each(&block)
25
+ to_enum.each(&block)
26
+ end
27
+
28
+ def to_a
29
+ to_enum.to_a
30
+ end
16
31
  end
17
32
  end
data/lib/cglm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CGLM
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cglm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin MacKenzie IV
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-18 00:00:00.000000000 Z
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake-compiler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description:
125
+ description:
126
126
  email:
127
127
  - sinisterchipmunk@gmail.com
128
128
  executables: []
@@ -141,6 +141,81 @@ files:
141
141
  - bin/console
142
142
  - bin/setup
143
143
  - cglm.gemspec
144
+ - ext/cglm/cglm-0.6.2/include/cglm/affine-mat.h
145
+ - ext/cglm/cglm-0.6.2/include/cglm/affine.h
146
+ - ext/cglm/cglm-0.6.2/include/cglm/applesimd.h
147
+ - ext/cglm/cglm-0.6.2/include/cglm/bezier.h
148
+ - ext/cglm/cglm-0.6.2/include/cglm/box.h
149
+ - ext/cglm/cglm-0.6.2/include/cglm/call.h
150
+ - ext/cglm/cglm-0.6.2/include/cglm/call/affine.h
151
+ - ext/cglm/cglm-0.6.2/include/cglm/call/bezier.h
152
+ - ext/cglm/cglm-0.6.2/include/cglm/call/box.h
153
+ - ext/cglm/cglm-0.6.2/include/cglm/call/cam.h
154
+ - ext/cglm/cglm-0.6.2/include/cglm/call/curve.h
155
+ - ext/cglm/cglm-0.6.2/include/cglm/call/ease.h
156
+ - ext/cglm/cglm-0.6.2/include/cglm/call/euler.h
157
+ - ext/cglm/cglm-0.6.2/include/cglm/call/frustum.h
158
+ - ext/cglm/cglm-0.6.2/include/cglm/call/io.h
159
+ - ext/cglm/cglm-0.6.2/include/cglm/call/mat3.h
160
+ - ext/cglm/cglm-0.6.2/include/cglm/call/mat4.h
161
+ - ext/cglm/cglm-0.6.2/include/cglm/call/plane.h
162
+ - ext/cglm/cglm-0.6.2/include/cglm/call/project.h
163
+ - ext/cglm/cglm-0.6.2/include/cglm/call/quat.h
164
+ - ext/cglm/cglm-0.6.2/include/cglm/call/sphere.h
165
+ - ext/cglm/cglm-0.6.2/include/cglm/call/vec3.h
166
+ - ext/cglm/cglm-0.6.2/include/cglm/call/vec4.h
167
+ - ext/cglm/cglm-0.6.2/include/cglm/cam.h
168
+ - ext/cglm/cglm-0.6.2/include/cglm/cglm.h
169
+ - ext/cglm/cglm-0.6.2/include/cglm/color.h
170
+ - ext/cglm/cglm-0.6.2/include/cglm/common.h
171
+ - ext/cglm/cglm-0.6.2/include/cglm/curve.h
172
+ - ext/cglm/cglm-0.6.2/include/cglm/ease.h
173
+ - ext/cglm/cglm-0.6.2/include/cglm/euler.h
174
+ - ext/cglm/cglm-0.6.2/include/cglm/frustum.h
175
+ - ext/cglm/cglm-0.6.2/include/cglm/io.h
176
+ - ext/cglm/cglm-0.6.2/include/cglm/mat3.h
177
+ - ext/cglm/cglm-0.6.2/include/cglm/mat4.h
178
+ - ext/cglm/cglm-0.6.2/include/cglm/plane.h
179
+ - ext/cglm/cglm-0.6.2/include/cglm/project.h
180
+ - ext/cglm/cglm-0.6.2/include/cglm/quat.h
181
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/arm.h
182
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/avx/affine.h
183
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/avx/mat4.h
184
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/intrin.h
185
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/neon/mat4.h
186
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/affine.h
187
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat3.h
188
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat4.h
189
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/quat.h
190
+ - ext/cglm/cglm-0.6.2/include/cglm/simd/x86.h
191
+ - ext/cglm/cglm-0.6.2/include/cglm/sphere.h
192
+ - ext/cglm/cglm-0.6.2/include/cglm/struct.h
193
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/affine.h
194
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/box.h
195
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/cam.h
196
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/color.h
197
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/curve.h
198
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/euler.h
199
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/frustum.h
200
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/io.h
201
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/mat3.h
202
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/mat4.h
203
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/plane.h
204
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/project.h
205
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/quat.h
206
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/sphere.h
207
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/vec3-ext.h
208
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/vec3.h
209
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/vec4-ext.h
210
+ - ext/cglm/cglm-0.6.2/include/cglm/struct/vec4.h
211
+ - ext/cglm/cglm-0.6.2/include/cglm/types-struct.h
212
+ - ext/cglm/cglm-0.6.2/include/cglm/types.h
213
+ - ext/cglm/cglm-0.6.2/include/cglm/util.h
214
+ - ext/cglm/cglm-0.6.2/include/cglm/vec3-ext.h
215
+ - ext/cglm/cglm-0.6.2/include/cglm/vec3.h
216
+ - ext/cglm/cglm-0.6.2/include/cglm/vec4-ext.h
217
+ - ext/cglm/cglm-0.6.2/include/cglm/vec4.h
218
+ - ext/cglm/cglm-0.6.2/include/cglm/version.h
144
219
  - ext/cglm/extconf.rb
145
220
  - ext/cglm/rb_cglm.c
146
221
  - ext/cglm/rb_cglm.h
@@ -159,6 +234,7 @@ files:
159
234
  - ext/cglm/rb_cglm_sphere.c
160
235
  - ext/cglm/rb_cglm_vec3.c
161
236
  - ext/cglm/rb_cglm_vec4.c
237
+ - ext/cglm/ruby_pre27.h
162
238
  - lib/cglm.rb
163
239
  - lib/cglm/aabb.rb
164
240
  - lib/cglm/base.rb
@@ -179,7 +255,7 @@ metadata:
179
255
  allowed_push_host: https://rubygems.org
180
256
  homepage_uri: https://github.com/sinisterchipmunk/cglm-ruby
181
257
  source_code_uri: https://github.com/sinisterchipmunk/cglm-ruby
182
- post_install_message:
258
+ post_install_message:
183
259
  rdoc_options: []
184
260
  require_paths:
185
261
  - lib
@@ -194,9 +270,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
270
  - !ruby/object:Gem::Version
195
271
  version: '0'
196
272
  requirements: []
197
- rubyforge_project:
198
- rubygems_version: 2.7.8
199
- signing_key:
273
+ rubygems_version: 3.3.7
274
+ signing_key:
200
275
  specification_version: 4
201
- summary: CGLM bindings for Ruby
276
+ summary: Ruby bindings for CGLM (https://github.com/recp/cglm), a high performance
277
+ math library for graphics applications.
202
278
  test_files: []