number 0.9.7 → 0.9.9

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.
File without changes
@@ -78,7 +78,7 @@ int interval_span_zero_p (Interval* interval)
78
78
  int result;
79
79
  Real* zero;
80
80
 
81
- zero = (Real*)real_zero();
81
+ zero = real_zero();
82
82
  result = interval_span_p(interval, zero);
83
83
 
84
84
  real_free(zero);
@@ -94,7 +94,7 @@ int interval_zero_p (Interval* interval)
94
94
  int result;
95
95
  Real* zero;
96
96
 
97
- zero = (Real*)real_zero();
97
+ zero = real_zero();
98
98
  result = real_eq_p(interval->l, zero) && real_eq_p(interval->u, zero);
99
99
 
100
100
  real_free(zero);
@@ -120,7 +120,7 @@ int interval_degenerate_p (Interval* interval)
120
120
  Interval* interval_new (Real* l, int L, Real* n, int R, Real* u)
121
121
  {
122
122
  Interval* interval;
123
- interval = (Interval*)malloc(sizeof(Interval));
123
+ interval = malloc(sizeof(Interval));
124
124
 
125
125
  if (interval == NULL)
126
126
  {
@@ -131,9 +131,9 @@ Interval* interval_new (Real* l, int L, Real* n, int R, Real* u)
131
131
 
132
132
  if (NaN(l) || NaN(n) || NaN(u))
133
133
  {
134
- interval->n = (Real*)real_nan();
135
- interval->l = (Real*)real_neg_inf();
136
- interval->u = (Real*)real_pos_inf();
134
+ interval->n = real_nan();
135
+ interval->l = real_neg_inf();
136
+ interval->u = real_pos_inf();
137
137
 
138
138
  interval->L = true;
139
139
  interval->R = true;
@@ -144,12 +144,12 @@ Interval* interval_new (Real* l, int L, Real* n, int R, Real* u)
144
144
  }
145
145
  else
146
146
  {
147
- interval->n = (Real*)n;
148
- interval->l = (Real*)l;
149
- interval->u = (Real*)u;
147
+ interval->n = n;
148
+ interval->l = l;
149
+ interval->u = u;
150
150
 
151
- interval->L = real_eq_p(interval->l, interval->u) || real_eq_p(interval->n, interval->l) || L;
152
- interval->R = real_eq_p(interval->l, interval->u) || real_eq_p(interval->n, interval->u) || R;
151
+ interval->L = (real_eq_p(l, u) || real_eq_p(n, l) || L);
152
+ interval->R = (real_eq_p(l, u) || real_eq_p(n, u) || R);
153
153
  }
154
154
 
155
155
  return interval;
@@ -162,7 +162,7 @@ Interval* interval_new (Real* l, int L, Real* n, int R, Real* u)
162
162
  */
163
163
  Interval* interval_from_real (Real* real)
164
164
  {
165
- return interval_new((Real*)real_dup(real), true, (Real*)real_dup(real), true, (Real*)real_dup(real));
165
+ return interval_new(real_dup(real), true, real_dup(real), true, real_dup(real));
166
166
  }
167
167
 
168
168
  /*
@@ -170,7 +170,7 @@ Interval* interval_from_real (Real* real)
170
170
  */
171
171
  Interval* interval_nan ()
172
172
  {
173
- return interval_new((Real*)real_neg_inf(), true, (Real*)real_nan(), true, (Real*)real_pos_inf());
173
+ return interval_new(real_neg_inf(), true, real_nan(), true, real_pos_inf());
174
174
  }
175
175
 
176
176
  /*
@@ -178,7 +178,7 @@ Interval* interval_nan ()
178
178
  */
179
179
  Interval* interval_pos_inf ()
180
180
  {
181
- return interval_new((Real*)real_pos_inf(), true, (Real*)real_pos_inf(), true, (Real*)real_pos_inf());
181
+ return interval_new(real_pos_inf(), true, real_pos_inf(), true, real_pos_inf());
182
182
  }
183
183
 
184
184
  /*
@@ -186,7 +186,7 @@ Interval* interval_pos_inf ()
186
186
  */
187
187
  Interval* interval_neg_inf ()
188
188
  {
189
- return interval_new((Real*)real_neg_inf(), true, (Real*)real_neg_inf(), true, (Real*)real_neg_inf());
189
+ return interval_new(real_neg_inf(), true, real_neg_inf(), true, real_neg_inf());
190
190
  }
191
191
 
192
192
  /*
@@ -194,7 +194,7 @@ Interval* interval_neg_inf ()
194
194
  */
195
195
  Interval* interval_zero ()
196
196
  {
197
- return interval_new((Real*)real_zero(), true, (Real*)real_zero(), true, (Real*)real_zero());
197
+ return interval_new(real_zero(), true, real_zero(), true, real_zero());
198
198
  }
199
199
 
200
200
  /*
@@ -202,7 +202,7 @@ Interval* interval_zero ()
202
202
  */
203
203
  Interval* interval_one ()
204
204
  {
205
- return interval_new((Real*)real_one(), true, (Real*)real_one(), true, (Real*)real_one());
205
+ return interval_new(real_one(), true, real_one(), true, real_one());
206
206
  }
207
207
 
208
208
  /*
@@ -211,7 +211,7 @@ Interval* interval_one ()
211
211
  */
212
212
  Interval* interval_pi ()
213
213
  {
214
- return (Interval*)interval_new((Real*)real_pi(ROUND_DOWN), false, (Real*)real_pi(ROUND_NEAREST), false, (Real*)real_pi(ROUND_UP1));
214
+ return interval_new(real_pi(ROUND_DOWN), false, real_pi(ROUND_NEAREST), false, real_pi(ROUND_UP1));
215
215
  }
216
216
 
217
217
  /*
@@ -220,7 +220,7 @@ Interval* interval_pi ()
220
220
  */
221
221
  Interval* interval_e ()
222
222
  {
223
- return (Interval*)interval_new((Real*)real_e(ROUND_DOWN), false, (Real*)real_e(ROUND_NEAREST), false, (Real*)real_e(ROUND_UP1));
223
+ return interval_new(real_e(ROUND_DOWN), false, real_e(ROUND_NEAREST), false, real_e(ROUND_UP1));
224
224
  }
225
225
 
226
226
  /*
@@ -229,7 +229,7 @@ Interval* interval_e ()
229
229
  */
230
230
  Interval* interval_dup (Interval* interval)
231
231
  {
232
- return interval_new((Real*)real_dup(interval->l), interval->L, (Real*)real_dup(interval->n), interval->R, (Real*)real_dup(interval->u));
232
+ return interval_new(real_dup(interval->l), interval->L, real_dup(interval->n), interval->R, real_dup(interval->u));
233
233
  }
234
234
 
235
235
  /*
@@ -243,12 +243,12 @@ Interval* interval_add (Interval* a, Interval* b)
243
243
  Real* l;
244
244
  Real* u;
245
245
 
246
- n = (Real*)real_add(a->n, b->n);
247
- l = (Real*)real_add(a->l, b->l);
248
- u = (Real*)real_add(a->u, b->u);
246
+ n = real_add(a->n, b->n);
247
+ l = real_add(a->l, b->l);
248
+ u = real_add(a->u, b->u);
249
249
 
250
- L = a->L && b->L;
251
- R = a->R && b->R;
250
+ L = (a->L && b->L);
251
+ R = (a->R && b->R);
252
252
 
253
253
  return interval_new(l, L, n, R, u);
254
254
  }
@@ -264,12 +264,12 @@ Interval* interval_subtract (Interval* a, Interval* b)
264
264
  Real* l;
265
265
  Real* u;
266
266
 
267
- n = (Real*)real_subtract(a->n, b->n);
268
- l = (Real*)real_subtract(a->l, b->u);
269
- u = (Real*)real_subtract(a->u, b->l);
267
+ n = real_subtract(a->n, b->n);
268
+ l = real_subtract(a->l, b->u);
269
+ u = real_subtract(a->u, b->l);
270
270
 
271
- L = a->L && b->R;
272
- R = a->R && b->L;
271
+ L = (a->L && b->R);
272
+ R = (a->R && b->L);
273
273
 
274
274
  return interval_new(l, L, n, R, u);
275
275
  }
@@ -285,20 +285,19 @@ Interval* interval_multiply (Interval* a, Interval* b)
285
285
  Real* l;
286
286
  Real* u;
287
287
  RealBounds* bounds;
288
- Interval* interval;
289
288
 
290
- bounds = (RealBounds*)real_bounds_new();
291
- real_bounds_update(bounds, (Real*)real_multiply(a->l, b->l), a->L && b->L);
292
- real_bounds_update(bounds, (Real*)real_multiply(a->l, b->u), a->L && b->R);
293
- real_bounds_update(bounds, (Real*)real_multiply(a->u, b->l), a->R && b->L);
294
- real_bounds_update(bounds, (Real*)real_multiply(a->u, b->u), a->R && b->R);
289
+ bounds = real_bounds_new();
290
+ real_bounds_update(bounds, real_multiply(a->l, b->l), (a->L && b->L));
291
+ real_bounds_update(bounds, real_multiply(a->l, b->u), (a->L && b->R));
292
+ real_bounds_update(bounds, real_multiply(a->u, b->l), (a->R && b->L));
293
+ real_bounds_update(bounds, real_multiply(a->u, b->u), (a->R && b->R));
295
294
 
296
- L = bounds->min_closed;
297
- R = bounds->max_closed;
295
+ L = (bounds->min_closed);
296
+ R = (bounds->max_closed);
298
297
 
299
- n = (Real*)real_multiply(a->n, b->n);
300
- l = (Real*)real_dup(bounds->min);
301
- u = (Real*)real_dup(bounds->max);
298
+ n = real_multiply(a->n, b->n);
299
+ l = real_dup(bounds->min);
300
+ u = real_dup(bounds->max);
302
301
 
303
302
  real_bounds_free(bounds);
304
303
 
@@ -316,24 +315,23 @@ Interval* interval_divide (Interval* a, Interval* b)
316
315
  Real* l;
317
316
  Real* u;
318
317
  RealBounds* bounds;
319
- Interval* interval;
320
318
 
321
- bounds = (RealBounds*)real_bounds_new();
322
- real_bounds_update(bounds, (Real*)real_divide(a->l, b->l, ROUND_DOWN), a->L && b->L);
323
- real_bounds_update(bounds, (Real*)real_divide(a->l, b->u, ROUND_DOWN), a->L && b->R);
324
- real_bounds_update(bounds, (Real*)real_divide(a->u, b->l, ROUND_DOWN), a->R && b->L);
325
- real_bounds_update(bounds, (Real*)real_divide(a->u, b->u, ROUND_DOWN), a->R && b->R);
326
- real_bounds_update(bounds, (Real*)real_divide(a->l, b->l, ROUND_UP), a->L && b->L);
327
- real_bounds_update(bounds, (Real*)real_divide(a->l, b->u, ROUND_UP), a->L && b->R);
328
- real_bounds_update(bounds, (Real*)real_divide(a->u, b->l, ROUND_UP), a->R && b->L);
329
- real_bounds_update(bounds, (Real*)real_divide(a->u, b->u, ROUND_UP), a->R && b->R);
319
+ bounds = real_bounds_new();
320
+ real_bounds_update(bounds, real_divide(a->l, b->l, ROUND_DOWN), (a->L && b->L));
321
+ real_bounds_update(bounds, real_divide(a->l, b->u, ROUND_DOWN), (a->L && b->R));
322
+ real_bounds_update(bounds, real_divide(a->u, b->l, ROUND_DOWN), (a->R && b->L));
323
+ real_bounds_update(bounds, real_divide(a->u, b->u, ROUND_DOWN), (a->R && b->R));
324
+ real_bounds_update(bounds, real_divide(a->l, b->l, ROUND_UP), (a->L && b->L));
325
+ real_bounds_update(bounds, real_divide(a->l, b->u, ROUND_UP), (a->L && b->R));
326
+ real_bounds_update(bounds, real_divide(a->u, b->l, ROUND_UP), (a->R && b->L));
327
+ real_bounds_update(bounds, real_divide(a->u, b->u, ROUND_UP), (a->R && b->R));
330
328
 
331
- L = bounds->min_closed;
332
- R = bounds->max_closed;
329
+ L = (bounds->min_closed);
330
+ R = (bounds->max_closed);
333
331
 
334
- n = (Real*)real_divide(a->n, b->n, ROUND_NEAREST);
335
- l = (Real*)real_dup(bounds->min);
336
- u = (Real*)real_dup(bounds->max);
332
+ n = real_divide(a->n, b->n, ROUND_NEAREST);
333
+ l = real_dup(bounds->min);
334
+ u = real_dup(bounds->max);
337
335
 
338
336
  real_bounds_free(bounds);
339
337
 
@@ -345,7 +343,7 @@ Interval* interval_divide (Interval* a, Interval* b)
345
343
  */
346
344
  Interval* interval_negate (Interval* interval)
347
345
  {
348
- return interval_new((Real*)real_negate(interval->u), interval->R, (Real*)real_negate(interval->n), interval->L, (Real*)real_negate(interval->l));
346
+ return interval_new(real_negate(interval->u), interval->R, real_negate(interval->n), interval->L, real_negate(interval->l));
349
347
  }
350
348
 
351
349
  /*
@@ -354,7 +352,7 @@ Interval* interval_negate (Interval* interval)
354
352
  */
355
353
  Interval* interval_round (Interval* interval)
356
354
  {
357
- return interval_new((Real*)real_round(interval->l), true, (Real*)real_round(interval->n), true, (Real*)real_round(interval->u));
355
+ return interval_new(real_round(interval->l), true, real_round(interval->n), true, real_round(interval->u));
358
356
  }
359
357
 
360
358
  /*
@@ -364,7 +362,7 @@ Interval* interval_round (Interval* interval)
364
362
  */
365
363
  Interval* interval_round_ceiling (Interval* interval)
366
364
  {
367
- return interval_new((Real*)real_ceil(interval->l), true, (Real*)real_ceil(interval->n), true, (Real*)real_ceil(interval->u));
365
+ return interval_new(real_ceil(interval->l), true, real_ceil(interval->n), true, real_ceil(interval->u));
368
366
  }
369
367
 
370
368
  /*
@@ -374,7 +372,7 @@ Interval* interval_round_ceiling (Interval* interval)
374
372
  */
375
373
  Interval* interval_round_floor (Interval* interval)
376
374
  {
377
- return interval_new((Real*)real_floor(interval->l), true, (Real*)real_floor(interval->n), true, (Real*)real_floor(interval->u));
375
+ return interval_new(real_floor(interval->l), true, real_floor(interval->n), true, real_floor(interval->u));
378
376
  }
379
377
 
380
378
  /*
@@ -384,7 +382,7 @@ Interval* interval_round_floor (Interval* interval)
384
382
  */
385
383
  Interval* interval_round_infinity (Interval* interval)
386
384
  {
387
- return interval_new((Real*)real_round_infinity(interval->l), true, (Real*)real_round_infinity(interval->n), true, (Real*)real_round_infinity(interval->u));
385
+ return interval_new(real_round_infinity(interval->l), true, real_round_infinity(interval->n), true, real_round_infinity(interval->u));
388
386
  }
389
387
 
390
388
  /*
@@ -394,5 +392,5 @@ Interval* interval_round_infinity (Interval* interval)
394
392
  */
395
393
  Interval* interval_round_origin (Interval* interval)
396
394
  {
397
- return interval_new((Real*)real_round_origin(interval->l), true, (Real*)real_round_origin(interval->n), true, (Real*)real_round_origin(interval->u));
395
+ return interval_new(real_round_origin(interval->l), true, real_round_origin(interval->n), true, real_round_origin(interval->u));
398
396
  }
@@ -6,14 +6,14 @@ VALUE rb_cNumber;
6
6
  VALUE rb_NilClass_to_number (VALUE nil)
7
7
  {
8
8
  VALUE result = rb_obj_alloc(rb_cNumber);
9
- DATA_PTR(result) = (Complex*)complex_nan();
9
+ DATA_PTR(result) = complex_nan();
10
10
 
11
11
  return result;
12
12
  }
13
13
 
14
14
  VALUE rb_String_to_number (VALUE str)
15
15
  {
16
- VALUE complex_regex = rb_enc_reg_new("^(.*[^\\s]+)\\s*\\+\\s*(.*)i$", strlen("^(.*[^\\s]+)\\s*\\+\\s*(.*)i$"), rb_utf8_encoding(), 0);
16
+ VALUE complex_regex = rb_reg_new_str(rb_enc_str_new("^(.*[^\\s]+)\\s*\\+\\s*(.*)i$", strlen("^(.*[^\\s]+)\\s*\\+\\s*(.*)i$"), rb_utf8_encoding()), 0);
17
17
  VALUE complex_match = rb_funcall(complex_regex, rb_intern("match"), 1, str);
18
18
 
19
19
  if (RTEST(complex_match))
@@ -23,7 +23,7 @@ VALUE rb_String_to_number (VALUE str)
23
23
  }
24
24
  else
25
25
  {
26
- VALUE interval_regex = rb_enc_reg_new("^\\[(.*[^\\s]+)\\s*([<≤])\\s*\\((.*[^\\s]+)\\)\\s*([<≤])\\s*(.*[^\\s]+)\\]$", strlen("^\\[(.*[^\\s]+)\\s*([<≤])\\s*\\((.*[^\\s]+)\\)\\s*([<≤])\\s*(.*[^\\s]+)\\]$"), rb_utf8_encoding(), 0);
26
+ VALUE interval_regex = rb_reg_new_str(rb_enc_str_new("^\\[(.*[^\\s]+)\\s*([<≤])\\s*\\((.*[^\\s]+)\\)\\s*([<≤])\\s*(.*[^\\s]+)\\]$", strlen("^\\[(.*[^\\s]+)\\s*([<≤])\\s*\\((.*[^\\s]+)\\)\\s*([<≤])\\s*(.*[^\\s]+)\\]$"), rb_utf8_encoding()), 0);
27
27
  VALUE interval_match = rb_funcall(interval_regex, rb_intern("match"), 1, str);
28
28
 
29
29
  if (RTEST(interval_match))
@@ -33,44 +33,45 @@ VALUE rb_String_to_number (VALUE str)
33
33
  }
34
34
  else
35
35
  {
36
- VALUE real_regex = rb_enc_reg_new("^([+-]?[0-9]+):([+-]?[0-9]+)$", strlen("^([+-]?[0-9]+):([+-]?[0-9]+)$"), rb_utf8_encoding(), 0);
36
+ VALUE real_regex = rb_reg_new_str(rb_enc_str_new("^([+-]?[0-9]+):([+-]?[0-9]+)$", strlen("^([+-]?[0-9]+):([+-]?[0-9]+)$"), rb_utf8_encoding()), 0);
37
37
  VALUE real_match = rb_funcall(real_regex, rb_intern("match"), 1, str);
38
38
 
39
39
  if (RTEST(real_match))
40
40
  {
41
41
  VALUE real_captures = rb_funcall(real_match, rb_intern("captures"), 0);
42
42
  VALUE result = rb_obj_alloc(rb_cNumber);
43
- Real* real = (Real*)real_from_str(RSTRING_PTR(RARRAY_PTR(real_captures)[0]), NUM2LONG(rb_funcall(RARRAY_PTR(real_captures)[1], rb_intern("to_i"), 0)));
43
+ VALUE integer = rb_funcall(RARRAY_PTR(real_captures)[1], rb_intern("to_i"), 0);
44
+ Real* real = real_from_str((char*)RSTRING_PTR(RARRAY_PTR(real_captures)[0]), NUM2LONG(integer));
44
45
 
45
- DATA_PTR(result) = (Complex*)complex_from_real(real);
46
+ DATA_PTR(result) = complex_from_real(real);
46
47
  real_free(real);
47
48
 
48
49
  return result;
49
50
  }
50
- else if ((long)RSTRING_PTR(str)[0] == -61)
51
+ else if (RSTRING_PTR(str)[0] == -61)
51
52
  {
52
53
  VALUE result = rb_obj_alloc(rb_cNumber);
53
- DATA_PTR(result) = (Complex*)complex_nan();
54
+ DATA_PTR(result) = complex_nan();
54
55
 
55
56
  return result;
56
57
  }
57
- else if ((long)RSTRING_PTR(str)[0] == -30)
58
+ else if (RSTRING_PTR(str)[0] == -30)
58
59
  {
59
60
  VALUE result = rb_obj_alloc(rb_cNumber);
60
- DATA_PTR(result) = (Complex*)complex_pos_inf();
61
+ DATA_PTR(result) = complex_pos_inf();
61
62
 
62
63
  return result;
63
64
  }
64
- else if (((long)RSTRING_PTR(str)[0] == 43 || (long)RSTRING_PTR(str)[0] == 45) && (long)RSTRING_PTR(str)[1] == -30)
65
+ else if ((RSTRING_PTR(str)[0] == 43 || RSTRING_PTR(str)[0] == 45) && RSTRING_PTR(str)[1] == -30)
65
66
  {
66
67
  VALUE result = rb_obj_alloc(rb_cNumber);
67
- DATA_PTR(result) = ((long)RSTRING_PTR(str)[0] == 43) ? (Complex*)complex_pos_inf() : (Complex*)complex_neg_inf();
68
+ DATA_PTR(result) = (RSTRING_PTR(str)[0] == 43) ? complex_pos_inf() : complex_neg_inf();
68
69
 
69
70
  return result;
70
71
  }
71
72
  else
72
73
  {
73
- VALUE integer_regex = rb_enc_reg_new("^([+-]?[0-9]+)$", strlen("^([+-]?[0-9]+)$"), rb_utf8_encoding(), 0);
74
+ VALUE integer_regex = rb_reg_new_str(rb_enc_str_new("^([+-]?[0-9]+)$", strlen("^([+-]?[0-9]+)$"), rb_utf8_encoding()), 0);
74
75
  VALUE integer_match = rb_funcall(integer_regex, rb_intern("match"), 1, str);
75
76
 
76
77
  if (RTEST(integer_match))
@@ -92,7 +93,8 @@ VALUE rb_String_to_number (VALUE str)
92
93
  VALUE rb_Integer_to_number (VALUE integer)
93
94
  {
94
95
  VALUE result = rb_obj_alloc(rb_cNumber);
95
- DATA_PTR(result) = (Complex*)complex_from_int_str(RSTRING_PTR(rb_funcall(integer, rb_intern("to_s"), 0)));
96
+ VALUE str = rb_funcall(integer, rb_intern("to_s"), 0);
97
+ DATA_PTR(result) = complex_from_int_str((char*)RSTRING_PTR(str));
96
98
 
97
99
  return result;
98
100
  }
@@ -100,7 +102,9 @@ VALUE rb_Integer_to_number (VALUE integer)
100
102
  VALUE rb_Float_to_number (VALUE flo)
101
103
  {
102
104
  VALUE result = rb_obj_alloc(rb_cNumber);
103
- DATA_PTR(result) = (Complex*)complex_from_float_str(RSTRING_PTR(rb_funcall(rb_str_new2("%.15e"), rb_intern("%"), 1, flo)));
105
+ VALUE str = rb_funcall(rb_str_new2("%.15e"), rb_intern("%"), 1, flo);
106
+
107
+ DATA_PTR(result) = complex_from_float_str((char*)RSTRING_PTR(str));
104
108
 
105
109
  return result;
106
110
  }
@@ -110,11 +114,11 @@ VALUE rb_Complex_to_number (VALUE complex)
110
114
  Complex* re;
111
115
  Complex* im;
112
116
 
113
- re = (Complex*)DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("real"), 0), T_DATA, "Number", "to_number"));
114
- im = (Complex*)DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("imag"), 0), T_DATA, "Number", "to_number"));
117
+ re = DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("real"), 0), T_DATA, "Number", "to_number"));
118
+ im = DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("imag"), 0), T_DATA, "Number", "to_number"));
115
119
 
116
120
  VALUE result = rb_obj_alloc(rb_cNumber);
117
- DATA_PTR(result) = (Complex*)complex_new((Interval*)interval_dup(re->re), (Interval*)interval_dup(im->re));
121
+ DATA_PTR(result) = complex_new(interval_dup(re->re), interval_dup(im->re));
118
122
 
119
123
  return result;
120
124
  }
@@ -140,25 +144,25 @@ VALUE rb_f_Number (int argc, VALUE* argv, VALUE obj)
140
144
  {
141
145
  case 1:
142
146
  tmp_A = rb_convert_type(arg1, T_DATA, "Number", "to_number");
143
- tmp1 = (Complex*)DATA_PTR(tmp_A);
147
+ tmp1 = DATA_PTR(tmp_A);
144
148
 
145
- DATA_PTR(result) = (Complex*)complex_dup(tmp1);
149
+ DATA_PTR(result) = complex_dup(tmp1);
146
150
  break;
147
151
 
148
152
  case 2:
149
153
  tmp_A = rb_convert_type(arg1, T_DATA, "Number", "to_number");
150
154
  tmp_B = rb_convert_type(arg2, T_DATA, "Number", "to_number");
151
155
 
152
- tmp1 = (Complex*)DATA_PTR(tmp_A);
153
- tmp2 = (Complex*)DATA_PTR(tmp_B);
156
+ tmp1 = DATA_PTR(tmp_A);
157
+ tmp2 = DATA_PTR(tmp_B);
154
158
 
155
- Interval* re1 = (Interval*)tmp1->re;
156
- Interval* re2 = (Interval*)tmp2->re;
159
+ Interval* re1 = tmp1->re;
160
+ Interval* re2 = tmp2->re;
157
161
 
158
- i1 = (Interval*)interval_dup(re1);
159
- i2 = (Interval*)interval_dup(re2);
162
+ i1 = interval_dup(re1);
163
+ i2 = interval_dup(re2);
160
164
 
161
- DATA_PTR(result) = (Complex*)complex_new(i1, i2);
165
+ DATA_PTR(result) = complex_new(i1, i2);
162
166
  break;
163
167
 
164
168
  default:
@@ -166,25 +170,25 @@ VALUE rb_f_Number (int argc, VALUE* argv, VALUE obj)
166
170
  tmp_B = rb_convert_type(arg2, T_DATA, "Number", "to_number");
167
171
  tmp_C = rb_convert_type(arg3, T_DATA, "Number", "to_number");
168
172
 
169
- tmp1 = (Complex*)DATA_PTR(tmp_A);
170
- tmp2 = (Complex*)DATA_PTR(tmp_B);
171
- tmp3 = (Complex*)DATA_PTR(tmp_C);
173
+ tmp1 = DATA_PTR(tmp_A);
174
+ tmp2 = DATA_PTR(tmp_B);
175
+ tmp3 = DATA_PTR(tmp_C);
172
176
 
173
- Real* n1 = (Real*)tmp1->re->n;
174
- Real* n2 = (Real*)tmp2->re->n;
175
- Real* n3 = (Real*)tmp3->re->n;
177
+ Real* n1 = tmp1->re->n;
178
+ Real* n2 = tmp2->re->n;
179
+ Real* n3 = tmp3->re->n;
176
180
 
177
- Real* r1 = (Real*)real_dup(n1);
178
- Real* r2 = (Real*)real_dup(n2);
179
- Real* r3 = (Real*)real_dup(n3);
181
+ Real* r1 = real_dup(n1);
182
+ Real* r2 = real_dup(n2);
183
+ Real* r3 = real_dup(n3);
180
184
 
181
185
  int L = (argc == 3) ? true : RTEST(arg4);
182
186
  int R = (argc == 5) ? RTEST(arg5) : L;
183
187
 
184
- i1 = (Interval*)interval_new(r1, L, r2, R, r3);
185
- i2 = (Interval*)interval_zero();
188
+ i1 = interval_new(r1, L, r2, R, r3);
189
+ i2 = interval_zero();
186
190
 
187
- DATA_PTR(result) = (Complex*)complex_new(i1, i2);
191
+ DATA_PTR(result) = complex_new(i1, i2);
188
192
  break;
189
193
  }
190
194
 
@@ -193,7 +197,6 @@ VALUE rb_f_Number (int argc, VALUE* argv, VALUE obj)
193
197
 
194
198
  VALUE rb_Number_s_allocate (VALUE klass)
195
199
  {
196
- void complex_free (Complex*);
197
200
  return Data_Wrap_Struct(klass, 0, complex_free, 0);
198
201
  }
199
202
 
@@ -211,7 +214,7 @@ VALUE rb_Number_s_set_digits (VALUE klass, VALUE n)
211
214
  VALUE rb_Number_s_nan (VALUE klass)
212
215
  {
213
216
  VALUE result = rb_obj_alloc(rb_cNumber);
214
- DATA_PTR(result) = (Complex*)complex_nan();
217
+ DATA_PTR(result) = complex_nan();
215
218
 
216
219
  return result;
217
220
  }
@@ -219,7 +222,7 @@ VALUE rb_Number_s_nan (VALUE klass)
219
222
  VALUE rb_Number_s_pos_inf (VALUE klass)
220
223
  {
221
224
  VALUE result = rb_obj_alloc(rb_cNumber);
222
- DATA_PTR(result) = (Complex*)complex_pos_inf();
225
+ DATA_PTR(result) = complex_pos_inf();
223
226
 
224
227
  return result;
225
228
  }
@@ -227,7 +230,7 @@ VALUE rb_Number_s_pos_inf (VALUE klass)
227
230
  VALUE rb_Number_s_neg_inf (VALUE klass)
228
231
  {
229
232
  VALUE result = rb_obj_alloc(rb_cNumber);
230
- DATA_PTR(result) = (Complex*)complex_neg_inf();
233
+ DATA_PTR(result) = complex_neg_inf();
231
234
 
232
235
  return result;
233
236
  }
@@ -235,7 +238,7 @@ VALUE rb_Number_s_neg_inf (VALUE klass)
235
238
  VALUE rb_Number_s_zero (VALUE klass)
236
239
  {
237
240
  VALUE result = rb_obj_alloc(rb_cNumber);
238
- DATA_PTR(result) = (Complex*)complex_zero();
241
+ DATA_PTR(result) = complex_zero();
239
242
 
240
243
  return result;
241
244
  }
@@ -243,7 +246,7 @@ VALUE rb_Number_s_zero (VALUE klass)
243
246
  VALUE rb_Number_s_one (VALUE klass)
244
247
  {
245
248
  VALUE result = rb_obj_alloc(rb_cNumber);
246
- DATA_PTR(result) = (Complex*)complex_one();
249
+ DATA_PTR(result) = complex_one();
247
250
 
248
251
  return result;
249
252
  }
@@ -251,7 +254,7 @@ VALUE rb_Number_s_one (VALUE klass)
251
254
  VALUE rb_Number_s_pi (VALUE klass)
252
255
  {
253
256
  VALUE result = rb_obj_alloc(rb_cNumber);
254
- DATA_PTR(result) = (Complex*)complex_pi();
257
+ DATA_PTR(result) = complex_pi();
255
258
 
256
259
  return result;
257
260
  }
@@ -259,7 +262,7 @@ VALUE rb_Number_s_pi (VALUE klass)
259
262
  VALUE rb_Number_s_e (VALUE klass)
260
263
  {
261
264
  VALUE result = rb_obj_alloc(rb_cNumber);
262
- DATA_PTR(result) = (Complex*)complex_e();
265
+ DATA_PTR(result) = complex_e();
263
266
 
264
267
  return result;
265
268
  }
@@ -267,7 +270,7 @@ VALUE rb_Number_s_e (VALUE klass)
267
270
  VALUE rb_Number_s_i (VALUE klass)
268
271
  {
269
272
  VALUE result = rb_obj_alloc(rb_cNumber);
270
- DATA_PTR(result) = (Complex*)complex_i();
273
+ DATA_PTR(result) = complex_i();
271
274
 
272
275
  return result;
273
276
  }
@@ -326,7 +329,7 @@ VALUE rb_Number_to_s (VALUE number)
326
329
 
327
330
  complex_print(buf, DATA_PTR(number));
328
331
 
329
- return rb_str_new_cstr(buf);
332
+ return rb_str_new2(buf);
330
333
  }
331
334
 
332
335
  VALUE rb_Number_dummy (VALUE number)
@@ -342,7 +345,7 @@ VALUE rb_Number_coerce (VALUE a, VALUE b)
342
345
  VALUE rb_Number_add (VALUE a, VALUE b)
343
346
  {
344
347
  VALUE result = rb_obj_alloc(rb_cNumber);
345
- DATA_PTR(result) = (Complex*)complex_add(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
348
+ DATA_PTR(result) = complex_add(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
346
349
 
347
350
  return result;
348
351
  }
@@ -350,7 +353,7 @@ VALUE rb_Number_add (VALUE a, VALUE b)
350
353
  VALUE rb_Number_subtract (VALUE a, VALUE b)
351
354
  {
352
355
  VALUE result = rb_obj_alloc(rb_cNumber);
353
- DATA_PTR(result) = (Complex*)complex_subtract(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
356
+ DATA_PTR(result) = complex_subtract(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
354
357
 
355
358
  return result;
356
359
  }
@@ -358,7 +361,7 @@ VALUE rb_Number_subtract (VALUE a, VALUE b)
358
361
  VALUE rb_Number_multiply (VALUE a, VALUE b)
359
362
  {
360
363
  VALUE result = rb_obj_alloc(rb_cNumber);
361
- DATA_PTR(result) = (Complex*)complex_multiply(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
364
+ DATA_PTR(result) = complex_multiply(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
362
365
 
363
366
  return result;
364
367
  }
@@ -366,7 +369,7 @@ VALUE rb_Number_multiply (VALUE a, VALUE b)
366
369
  VALUE rb_Number_divide (VALUE a, VALUE b)
367
370
  {
368
371
  VALUE result = rb_obj_alloc(rb_cNumber);
369
- DATA_PTR(result) = (Complex*)complex_divide(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
372
+ DATA_PTR(result) = complex_divide(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
370
373
 
371
374
  return result;
372
375
  }
@@ -374,7 +377,7 @@ VALUE rb_Number_divide (VALUE a, VALUE b)
374
377
  VALUE rb_Number_modulo (VALUE a, VALUE b)
375
378
  {
376
379
  VALUE result = rb_obj_alloc(rb_cNumber);
377
- DATA_PTR(result) = (Complex*)complex_modulo(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
380
+ DATA_PTR(result) = complex_modulo(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
378
381
 
379
382
  return result;
380
383
  }
@@ -392,7 +395,7 @@ VALUE rb_Number_eqq_p (VALUE a, VALUE b)
392
395
  VALUE rb_Number_abs (VALUE number)
393
396
  {
394
397
  VALUE result = rb_obj_alloc(rb_cNumber);
395
- DATA_PTR(result) = (Complex*)complex_abs(DATA_PTR(number));
398
+ DATA_PTR(result) = complex_abs(DATA_PTR(number));
396
399
 
397
400
  return result;
398
401
  }
@@ -400,7 +403,7 @@ VALUE rb_Number_abs (VALUE number)
400
403
  VALUE rb_Number_area (VALUE number)
401
404
  {
402
405
  VALUE result = rb_obj_alloc(rb_cNumber);
403
- DATA_PTR(result) = (Complex*)complex_area(DATA_PTR(number));
406
+ DATA_PTR(result) = complex_area(DATA_PTR(number));
404
407
 
405
408
  return result;
406
409
  }
@@ -413,7 +416,7 @@ VALUE rb_Number_complex_p (VALUE number)
413
416
  VALUE rb_Number_conjugate (VALUE number)
414
417
  {
415
418
  VALUE result = rb_obj_alloc(rb_cNumber);
416
- DATA_PTR(result) = (Complex*)complex_conjugate(DATA_PTR(number));
419
+ DATA_PTR(result) = complex_conjugate(DATA_PTR(number));
417
420
 
418
421
  return result;
419
422
  }
@@ -421,7 +424,7 @@ VALUE rb_Number_conjugate (VALUE number)
421
424
  VALUE rb_Number_diagonal (VALUE number)
422
425
  {
423
426
  VALUE result = rb_obj_alloc(rb_cNumber);
424
- DATA_PTR(result) = (Complex*)complex_diagonal(DATA_PTR(number));
427
+ DATA_PTR(result) = complex_diagonal(DATA_PTR(number));
425
428
 
426
429
  return result;
427
430
  }
@@ -429,7 +432,7 @@ VALUE rb_Number_diagonal (VALUE number)
429
432
  VALUE rb_Number_imag (VALUE number)
430
433
  {
431
434
  VALUE result = rb_obj_alloc(rb_cNumber);
432
- DATA_PTR(result) = (Complex*)complex_im(DATA_PTR(number));
435
+ DATA_PTR(result) = complex_im(DATA_PTR(number));
433
436
 
434
437
  return result;
435
438
  }
@@ -437,7 +440,7 @@ VALUE rb_Number_imag (VALUE number)
437
440
  VALUE rb_Number_negate (VALUE number)
438
441
  {
439
442
  VALUE result = rb_obj_alloc(rb_cNumber);
440
- DATA_PTR(result) = (Complex*)complex_negate(DATA_PTR(number));
443
+ DATA_PTR(result) = complex_negate(DATA_PTR(number));
441
444
 
442
445
  return result;
443
446
  }
@@ -445,7 +448,7 @@ VALUE rb_Number_negate (VALUE number)
445
448
  VALUE rb_Number_real (VALUE number)
446
449
  {
447
450
  VALUE result = rb_obj_alloc(rb_cNumber);
448
- DATA_PTR(result) = (Complex*)complex_re(DATA_PTR(number));
451
+ DATA_PTR(result) = complex_re(DATA_PTR(number));
449
452
 
450
453
  return result;
451
454
  }
@@ -458,7 +461,7 @@ VALUE rb_Number_real_p (VALUE number)
458
461
  VALUE rb_Number_reflect (VALUE number)
459
462
  {
460
463
  VALUE result = rb_obj_alloc(rb_cNumber);
461
- DATA_PTR(result) = (Complex*)complex_reflect(DATA_PTR(number));
464
+ DATA_PTR(result) = complex_reflect(DATA_PTR(number));
462
465
 
463
466
  return result;
464
467
  }
@@ -466,7 +469,7 @@ VALUE rb_Number_reflect (VALUE number)
466
469
  VALUE rb_Number_round (VALUE number)
467
470
  {
468
471
  VALUE result = rb_obj_alloc(rb_cNumber);
469
- DATA_PTR(result) = (Complex*)complex_round(DATA_PTR(number));
472
+ DATA_PTR(result) = complex_round(DATA_PTR(number));
470
473
 
471
474
  return result;
472
475
  }
@@ -474,7 +477,7 @@ VALUE rb_Number_round (VALUE number)
474
477
  VALUE rb_Number_sqrt (VALUE number)
475
478
  {
476
479
  VALUE result = rb_obj_alloc(rb_cNumber);
477
- DATA_PTR(result) = (Complex*)complex_sqrt(DATA_PTR(number));
480
+ DATA_PTR(result) = complex_sqrt(DATA_PTR(number));
478
481
 
479
482
  return result;
480
483
  }
@@ -482,7 +485,7 @@ VALUE rb_Number_sqrt (VALUE number)
482
485
  VALUE rb_Number_round_c_c (VALUE number)
483
486
  {
484
487
  VALUE result = rb_obj_alloc(rb_cNumber);
485
- DATA_PTR(result) = (Complex*)complex_round_c_c(DATA_PTR(number));
488
+ DATA_PTR(result) = complex_round_c_c(DATA_PTR(number));
486
489
 
487
490
  return result;
488
491
  }
@@ -490,7 +493,7 @@ VALUE rb_Number_round_c_c (VALUE number)
490
493
  VALUE rb_Number_round_c_f (VALUE number)
491
494
  {
492
495
  VALUE result = rb_obj_alloc(rb_cNumber);
493
- DATA_PTR(result) = (Complex*)complex_round_c_f(DATA_PTR(number));
496
+ DATA_PTR(result) = complex_round_c_f(DATA_PTR(number));
494
497
 
495
498
  return result;
496
499
  }
@@ -498,7 +501,7 @@ VALUE rb_Number_round_c_f (VALUE number)
498
501
  VALUE rb_Number_round_f_c (VALUE number)
499
502
  {
500
503
  VALUE result = rb_obj_alloc(rb_cNumber);
501
- DATA_PTR(result) = (Complex*)complex_round_f_c(DATA_PTR(number));
504
+ DATA_PTR(result) = complex_round_f_c(DATA_PTR(number));
502
505
 
503
506
  return result;
504
507
  }
@@ -506,7 +509,7 @@ VALUE rb_Number_round_f_c (VALUE number)
506
509
  VALUE rb_Number_round_f_f (VALUE number)
507
510
  {
508
511
  VALUE result = rb_obj_alloc(rb_cNumber);
509
- DATA_PTR(result) = (Complex*)complex_round_f_f(DATA_PTR(number));
512
+ DATA_PTR(result) = complex_round_f_f(DATA_PTR(number));
510
513
 
511
514
  return result;
512
515
  }
@@ -514,7 +517,7 @@ VALUE rb_Number_round_f_f (VALUE number)
514
517
  VALUE rb_Number_round_i_i (VALUE number)
515
518
  {
516
519
  VALUE result = rb_obj_alloc(rb_cNumber);
517
- DATA_PTR(result) = (Complex*)complex_round_i_i(DATA_PTR(number));
520
+ DATA_PTR(result) = complex_round_i_i(DATA_PTR(number));
518
521
 
519
522
  return result;
520
523
  }
@@ -522,7 +525,7 @@ VALUE rb_Number_round_i_i (VALUE number)
522
525
  VALUE rb_Number_round_i_o (VALUE number)
523
526
  {
524
527
  VALUE result = rb_obj_alloc(rb_cNumber);
525
- DATA_PTR(result) = (Complex*)complex_round_i_o(DATA_PTR(number));
528
+ DATA_PTR(result) = complex_round_i_o(DATA_PTR(number));
526
529
 
527
530
  return result;
528
531
  }
@@ -530,7 +533,7 @@ VALUE rb_Number_round_i_o (VALUE number)
530
533
  VALUE rb_Number_round_o_i (VALUE number)
531
534
  {
532
535
  VALUE result = rb_obj_alloc(rb_cNumber);
533
- DATA_PTR(result) = (Complex*)complex_round_o_i(DATA_PTR(number));
536
+ DATA_PTR(result) = complex_round_o_i(DATA_PTR(number));
534
537
 
535
538
  return result;
536
539
  }
@@ -538,7 +541,7 @@ VALUE rb_Number_round_o_i (VALUE number)
538
541
  VALUE rb_Number_round_o_o (VALUE number)
539
542
  {
540
543
  VALUE result = rb_obj_alloc(rb_cNumber);
541
- DATA_PTR(result) = (Complex*)complex_round_o_o(DATA_PTR(number));
544
+ DATA_PTR(result) = complex_round_o_o(DATA_PTR(number));
542
545
 
543
546
  return result;
544
547
  }
@@ -546,7 +549,7 @@ VALUE rb_Number_round_o_o (VALUE number)
546
549
  VALUE rb_Number_complex_ll (VALUE number)
547
550
  {
548
551
  VALUE result = rb_obj_alloc(rb_cNumber);
549
- DATA_PTR(result) = (Complex*)complex_ll(DATA_PTR(number));
552
+ DATA_PTR(result) = complex_ll(DATA_PTR(number));
550
553
 
551
554
  return result;
552
555
  }
@@ -554,7 +557,7 @@ VALUE rb_Number_complex_ll (VALUE number)
554
557
  VALUE rb_Number_complex_lu (VALUE number)
555
558
  {
556
559
  VALUE result = rb_obj_alloc(rb_cNumber);
557
- DATA_PTR(result) = (Complex*)complex_lu(DATA_PTR(number));
560
+ DATA_PTR(result) = complex_lu(DATA_PTR(number));
558
561
 
559
562
  return result;
560
563
  }
@@ -562,7 +565,7 @@ VALUE rb_Number_complex_lu (VALUE number)
562
565
  VALUE rb_Number_complex_n (VALUE number)
563
566
  {
564
567
  VALUE result = rb_obj_alloc(rb_cNumber);
565
- DATA_PTR(result) = (Complex*)complex_n(DATA_PTR(number));
568
+ DATA_PTR(result) = complex_n(DATA_PTR(number));
566
569
 
567
570
  return result;
568
571
  }
@@ -570,7 +573,7 @@ VALUE rb_Number_complex_n (VALUE number)
570
573
  VALUE rb_Number_complex_ul (VALUE number)
571
574
  {
572
575
  VALUE result = rb_obj_alloc(rb_cNumber);
573
- DATA_PTR(result) = (Complex*)complex_ul(DATA_PTR(number));
576
+ DATA_PTR(result) = complex_ul(DATA_PTR(number));
574
577
 
575
578
  return result;
576
579
  }
@@ -578,7 +581,7 @@ VALUE rb_Number_complex_ul (VALUE number)
578
581
  VALUE rb_Number_complex_uu (VALUE number)
579
582
  {
580
583
  VALUE result = rb_obj_alloc(rb_cNumber);
581
- DATA_PTR(result) = (Complex*)complex_uu(DATA_PTR(number));
584
+ DATA_PTR(result) = complex_uu(DATA_PTR(number));
582
585
 
583
586
  return result;
584
587
  }
@@ -586,7 +589,7 @@ VALUE rb_Number_complex_uu (VALUE number)
586
589
  VALUE rb_Number_complex_magnitude (VALUE number)
587
590
  {
588
591
  VALUE result = rb_obj_alloc(rb_cNumber);
589
- DATA_PTR(result) = (Complex*)complex_magnitude(DATA_PTR(number));
592
+ DATA_PTR(result) = complex_magnitude(DATA_PTR(number));
590
593
 
591
594
  return result;
592
595
  }
@@ -594,7 +597,7 @@ VALUE rb_Number_complex_magnitude (VALUE number)
594
597
  VALUE rb_Number_complex_mignitude (VALUE number)
595
598
  {
596
599
  VALUE result = rb_obj_alloc(rb_cNumber);
597
- DATA_PTR(result) = (Complex*)complex_mignitude(DATA_PTR(number));
600
+ DATA_PTR(result) = complex_mignitude(DATA_PTR(number));
598
601
 
599
602
  return result;
600
603
  }
@@ -602,7 +605,7 @@ VALUE rb_Number_complex_mignitude (VALUE number)
602
605
  VALUE rb_Number_complex_width (VALUE number)
603
606
  {
604
607
  VALUE result = rb_obj_alloc(rb_cNumber);
605
- DATA_PTR(result) = (Complex*)complex_width(DATA_PTR(number));
608
+ DATA_PTR(result) = complex_width(DATA_PTR(number));
606
609
 
607
610
  return result;
608
611
  }
@@ -610,7 +613,7 @@ VALUE rb_Number_complex_width (VALUE number)
610
613
  VALUE rb_Number_imag_l (VALUE number)
611
614
  {
612
615
  VALUE result = rb_obj_alloc(rb_cNumber);
613
- DATA_PTR(result) = (Complex*)complex_im_l(DATA_PTR(number));
616
+ DATA_PTR(result) = complex_im_l(DATA_PTR(number));
614
617
 
615
618
  return result;
616
619
  }
@@ -618,7 +621,7 @@ VALUE rb_Number_imag_l (VALUE number)
618
621
  VALUE rb_Number_imag_n (VALUE number)
619
622
  {
620
623
  VALUE result = rb_obj_alloc(rb_cNumber);
621
- DATA_PTR(result) = (Complex*)complex_im_n(DATA_PTR(number));
624
+ DATA_PTR(result) = complex_im_n(DATA_PTR(number));
622
625
 
623
626
  return result;
624
627
  }
@@ -626,7 +629,7 @@ VALUE rb_Number_imag_n (VALUE number)
626
629
  VALUE rb_Number_imag_u (VALUE number)
627
630
  {
628
631
  VALUE result = rb_obj_alloc(rb_cNumber);
629
- DATA_PTR(result) = (Complex*)complex_im_u(DATA_PTR(number));
632
+ DATA_PTR(result) = complex_im_u(DATA_PTR(number));
630
633
 
631
634
  return result;
632
635
  }
@@ -634,7 +637,7 @@ VALUE rb_Number_imag_u (VALUE number)
634
637
  VALUE rb_Number_imag_magnitude (VALUE number)
635
638
  {
636
639
  VALUE result = rb_obj_alloc(rb_cNumber);
637
- DATA_PTR(result) = (Complex*)complex_im_magnitude(DATA_PTR(number));
640
+ DATA_PTR(result) = complex_im_magnitude(DATA_PTR(number));
638
641
 
639
642
  return result;
640
643
  }
@@ -642,7 +645,7 @@ VALUE rb_Number_imag_magnitude (VALUE number)
642
645
  VALUE rb_Number_imag_mignitude (VALUE number)
643
646
  {
644
647
  VALUE result = rb_obj_alloc(rb_cNumber);
645
- DATA_PTR(result) = (Complex*)complex_im_mignitude(DATA_PTR(number));
648
+ DATA_PTR(result) = complex_im_mignitude(DATA_PTR(number));
646
649
 
647
650
  return result;
648
651
  }
@@ -650,7 +653,7 @@ VALUE rb_Number_imag_mignitude (VALUE number)
650
653
  VALUE rb_Number_imag_width (VALUE number)
651
654
  {
652
655
  VALUE result = rb_obj_alloc(rb_cNumber);
653
- DATA_PTR(result) = (Complex*)complex_im_width(DATA_PTR(number));
656
+ DATA_PTR(result) = complex_im_width(DATA_PTR(number));
654
657
 
655
658
  return result;
656
659
  }
@@ -658,7 +661,7 @@ VALUE rb_Number_imag_width (VALUE number)
658
661
  VALUE rb_Number_real_l (VALUE number)
659
662
  {
660
663
  VALUE result = rb_obj_alloc(rb_cNumber);
661
- DATA_PTR(result) = (Complex*)complex_re_l(DATA_PTR(number));
664
+ DATA_PTR(result) = complex_re_l(DATA_PTR(number));
662
665
 
663
666
  return result;
664
667
  }
@@ -666,7 +669,7 @@ VALUE rb_Number_real_l (VALUE number)
666
669
  VALUE rb_Number_real_n (VALUE number)
667
670
  {
668
671
  VALUE result = rb_obj_alloc(rb_cNumber);
669
- DATA_PTR(result) = (Complex*)complex_re_n(DATA_PTR(number));
672
+ DATA_PTR(result) = complex_re_n(DATA_PTR(number));
670
673
 
671
674
  return result;
672
675
  }
@@ -674,7 +677,7 @@ VALUE rb_Number_real_n (VALUE number)
674
677
  VALUE rb_Number_real_u (VALUE number)
675
678
  {
676
679
  VALUE result = rb_obj_alloc(rb_cNumber);
677
- DATA_PTR(result) = (Complex*)complex_re_u(DATA_PTR(number));
680
+ DATA_PTR(result) = complex_re_u(DATA_PTR(number));
678
681
 
679
682
  return result;
680
683
  }
@@ -682,7 +685,7 @@ VALUE rb_Number_real_u (VALUE number)
682
685
  VALUE rb_Number_real_magnitude (VALUE number)
683
686
  {
684
687
  VALUE result = rb_obj_alloc(rb_cNumber);
685
- DATA_PTR(result) = (Complex*)complex_re_magnitude(DATA_PTR(number));
688
+ DATA_PTR(result) = complex_re_magnitude(DATA_PTR(number));
686
689
 
687
690
  return result;
688
691
  }
@@ -690,7 +693,7 @@ VALUE rb_Number_real_magnitude (VALUE number)
690
693
  VALUE rb_Number_real_mignitude (VALUE number)
691
694
  {
692
695
  VALUE result = rb_obj_alloc(rb_cNumber);
693
- DATA_PTR(result) = (Complex*)complex_re_mignitude(DATA_PTR(number));
696
+ DATA_PTR(result) = complex_re_mignitude(DATA_PTR(number));
694
697
 
695
698
  return result;
696
699
  }
@@ -698,7 +701,7 @@ VALUE rb_Number_real_mignitude (VALUE number)
698
701
  VALUE rb_Number_real_width (VALUE number)
699
702
  {
700
703
  VALUE result = rb_obj_alloc(rb_cNumber);
701
- DATA_PTR(result) = (Complex*)complex_re_width(DATA_PTR(number));
704
+ DATA_PTR(result) = complex_re_width(DATA_PTR(number));
702
705
 
703
706
  return result;
704
707
  }