number 0.9.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.
data/ext/number.c ADDED
@@ -0,0 +1,1651 @@
1
+ #include "number.h"
2
+
3
+ long digs;
4
+ VALUE rb_cNumber;
5
+
6
+ VALUE rb_Integer_to_number (VALUE integer)
7
+ {
8
+ VALUE result = rb_obj_alloc(rb_cNumber);
9
+ DATA_PTR(result) = (Complex*)complex_from_int_str(RSTRING_PTR(rb_funcall(integer, rb_intern("to_s"), 0)));
10
+
11
+ return result;
12
+ }
13
+
14
+ VALUE rb_Float_to_number (VALUE flo)
15
+ {
16
+ VALUE result = rb_obj_alloc(rb_cNumber);
17
+ DATA_PTR(result) = (Complex*)complex_from_float_str(RSTRING_PTR(rb_funcall(rb_str_new2("%.15e"), rb_intern("%"), 1, flo)));
18
+
19
+ return result;
20
+ }
21
+
22
+ VALUE rb_Complex_to_number (VALUE complex)
23
+ {
24
+ Complex* re;
25
+ Complex* im;
26
+
27
+ re = (Complex*)DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("real"), 0), T_DATA, "Number", "to_number"));
28
+ im = (Complex*)DATA_PTR(rb_convert_type(rb_funcall(complex, rb_intern("imag"), 0), T_DATA, "Number", "to_number"));
29
+
30
+ VALUE result = rb_obj_alloc(rb_cNumber);
31
+ DATA_PTR(result) = (Complex*)complex_new((Interval*)interval_dup(re->re), (Interval*)interval_dup(im->re));
32
+
33
+ return result;
34
+ }
35
+
36
+ VALUE rb_f_Number (int argc, VALUE* argv, VALUE obj)
37
+ {
38
+ int L;
39
+ int R;
40
+ Complex* tmp1;
41
+ Complex* tmp2;
42
+ Complex* tmp3;
43
+ VALUE arg1;
44
+ VALUE arg2;
45
+ VALUE arg3;
46
+ VALUE arg4;
47
+ VALUE arg5;
48
+ VALUE result = rb_obj_alloc(rb_cNumber);
49
+
50
+ switch (rb_scan_args(argc, argv, "14", &arg1, &arg2, &arg3, &arg4, &arg5))
51
+ {
52
+ case 1:
53
+ DATA_PTR(result) = (Complex*)complex_dup(DATA_PTR(rb_convert_type(arg1, T_DATA, "Number", "to_number")));
54
+ break;
55
+
56
+ case 2:
57
+ tmp1 = (Complex*)DATA_PTR(rb_convert_type(arg1, T_DATA, "Number", "to_number"));
58
+ tmp2 = (Complex*)DATA_PTR(rb_convert_type(arg2, T_DATA, "Number", "to_number"));
59
+
60
+ DATA_PTR(result) = (Complex*)complex_new((Interval*)interval_dup(tmp1->re), (Interval*)interval_dup(tmp2->re));
61
+ break;
62
+
63
+ default:
64
+ L = (argc == 3) ? true : RTEST(arg4);
65
+ R = (argc == 5) ? RTEST(arg5) : L;
66
+
67
+ tmp1 = (Complex*)DATA_PTR(rb_convert_type(arg1, T_DATA, "Number", "to_number"));
68
+ tmp2 = (Complex*)DATA_PTR(rb_convert_type(arg2, T_DATA, "Number", "to_number"));
69
+ tmp3 = (Complex*)DATA_PTR(rb_convert_type(arg3, T_DATA, "Number", "to_number"));
70
+
71
+ DATA_PTR(result) = (Complex*)complex_new((Interval*)interval_new((Real*)real_dup(tmp1->re->n), L, (Real*)real_dup(tmp2->re->n), R, (Real*)real_dup(tmp3->re->n)), (Interval*)interval_zero());
72
+ break;
73
+ }
74
+
75
+ return result;
76
+ }
77
+
78
+ VALUE rb_Number_s_allocate (VALUE klass)
79
+ {
80
+ void complex_free (Complex*);
81
+ return Data_Wrap_Struct(klass, 0, complex_free, 0);
82
+ }
83
+
84
+ VALUE rb_Number_s_digits (VALUE klass)
85
+ {
86
+ return LONG2FIX(digs);
87
+ }
88
+
89
+ VALUE rb_Number_s_set_digits (VALUE klass, VALUE n)
90
+ {
91
+ digs = FIX2LONG(n);
92
+ return n;
93
+ }
94
+
95
+ VALUE rb_Number_s_nan (VALUE klass)
96
+ {
97
+ VALUE result = rb_obj_alloc(rb_cNumber);
98
+ DATA_PTR(result) = (Complex*)complex_nan();
99
+
100
+ return result;
101
+ }
102
+
103
+ VALUE rb_Number_s_pos_inf (VALUE klass)
104
+ {
105
+ VALUE result = rb_obj_alloc(rb_cNumber);
106
+ DATA_PTR(result) = (Complex*)complex_pos_inf();
107
+
108
+ return result;
109
+ }
110
+
111
+ VALUE rb_Number_s_neg_inf (VALUE klass)
112
+ {
113
+ VALUE result = rb_obj_alloc(rb_cNumber);
114
+ DATA_PTR(result) = (Complex*)complex_neg_inf();
115
+
116
+ return result;
117
+ }
118
+
119
+ VALUE rb_Number_s_zero (VALUE klass)
120
+ {
121
+ VALUE result = rb_obj_alloc(rb_cNumber);
122
+ DATA_PTR(result) = (Complex*)complex_zero();
123
+
124
+ return result;
125
+ }
126
+
127
+ VALUE rb_Number_s_one (VALUE klass)
128
+ {
129
+ VALUE result = rb_obj_alloc(rb_cNumber);
130
+ DATA_PTR(result) = (Complex*)complex_one();
131
+
132
+ return result;
133
+ }
134
+
135
+ VALUE rb_Number_s_pi (VALUE klass)
136
+ {
137
+ VALUE result = rb_obj_alloc(rb_cNumber);
138
+ DATA_PTR(result) = (Complex*)complex_pi();
139
+
140
+ return result;
141
+ }
142
+
143
+ VALUE rb_Number_s_e (VALUE klass)
144
+ {
145
+ VALUE result = rb_obj_alloc(rb_cNumber);
146
+ DATA_PTR(result) = (Complex*)complex_e();
147
+
148
+ return result;
149
+ }
150
+
151
+ VALUE rb_Number_s_i (VALUE klass)
152
+ {
153
+ VALUE result = rb_obj_alloc(rb_cNumber);
154
+ DATA_PTR(result) = (Complex*)complex_i();
155
+
156
+ return result;
157
+ }
158
+
159
+ VALUE rb_Number_singleton_method_added (VALUE number, VALUE name)
160
+ {
161
+ ID method_id = rb_to_id(name);
162
+
163
+ rb_remove_method_id(rb_singleton_class(number), method_id);
164
+ rb_raise(rb_eTypeError, "can't define singleton method \"%s\" for %s", rb_id2name(method_id), rb_obj_classname(number));
165
+
166
+ return Qnil; /* not reached */
167
+ }
168
+
169
+ VALUE rb_Number_initialize_copy (VALUE number, VALUE copy)
170
+ {
171
+ rb_raise(rb_eTypeError, "can't copy %s", rb_obj_classname(number));
172
+ return Qnil; /* not reached */
173
+ }
174
+
175
+ VALUE rb_Number_to_s (VALUE number)
176
+ {
177
+ char buf[1000];
178
+ VALUE str;
179
+
180
+ complex_print(buf, DATA_PTR(number));
181
+
182
+ return rb_str_new_cstr(buf);
183
+ }
184
+
185
+ VALUE rb_Number_dummy (VALUE number)
186
+ {
187
+ return number;
188
+ }
189
+
190
+ VALUE rb_Number_coerce (VALUE a, VALUE b)
191
+ {
192
+ return rb_assoc_new(rb_convert_type(b, T_DATA, "Number", "to_number"), a);
193
+ }
194
+
195
+ VALUE rb_Number_add (VALUE a, VALUE b)
196
+ {
197
+ VALUE result = rb_obj_alloc(rb_cNumber);
198
+ DATA_PTR(result) = (Complex*)complex_add(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
199
+
200
+ return result;
201
+ }
202
+
203
+ VALUE rb_Number_subtract (VALUE a, VALUE b)
204
+ {
205
+ VALUE result = rb_obj_alloc(rb_cNumber);
206
+ DATA_PTR(result) = (Complex*)complex_subtract(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
207
+
208
+ return result;
209
+ }
210
+
211
+ VALUE rb_Number_multiply (VALUE a, VALUE b)
212
+ {
213
+ VALUE result = rb_obj_alloc(rb_cNumber);
214
+ DATA_PTR(result) = (Complex*)complex_multiply(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
215
+
216
+ return result;
217
+ }
218
+
219
+ VALUE rb_Number_divide (VALUE a, VALUE b)
220
+ {
221
+ VALUE result = rb_obj_alloc(rb_cNumber);
222
+ DATA_PTR(result) = (Complex*)complex_divide(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
223
+
224
+ return result;
225
+ }
226
+
227
+ VALUE rb_Number_modulo (VALUE a, VALUE b)
228
+ {
229
+ VALUE result = rb_obj_alloc(rb_cNumber);
230
+ DATA_PTR(result) = (Complex*)complex_modulo(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number")));
231
+
232
+ return result;
233
+ }
234
+
235
+ VALUE rb_Number_abs (VALUE number)
236
+ {
237
+ VALUE result = rb_obj_alloc(rb_cNumber);
238
+ DATA_PTR(result) = (Complex*)complex_abs(DATA_PTR(number));
239
+
240
+ return result;
241
+ }
242
+
243
+ VALUE rb_Number_area (VALUE number)
244
+ {
245
+ VALUE result = rb_obj_alloc(rb_cNumber);
246
+ DATA_PTR(result) = (Complex*)complex_area(DATA_PTR(number));
247
+
248
+ return result;
249
+ }
250
+
251
+ VALUE rb_Number_complex_p (VALUE number)
252
+ {
253
+ return complex_complex_p(DATA_PTR(number)) ? Qtrue : Qfalse;
254
+ }
255
+
256
+ VALUE rb_Number_conjugate (VALUE number)
257
+ {
258
+ VALUE result = rb_obj_alloc(rb_cNumber);
259
+ DATA_PTR(result) = (Complex*)complex_conjugate(DATA_PTR(number));
260
+
261
+ return result;
262
+ }
263
+
264
+ VALUE rb_Number_diagonal (VALUE number)
265
+ {
266
+ VALUE result = rb_obj_alloc(rb_cNumber);
267
+ DATA_PTR(result) = (Complex*)complex_diagonal(DATA_PTR(number));
268
+
269
+ return result;
270
+ }
271
+
272
+ VALUE rb_Number_imag (VALUE number)
273
+ {
274
+ VALUE result = rb_obj_alloc(rb_cNumber);
275
+ DATA_PTR(result) = (Complex*)complex_im(DATA_PTR(number));
276
+
277
+ return result;
278
+ }
279
+
280
+ VALUE rb_Number_negate (VALUE number)
281
+ {
282
+ VALUE result = rb_obj_alloc(rb_cNumber);
283
+ DATA_PTR(result) = (Complex*)complex_negate(DATA_PTR(number));
284
+
285
+ return result;
286
+ }
287
+
288
+ VALUE rb_Number_real (VALUE number)
289
+ {
290
+ VALUE result = rb_obj_alloc(rb_cNumber);
291
+ DATA_PTR(result) = (Complex*)complex_re(DATA_PTR(number));
292
+
293
+ return result;
294
+ }
295
+
296
+ VALUE rb_Number_real_p (VALUE number)
297
+ {
298
+ return complex_real_p(DATA_PTR(number)) ? Qtrue : Qfalse;
299
+ }
300
+
301
+ VALUE rb_Number_reflect (VALUE number)
302
+ {
303
+ VALUE result = rb_obj_alloc(rb_cNumber);
304
+ DATA_PTR(result) = (Complex*)complex_reflect(DATA_PTR(number));
305
+
306
+ return result;
307
+ }
308
+
309
+ VALUE rb_Number_round (VALUE number)
310
+ {
311
+ VALUE result = rb_obj_alloc(rb_cNumber);
312
+ DATA_PTR(result) = (Complex*)complex_round(DATA_PTR(number));
313
+
314
+ return result;
315
+ }
316
+
317
+ VALUE rb_Number_sqrt (VALUE number)
318
+ {
319
+ VALUE result = rb_obj_alloc(rb_cNumber);
320
+ DATA_PTR(result) = (Complex*)complex_sqrt(DATA_PTR(number));
321
+
322
+ return result;
323
+ }
324
+
325
+ VALUE rb_Number_round_c_c (VALUE number)
326
+ {
327
+ VALUE result = rb_obj_alloc(rb_cNumber);
328
+ DATA_PTR(result) = (Complex*)complex_round_c_c(DATA_PTR(number));
329
+
330
+ return result;
331
+ }
332
+
333
+ VALUE rb_Number_round_c_f (VALUE number)
334
+ {
335
+ VALUE result = rb_obj_alloc(rb_cNumber);
336
+ DATA_PTR(result) = (Complex*)complex_round_c_f(DATA_PTR(number));
337
+
338
+ return result;
339
+ }
340
+
341
+ VALUE rb_Number_round_f_c (VALUE number)
342
+ {
343
+ VALUE result = rb_obj_alloc(rb_cNumber);
344
+ DATA_PTR(result) = (Complex*)complex_round_f_c(DATA_PTR(number));
345
+
346
+ return result;
347
+ }
348
+
349
+ VALUE rb_Number_round_f_f (VALUE number)
350
+ {
351
+ VALUE result = rb_obj_alloc(rb_cNumber);
352
+ DATA_PTR(result) = (Complex*)complex_round_f_f(DATA_PTR(number));
353
+
354
+ return result;
355
+ }
356
+
357
+ VALUE rb_Number_round_i_i (VALUE number)
358
+ {
359
+ VALUE result = rb_obj_alloc(rb_cNumber);
360
+ DATA_PTR(result) = (Complex*)complex_round_i_i(DATA_PTR(number));
361
+
362
+ return result;
363
+ }
364
+
365
+ VALUE rb_Number_round_i_o (VALUE number)
366
+ {
367
+ VALUE result = rb_obj_alloc(rb_cNumber);
368
+ DATA_PTR(result) = (Complex*)complex_round_i_o(DATA_PTR(number));
369
+
370
+ return result;
371
+ }
372
+
373
+ VALUE rb_Number_round_o_i (VALUE number)
374
+ {
375
+ VALUE result = rb_obj_alloc(rb_cNumber);
376
+ DATA_PTR(result) = (Complex*)complex_round_o_i(DATA_PTR(number));
377
+
378
+ return result;
379
+ }
380
+
381
+ VALUE rb_Number_round_o_o (VALUE number)
382
+ {
383
+ VALUE result = rb_obj_alloc(rb_cNumber);
384
+ DATA_PTR(result) = (Complex*)complex_round_o_o(DATA_PTR(number));
385
+
386
+ return result;
387
+ }
388
+
389
+ VALUE rb_Number_complex_ll (VALUE number)
390
+ {
391
+ VALUE result = rb_obj_alloc(rb_cNumber);
392
+ DATA_PTR(result) = (Complex*)complex_ll(DATA_PTR(number));
393
+
394
+ return result;
395
+ }
396
+
397
+ VALUE rb_Number_complex_lu (VALUE number)
398
+ {
399
+ VALUE result = rb_obj_alloc(rb_cNumber);
400
+ DATA_PTR(result) = (Complex*)complex_lu(DATA_PTR(number));
401
+
402
+ return result;
403
+ }
404
+
405
+ VALUE rb_Number_complex_n (VALUE number)
406
+ {
407
+ VALUE result = rb_obj_alloc(rb_cNumber);
408
+ DATA_PTR(result) = (Complex*)complex_n(DATA_PTR(number));
409
+
410
+ return result;
411
+ }
412
+
413
+ VALUE rb_Number_complex_ul (VALUE number)
414
+ {
415
+ VALUE result = rb_obj_alloc(rb_cNumber);
416
+ DATA_PTR(result) = (Complex*)complex_ul(DATA_PTR(number));
417
+
418
+ return result;
419
+ }
420
+
421
+ VALUE rb_Number_complex_uu (VALUE number)
422
+ {
423
+ VALUE result = rb_obj_alloc(rb_cNumber);
424
+ DATA_PTR(result) = (Complex*)complex_uu(DATA_PTR(number));
425
+
426
+ return result;
427
+ }
428
+
429
+ VALUE rb_Number_complex_magnitude (VALUE number)
430
+ {
431
+ VALUE result = rb_obj_alloc(rb_cNumber);
432
+ DATA_PTR(result) = (Complex*)complex_magnitude(DATA_PTR(number));
433
+
434
+ return result;
435
+ }
436
+
437
+ VALUE rb_Number_complex_mignitude (VALUE number)
438
+ {
439
+ VALUE result = rb_obj_alloc(rb_cNumber);
440
+ DATA_PTR(result) = (Complex*)complex_mignitude(DATA_PTR(number));
441
+
442
+ return result;
443
+ }
444
+
445
+ VALUE rb_Number_complex_width (VALUE number)
446
+ {
447
+ VALUE result = rb_obj_alloc(rb_cNumber);
448
+ DATA_PTR(result) = (Complex*)complex_width(DATA_PTR(number));
449
+
450
+ return result;
451
+ }
452
+
453
+ VALUE rb_Number_imag_l (VALUE number)
454
+ {
455
+ VALUE result = rb_obj_alloc(rb_cNumber);
456
+ DATA_PTR(result) = (Complex*)complex_im_l(DATA_PTR(number));
457
+
458
+ return result;
459
+ }
460
+
461
+ VALUE rb_Number_imag_n (VALUE number)
462
+ {
463
+ VALUE result = rb_obj_alloc(rb_cNumber);
464
+ DATA_PTR(result) = (Complex*)complex_im_n(DATA_PTR(number));
465
+
466
+ return result;
467
+ }
468
+
469
+ VALUE rb_Number_imag_u (VALUE number)
470
+ {
471
+ VALUE result = rb_obj_alloc(rb_cNumber);
472
+ DATA_PTR(result) = (Complex*)complex_im_u(DATA_PTR(number));
473
+
474
+ return result;
475
+ }
476
+
477
+ VALUE rb_Number_imag_magnitude (VALUE number)
478
+ {
479
+ VALUE result = rb_obj_alloc(rb_cNumber);
480
+ DATA_PTR(result) = (Complex*)complex_im_magnitude(DATA_PTR(number));
481
+
482
+ return result;
483
+ }
484
+
485
+ VALUE rb_Number_imag_mignitude (VALUE number)
486
+ {
487
+ VALUE result = rb_obj_alloc(rb_cNumber);
488
+ DATA_PTR(result) = (Complex*)complex_im_mignitude(DATA_PTR(number));
489
+
490
+ return result;
491
+ }
492
+
493
+ VALUE rb_Number_imag_width (VALUE number)
494
+ {
495
+ VALUE result = rb_obj_alloc(rb_cNumber);
496
+ DATA_PTR(result) = (Complex*)complex_im_width(DATA_PTR(number));
497
+
498
+ return result;
499
+ }
500
+
501
+ VALUE rb_Number_real_l (VALUE number)
502
+ {
503
+ VALUE result = rb_obj_alloc(rb_cNumber);
504
+ DATA_PTR(result) = (Complex*)complex_re_l(DATA_PTR(number));
505
+
506
+ return result;
507
+ }
508
+
509
+ VALUE rb_Number_real_n (VALUE number)
510
+ {
511
+ VALUE result = rb_obj_alloc(rb_cNumber);
512
+ DATA_PTR(result) = (Complex*)complex_re_n(DATA_PTR(number));
513
+
514
+ return result;
515
+ }
516
+
517
+ VALUE rb_Number_real_u (VALUE number)
518
+ {
519
+ VALUE result = rb_obj_alloc(rb_cNumber);
520
+ DATA_PTR(result) = (Complex*)complex_re_u(DATA_PTR(number));
521
+
522
+ return result;
523
+ }
524
+
525
+ VALUE rb_Number_real_magnitude (VALUE number)
526
+ {
527
+ VALUE result = rb_obj_alloc(rb_cNumber);
528
+ DATA_PTR(result) = (Complex*)complex_re_magnitude(DATA_PTR(number));
529
+
530
+ return result;
531
+ }
532
+
533
+ VALUE rb_Number_real_mignitude (VALUE number)
534
+ {
535
+ VALUE result = rb_obj_alloc(rb_cNumber);
536
+ DATA_PTR(result) = (Complex*)complex_re_mignitude(DATA_PTR(number));
537
+
538
+ return result;
539
+ }
540
+
541
+ VALUE rb_Number_real_width (VALUE number)
542
+ {
543
+ VALUE result = rb_obj_alloc(rb_cNumber);
544
+ DATA_PTR(result) = (Complex*)complex_re_width(DATA_PTR(number));
545
+
546
+ return result;
547
+ }
548
+
549
+ VALUE rb_Number_real_intersect_p (VALUE a, VALUE b)
550
+ {
551
+ return complex_re_intersect_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
552
+ }
553
+
554
+ VALUE rb_Number_real_disjoint_p (VALUE a, VALUE b)
555
+ {
556
+ return complex_re_disjoint_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
557
+ }
558
+
559
+ VALUE rb_Number_real_bounded_p (VALUE number)
560
+ {
561
+ return complex_re_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
562
+ }
563
+
564
+ VALUE rb_Number_real_left_bounded_p (VALUE number)
565
+ {
566
+ return complex_re_left_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
567
+ }
568
+
569
+ VALUE rb_Number_real_right_bounded_p (VALUE number)
570
+ {
571
+ return complex_re_right_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
572
+ }
573
+
574
+ VALUE rb_Number_real_unbounded_p (VALUE number)
575
+ {
576
+ return complex_re_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
577
+ }
578
+
579
+ VALUE rb_Number_real_left_unbounded_p (VALUE number)
580
+ {
581
+ return complex_re_left_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
582
+ }
583
+
584
+ VALUE rb_Number_real_right_unbounded_p (VALUE number)
585
+ {
586
+ return complex_re_right_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
587
+ }
588
+
589
+ VALUE rb_Number_real_contain_p (VALUE a, VALUE b)
590
+ {
591
+ return complex_re_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
592
+ }
593
+
594
+ VALUE rb_Number_real_contain_l_p (VALUE a, VALUE b)
595
+ {
596
+ return complex_re_contain_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
597
+ }
598
+
599
+ VALUE rb_Number_real_contain_n_p (VALUE a, VALUE b)
600
+ {
601
+ return complex_re_contain_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
602
+ }
603
+
604
+ VALUE rb_Number_real_contain_u_p (VALUE a, VALUE b)
605
+ {
606
+ return complex_re_contain_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
607
+ }
608
+
609
+ VALUE rb_Number_real_contain_zero_p (VALUE number)
610
+ {
611
+ return complex_re_contain_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
612
+ }
613
+
614
+ VALUE rb_Number_real_eq_p (VALUE a, VALUE b)
615
+ {
616
+ return complex_re_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
617
+ }
618
+
619
+ VALUE rb_Number_real_bounds_eq_p (VALUE a, VALUE b)
620
+ {
621
+ return complex_re_bounds_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
622
+ }
623
+
624
+ VALUE rb_Number_real_normal_p (VALUE number)
625
+ {
626
+ return complex_re_normal_p(DATA_PTR(number)) ? Qtrue : Qfalse;
627
+ }
628
+
629
+ VALUE rb_Number_real_zero_p (VALUE number)
630
+ {
631
+ return complex_re_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
632
+ }
633
+
634
+ VALUE rb_Number_real_nan_p (VALUE number)
635
+ {
636
+ return complex_re_nan_p(DATA_PTR(number)) ? Qtrue : Qfalse;
637
+ }
638
+
639
+ VALUE rb_Number_real_l_eq_l_p (VALUE a, VALUE b)
640
+ {
641
+ return complex_re_l_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
642
+ }
643
+
644
+ VALUE rb_Number_real_l_eq_n_p (VALUE a, VALUE b)
645
+ {
646
+ return complex_re_l_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
647
+ }
648
+
649
+ VALUE rb_Number_real_l_eq_u_p (VALUE a, VALUE b)
650
+ {
651
+ return complex_re_l_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
652
+ }
653
+
654
+ VALUE rb_Number_real_n_eq_l_p (VALUE a, VALUE b)
655
+ {
656
+ return complex_re_n_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
657
+ }
658
+
659
+ VALUE rb_Number_real_n_eq_n_p (VALUE a, VALUE b)
660
+ {
661
+ return complex_re_n_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
662
+ }
663
+
664
+ VALUE rb_Number_real_n_eq_u_p (VALUE a, VALUE b)
665
+ {
666
+ return complex_re_n_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
667
+ }
668
+
669
+ VALUE rb_Number_real_u_eq_l_p (VALUE a, VALUE b)
670
+ {
671
+ return complex_re_u_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
672
+ }
673
+
674
+ VALUE rb_Number_real_u_eq_n_p (VALUE a, VALUE b)
675
+ {
676
+ return complex_re_u_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
677
+ }
678
+
679
+ VALUE rb_Number_real_u_eq_u_p (VALUE a, VALUE b)
680
+ {
681
+ return complex_re_u_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
682
+ }
683
+
684
+ VALUE rb_Number_real_l_gt_l_p (VALUE a, VALUE b)
685
+ {
686
+ return complex_re_l_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
687
+ }
688
+
689
+ VALUE rb_Number_real_l_gt_n_p (VALUE a, VALUE b)
690
+ {
691
+ return complex_re_l_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
692
+ }
693
+
694
+ VALUE rb_Number_real_l_gt_u_p (VALUE a, VALUE b)
695
+ {
696
+ return complex_re_l_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
697
+ }
698
+
699
+ VALUE rb_Number_real_n_gt_l_p (VALUE a, VALUE b)
700
+ {
701
+ return complex_re_n_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
702
+ }
703
+
704
+ VALUE rb_Number_real_n_gt_n_p (VALUE a, VALUE b)
705
+ {
706
+ return complex_re_n_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
707
+ }
708
+
709
+ VALUE rb_Number_real_n_gt_u_p (VALUE a, VALUE b)
710
+ {
711
+ return complex_re_n_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
712
+ }
713
+
714
+ VALUE rb_Number_real_u_gt_l_p (VALUE a, VALUE b)
715
+ {
716
+ return complex_re_u_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
717
+ }
718
+
719
+ VALUE rb_Number_real_u_gt_n_p (VALUE a, VALUE b)
720
+ {
721
+ return complex_re_u_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
722
+ }
723
+
724
+ VALUE rb_Number_real_u_gt_u_p (VALUE a, VALUE b)
725
+ {
726
+ return complex_re_u_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
727
+ }
728
+
729
+ VALUE rb_Number_real_l_ge_l_p (VALUE a, VALUE b)
730
+ {
731
+ return complex_re_l_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
732
+ }
733
+
734
+ VALUE rb_Number_real_l_ge_n_p (VALUE a, VALUE b)
735
+ {
736
+ return complex_re_l_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
737
+ }
738
+
739
+ VALUE rb_Number_real_l_ge_u_p (VALUE a, VALUE b)
740
+ {
741
+ return complex_re_l_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
742
+ }
743
+
744
+ VALUE rb_Number_real_n_ge_l_p (VALUE a, VALUE b)
745
+ {
746
+ return complex_re_n_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
747
+ }
748
+
749
+ VALUE rb_Number_real_n_ge_n_p (VALUE a, VALUE b)
750
+ {
751
+ return complex_re_n_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
752
+ }
753
+
754
+ VALUE rb_Number_real_n_ge_u_p (VALUE a, VALUE b)
755
+ {
756
+ return complex_re_n_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
757
+ }
758
+
759
+ VALUE rb_Number_real_u_ge_l_p (VALUE a, VALUE b)
760
+ {
761
+ return complex_re_u_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
762
+ }
763
+
764
+ VALUE rb_Number_real_u_ge_n_p (VALUE a, VALUE b)
765
+ {
766
+ return complex_re_u_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
767
+ }
768
+
769
+ VALUE rb_Number_real_u_ge_u_p (VALUE a, VALUE b)
770
+ {
771
+ return complex_re_u_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
772
+ }
773
+
774
+ VALUE rb_Number_real_l_lt_l_p (VALUE a, VALUE b)
775
+ {
776
+ return complex_re_l_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
777
+ }
778
+
779
+ VALUE rb_Number_real_l_lt_n_p (VALUE a, VALUE b)
780
+ {
781
+ return complex_re_l_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
782
+ }
783
+
784
+ VALUE rb_Number_real_l_lt_u_p (VALUE a, VALUE b)
785
+ {
786
+ return complex_re_l_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
787
+ }
788
+
789
+ VALUE rb_Number_real_n_lt_l_p (VALUE a, VALUE b)
790
+ {
791
+ return complex_re_n_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
792
+ }
793
+
794
+ VALUE rb_Number_real_n_lt_n_p (VALUE a, VALUE b)
795
+ {
796
+ return complex_re_n_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
797
+ }
798
+
799
+ VALUE rb_Number_real_n_lt_u_p (VALUE a, VALUE b)
800
+ {
801
+ return complex_re_n_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
802
+ }
803
+
804
+ VALUE rb_Number_real_u_lt_l_p (VALUE a, VALUE b)
805
+ {
806
+ return complex_re_u_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
807
+ }
808
+
809
+ VALUE rb_Number_real_u_lt_n_p (VALUE a, VALUE b)
810
+ {
811
+ return complex_re_u_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
812
+ }
813
+
814
+ VALUE rb_Number_real_u_lt_u_p (VALUE a, VALUE b)
815
+ {
816
+ return complex_re_u_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
817
+ }
818
+
819
+ VALUE rb_Number_real_l_le_l_p (VALUE a, VALUE b)
820
+ {
821
+ return complex_re_l_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
822
+ }
823
+
824
+ VALUE rb_Number_real_l_le_n_p (VALUE a, VALUE b)
825
+ {
826
+ return complex_re_l_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
827
+ }
828
+
829
+ VALUE rb_Number_real_l_le_u_p (VALUE a, VALUE b)
830
+ {
831
+ return complex_re_l_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
832
+ }
833
+
834
+ VALUE rb_Number_real_n_le_l_p (VALUE a, VALUE b)
835
+ {
836
+ return complex_re_n_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
837
+ }
838
+
839
+ VALUE rb_Number_real_n_le_n_p (VALUE a, VALUE b)
840
+ {
841
+ return complex_re_n_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
842
+ }
843
+
844
+ VALUE rb_Number_real_n_le_u_p (VALUE a, VALUE b)
845
+ {
846
+ return complex_re_n_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
847
+ }
848
+
849
+ VALUE rb_Number_real_u_le_l_p (VALUE a, VALUE b)
850
+ {
851
+ return complex_re_u_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
852
+ }
853
+
854
+ VALUE rb_Number_real_u_le_n_p (VALUE a, VALUE b)
855
+ {
856
+ return complex_re_u_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
857
+ }
858
+
859
+ VALUE rb_Number_real_u_le_u_p (VALUE a, VALUE b)
860
+ {
861
+ return complex_re_u_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
862
+ }
863
+
864
+ VALUE rb_Number_imag_intersect_p (VALUE a, VALUE b)
865
+ {
866
+ return complex_im_intersect_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
867
+ }
868
+
869
+ VALUE rb_Number_imag_disjoint_p (VALUE a, VALUE b)
870
+ {
871
+ return complex_im_disjoint_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
872
+ }
873
+
874
+ VALUE rb_Number_imag_bounded_p (VALUE number)
875
+ {
876
+ return complex_im_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
877
+ }
878
+
879
+ VALUE rb_Number_imag_left_bounded_p (VALUE number)
880
+ {
881
+ return complex_im_left_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
882
+ }
883
+
884
+ VALUE rb_Number_imag_right_bounded_p (VALUE number)
885
+ {
886
+ return complex_im_right_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
887
+ }
888
+
889
+ VALUE rb_Number_imag_unbounded_p (VALUE number)
890
+ {
891
+ return complex_im_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
892
+ }
893
+
894
+ VALUE rb_Number_imag_left_unbounded_p (VALUE number)
895
+ {
896
+ return complex_im_left_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
897
+ }
898
+
899
+ VALUE rb_Number_imag_right_unbounded_p (VALUE number)
900
+ {
901
+ return complex_im_right_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
902
+ }
903
+
904
+ VALUE rb_Number_imag_contain_p (VALUE a, VALUE b)
905
+ {
906
+ return complex_im_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
907
+ }
908
+
909
+ VALUE rb_Number_imag_contain_l_p (VALUE a, VALUE b)
910
+ {
911
+ return complex_im_contain_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
912
+ }
913
+
914
+ VALUE rb_Number_imag_contain_n_p (VALUE a, VALUE b)
915
+ {
916
+ return complex_im_contain_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
917
+ }
918
+
919
+ VALUE rb_Number_imag_contain_u_p (VALUE a, VALUE b)
920
+ {
921
+ return complex_im_contain_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
922
+ }
923
+
924
+ VALUE rb_Number_imag_contain_zero_p (VALUE number)
925
+ {
926
+ return complex_im_contain_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
927
+ }
928
+
929
+ VALUE rb_Number_imag_eq_p (VALUE a, VALUE b)
930
+ {
931
+ return complex_im_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
932
+ }
933
+
934
+ VALUE rb_Number_imag_bounds_eq_p (VALUE a, VALUE b)
935
+ {
936
+ return complex_im_bounds_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
937
+ }
938
+
939
+ VALUE rb_Number_imag_nan_p (VALUE number)
940
+ {
941
+ return complex_im_nan_p(DATA_PTR(number)) ? Qtrue : Qfalse;
942
+ }
943
+
944
+ VALUE rb_Number_imag_normal_p (VALUE number)
945
+ {
946
+ return complex_im_normal_p(DATA_PTR(number)) ? Qtrue : Qfalse;
947
+ }
948
+
949
+ VALUE rb_Number_imag_zero_p (VALUE number)
950
+ {
951
+ return complex_im_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
952
+ }
953
+
954
+ VALUE rb_Number_imag_l_eq_l_p (VALUE a, VALUE b)
955
+ {
956
+ return complex_im_l_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
957
+ }
958
+
959
+ VALUE rb_Number_imag_l_eq_n_p (VALUE a, VALUE b)
960
+ {
961
+ return complex_im_l_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
962
+ }
963
+
964
+ VALUE rb_Number_imag_l_eq_u_p (VALUE a, VALUE b)
965
+ {
966
+ return complex_im_l_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
967
+ }
968
+
969
+ VALUE rb_Number_imag_n_eq_l_p (VALUE a, VALUE b)
970
+ {
971
+ return complex_im_n_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
972
+ }
973
+
974
+ VALUE rb_Number_imag_n_eq_n_p (VALUE a, VALUE b)
975
+ {
976
+ return complex_im_n_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
977
+ }
978
+
979
+ VALUE rb_Number_imag_n_eq_u_p (VALUE a, VALUE b)
980
+ {
981
+ return complex_im_n_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
982
+ }
983
+
984
+ VALUE rb_Number_imag_u_eq_l_p (VALUE a, VALUE b)
985
+ {
986
+ return complex_im_u_eq_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
987
+ }
988
+
989
+ VALUE rb_Number_imag_u_eq_n_p (VALUE a, VALUE b)
990
+ {
991
+ return complex_im_u_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
992
+ }
993
+
994
+ VALUE rb_Number_imag_u_eq_u_p (VALUE a, VALUE b)
995
+ {
996
+ return complex_im_u_eq_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
997
+ }
998
+
999
+ VALUE rb_Number_imag_l_gt_l_p (VALUE a, VALUE b)
1000
+ {
1001
+ return complex_im_l_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1002
+ }
1003
+
1004
+ VALUE rb_Number_imag_l_gt_n_p (VALUE a, VALUE b)
1005
+ {
1006
+ return complex_im_l_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1007
+ }
1008
+
1009
+ VALUE rb_Number_imag_l_gt_u_p (VALUE a, VALUE b)
1010
+ {
1011
+ return complex_im_l_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1012
+ }
1013
+
1014
+ VALUE rb_Number_imag_n_gt_l_p (VALUE a, VALUE b)
1015
+ {
1016
+ return complex_im_n_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1017
+ }
1018
+
1019
+ VALUE rb_Number_imag_n_gt_n_p (VALUE a, VALUE b)
1020
+ {
1021
+ return complex_im_n_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1022
+ }
1023
+
1024
+ VALUE rb_Number_imag_n_gt_u_p (VALUE a, VALUE b)
1025
+ {
1026
+ return complex_im_n_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1027
+ }
1028
+
1029
+ VALUE rb_Number_imag_u_gt_l_p (VALUE a, VALUE b)
1030
+ {
1031
+ return complex_im_u_gt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1032
+ }
1033
+
1034
+ VALUE rb_Number_imag_u_gt_n_p (VALUE a, VALUE b)
1035
+ {
1036
+ return complex_im_u_gt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1037
+ }
1038
+
1039
+ VALUE rb_Number_imag_u_gt_u_p (VALUE a, VALUE b)
1040
+ {
1041
+ return complex_im_u_gt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1042
+ }
1043
+
1044
+ VALUE rb_Number_imag_l_ge_l_p (VALUE a, VALUE b)
1045
+ {
1046
+ return complex_im_l_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1047
+ }
1048
+
1049
+ VALUE rb_Number_imag_l_ge_n_p (VALUE a, VALUE b)
1050
+ {
1051
+ return complex_im_l_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1052
+ }
1053
+
1054
+ VALUE rb_Number_imag_l_ge_u_p (VALUE a, VALUE b)
1055
+ {
1056
+ return complex_im_l_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1057
+ }
1058
+
1059
+ VALUE rb_Number_imag_n_ge_l_p (VALUE a, VALUE b)
1060
+ {
1061
+ return complex_im_n_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1062
+ }
1063
+
1064
+ VALUE rb_Number_imag_n_ge_n_p (VALUE a, VALUE b)
1065
+ {
1066
+ return complex_im_n_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1067
+ }
1068
+
1069
+ VALUE rb_Number_imag_n_ge_u_p (VALUE a, VALUE b)
1070
+ {
1071
+ return complex_im_n_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1072
+ }
1073
+
1074
+ VALUE rb_Number_imag_u_ge_l_p (VALUE a, VALUE b)
1075
+ {
1076
+ return complex_im_u_ge_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1077
+ }
1078
+
1079
+ VALUE rb_Number_imag_u_ge_n_p (VALUE a, VALUE b)
1080
+ {
1081
+ return complex_im_u_ge_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1082
+ }
1083
+
1084
+ VALUE rb_Number_imag_u_ge_u_p (VALUE a, VALUE b)
1085
+ {
1086
+ return complex_im_u_ge_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1087
+ }
1088
+
1089
+ VALUE rb_Number_imag_l_lt_l_p (VALUE a, VALUE b)
1090
+ {
1091
+ return complex_im_l_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1092
+ }
1093
+
1094
+ VALUE rb_Number_imag_l_lt_n_p (VALUE a, VALUE b)
1095
+ {
1096
+ return complex_im_l_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1097
+ }
1098
+
1099
+ VALUE rb_Number_imag_l_lt_u_p (VALUE a, VALUE b)
1100
+ {
1101
+ return complex_im_l_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1102
+ }
1103
+
1104
+ VALUE rb_Number_imag_n_lt_l_p (VALUE a, VALUE b)
1105
+ {
1106
+ return complex_im_n_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1107
+ }
1108
+
1109
+ VALUE rb_Number_imag_n_lt_n_p (VALUE a, VALUE b)
1110
+ {
1111
+ return complex_im_n_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1112
+ }
1113
+
1114
+ VALUE rb_Number_imag_n_lt_u_p (VALUE a, VALUE b)
1115
+ {
1116
+ return complex_im_n_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1117
+ }
1118
+
1119
+ VALUE rb_Number_imag_u_lt_l_p (VALUE a, VALUE b)
1120
+ {
1121
+ return complex_im_u_lt_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1122
+ }
1123
+
1124
+ VALUE rb_Number_imag_u_lt_n_p (VALUE a, VALUE b)
1125
+ {
1126
+ return complex_im_u_lt_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1127
+ }
1128
+
1129
+ VALUE rb_Number_imag_u_lt_u_p (VALUE a, VALUE b)
1130
+ {
1131
+ return complex_im_u_lt_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1132
+ }
1133
+
1134
+ VALUE rb_Number_imag_l_le_l_p (VALUE a, VALUE b)
1135
+ {
1136
+ return complex_im_l_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1137
+ }
1138
+
1139
+ VALUE rb_Number_imag_l_le_n_p (VALUE a, VALUE b)
1140
+ {
1141
+ return complex_im_l_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1142
+ }
1143
+
1144
+ VALUE rb_Number_imag_l_le_u_p (VALUE a, VALUE b)
1145
+ {
1146
+ return complex_im_l_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1147
+ }
1148
+
1149
+ VALUE rb_Number_imag_n_le_l_p (VALUE a, VALUE b)
1150
+ {
1151
+ return complex_im_n_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1152
+ }
1153
+
1154
+ VALUE rb_Number_imag_n_le_n_p (VALUE a, VALUE b)
1155
+ {
1156
+ return complex_im_n_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1157
+ }
1158
+
1159
+ VALUE rb_Number_imag_n_le_u_p (VALUE a, VALUE b)
1160
+ {
1161
+ return complex_im_n_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1162
+ }
1163
+
1164
+ VALUE rb_Number_imag_u_le_l_p (VALUE a, VALUE b)
1165
+ {
1166
+ return complex_im_u_le_l_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1167
+ }
1168
+
1169
+ VALUE rb_Number_imag_u_le_n_p (VALUE a, VALUE b)
1170
+ {
1171
+ return complex_im_u_le_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1172
+ }
1173
+
1174
+ VALUE rb_Number_imag_u_le_u_p (VALUE a, VALUE b)
1175
+ {
1176
+ return complex_im_u_le_u_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1177
+ }
1178
+
1179
+ VALUE rb_Number_complex_intersect_p (VALUE a, VALUE b)
1180
+ {
1181
+ return complex_intersect_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1182
+ }
1183
+
1184
+ VALUE rb_Number_complex_disjoint_p (VALUE a, VALUE b)
1185
+ {
1186
+ return complex_disjoint_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1187
+ }
1188
+
1189
+ VALUE rb_Number_complex_bounded_p (VALUE number)
1190
+ {
1191
+ return complex_unbounded_p(DATA_PTR(number)) ? Qfalse : Qtrue;
1192
+ }
1193
+
1194
+ VALUE rb_Number_complex_unbounded_p (VALUE number)
1195
+ {
1196
+ return complex_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1197
+ }
1198
+
1199
+ VALUE rb_Number_complex_contain_p (VALUE a, VALUE b)
1200
+ {
1201
+ return complex_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1202
+ }
1203
+
1204
+ VALUE rb_Number_complex_contain_ll_p (VALUE a, VALUE b)
1205
+ {
1206
+ return complex_contain_ll_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1207
+ }
1208
+
1209
+ VALUE rb_Number_complex_contain_lu_p (VALUE a, VALUE b)
1210
+ {
1211
+ return complex_contain_lu_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1212
+ }
1213
+
1214
+ VALUE rb_Number_complex_contain_n_p (VALUE a, VALUE b)
1215
+ {
1216
+ return complex_contain_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1217
+ }
1218
+
1219
+ VALUE rb_Number_complex_contain_ul_p (VALUE a, VALUE b)
1220
+ {
1221
+ return complex_contain_ul_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1222
+ }
1223
+
1224
+ VALUE rb_Number_complex_contain_uu_p (VALUE a, VALUE b)
1225
+ {
1226
+ return complex_contain_uu_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1227
+ }
1228
+
1229
+ VALUE rb_Number_complex_contain_zero_p (VALUE number)
1230
+ {
1231
+ return complex_contain_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1232
+ }
1233
+
1234
+ VALUE rb_Number_complex_nan_p (VALUE number)
1235
+ {
1236
+ return complex_nan_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1237
+ }
1238
+
1239
+ VALUE rb_Number_complex_normal_p (VALUE number)
1240
+ {
1241
+ return complex_normal_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1242
+ }
1243
+
1244
+ VALUE rb_Number_complex_zero_p (VALUE number)
1245
+ {
1246
+ return complex_zero_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1247
+ }
1248
+
1249
+ VALUE rb_Number_complex_real_p (VALUE number)
1250
+ {
1251
+ return complex_real_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1252
+ }
1253
+
1254
+ VALUE rb_Number_complex_eq_p (VALUE a, VALUE b)
1255
+ {
1256
+ return complex_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1257
+ }
1258
+
1259
+ VALUE rb_Number_complex_bounds_eq_p (VALUE a, VALUE b)
1260
+ {
1261
+ return complex_bounds_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1262
+ }
1263
+
1264
+ void Init_number ()
1265
+ {
1266
+ init_tmp_nums();
1267
+
1268
+ digs = 17;
1269
+
1270
+ rb_define_method(rb_cInteger, "to_number", rb_Integer_to_number, 0);
1271
+ rb_define_method(rb_cFloat, "to_number", rb_Float_to_number, 0);
1272
+ rb_define_method(rb_cComplex, "to_number", rb_Complex_to_number, 0);
1273
+
1274
+ rb_cNumber = rb_define_class("Number", rb_cObject);
1275
+ rb_undef_method(CLASS_OF(rb_cNumber), "new");
1276
+ rb_define_alloc_func(rb_cNumber, rb_Number_s_allocate);
1277
+ rb_define_global_function("Number", rb_f_Number, -1);
1278
+
1279
+ rb_define_singleton_method(rb_cNumber, "digits", rb_Number_s_digits, 0);
1280
+ rb_define_singleton_method(rb_cNumber, "digits=", rb_Number_s_set_digits, 1);
1281
+
1282
+ rb_define_singleton_method(rb_cNumber, "nan", rb_Number_s_nan, 0);
1283
+ rb_define_singleton_method(rb_cNumber, "pos_inf", rb_Number_s_pos_inf, 0);
1284
+ rb_define_singleton_method(rb_cNumber, "neg_inf", rb_Number_s_neg_inf, 0);
1285
+ rb_define_singleton_method(rb_cNumber, "zero", rb_Number_s_zero, 0);
1286
+ rb_define_singleton_method(rb_cNumber, "one", rb_Number_s_one, 0);
1287
+ rb_define_singleton_method(rb_cNumber, "pi", rb_Number_s_pi, 0);
1288
+ rb_define_singleton_method(rb_cNumber, "e", rb_Number_s_e, 0);
1289
+ rb_define_singleton_method(rb_cNumber, "i", rb_Number_s_i, 0);
1290
+
1291
+ rb_define_method(rb_cNumber, "singleton_method_added", rb_Number_singleton_method_added, 1);
1292
+ rb_define_method(rb_cNumber, "initialize_copy", rb_Number_initialize_copy, 1);
1293
+
1294
+ rb_define_method(rb_cNumber, "to_s", rb_Number_to_s, 0);
1295
+ rb_define_method(rb_cNumber, "to_number", rb_Number_dummy, 0);
1296
+ rb_define_method(rb_cNumber, "coerce", rb_Number_coerce, 1);
1297
+
1298
+ rb_define_method(rb_cNumber, "+@", rb_Number_dummy, 0);
1299
+ rb_define_method(rb_cNumber, "-@", rb_Number_negate, 0);
1300
+
1301
+ rb_define_method(rb_cNumber, "+", rb_Number_add, 1);
1302
+ rb_define_method(rb_cNumber, "-", rb_Number_subtract, 1);
1303
+ rb_define_method(rb_cNumber, "*", rb_Number_multiply, 1);
1304
+ rb_define_method(rb_cNumber, "/", rb_Number_divide, 1);
1305
+ rb_define_method(rb_cNumber, "%", rb_Number_modulo, 1);
1306
+
1307
+ rb_define_method(rb_cNumber, "<", rb_Number_real_n_lt_n_p, 1);
1308
+ rb_define_method(rb_cNumber, "<=", rb_Number_real_n_le_n_p, 1);
1309
+ rb_define_method(rb_cNumber, ">", rb_Number_real_n_gt_n_p, 1);
1310
+ rb_define_method(rb_cNumber, ">=", rb_Number_real_n_ge_n_p, 1);
1311
+ rb_define_method(rb_cNumber, "==", rb_Number_real_n_eq_n_p, 1);
1312
+ rb_define_method(rb_cNumber, "===", rb_Number_complex_eq_p, 1);
1313
+
1314
+ rb_define_method(rb_cNumber, "abs", rb_Number_abs, 0);
1315
+ rb_define_method(rb_cNumber, "area", rb_Number_area, 0);
1316
+ rb_define_method(rb_cNumber, "complex?", rb_Number_complex_p, 0);
1317
+ rb_define_method(rb_cNumber, "conjugate", rb_Number_conjugate, 0);
1318
+ rb_define_method(rb_cNumber, "diagonal", rb_Number_diagonal, 0);
1319
+ rb_define_method(rb_cNumber, "imag", rb_Number_imag, 0);
1320
+ rb_define_method(rb_cNumber, "negate", rb_Number_negate, 0);
1321
+ rb_define_method(rb_cNumber, "reflect", rb_Number_reflect, 0);
1322
+ rb_define_method(rb_cNumber, "round", rb_Number_round, 0);
1323
+ rb_define_method(rb_cNumber, "real", rb_Number_real, 0);
1324
+ rb_define_method(rb_cNumber, "real?", rb_Number_real_p, 0);
1325
+ rb_define_method(rb_cNumber, "sqrt", rb_Number_sqrt, 0);
1326
+
1327
+ rb_define_method(rb_cNumber, "ceil", rb_Number_round_c_c, 0);
1328
+ rb_define_method(rb_cNumber, "floor", rb_Number_round_f_f, 0);
1329
+ rb_define_method(rb_cNumber, "round_c_c", rb_Number_round_c_c, 0);
1330
+ rb_define_method(rb_cNumber, "round_c_f", rb_Number_round_c_f, 0);
1331
+ rb_define_method(rb_cNumber, "round_f_c", rb_Number_round_f_c, 0);
1332
+ rb_define_method(rb_cNumber, "round_f_f", rb_Number_round_f_f, 0);
1333
+
1334
+ rb_define_method(rb_cNumber, "round_i_i", rb_Number_round_i_i, 0);
1335
+ rb_define_method(rb_cNumber, "round_i_o", rb_Number_round_i_o, 0);
1336
+ rb_define_method(rb_cNumber, "round_o_i", rb_Number_round_o_i, 0);
1337
+ rb_define_method(rb_cNumber, "round_o_o", rb_Number_round_o_o, 0);
1338
+
1339
+ rb_define_method(rb_cNumber, "infimum", rb_Number_real_l, 0);
1340
+ rb_define_method(rb_cNumber, "l", rb_Number_real_l, 0);
1341
+ rb_define_method(rb_cNumber, "real_l", rb_Number_real_l, 0);
1342
+ rb_define_method(rb_cNumber, "imag_l", rb_Number_imag_l, 0);
1343
+ rb_define_method(rb_cNumber, "complex_ll", rb_Number_complex_ll, 0);
1344
+ rb_define_method(rb_cNumber, "complex_lu", rb_Number_complex_lu, 0);
1345
+
1346
+ rb_define_method(rb_cNumber, "magnitude", rb_Number_real_magnitude, 0);
1347
+ rb_define_method(rb_cNumber, "real_magnitude", rb_Number_real_magnitude, 0);
1348
+ rb_define_method(rb_cNumber, "imag_magnitude", rb_Number_imag_magnitude, 0);
1349
+ rb_define_method(rb_cNumber, "complex_magnitude", rb_Number_complex_magnitude, 0);
1350
+
1351
+ rb_define_method(rb_cNumber, "mignitude", rb_Number_real_mignitude, 0);
1352
+ rb_define_method(rb_cNumber, "real_mignitude", rb_Number_real_mignitude, 0);
1353
+ rb_define_method(rb_cNumber, "imag_mignitude", rb_Number_imag_mignitude, 0);
1354
+ rb_define_method(rb_cNumber, "complex_mignitude", rb_Number_complex_mignitude, 0);
1355
+
1356
+ rb_define_method(rb_cNumber, "nominal", rb_Number_real_n, 0);
1357
+ rb_define_method(rb_cNumber, "n", rb_Number_real_n, 0);
1358
+ rb_define_method(rb_cNumber, "real_n", rb_Number_real_n, 0);
1359
+ rb_define_method(rb_cNumber, "imag_n", rb_Number_imag_n, 0);
1360
+ rb_define_method(rb_cNumber, "complex_n", rb_Number_complex_n, 0);
1361
+
1362
+ rb_define_method(rb_cNumber, "supremum", rb_Number_real_u, 0);
1363
+ rb_define_method(rb_cNumber, "u", rb_Number_real_u, 0);
1364
+ rb_define_method(rb_cNumber, "real_u", rb_Number_real_u, 0);
1365
+ rb_define_method(rb_cNumber, "imag_u", rb_Number_imag_u, 0);
1366
+ rb_define_method(rb_cNumber, "complex_ul", rb_Number_complex_uu, 0);
1367
+ rb_define_method(rb_cNumber, "complex_uu", rb_Number_complex_ul, 0);
1368
+
1369
+ rb_define_method(rb_cNumber, "width", rb_Number_real_width, 0);
1370
+ rb_define_method(rb_cNumber, "real_width", rb_Number_real_width, 0);
1371
+ rb_define_method(rb_cNumber, "imag_width", rb_Number_imag_width, 0);
1372
+ rb_define_method(rb_cNumber, "complex_width", rb_Number_complex_width, 0);
1373
+
1374
+ rb_define_method(rb_cNumber, "intersect?", rb_Number_real_intersect_p, 1);
1375
+ rb_define_method(rb_cNumber, "real_intersect?", rb_Number_real_intersect_p, 1);
1376
+ rb_define_method(rb_cNumber, "imag_intersect?", rb_Number_imag_intersect_p, 1);
1377
+ rb_define_method(rb_cNumber, "complex_intersect?", rb_Number_complex_intersect_p, 1);
1378
+
1379
+ rb_define_method(rb_cNumber, "disjoint?", rb_Number_real_disjoint_p, 1);
1380
+ rb_define_method(rb_cNumber, "real_disjoint?", rb_Number_real_disjoint_p, 1);
1381
+ rb_define_method(rb_cNumber, "imag_disjoint?", rb_Number_imag_disjoint_p, 1);
1382
+ rb_define_method(rb_cNumber, "complex_disjoint?", rb_Number_complex_disjoint_p, 1);
1383
+
1384
+ rb_define_method(rb_cNumber, "contain?", rb_Number_real_contain_p, 1);
1385
+ rb_define_method(rb_cNumber, "real_contain?", rb_Number_real_contain_p, 1);
1386
+ rb_define_method(rb_cNumber, "imag_contain?", rb_Number_imag_contain_p, 1);
1387
+ rb_define_method(rb_cNumber, "complex_contain?", rb_Number_complex_contain_p, 1);
1388
+
1389
+ rb_define_method(rb_cNumber, "contain_l?", rb_Number_real_contain_l_p, 1);
1390
+ rb_define_method(rb_cNumber, "real_contain_l?", rb_Number_real_contain_l_p, 1);
1391
+ rb_define_method(rb_cNumber, "imag_contain_l?", rb_Number_imag_contain_l_p, 1);
1392
+ rb_define_method(rb_cNumber, "complex_contain_ll?", rb_Number_complex_contain_ll_p, 1);
1393
+ rb_define_method(rb_cNumber, "complex_contain_lu?", rb_Number_complex_contain_lu_p, 1);
1394
+
1395
+ rb_define_method(rb_cNumber, "contain_n?", rb_Number_real_contain_n_p, 1);
1396
+ rb_define_method(rb_cNumber, "real_contain_n?", rb_Number_real_contain_n_p, 1);
1397
+ rb_define_method(rb_cNumber, "imag_contain_n?", rb_Number_imag_contain_n_p, 1);
1398
+ rb_define_method(rb_cNumber, "complex_contain_n?", rb_Number_complex_contain_n_p, 1);
1399
+
1400
+ rb_define_method(rb_cNumber, "contain_u?", rb_Number_real_contain_u_p, 1);
1401
+ rb_define_method(rb_cNumber, "real_contain_u?", rb_Number_real_contain_u_p, 1);
1402
+ rb_define_method(rb_cNumber, "imag_contain_u?", rb_Number_imag_contain_u_p, 1);
1403
+ rb_define_method(rb_cNumber, "complex_contain_ul?", rb_Number_complex_contain_ul_p, 1);
1404
+ rb_define_method(rb_cNumber, "complex_contain_uu?", rb_Number_complex_contain_uu_p, 1);
1405
+
1406
+ rb_define_method(rb_cNumber, "contain_zero?", rb_Number_real_contain_zero_p, 0);
1407
+ rb_define_method(rb_cNumber, "real_contain_zero?", rb_Number_real_contain_zero_p, 0);
1408
+ rb_define_method(rb_cNumber, "imag_contain_zero?", rb_Number_imag_contain_zero_p, 0);
1409
+ rb_define_method(rb_cNumber, "complex_contain_zero?", rb_Number_complex_contain_zero_p, 0);
1410
+
1411
+ rb_define_method(rb_cNumber, "eq?", rb_Number_real_eq_p, 1);
1412
+ rb_define_method(rb_cNumber, "real_eq?", rb_Number_real_eq_p, 1);
1413
+ rb_define_method(rb_cNumber, "imag_eq?", rb_Number_imag_eq_p, 1);
1414
+ rb_define_method(rb_cNumber, "complex_eq?", rb_Number_complex_eq_p, 1);
1415
+
1416
+ rb_define_method(rb_cNumber, "bounds_eq?", rb_Number_real_bounds_eq_p, 1);
1417
+ rb_define_method(rb_cNumber, "real_bounds_eq?", rb_Number_real_bounds_eq_p, 1);
1418
+ rb_define_method(rb_cNumber, "imag_bounds_eq?", rb_Number_imag_bounds_eq_p, 1);
1419
+ rb_define_method(rb_cNumber, "complex_bounds_eq?", rb_Number_complex_bounds_eq_p, 1);
1420
+
1421
+ rb_define_method(rb_cNumber, "bounded?", rb_Number_real_bounded_p, 0);
1422
+ rb_define_method(rb_cNumber, "real_bounded?", rb_Number_real_bounded_p, 0);
1423
+ rb_define_method(rb_cNumber, "imag_bounded?", rb_Number_imag_bounded_p, 0);
1424
+ rb_define_method(rb_cNumber, "complex_bounded?", rb_Number_complex_bounded_p, 0);
1425
+
1426
+ rb_define_method(rb_cNumber, "unbounded?", rb_Number_real_unbounded_p, 0);
1427
+ rb_define_method(rb_cNumber, "real_unbounded?", rb_Number_real_unbounded_p, 0);
1428
+ rb_define_method(rb_cNumber, "imag_unbounded?", rb_Number_imag_unbounded_p, 0);
1429
+ rb_define_method(rb_cNumber, "complex_unbounded?", rb_Number_complex_unbounded_p, 0);
1430
+
1431
+ rb_define_method(rb_cNumber, "left_bounded?", rb_Number_real_left_bounded_p, 0);
1432
+ rb_define_method(rb_cNumber, "real_left_bounded?", rb_Number_real_left_bounded_p, 0);
1433
+ rb_define_method(rb_cNumber, "imag_left_bounded?", rb_Number_imag_left_bounded_p, 0);
1434
+
1435
+ rb_define_method(rb_cNumber, "left_unbounded?", rb_Number_real_left_unbounded_p, 0);
1436
+ rb_define_method(rb_cNumber, "real_left_unbounded?", rb_Number_real_left_unbounded_p, 0);
1437
+ rb_define_method(rb_cNumber, "imag_left_unbounded?", rb_Number_imag_left_unbounded_p, 0);
1438
+
1439
+ rb_define_method(rb_cNumber, "right_bounded?", rb_Number_real_right_bounded_p, 0);
1440
+ rb_define_method(rb_cNumber, "real_right_bounded?", rb_Number_real_right_bounded_p, 0);
1441
+ rb_define_method(rb_cNumber, "imag_right_bounded?", rb_Number_imag_right_bounded_p, 0);
1442
+
1443
+ rb_define_method(rb_cNumber, "right_unbounded?", rb_Number_real_right_unbounded_p, 0);
1444
+ rb_define_method(rb_cNumber, "real_right_unbounded?", rb_Number_real_right_unbounded_p, 0);
1445
+ rb_define_method(rb_cNumber, "imag_right_unbounded?", rb_Number_imag_right_unbounded_p, 0);
1446
+
1447
+ rb_define_method(rb_cNumber, "normal?", rb_Number_real_normal_p, 0);
1448
+ rb_define_method(rb_cNumber, "real_normal?", rb_Number_real_normal_p, 0);
1449
+ rb_define_method(rb_cNumber, "imag_normal?", rb_Number_imag_normal_p, 0);
1450
+ rb_define_method(rb_cNumber, "complex_normal?", rb_Number_complex_normal_p, 0);
1451
+
1452
+ rb_define_method(rb_cNumber, "nan?", rb_Number_real_nan_p, 0);
1453
+ rb_define_method(rb_cNumber, "real_nan?", rb_Number_real_nan_p, 0);
1454
+ rb_define_method(rb_cNumber, "imag_nan?", rb_Number_imag_nan_p, 0);
1455
+ rb_define_method(rb_cNumber, "complex_nan?", rb_Number_complex_nan_p, 0);
1456
+
1457
+ //rb_define_method(rb_cNumber, "finite?", rb_Number_real_finite_p, 0);
1458
+ //rb_define_method(rb_cNumber, "real_finite?", rb_Number_real_finite_p, 0);
1459
+ //rb_define_method(rb_cNumber, "imag_finite?", rb_Number_imag_finite_p, 0);
1460
+ //rb_define_method(rb_cNumber, "complex_finite?", rb_Number_complex_finite_p, 0);
1461
+ //
1462
+ //rb_define_method(rb_cNumber, "infinite?", rb_Number_real_infinite_p, 0);
1463
+ //rb_define_method(rb_cNumber, "real_infinite?", rb_Number_real_infinite_p, 0);
1464
+ //rb_define_method(rb_cNumber, "imag_infinite?", rb_Number_imag_infinite_p, 0);
1465
+ //rb_define_method(rb_cNumber, "complex_infinite?", rb_Number_complex_infinite_p, 0);
1466
+
1467
+ rb_define_method(rb_cNumber, "zero?", rb_Number_real_zero_p, 0);
1468
+ rb_define_method(rb_cNumber, "real_zero?", rb_Number_real_zero_p, 0);
1469
+ rb_define_method(rb_cNumber, "imag_zero?", rb_Number_imag_zero_p, 0);
1470
+ rb_define_method(rb_cNumber, "complex_zero?", rb_Number_complex_zero_p, 0);
1471
+
1472
+ rb_define_method(rb_cNumber, "l_eq_l?", rb_Number_real_l_eq_l_p, 1);
1473
+ rb_define_method(rb_cNumber, "real_l_eq_l?", rb_Number_real_l_eq_l_p, 1);
1474
+ rb_define_method(rb_cNumber, "imag_l_eq_l?", rb_Number_imag_l_eq_l_p, 1);
1475
+
1476
+ rb_define_method(rb_cNumber, "l_eq_n?", rb_Number_real_l_eq_n_p, 1);
1477
+ rb_define_method(rb_cNumber, "real_l_eq_n?", rb_Number_real_l_eq_n_p, 1);
1478
+ rb_define_method(rb_cNumber, "imag_l_eq_n?", rb_Number_imag_l_eq_n_p, 1);
1479
+
1480
+ rb_define_method(rb_cNumber, "l_eq_u?", rb_Number_real_l_eq_u_p, 1);
1481
+ rb_define_method(rb_cNumber, "real_l_eq_u?", rb_Number_real_l_eq_u_p, 1);
1482
+ rb_define_method(rb_cNumber, "imag_l_eq_u?", rb_Number_imag_l_eq_u_p, 1);
1483
+
1484
+ rb_define_method(rb_cNumber, "n_eq_l?", rb_Number_real_n_eq_l_p, 1);
1485
+ rb_define_method(rb_cNumber, "real_n_eq_l?", rb_Number_real_n_eq_l_p, 1);
1486
+ rb_define_method(rb_cNumber, "imag_n_eq_l?", rb_Number_imag_n_eq_l_p, 1);
1487
+
1488
+ rb_define_method(rb_cNumber, "n_eq_n?", rb_Number_real_n_eq_n_p, 1);
1489
+ rb_define_method(rb_cNumber, "real_n_eq_n?", rb_Number_real_n_eq_n_p, 1);
1490
+ rb_define_method(rb_cNumber, "imag_n_eq_n?", rb_Number_imag_n_eq_n_p, 1);
1491
+
1492
+ rb_define_method(rb_cNumber, "n_eq_u?", rb_Number_real_n_eq_u_p, 1);
1493
+ rb_define_method(rb_cNumber, "real_n_eq_u?", rb_Number_real_n_eq_u_p, 1);
1494
+ rb_define_method(rb_cNumber, "imag_n_eq_u?", rb_Number_imag_n_eq_u_p, 1);
1495
+
1496
+ rb_define_method(rb_cNumber, "u_eq_l?", rb_Number_real_u_eq_l_p, 1);
1497
+ rb_define_method(rb_cNumber, "real_u_eq_l?", rb_Number_real_u_eq_l_p, 1);
1498
+ rb_define_method(rb_cNumber, "imag_u_eq_l?", rb_Number_imag_u_eq_l_p, 1);
1499
+
1500
+ rb_define_method(rb_cNumber, "u_eq_n?", rb_Number_real_u_eq_n_p, 1);
1501
+ rb_define_method(rb_cNumber, "real_u_eq_n?", rb_Number_real_u_eq_n_p, 1);
1502
+ rb_define_method(rb_cNumber, "imag_u_eq_n?", rb_Number_imag_u_eq_n_p, 1);
1503
+
1504
+ rb_define_method(rb_cNumber, "u_eq_u?", rb_Number_real_u_eq_u_p, 1);
1505
+ rb_define_method(rb_cNumber, "real_u_eq_u?", rb_Number_real_u_eq_u_p, 1);
1506
+ rb_define_method(rb_cNumber, "imag_u_eq_u?", rb_Number_imag_u_eq_u_p, 1);
1507
+
1508
+ rb_define_method(rb_cNumber, "l_gt_l?", rb_Number_real_l_gt_l_p, 1);
1509
+ rb_define_method(rb_cNumber, "real_l_gt_l?", rb_Number_real_l_gt_l_p, 1);
1510
+ rb_define_method(rb_cNumber, "imag_l_gt_l?", rb_Number_imag_l_gt_l_p, 1);
1511
+
1512
+ rb_define_method(rb_cNumber, "l_gt_n?", rb_Number_real_l_gt_n_p, 1);
1513
+ rb_define_method(rb_cNumber, "real_l_gt_n?", rb_Number_real_l_gt_n_p, 1);
1514
+ rb_define_method(rb_cNumber, "imag_l_gt_n?", rb_Number_imag_l_gt_n_p, 1);
1515
+
1516
+ rb_define_method(rb_cNumber, "l_gt_u?", rb_Number_real_l_gt_u_p, 1);
1517
+ rb_define_method(rb_cNumber, "real_l_gt_u?", rb_Number_real_l_gt_u_p, 1);
1518
+ rb_define_method(rb_cNumber, "imag_l_gt_u?", rb_Number_imag_l_gt_u_p, 1);
1519
+
1520
+ rb_define_method(rb_cNumber, "n_gt_l?", rb_Number_real_n_gt_l_p, 1);
1521
+ rb_define_method(rb_cNumber, "real_n_gt_l?", rb_Number_real_n_gt_l_p, 1);
1522
+ rb_define_method(rb_cNumber, "imag_n_gt_l?", rb_Number_imag_n_gt_l_p, 1);
1523
+
1524
+ rb_define_method(rb_cNumber, "n_gt_n?", rb_Number_real_n_gt_n_p, 1);
1525
+ rb_define_method(rb_cNumber, "real_n_gt_n?", rb_Number_real_n_gt_n_p, 1);
1526
+ rb_define_method(rb_cNumber, "imag_n_gt_n?", rb_Number_imag_n_gt_n_p, 1);
1527
+
1528
+ rb_define_method(rb_cNumber, "n_gt_u?", rb_Number_real_n_gt_u_p, 1);
1529
+ rb_define_method(rb_cNumber, "real_n_gt_u?", rb_Number_real_n_gt_u_p, 1);
1530
+ rb_define_method(rb_cNumber, "imag_n_gt_u?", rb_Number_imag_n_gt_u_p, 1);
1531
+
1532
+ rb_define_method(rb_cNumber, "u_gt_l?", rb_Number_real_u_gt_l_p, 1);
1533
+ rb_define_method(rb_cNumber, "real_u_gt_l?", rb_Number_real_u_gt_l_p, 1);
1534
+ rb_define_method(rb_cNumber, "imag_u_gt_l?", rb_Number_imag_u_gt_l_p, 1);
1535
+
1536
+ rb_define_method(rb_cNumber, "u_gt_n?", rb_Number_real_u_gt_n_p, 1);
1537
+ rb_define_method(rb_cNumber, "real_u_gt_n?", rb_Number_real_u_gt_n_p, 1);
1538
+ rb_define_method(rb_cNumber, "imag_u_gt_n?", rb_Number_imag_u_gt_n_p, 1);
1539
+
1540
+ rb_define_method(rb_cNumber, "u_gt_u?", rb_Number_real_u_gt_u_p, 1);
1541
+ rb_define_method(rb_cNumber, "real_u_gt_u?", rb_Number_real_u_gt_u_p, 1);
1542
+ rb_define_method(rb_cNumber, "imag_u_gt_u?", rb_Number_imag_u_gt_u_p, 1);
1543
+
1544
+ rb_define_method(rb_cNumber, "l_ge_l?", rb_Number_real_l_ge_l_p, 1);
1545
+ rb_define_method(rb_cNumber, "real_l_ge_l?", rb_Number_real_l_ge_l_p, 1);
1546
+ rb_define_method(rb_cNumber, "imag_l_ge_l?", rb_Number_imag_l_ge_l_p, 1);
1547
+
1548
+ rb_define_method(rb_cNumber, "l_ge_n?", rb_Number_real_l_ge_n_p, 1);
1549
+ rb_define_method(rb_cNumber, "real_l_ge_n?", rb_Number_real_l_ge_n_p, 1);
1550
+ rb_define_method(rb_cNumber, "imag_l_ge_n?", rb_Number_imag_l_ge_n_p, 1);
1551
+
1552
+ rb_define_method(rb_cNumber, "l_ge_u?", rb_Number_real_l_ge_u_p, 1);
1553
+ rb_define_method(rb_cNumber, "real_l_ge_u?", rb_Number_real_l_ge_u_p, 1);
1554
+ rb_define_method(rb_cNumber, "imag_l_ge_u?", rb_Number_imag_l_ge_u_p, 1);
1555
+
1556
+ rb_define_method(rb_cNumber, "n_ge_l?", rb_Number_real_n_ge_l_p, 1);
1557
+ rb_define_method(rb_cNumber, "real_n_ge_l?", rb_Number_real_n_ge_l_p, 1);
1558
+ rb_define_method(rb_cNumber, "imag_n_ge_l?", rb_Number_imag_n_ge_l_p, 1);
1559
+
1560
+ rb_define_method(rb_cNumber, "n_ge_n?", rb_Number_real_n_ge_n_p, 1);
1561
+ rb_define_method(rb_cNumber, "real_n_ge_n?", rb_Number_real_n_ge_n_p, 1);
1562
+ rb_define_method(rb_cNumber, "imag_n_ge_n?", rb_Number_imag_n_ge_n_p, 1);
1563
+
1564
+ rb_define_method(rb_cNumber, "n_ge_u?", rb_Number_real_n_ge_u_p, 1);
1565
+ rb_define_method(rb_cNumber, "real_n_ge_u?", rb_Number_real_n_ge_u_p, 1);
1566
+ rb_define_method(rb_cNumber, "imag_n_ge_u?", rb_Number_imag_n_ge_u_p, 1);
1567
+
1568
+ rb_define_method(rb_cNumber, "u_ge_l?", rb_Number_real_u_ge_l_p, 1);
1569
+ rb_define_method(rb_cNumber, "real_u_ge_l?", rb_Number_real_u_ge_l_p, 1);
1570
+ rb_define_method(rb_cNumber, "imag_u_ge_l?", rb_Number_imag_u_ge_l_p, 1);
1571
+
1572
+ rb_define_method(rb_cNumber, "u_ge_n?", rb_Number_real_u_ge_n_p, 1);
1573
+ rb_define_method(rb_cNumber, "real_u_ge_n?", rb_Number_real_u_ge_n_p, 1);
1574
+ rb_define_method(rb_cNumber, "imag_u_ge_n?", rb_Number_imag_u_ge_n_p, 1);
1575
+
1576
+ rb_define_method(rb_cNumber, "u_ge_u?", rb_Number_real_u_ge_u_p, 1);
1577
+ rb_define_method(rb_cNumber, "real_u_ge_u?", rb_Number_real_u_ge_u_p, 1);
1578
+ rb_define_method(rb_cNumber, "imag_u_ge_u?", rb_Number_imag_u_ge_u_p, 1);
1579
+
1580
+ rb_define_method(rb_cNumber, "l_lt_l?", rb_Number_real_l_lt_l_p, 1);
1581
+ rb_define_method(rb_cNumber, "real_l_lt_l?", rb_Number_real_l_lt_l_p, 1);
1582
+ rb_define_method(rb_cNumber, "imag_l_lt_l?", rb_Number_imag_l_lt_l_p, 1);
1583
+
1584
+ rb_define_method(rb_cNumber, "l_lt_n?", rb_Number_real_l_lt_n_p, 1);
1585
+ rb_define_method(rb_cNumber, "real_l_lt_n?", rb_Number_real_l_lt_n_p, 1);
1586
+ rb_define_method(rb_cNumber, "imag_l_lt_n?", rb_Number_imag_l_lt_n_p, 1);
1587
+
1588
+ rb_define_method(rb_cNumber, "l_lt_u?", rb_Number_real_l_lt_u_p, 1);
1589
+ rb_define_method(rb_cNumber, "real_l_lt_u?", rb_Number_real_l_lt_u_p, 1);
1590
+ rb_define_method(rb_cNumber, "imag_l_lt_u?", rb_Number_imag_l_lt_u_p, 1);
1591
+
1592
+ rb_define_method(rb_cNumber, "n_lt_l?", rb_Number_real_n_lt_l_p, 1);
1593
+ rb_define_method(rb_cNumber, "real_n_lt_l?", rb_Number_real_n_lt_l_p, 1);
1594
+ rb_define_method(rb_cNumber, "imag_n_lt_l?", rb_Number_imag_n_lt_l_p, 1);
1595
+
1596
+ rb_define_method(rb_cNumber, "n_lt_n?", rb_Number_real_n_lt_n_p, 1);
1597
+ rb_define_method(rb_cNumber, "real_n_lt_n?", rb_Number_real_n_lt_n_p, 1);
1598
+ rb_define_method(rb_cNumber, "imag_n_lt_n?", rb_Number_imag_n_lt_n_p, 1);
1599
+
1600
+ rb_define_method(rb_cNumber, "n_lt_u?", rb_Number_real_n_lt_u_p, 1);
1601
+ rb_define_method(rb_cNumber, "real_n_lt_u?", rb_Number_real_n_lt_u_p, 1);
1602
+ rb_define_method(rb_cNumber, "imag_n_lt_u?", rb_Number_imag_n_lt_u_p, 1);
1603
+
1604
+ rb_define_method(rb_cNumber, "u_lt_l?", rb_Number_real_u_lt_l_p, 1);
1605
+ rb_define_method(rb_cNumber, "real_u_lt_l?", rb_Number_real_u_lt_l_p, 1);
1606
+ rb_define_method(rb_cNumber, "imag_u_lt_l?", rb_Number_imag_u_lt_l_p, 1);
1607
+
1608
+ rb_define_method(rb_cNumber, "u_lt_n?", rb_Number_real_u_lt_n_p, 1);
1609
+ rb_define_method(rb_cNumber, "real_u_lt_n?", rb_Number_real_u_lt_n_p, 1);
1610
+ rb_define_method(rb_cNumber, "imag_u_lt_n?", rb_Number_imag_u_lt_n_p, 1);
1611
+
1612
+ rb_define_method(rb_cNumber, "u_lt_u?", rb_Number_real_u_lt_u_p, 1);
1613
+ rb_define_method(rb_cNumber, "real_u_lt_u?", rb_Number_real_u_lt_u_p, 1);
1614
+ rb_define_method(rb_cNumber, "imag_u_lt_u?", rb_Number_imag_u_lt_u_p, 1);
1615
+
1616
+ rb_define_method(rb_cNumber, "l_le_l?", rb_Number_real_l_le_l_p, 1);
1617
+ rb_define_method(rb_cNumber, "real_l_le_l?", rb_Number_real_l_le_l_p, 1);
1618
+ rb_define_method(rb_cNumber, "imag_l_le_l?", rb_Number_imag_l_le_l_p, 1);
1619
+
1620
+ rb_define_method(rb_cNumber, "l_le_n?", rb_Number_real_l_le_n_p, 1);
1621
+ rb_define_method(rb_cNumber, "real_l_le_n?", rb_Number_real_l_le_n_p, 1);
1622
+ rb_define_method(rb_cNumber, "imag_l_le_n?", rb_Number_imag_l_le_n_p, 1);
1623
+
1624
+ rb_define_method(rb_cNumber, "l_le_u?", rb_Number_real_l_le_u_p, 1);
1625
+ rb_define_method(rb_cNumber, "real_l_le_u?", rb_Number_real_l_le_u_p, 1);
1626
+ rb_define_method(rb_cNumber, "imag_l_le_u?", rb_Number_imag_l_le_u_p, 1);
1627
+
1628
+ rb_define_method(rb_cNumber, "n_le_l?", rb_Number_real_n_le_l_p, 1);
1629
+ rb_define_method(rb_cNumber, "real_n_le_l?", rb_Number_real_n_le_l_p, 1);
1630
+ rb_define_method(rb_cNumber, "imag_n_le_l?", rb_Number_imag_n_le_l_p, 1);
1631
+
1632
+ rb_define_method(rb_cNumber, "n_le_n?", rb_Number_real_n_le_n_p, 1);
1633
+ rb_define_method(rb_cNumber, "real_n_le_n?", rb_Number_real_n_le_n_p, 1);
1634
+ rb_define_method(rb_cNumber, "imag_n_le_n?", rb_Number_imag_n_le_n_p, 1);
1635
+
1636
+ rb_define_method(rb_cNumber, "n_le_u?", rb_Number_real_n_le_u_p, 1);
1637
+ rb_define_method(rb_cNumber, "real_n_le_u?", rb_Number_real_n_le_u_p, 1);
1638
+ rb_define_method(rb_cNumber, "imag_n_le_u?", rb_Number_imag_n_le_u_p, 1);
1639
+
1640
+ rb_define_method(rb_cNumber, "u_le_l?", rb_Number_real_u_le_l_p, 1);
1641
+ rb_define_method(rb_cNumber, "real_u_le_l?", rb_Number_real_u_le_l_p, 1);
1642
+ rb_define_method(rb_cNumber, "imag_u_le_l?", rb_Number_imag_u_le_l_p, 1);
1643
+
1644
+ rb_define_method(rb_cNumber, "u_le_n?", rb_Number_real_u_le_n_p, 1);
1645
+ rb_define_method(rb_cNumber, "real_u_le_n?", rb_Number_real_u_le_n_p, 1);
1646
+ rb_define_method(rb_cNumber, "imag_u_le_n?", rb_Number_imag_u_le_n_p, 1);
1647
+
1648
+ rb_define_method(rb_cNumber, "u_le_u?", rb_Number_real_u_le_u_p, 1);
1649
+ rb_define_method(rb_cNumber, "real_u_le_u?", rb_Number_real_u_le_u_p, 1);
1650
+ rb_define_method(rb_cNumber, "imag_u_le_u?", rb_Number_imag_u_le_u_p, 1);
1651
+ }