numerix 1.0.0

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.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +5 -0
  4. data/.yardopts +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +66 -0
  9. data/Rakefile +18 -0
  10. data/TODO.txt +25 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/ext/numerix/common.h +107 -0
  14. data/ext/numerix/extconf.rb +3 -0
  15. data/ext/numerix/matrix3x2.c +638 -0
  16. data/ext/numerix/matrix3x2.h +52 -0
  17. data/ext/numerix/matrix4x4.c +1807 -0
  18. data/ext/numerix/matrix4x4.h +90 -0
  19. data/ext/numerix/matrix_base.c +307 -0
  20. data/ext/numerix/matrix_base.h +70 -0
  21. data/ext/numerix/numerix.c +33 -0
  22. data/ext/numerix/numerix.h +19 -0
  23. data/ext/numerix/plane.c +311 -0
  24. data/ext/numerix/plane.h +34 -0
  25. data/ext/numerix/quaternion.c +712 -0
  26. data/ext/numerix/quaternion.h +53 -0
  27. data/ext/numerix/structure.c +154 -0
  28. data/ext/numerix/structure.h +24 -0
  29. data/ext/numerix/vector.c +326 -0
  30. data/ext/numerix/vector.h +57 -0
  31. data/ext/numerix/vector2.c +641 -0
  32. data/ext/numerix/vector2.h +64 -0
  33. data/ext/numerix/vector3.c +805 -0
  34. data/ext/numerix/vector3.h +68 -0
  35. data/ext/numerix/vector4.c +727 -0
  36. data/ext/numerix/vector4.h +63 -0
  37. data/ext/numerix/vector_base.c +94 -0
  38. data/ext/numerix/vector_base.h +30 -0
  39. data/extra/numerix128.png +0 -0
  40. data/extra/numerix24.png +0 -0
  41. data/extra/numerix32.png +0 -0
  42. data/extra/numerix320.png +0 -0
  43. data/extra/numerix48.png +0 -0
  44. data/extra/numerix96.png +0 -0
  45. data/lib/numerix/error.rb +36 -0
  46. data/lib/numerix/matrix3x2.rb +420 -0
  47. data/lib/numerix/matrix4x4.rb +676 -0
  48. data/lib/numerix/matrix_base.rb +14 -0
  49. data/lib/numerix/plane.rb +154 -0
  50. data/lib/numerix/quaternion.rb +355 -0
  51. data/lib/numerix/structure.rb +124 -0
  52. data/lib/numerix/vector.rb +13 -0
  53. data/lib/numerix/vector2.rb +534 -0
  54. data/lib/numerix/vector3.rb +572 -0
  55. data/lib/numerix/vector4.rb +551 -0
  56. data/lib/numerix/vector_base.rb +14 -0
  57. data/lib/numerix/version.rb +6 -0
  58. data/lib/numerix.rb +10 -0
  59. data/numerix.gemspec +30 -0
  60. metadata +167 -0
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: numerix
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Eric Freed
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-08-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.0'
69
+ description: 'Numerix strives to make working with vectors more "Ruby-like", and far
70
+ exceeds Ruby''s built-in implementations many times over in regards to speed and
71
+ performance. Great care has been take to make the library "interop" friendly, where
72
+ each class can easily be passed as a "pointer" or binary string for interop with
73
+ native libraries, using Ruby''s Fiddle, FFI, or even Ruby''s legacy Win32API. Numerix
74
+ has been built from the ground-up for Ruby, not playing middle-man between Ruby
75
+ and an existing library, and is optimized specifically for it, with focus on speed
76
+ and a robust collection of functionality. '
77
+ email:
78
+ - efreed09@gmail.com
79
+ executables: []
80
+ extensions:
81
+ - ext/numerix/extconf.rb
82
+ extra_rdoc_files: []
83
+ files:
84
+ - ".gitignore"
85
+ - ".travis.yml"
86
+ - ".yardopts"
87
+ - CODE_OF_CONDUCT.md
88
+ - Gemfile
89
+ - LICENSE.txt
90
+ - README.md
91
+ - Rakefile
92
+ - TODO.txt
93
+ - bin/console
94
+ - bin/setup
95
+ - ext/numerix/common.h
96
+ - ext/numerix/extconf.rb
97
+ - ext/numerix/matrix3x2.c
98
+ - ext/numerix/matrix3x2.h
99
+ - ext/numerix/matrix4x4.c
100
+ - ext/numerix/matrix4x4.h
101
+ - ext/numerix/matrix_base.c
102
+ - ext/numerix/matrix_base.h
103
+ - ext/numerix/numerix.c
104
+ - ext/numerix/numerix.h
105
+ - ext/numerix/plane.c
106
+ - ext/numerix/plane.h
107
+ - ext/numerix/quaternion.c
108
+ - ext/numerix/quaternion.h
109
+ - ext/numerix/structure.c
110
+ - ext/numerix/structure.h
111
+ - ext/numerix/vector.c
112
+ - ext/numerix/vector.h
113
+ - ext/numerix/vector2.c
114
+ - ext/numerix/vector2.h
115
+ - ext/numerix/vector3.c
116
+ - ext/numerix/vector3.h
117
+ - ext/numerix/vector4.c
118
+ - ext/numerix/vector4.h
119
+ - ext/numerix/vector_base.c
120
+ - ext/numerix/vector_base.h
121
+ - extra/numerix128.png
122
+ - extra/numerix24.png
123
+ - extra/numerix32.png
124
+ - extra/numerix320.png
125
+ - extra/numerix48.png
126
+ - extra/numerix96.png
127
+ - lib/numerix.rb
128
+ - lib/numerix/error.rb
129
+ - lib/numerix/matrix3x2.rb
130
+ - lib/numerix/matrix4x4.rb
131
+ - lib/numerix/matrix_base.rb
132
+ - lib/numerix/plane.rb
133
+ - lib/numerix/quaternion.rb
134
+ - lib/numerix/structure.rb
135
+ - lib/numerix/vector.rb
136
+ - lib/numerix/vector2.rb
137
+ - lib/numerix/vector3.rb
138
+ - lib/numerix/vector4.rb
139
+ - lib/numerix/vector_base.rb
140
+ - lib/numerix/version.rb
141
+ - numerix.gemspec
142
+ homepage: https://github.com/ForeverZer0/numerix
143
+ licenses:
144
+ - MIT
145
+ metadata: {}
146
+ post_install_message:
147
+ rdoc_options: []
148
+ require_paths:
149
+ - lib
150
+ required_ruby_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ requirements: []
161
+ rubyforge_project:
162
+ rubygems_version: 2.6.14.1
163
+ signing_key:
164
+ specification_version: 4
165
+ summary: High performance vector and matrix C extension for fast vector math and simplified
166
+ interop.
167
+ test_files: []