numerix 1.0.0 → 1.0.1

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 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