numerix 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 466136197ebd04c9c5daeb6b6eafdcfebc5788e8
4
- data.tar.gz: 9c5162a141745a2c3a0ab1cb1429c2bcf563e317
3
+ metadata.gz: a5b5370fbec3e2235fbdee76d9be6e776e60215d
4
+ data.tar.gz: cf38d0e5d2e9903af8d76a8035982271191b027c
5
5
  SHA512:
6
- metadata.gz: 7e69b9ab91b0787cd16bfaf2e379e0e0648e6efac52681986b80b81e58921d70f9b350274c0e18e1ea464576c407705f6d80b8421216487b7d0a1689a17b9642
7
- data.tar.gz: 037dabaa658ae2d6a286ff1de482071afae69f915f8cb8bf5b1ff6a25aeed0fbc4824d5054a41c789a819c2e834959ba91a3a12e6e8adc6f35d9166e67bd196b
6
+ metadata.gz: d19e9becfcc9f08d687828c347293fc81a7939ccf0cdc6a309a6b7ea24a63f4a52d970461a2e499da5e73362fb478674aac6b0832840ff9b819104074798b154
7
+ data.tar.gz: f2b6b4dc6eee4bbb845b86f52679cc249dc7a42fecd25e4083b412274d2440adedf2e5c3bb8577bc3e988d50c1aecbf3b76b41690dd562077dfcf0d0bb056e26
@@ -0,0 +1,12 @@
1
+ # CHANGELOG
2
+
3
+ ## Version 1.0.1
4
+
5
+ ### Bugfixes
6
+
7
+ * Fixed build error caused by missing definition for `FLT_EPSILON` on some compilers
8
+ * Fixed build error caused by different pointer types between `int` and `long`
9
+
10
+ ## Version 1.0.0
11
+
12
+ * Initial Release
@@ -18,6 +18,10 @@
18
18
 
19
19
  #define CLASS_NAME(obj) rb_class2name(CLASS_OF(obj))
20
20
 
21
+ #ifndef FLT_EPSILON
22
+ #define FLT_EPSILON 1.19209290E-07F
23
+ #endif
24
+
21
25
  #define FLT_EQUAL(a, b) fabsf(a - b) < FLT_EPSILON
22
26
 
23
27
  #define PRIVATE_CLASS_METHOD(klass, methodName) rb_funcall(klass, rb_intern("private_class_method"), 1, ID2SYM(rb_intern(methodName)))
@@ -277,7 +277,6 @@ VALUE rb_matrix3x2_column(VALUE self, VALUE column) {
277
277
 
278
278
  VALUE rb_matrix3x2_map(VALUE self) {
279
279
  const int count = 6;
280
- RETURN_SIZED_ENUMERATOR(self, 0, 0, count);
281
280
 
282
281
  struct RData *rdata = RDATA(self);
283
282
  float *flt = (float *)rdata->data;
@@ -291,7 +290,6 @@ VALUE rb_matrix3x2_map(VALUE self) {
291
290
 
292
291
  VALUE rb_matrix3x2_map_bang(VALUE self) {
293
292
  const int count = 6;
294
- RETURN_SIZED_ENUMERATOR(self, 0, 0, count);
295
293
 
296
294
  float *flt = (float *)RDATA(self)->data;
297
295
  for (int i = 0; i < count; i++)
@@ -230,7 +230,7 @@ VALUE rb_basic_vector_address(VALUE self) {
230
230
  #if (SIZEOF_INTPTR_T == 4)
231
231
  return LONG2NUM((long)v->values);
232
232
  #elif (SIZEOF_INTPTR_T == 8)
233
- return LL2NUM((long long)v->values)
233
+ return LL2NUM((long long)v->values);
234
234
  #else
235
235
  return INT2NUM(0);
236
236
  #endif
@@ -262,7 +262,7 @@ VALUE rb_basic_vector_aset(VALUE self, VALUE index, VALUE value) {
262
262
 
263
263
  VALUE rb_basic_vector_each(VALUE self) {
264
264
  BASIC_VECTOR();
265
- int count = v->count;
265
+ long int count = v->count;
266
266
 
267
267
  volatile VALUE vector = self;
268
268
  RETURN_SIZED_ENUMERATOR(vector, 0, 0, count);
@@ -7,4 +7,5 @@ require_relative 'numerix/numerix'
7
7
  # @author Eric "ForeverZer0" Freed
8
8
  module Numerix
9
9
 
10
+
10
11
  end
@@ -2,5 +2,5 @@ module Numerix
2
2
 
3
3
  ##
4
4
  # Current gem version of Numerix
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
  end
@@ -8,7 +8,6 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Numerix::VERSION
9
9
  spec.authors = ["Eric Freed"]
10
10
  spec.email = ["efreed09@gmail.com"]
11
-
12
11
  spec.summary = %q{High performance vector and matrix C extension for fast vector math and simplified interop.}
13
12
  spec.description = %q{Numerix strives to make working with vectors more "Ruby-like", and far exceeds Ruby's built-in implementations many times over in regards to speed and performance. Great care has been take to make the library "interop" friendly, where each class can easily be passed as a "pointer" or binary string for interop with native libraries, using Ruby's Fiddle, FFI, or even Ruby's legacy Win32API. Numerix has been built from the ground-up for Ruby, not playing middle-man between Ruby and an existing library, and is optimized specifically for it, with focus on speed and a robust collection of functionality. }
14
13
  spec.homepage = "https://github.com/ForeverZer0/numerix"
@@ -23,6 +22,8 @@ Gem::Specification.new do |spec|
23
22
  spec.require_paths = ["lib"]
24
23
  spec.extensions = ["ext/numerix/extconf.rb"]
25
24
 
25
+ spec.required_ruby_version = '>= 1.8.7'
26
+
26
27
  spec.add_development_dependency "bundler", "~> 1.16"
27
28
  spec.add_development_dependency "rake", "~> 10.0"
28
29
  spec.add_development_dependency "rake-compiler", '~> 0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numerix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Freed
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-06 00:00:00.000000000 Z
11
+ date: 2018-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,12 +84,12 @@ files:
84
84
  - ".gitignore"
85
85
  - ".travis.yml"
86
86
  - ".yardopts"
87
+ - CHANGELOG.md
87
88
  - CODE_OF_CONDUCT.md
88
89
  - Gemfile
89
90
  - LICENSE.txt
90
91
  - README.md
91
92
  - Rakefile
92
- - TODO.txt
93
93
  - bin/console
94
94
  - bin/setup
95
95
  - ext/numerix/common.h
@@ -151,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
- version: '0'
154
+ version: 1.8.7
155
155
  required_rubygems_version: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
data/TODO.txt DELETED
@@ -1,25 +0,0 @@
1
-
2
-
3
- fix equality checking (consistent)
4
-
5
-
6
- coerce Ruby Vector, Matrix, Pointer, etc
7
-
8
-
9
- DOCUMENTE ** function in matrix classes !!!!!!!!!!!
10
-
11
- MOVE ** from VectorBase to individual vector classes and document
12
-
13
- [equiv, self]
14
-
15
-
16
- RANGE ERRORS IN MATRIX CLASS(ES)
17
-
18
-
19
- //////////////// PLANE /////////////////////////////
20
- // to_a, to_h
21
- // to_vec4
22
- // normalize, !
23
- // dot
24
- // dot_coord
25
- // dot_normal