number 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/ext/number.c +26 -14
  2. metadata +1 -1
@@ -232,6 +232,16 @@ VALUE rb_Number_modulo (VALUE a, VALUE b)
232
232
  return result;
233
233
  }
234
234
 
235
+ VALUE rb_Number_eq_p (VALUE a, VALUE b)
236
+ {
237
+ return (CLASS_OF(b) == rb_cNumber || rb_obj_is_kind_of(b, rb_cNumeric)) && complex_re_n_eq_n_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
238
+ }
239
+
240
+ VALUE rb_Number_eqq_p (VALUE a, VALUE b)
241
+ {
242
+ return (CLASS_OF(b) == rb_cNumber || rb_obj_is_kind_of(b, rb_cNumeric)) && complex_eq_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
243
+ }
244
+
235
245
  VALUE rb_Number_abs (VALUE number)
236
246
  {
237
247
  VALUE result = rb_obj_alloc(rb_cNumber);
@@ -586,9 +596,9 @@ VALUE rb_Number_real_right_unbounded_p (VALUE number)
586
596
  return complex_re_right_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
587
597
  }
588
598
 
589
- VALUE rb_Number_real_contain_p (VALUE a, VALUE b)
599
+ VALUE rb_Number_real_enclose_p (VALUE a, VALUE b)
590
600
  {
591
- return complex_re_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
601
+ return complex_re_enclose_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
592
602
  }
593
603
 
594
604
  VALUE rb_Number_real_contain_l_p (VALUE a, VALUE b)
@@ -901,9 +911,9 @@ VALUE rb_Number_imag_right_unbounded_p (VALUE number)
901
911
  return complex_im_right_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
902
912
  }
903
913
 
904
- VALUE rb_Number_imag_contain_p (VALUE a, VALUE b)
914
+ VALUE rb_Number_imag_enclose_p (VALUE a, VALUE b)
905
915
  {
906
- return complex_im_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
916
+ return complex_im_enclose_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
907
917
  }
908
918
 
909
919
  VALUE rb_Number_imag_contain_l_p (VALUE a, VALUE b)
@@ -1196,9 +1206,9 @@ VALUE rb_Number_complex_unbounded_p (VALUE number)
1196
1206
  return complex_unbounded_p(DATA_PTR(number)) ? Qtrue : Qfalse;
1197
1207
  }
1198
1208
 
1199
- VALUE rb_Number_complex_contain_p (VALUE a, VALUE b)
1209
+ VALUE rb_Number_complex_enclose_p (VALUE a, VALUE b)
1200
1210
  {
1201
- return complex_contain_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1211
+ return complex_enclose_p(DATA_PTR(a), DATA_PTR(rb_convert_type(b, T_DATA, "Number", "to_number"))) ? Qtrue : Qfalse;
1202
1212
  }
1203
1213
 
1204
1214
  VALUE rb_Number_complex_contain_ll_p (VALUE a, VALUE b)
@@ -1304,12 +1314,13 @@ void Init_number ()
1304
1314
  rb_define_method(rb_cNumber, "/", rb_Number_divide, 1);
1305
1315
  rb_define_method(rb_cNumber, "%", rb_Number_modulo, 1);
1306
1316
 
1317
+ rb_define_method(rb_cNumber, "==", rb_Number_eq_p, 1);
1318
+ rb_define_method(rb_cNumber, "===", rb_Number_eqq_p, 1);
1319
+
1307
1320
  rb_define_method(rb_cNumber, "<", rb_Number_real_n_lt_n_p, 1);
1308
1321
  rb_define_method(rb_cNumber, "<=", rb_Number_real_n_le_n_p, 1);
1309
1322
  rb_define_method(rb_cNumber, ">", rb_Number_real_n_gt_n_p, 1);
1310
1323
  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
1324
 
1314
1325
  rb_define_method(rb_cNumber, "abs", rb_Number_abs, 0);
1315
1326
  rb_define_method(rb_cNumber, "area", rb_Number_area, 0);
@@ -1318,10 +1329,10 @@ void Init_number ()
1318
1329
  rb_define_method(rb_cNumber, "diagonal", rb_Number_diagonal, 0);
1319
1330
  rb_define_method(rb_cNumber, "imag", rb_Number_imag, 0);
1320
1331
  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
1332
  rb_define_method(rb_cNumber, "real", rb_Number_real, 0);
1324
1333
  rb_define_method(rb_cNumber, "real?", rb_Number_real_p, 0);
1334
+ rb_define_method(rb_cNumber, "reflect", rb_Number_reflect, 0);
1335
+ rb_define_method(rb_cNumber, "round", rb_Number_round, 0);
1325
1336
  rb_define_method(rb_cNumber, "sqrt", rb_Number_sqrt, 0);
1326
1337
 
1327
1338
  rb_define_method(rb_cNumber, "ceil", rb_Number_round_c_c, 0);
@@ -1381,10 +1392,10 @@ void Init_number ()
1381
1392
  rb_define_method(rb_cNumber, "imag_disjoint?", rb_Number_imag_disjoint_p, 1);
1382
1393
  rb_define_method(rb_cNumber, "complex_disjoint?", rb_Number_complex_disjoint_p, 1);
1383
1394
 
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);
1395
+ rb_define_method(rb_cNumber, "enclose?", rb_Number_real_enclose_p, 1);
1396
+ rb_define_method(rb_cNumber, "real_enclose?", rb_Number_real_enclose_p, 1);
1397
+ rb_define_method(rb_cNumber, "imag_enclose?", rb_Number_imag_enclose_p, 1);
1398
+ rb_define_method(rb_cNumber, "complex_enclose?", rb_Number_complex_enclose_p, 1);
1388
1399
 
1389
1400
  rb_define_method(rb_cNumber, "contain_l?", rb_Number_real_contain_l_p, 1);
1390
1401
  rb_define_method(rb_cNumber, "real_contain_l?", rb_Number_real_contain_l_p, 1);
@@ -1392,6 +1403,7 @@ void Init_number ()
1392
1403
  rb_define_method(rb_cNumber, "complex_contain_ll?", rb_Number_complex_contain_ll_p, 1);
1393
1404
  rb_define_method(rb_cNumber, "complex_contain_lu?", rb_Number_complex_contain_lu_p, 1);
1394
1405
 
1406
+ rb_define_method(rb_cNumber, "contain?", rb_Number_real_contain_n_p, 1);
1395
1407
  rb_define_method(rb_cNumber, "contain_n?", rb_Number_real_contain_n_p, 1);
1396
1408
  rb_define_method(rb_cNumber, "real_contain_n?", rb_Number_real_contain_n_p, 1);
1397
1409
  rb_define_method(rb_cNumber, "imag_contain_n?", rb_Number_imag_contain_n_p, 1);
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: number
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.2
5
+ version: 0.9.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jesse Sielaff