number 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }