number 0.9.7 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: number
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.7
5
+ version: 0.9.9
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jesse Sielaff
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2011-07-27 00:00:00 Z
15
+ date: 2011-08-10 00:00:00 Z
16
16
  dependencies: []
17
17
 
18
18
  description: The Number gem is intended to be a drop-in replacement for Ruby's Numeric classes when arbitrary-precision complex interval calculations are warranted. The basis of the arbitrary-precision calculations is the GNU MP, MPFR, and MPC libraries.
@@ -20,21 +20,21 @@ email: jesse.sielaff@gmail.com
20
20
  executables: []
21
21
 
22
22
  extensions:
23
- - ext/extconf.rb
23
+ - ext/number/extconf.rb
24
24
  extra_rdoc_files: []
25
25
 
26
26
  files:
27
- - ext/bounds.c
28
- - ext/compare.c
29
- - ext/complex.c
30
- - ext/decompose.c
31
- - ext/extconf.rb
32
- - ext/interval.c
33
- - ext/number.c
34
- - ext/number.h
35
- - ext/real.c
36
- - ext/real_bounds.c
37
- - ext/round.c
27
+ - ext/number/bounds.c
28
+ - ext/number/compare.c
29
+ - ext/number/complex.c
30
+ - ext/number/decompose.c
31
+ - ext/number/extconf.rb
32
+ - ext/number/interval.c
33
+ - ext/number/number.c
34
+ - ext/number/number.h
35
+ - ext/number/real.c
36
+ - ext/number/real_bounds.c
37
+ - ext/number/round.c
38
38
  homepage:
39
39
  licenses: []
40
40
 
@@ -43,7 +43,6 @@ rdoc_options: []
43
43
 
44
44
  require_paths:
45
45
  - lib
46
- - ext
47
46
  required_ruby_version: !ruby/object:Gem::Requirement
48
47
  none: false
49
48
  requirements:
@@ -61,7 +60,7 @@ requirements:
61
60
  - MPFR
62
61
  - MPC
63
62
  rubyforge_project:
64
- rubygems_version: 1.8.1
63
+ rubygems_version: 1.8.7
65
64
  signing_key:
66
65
  specification_version: 3
67
66
  summary: An arbitrary-precision complex interval number library for Ruby.
data/ext/decompose.c DELETED
@@ -1,231 +0,0 @@
1
- #include "number.h"
2
-
3
- Complex* complex_im (Complex* complex)
4
- {
5
- return (Complex*)complex_new((Interval*)interval_dup(complex->im), (Interval*)interval_zero());
6
- }
7
-
8
- Complex* complex_im_l (Complex* complex)
9
- {
10
- return (Complex*)complex_from_real(complex->im->l);
11
- }
12
-
13
- Complex* complex_im_n (Complex* complex)
14
- {
15
- return (Complex*)complex_from_real(complex->im->n);
16
- }
17
-
18
- Complex* complex_im_u (Complex* complex)
19
- {
20
- return (Complex*)complex_from_real(complex->im->u);
21
- }
22
-
23
- Complex* complex_im_magnitude (Complex* complex)
24
- {
25
- Real* l_abs;
26
- Real* u_abs;
27
- Complex* result;
28
-
29
- l_abs = (Real*)real_abs(complex->im->l);
30
- u_abs = (Real*)real_abs(complex->im->u);
31
-
32
- result = (Complex*)complex_from_real(real_gt_p(l_abs, u_abs) ? l_abs : u_abs);
33
-
34
- real_free(l_abs);
35
- real_free(u_abs);
36
-
37
- return result;
38
- }
39
-
40
- Complex* complex_im_mignitude (Complex* complex)
41
- {
42
- Real* l_abs;
43
- Real* u_abs;
44
- Real* zero;
45
- Complex* result;
46
-
47
- l_abs = (Real*)real_abs(complex->im->l);
48
- u_abs = (Real*)real_abs(complex->im->u);
49
- zero = (Real*)real_zero();
50
-
51
- result = (Complex*)complex_from_real(interval_span_zero_p(complex->im) ? zero : (real_lt_p(l_abs, u_abs) ? l_abs : u_abs));
52
-
53
- real_free(l_abs);
54
- real_free(u_abs);
55
- real_free(zero);
56
-
57
- return result;
58
- }
59
-
60
- Complex* complex_im_width (Complex* complex)
61
- {
62
- Real* width;
63
- Complex* result;
64
-
65
- width = (Real*)real_subtract(complex->im->u, complex->im->l);
66
- result = (Complex*)complex_from_real(width);
67
-
68
- real_free(width);
69
-
70
- return result;
71
- }
72
-
73
- Complex* complex_re (Complex* complex)
74
- {
75
- return (Complex*)complex_new((Interval*)interval_dup(complex->re), (Interval*)interval_zero());
76
- }
77
-
78
- Complex* complex_re_l (Complex* complex)
79
- {
80
- return (Complex*)complex_from_real(complex->re->l);
81
- }
82
-
83
- Complex* complex_re_n (Complex* complex)
84
- {
85
- return (Complex*)complex_from_real(complex->re->n);
86
- }
87
-
88
- Complex* complex_re_u (Complex* complex)
89
- {
90
- return (Complex*)complex_from_real(complex->re->u);
91
- }
92
-
93
- Complex* complex_re_magnitude (Complex* complex)
94
- {
95
- Real* l_abs;
96
- Real* u_abs;
97
- Complex* result;
98
-
99
- l_abs = (Real*)real_abs(complex->re->l);
100
- u_abs = (Real*)real_abs(complex->re->u);
101
-
102
- result = (Complex*)complex_from_real(real_gt_p(l_abs, u_abs) ? l_abs : u_abs);
103
-
104
- real_free(l_abs);
105
- real_free(u_abs);
106
-
107
- return result;
108
- }
109
-
110
- Complex* complex_re_mignitude (Complex* complex)
111
- {
112
- Real* l_abs;
113
- Real* u_abs;
114
- Real* zero;
115
- Complex* result;
116
-
117
- l_abs = (Real*)real_abs(complex->re->l);
118
- u_abs = (Real*)real_abs(complex->re->u);
119
- zero = (Real*)real_zero();
120
-
121
- result = (Complex*)complex_from_real(interval_span_zero_p(complex->re) ? zero : (real_lt_p(l_abs, u_abs) ? l_abs : u_abs));
122
-
123
- real_free(l_abs);
124
- real_free(u_abs);
125
- real_free(zero);
126
-
127
- return result;
128
- }
129
-
130
- Complex* complex_re_width (Complex* complex)
131
- {
132
- Real* width;
133
- Complex* result;
134
-
135
- width = (Real*)real_subtract(complex->re->u, complex->re->l);
136
- result = (Complex*)complex_from_real(width);
137
-
138
- real_free(width);
139
-
140
- return result;
141
- }
142
-
143
- Complex* complex_ll (Complex* complex)
144
- {
145
- return (Complex*)complex_new((Interval*)interval_from_real(complex->re->l), (Interval*)interval_from_real(complex->im->l));
146
- }
147
-
148
- Complex* complex_lu (Complex* complex)
149
- {
150
- return (Complex*)complex_new((Interval*)interval_from_real(complex->re->l), (Interval*)interval_from_real(complex->im->u));
151
- }
152
-
153
- Complex* complex_n (Complex* complex)
154
- {
155
- return (Complex*)complex_new((Interval*)interval_from_real(complex->re->n), (Interval*)interval_from_real(complex->im->n));
156
- }
157
-
158
- Complex* complex_ul (Complex* complex)
159
- {
160
- return (Complex*)complex_new((Interval*)interval_from_real(complex->re->u), (Interval*)interval_from_real(complex->im->l));
161
- }
162
-
163
- Complex* complex_uu (Complex* complex)
164
- {
165
- return (Complex*)complex_new((Interval*)interval_from_real(complex->re->u), (Interval*)interval_from_real(complex->im->u));
166
- }
167
-
168
- Complex* complex_magnitude (Complex* complex)
169
- {
170
- Real* re_l_abs;
171
- Real* re_u_abs;
172
- Real* im_l_abs;
173
- Real* im_u_abs;
174
- Complex* result;
175
-
176
- re_l_abs = (Real*)real_abs(complex->re->l);
177
- re_u_abs = (Real*)real_abs(complex->re->u);
178
- im_l_abs = (Real*)real_abs(complex->im->l);
179
- im_u_abs = (Real*)real_abs(complex->im->u);
180
-
181
- result = (Complex*)complex_new((Interval*)interval_from_real(real_gt_p(re_l_abs, re_u_abs) ? re_l_abs : re_u_abs), (Interval*)interval_from_real(real_gt_p(im_l_abs, im_u_abs) ? im_l_abs : im_u_abs));
182
-
183
- real_free(re_l_abs);
184
- real_free(re_u_abs);
185
- real_free(im_l_abs);
186
- real_free(im_u_abs);
187
-
188
- return result;
189
- }
190
-
191
- Complex* complex_mignitude (Complex* complex)
192
- {
193
- Real* re_l_abs;
194
- Real* re_u_abs;
195
- Real* im_l_abs;
196
- Real* im_u_abs;
197
- Real* zero;
198
- Complex* result;
199
-
200
- re_l_abs = (Real*)real_abs(complex->re->l);
201
- re_u_abs = (Real*)real_abs(complex->re->u);
202
- im_l_abs = (Real*)real_abs(complex->im->l);
203
- im_u_abs = (Real*)real_abs(complex->im->u);
204
-
205
- zero = (Real*)real_zero();
206
- result = (Complex*)complex_new((Interval*)interval_from_real(interval_span_zero_p(complex->re) ? zero : (real_lt_p(re_l_abs, re_u_abs) ? re_l_abs : re_u_abs)), (Interval*)interval_from_real(interval_span_zero_p(complex->im) ? zero : (real_lt_p(im_l_abs, im_u_abs) ? im_l_abs : im_u_abs)));
207
-
208
- real_free(re_l_abs);
209
- real_free(re_u_abs);
210
- real_free(im_l_abs);
211
- real_free(im_u_abs);
212
- real_free(zero);
213
-
214
- return result;
215
- }
216
-
217
- Complex* complex_width (Complex* complex)
218
- {
219
- Real* re_width;
220
- Real* im_width;
221
- Complex* result;
222
-
223
- re_width = (Real*)real_subtract(complex->re->u, complex->re->l);
224
- im_width = (Real*)real_subtract(complex->im->u, complex->im->l);
225
- result = (Complex*)complex_new((Interval*)interval_from_real(re_width), (Interval*)interval_from_real(im_width));
226
-
227
- real_free(re_width);
228
- real_free(im_width);
229
-
230
- return result;
231
- }
data/ext/round.c DELETED
@@ -1,46 +0,0 @@
1
- #include "number.h"
2
-
3
- Complex* complex_round (Complex* complex)
4
- {
5
- return (Complex*)complex_new((Interval*)interval_round(complex->re), (Interval*)interval_round(complex->im));
6
- }
7
-
8
- Complex* complex_round_c_c (Complex* complex)
9
- {
10
- return (Complex*)complex_new((Interval*)interval_round_ceiling(complex->re), (Interval*)interval_round_ceiling(complex->im));
11
- }
12
-
13
- Complex* complex_round_c_f (Complex* complex)
14
- {
15
- return (Complex*)complex_new((Interval*)interval_round_floor(complex->re), (Interval*)interval_round_ceiling(complex->im));
16
- }
17
-
18
- Complex* complex_round_f_c (Complex* complex)
19
- {
20
- return (Complex*)complex_new((Interval*)interval_round_ceiling(complex->re), (Interval*)interval_round_floor(complex->im));
21
- }
22
-
23
- Complex* complex_round_f_f (Complex* complex)
24
- {
25
- return (Complex*)complex_new((Interval*)interval_round_floor(complex->re), (Interval*)interval_round_floor(complex->im));
26
- }
27
-
28
- Complex* complex_round_i_i (Complex* complex)
29
- {
30
- return (Complex*)complex_new((Interval*)interval_round_infinity(complex->re), (Interval*)interval_round_infinity(complex->im));
31
- }
32
-
33
- Complex* complex_round_i_o (Complex* complex)
34
- {
35
- return (Complex*)complex_new((Interval*)interval_round_infinity(complex->re), (Interval*)interval_round_origin(complex->im));
36
- }
37
-
38
- Complex* complex_round_o_i (Complex* complex)
39
- {
40
- return (Complex*)complex_new((Interval*)interval_round_origin(complex->re), (Interval*)interval_round_infinity(complex->im));
41
- }
42
-
43
- Complex* complex_round_o_o (Complex* complex)
44
- {
45
- return (Complex*)complex_new((Interval*)interval_round_origin(complex->re), (Interval*)interval_round_origin(complex->im));
46
- }