cglm 0.1.0 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/Gemfile.lock +18 -16
- data/README.md +2 -0
- data/cglm.gemspec +3 -3
- data/ext/cglm/cglm-0.6.2/include/cglm/affine-mat.h +168 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/affine.h +490 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/applesimd.h +95 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/bezier.h +154 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/box.h +279 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/affine.h +117 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/bezier.h +31 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/box.h +79 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/cam.h +143 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/curve.h +23 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/ease.h +143 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/euler.h +55 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/frustum.h +41 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/io.h +44 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/mat3.h +86 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/mat4.h +127 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/plane.h +23 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/project.h +33 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/quat.h +159 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/sphere.h +39 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/vec3.h +312 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call/vec4.h +290 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/call.h +36 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/cam.h +585 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/cglm.h +32 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/color.h +26 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/common.h +37 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/curve.h +40 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/ease.h +317 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/euler.h +453 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/frustum.h +255 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/io.h +203 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/mat3.h +422 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/mat4.h +726 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/plane.h +36 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/project.h +118 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/quat.h +828 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/arm.h +83 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/avx/affine.h +66 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/avx/mat4.h +66 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/intrin.h +90 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/neon/mat4.h +57 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/affine.h +111 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat3.h +59 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/mat4.h +405 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/sse2/quat.h +46 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/simd/x86.h +192 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/sphere.h +99 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/affine.h +337 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/box.h +256 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/cam.h +451 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/color.h +27 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/curve.h +40 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/euler.h +152 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/frustum.h +155 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/io.h +82 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/mat3.h +285 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/mat4.h +459 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/plane.h +40 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/project.h +104 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/quat.h +532 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/sphere.h +93 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec3-ext.h +257 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec3.h +970 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec4-ext.h +257 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct/vec4.h +814 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/struct.h +36 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/types-struct.h +129 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/types.h +76 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/util.h +328 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/vec3-ext.h +272 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/vec3.h +1078 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/vec4-ext.h +315 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/vec4.h +1078 -0
- data/ext/cglm/cglm-0.6.2/include/cglm/version.h +15 -0
- data/ext/cglm/extconf.rb +2 -3
- data/ext/cglm/rb_cglm.h +5 -3
- data/ext/cglm/rb_cglm_mat3.c +3 -3
- data/ext/cglm/rb_cglm_mat4.c +3 -3
- data/ext/cglm/rb_cglm_quat.c +2 -2
- data/ext/cglm/rb_cglm_vec3.c +63 -61
- data/ext/cglm/rb_cglm_vec4.c +2 -0
- data/ext/cglm/ruby_pre27.h +35 -0
- data/lib/cglm/vec3.rb +2 -2
- data/lib/cglm/vec4.rb +2 -2
- data/lib/cglm/vector_type.rb +15 -0
- data/lib/cglm/version.rb +1 -1
- 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
data/lib/cglm/vec4.rb
CHANGED
data/lib/cglm/vector_type.rb
CHANGED
@@ -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
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.
|
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:
|
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
|
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
|
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: '
|
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: '
|
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
|
-
|
198
|
-
|
199
|
-
signing_key:
|
273
|
+
rubygems_version: 3.3.7
|
274
|
+
signing_key:
|
200
275
|
specification_version: 4
|
201
|
-
summary:
|
276
|
+
summary: Ruby bindings for CGLM (https://github.com/recp/cglm), a high performance
|
277
|
+
math library for graphics applications.
|
202
278
|
test_files: []
|