ruby-mpfi 0.0.2 → 0.0.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.
- data/History.txt +4 -0
- data/Manifest.txt +0 -4
- data/README.rdoc +21 -25
- data/Rakefile +2 -1
- data/ext/mpfi/ruby_mpfi.c +242 -102
- data/ext/mpfi_complex/mpfi/ruby_mpfi_complex.c +34 -14
- data/ext/mpfi_matrix/mpfi/func_mpfi_matrix.c +2 -86
- data/ext/mpfi_matrix/mpfi/func_mpfi_matrix.h +0 -6
- data/ext/mpfi_matrix/mpfi/ruby_mpfi_matrix.c +99 -35
- data/lib/mpfi/version.rb +1 -3
- data/ruby-mpfi.gemspec +8 -5
- data/spec/mpfi/mpfi_math_functions_spec.rb +2 -2
- metadata +14 -7
- data/ext/mpfi/make_c_source.rb +0 -115
- data/ext/mpfi/yasnippet_mpfi.el +0 -44
- data/ext/mpfi_matrix/mpfi/func_ruby_mpfi_complex.h +0 -35
- data/ext/mpfi_matrix/mpfi/ruby_mpfi_complex.h +0 -15
    
        data/ext/mpfi/ruby_mpfi.c
    CHANGED
    
    | @@ -9,12 +9,14 @@ static VALUE __mpfi_class__, __mpfr_class__, __sym_to_s__, __sym_to_str__; | |
| 9 9 | 
             
            /* ------------------------------ function state start ------------------------------ */
         | 
| 10 10 |  | 
| 11 11 | 
             
            /* Save the value of last function state. */
         | 
| 12 | 
            -
            void r_mpfi_set_function_state(int num) | 
| 12 | 
            +
            void r_mpfi_set_function_state(int num)
         | 
| 13 | 
            +
            {
         | 
| 13 14 | 
             
              rb_cv_set(r_mpfi_class, CLASS_VAL_FUNCTION_STATE, INT2NUM(num));
         | 
| 14 15 | 
             
            }
         | 
| 15 16 |  | 
| 16 17 | 
             
            /* Return state of last function of MPFI. */
         | 
| 17 | 
            -
            VALUE r_mpfr_get_function_state(VALUE self) | 
| 18 | 
            +
            VALUE r_mpfr_get_function_state(VALUE self)
         | 
| 19 | 
            +
            {
         | 
| 18 20 | 
             
              return rb_cv_get(r_mpfi_class, CLASS_VAL_FUNCTION_STATE);
         | 
| 19 21 | 
             
            }
         | 
| 20 22 |  | 
| @@ -22,12 +24,14 @@ VALUE r_mpfr_get_function_state(VALUE self){ | |
| 22 24 |  | 
| 23 25 | 
             
            /* ------------------------------ allocation start ------------------------------ */
         | 
| 24 26 |  | 
| 25 | 
            -
            void r_mpfi_free(void *ptr) | 
| 27 | 
            +
            void r_mpfi_free(void *ptr)
         | 
| 28 | 
            +
            {
         | 
| 26 29 | 
             
              mpfi_clear(ptr);
         | 
| 27 30 | 
             
              free(ptr);
         | 
| 28 31 | 
             
            }
         | 
| 29 32 |  | 
| 30 | 
            -
            VALUE r_mpfi_make_new_fi_obj(MPFI *ptr) | 
| 33 | 
            +
            VALUE r_mpfi_make_new_fi_obj(MPFI *ptr)
         | 
| 34 | 
            +
            {
         | 
| 31 35 | 
             
              VALUE ret;
         | 
| 32 36 | 
             
              MPFI *ptr_ret;
         | 
| 33 37 | 
             
              r_mpfi_make_struct_init(ret, ptr_ret);
         | 
| @@ -36,7 +40,8 @@ VALUE r_mpfi_make_new_fi_obj(MPFI *ptr){ | |
| 36 40 | 
             
            }
         | 
| 37 41 |  | 
| 38 42 | 
             
            /* VALUE obj must have method to_s or to_str. */
         | 
| 39 | 
            -
            static void r_mpfi_set_from_object (MPFI *ptr, VALUE obj) | 
| 43 | 
            +
            static void r_mpfi_set_from_object (MPFI *ptr, VALUE obj)
         | 
| 44 | 
            +
            {
         | 
| 40 45 | 
             
              if(RTEST(rb_funcall(rb_funcall(obj, class, 0), method_defined, 1, __sym_to_str__))){
         | 
| 41 46 | 
             
                char *str = StringValuePtr(obj);
         | 
| 42 47 | 
             
                mpfi_set_str(ptr, str, 10);
         | 
| @@ -47,7 +52,8 @@ static void r_mpfi_set_from_object (MPFI *ptr, VALUE obj){ | |
| 47 52 | 
             
              }
         | 
| 48 53 | 
             
            }
         | 
| 49 54 |  | 
| 50 | 
            -
            void r_mpfi_set_robj(MPFI *ptr, VALUE obj) | 
| 55 | 
            +
            void r_mpfi_set_robj(MPFI *ptr, VALUE obj)
         | 
| 56 | 
            +
            {
         | 
| 51 57 | 
             
              if(RTEST(rb_funcall(__mpfi_class__, eqq, 1, obj))){
         | 
| 52 58 | 
             
                MPFI *ptr_obj;
         | 
| 53 59 | 
             
                r_mpfi_get_struct(ptr_obj, obj);
         | 
| @@ -71,7 +77,8 @@ void r_mpfi_set_robj(MPFI *ptr, VALUE obj){ | |
| 71 77 | 
             
              }
         | 
| 72 78 | 
             
            }
         | 
| 73 79 |  | 
| 74 | 
            -
            VALUE r_mpfi_new_fi_obj(VALUE obj) | 
| 80 | 
            +
            VALUE r_mpfi_new_fi_obj(VALUE obj)
         | 
| 81 | 
            +
            {
         | 
| 75 82 | 
             
              if(RTEST(rb_funcall(__mpfi_class__, eqq, 1, obj))){
         | 
| 76 83 | 
             
                return obj;
         | 
| 77 84 | 
             
              }else{
         | 
| @@ -80,15 +87,15 @@ VALUE r_mpfi_new_fi_obj(VALUE obj){ | |
| 80 87 | 
             
            }
         | 
| 81 88 |  | 
| 82 89 | 
             
            /* Initializing and Assigning Intervals */
         | 
| 83 | 
            -
            static VALUE r_mpfi_alloc(VALUE self) | 
| 90 | 
            +
            static VALUE r_mpfi_alloc(VALUE self)
         | 
| 91 | 
            +
            {
         | 
| 84 92 | 
             
              MPFI *ptr;
         | 
| 85 93 | 
             
              r_mpfi_make_struct(self, ptr);
         | 
| 86 94 | 
             
              return self;
         | 
| 87 95 | 
             
            }
         | 
| 88 96 |  | 
| 89 | 
            -
            static  | 
| 90 | 
            -
             | 
| 91 | 
            -
              r_mpfi_get_struct(ptr, self);
         | 
| 97 | 
            +
            static void r_mpfi_set_initial_value(MPFI *ptr, int argc, VALUE *argv)
         | 
| 98 | 
            +
            {
         | 
| 92 99 | 
             
              switch(argc){
         | 
| 93 100 | 
             
              case 0:
         | 
| 94 101 | 
             
                mpfi_init(ptr);
         | 
| @@ -105,10 +112,28 @@ static VALUE r_mpfi_initialize(int argc, VALUE *argv, VALUE self){ | |
| 105 112 | 
             
                rb_raise(rb_eArgError, "Invalid number of arguments.");
         | 
| 106 113 | 
             
                break;
         | 
| 107 114 | 
             
              }
         | 
| 115 | 
            +
            }
         | 
| 116 | 
            +
             | 
| 117 | 
            +
            /* Return new MPFI instance. The same arguments as MPFI.new is acceptable. */
         | 
| 118 | 
            +
            static VALUE r_mpfi_global_new(int argc, VALUE *argv, VALUE self)
         | 
| 119 | 
            +
            {
         | 
| 120 | 
            +
              MPFI *ptr;
         | 
| 121 | 
            +
              VALUE val;
         | 
| 122 | 
            +
              r_mpfi_make_struct(val, ptr);
         | 
| 123 | 
            +
              r_mpfi_set_initial_value(ptr, argc, argv);
         | 
| 124 | 
            +
              return val;
         | 
| 125 | 
            +
            }
         | 
| 126 | 
            +
             | 
| 127 | 
            +
            static VALUE r_mpfi_initialize(int argc, VALUE *argv, VALUE self)
         | 
| 128 | 
            +
            {
         | 
| 129 | 
            +
              MPFI *ptr;
         | 
| 130 | 
            +
              r_mpfi_get_struct(ptr, self);
         | 
| 131 | 
            +
              r_mpfi_set_initial_value(ptr, argc, argv);
         | 
| 108 132 | 
             
              return Qtrue;
         | 
| 109 133 | 
             
            }
         | 
| 110 134 |  | 
| 111 | 
            -
            static VALUE r_mpfi_initialize_copy(VALUE self, VALUE other) | 
| 135 | 
            +
            static VALUE r_mpfi_initialize_copy(VALUE self, VALUE other)
         | 
| 136 | 
            +
            {
         | 
| 112 137 | 
             
              MPFI *ptr_self, *ptr_other;
         | 
| 113 138 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 114 139 | 
             
              r_mpfi_get_struct(ptr_other, other);
         | 
| @@ -118,7 +143,8 @@ static VALUE r_mpfi_initialize_copy(VALUE self, VALUE other){ | |
| 118 143 | 
             
            }
         | 
| 119 144 |  | 
| 120 145 | 
             
            /* Return array which have MPFI instance converted to from p1 and self. */
         | 
| 121 | 
            -
            static VALUE r_mpfi_coerce(VALUE self, VALUE other) | 
| 146 | 
            +
            static VALUE r_mpfi_coerce(VALUE self, VALUE other)
         | 
| 147 | 
            +
            {
         | 
| 122 148 | 
             
              VALUE val_other;
         | 
| 123 149 | 
             
              MPFI *ptr_self, *ptr_other;
         | 
| 124 150 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| @@ -127,14 +153,16 @@ static VALUE r_mpfi_coerce(VALUE self, VALUE other){ | |
| 127 153 | 
             
              return rb_ary_new3(2, val_other, self);
         | 
| 128 154 | 
             
            }
         | 
| 129 155 |  | 
| 130 | 
            -
            static VALUE r_mpfi_set (VALUE self, VALUE arg) | 
| 156 | 
            +
            static VALUE r_mpfi_set (VALUE self, VALUE arg)
         | 
| 157 | 
            +
            {
         | 
| 131 158 | 
             
              MPFI *ptr_self;
         | 
| 132 159 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 133 160 | 
             
              r_mpfi_set_robj(ptr_self, arg);
         | 
| 134 161 | 
             
              return self;
         | 
| 135 162 | 
             
            }
         | 
| 136 163 |  | 
| 137 | 
            -
            static VALUE r_mpfi_swap (VALUE self, VALUE other) | 
| 164 | 
            +
            static VALUE r_mpfi_swap (VALUE self, VALUE other)
         | 
| 165 | 
            +
            {
         | 
| 138 166 | 
             
              MPFI *ptr_self, *ptr_other;
         | 
| 139 167 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 140 168 | 
             
              r_mpfi_get_struct(ptr_other, other);
         | 
| @@ -148,7 +176,8 @@ static VALUE r_mpfi_swap (VALUE self, VALUE other){ | |
| 148 176 |  | 
| 149 177 | 
             
            /* Need to consider returned value later. */
         | 
| 150 178 | 
             
            /* mpfi_set_prec is different from reference manual. This is strange. */
         | 
| 151 | 
            -
            static VALUE r_mpfi_set_prec (VALUE self, VALUE prec) | 
| 179 | 
            +
            static VALUE r_mpfi_set_prec (VALUE self, VALUE prec)
         | 
| 180 | 
            +
            {
         | 
| 152 181 | 
             
              MPFI *ptr_self;
         | 
| 153 182 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 154 183 | 
             
              /* if(mpfi_set_prec(ptr_self, NUM2INT(prec)) != 0){ */
         | 
| @@ -159,14 +188,16 @@ static VALUE r_mpfi_set_prec (VALUE self, VALUE prec){ | |
| 159 188 | 
             
            }
         | 
| 160 189 |  | 
| 161 190 | 
             
            /* Need to consider returned value later. */
         | 
| 162 | 
            -
            static VALUE r_mpfi_get_prec (VALUE self) | 
| 191 | 
            +
            static VALUE r_mpfi_get_prec (VALUE self)
         | 
| 192 | 
            +
            {
         | 
| 163 193 | 
             
              MPFI *ptr_self;
         | 
| 164 194 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 165 195 | 
             
              return INT2NUM((int)mpfi_get_prec(ptr_self));  
         | 
| 166 196 | 
             
            }
         | 
| 167 197 |  | 
| 168 198 | 
             
            /* Need to consider returned value later. */
         | 
| 169 | 
            -
            static VALUE r_mpfi_round_prec (VALUE self, VALUE prec) | 
| 199 | 
            +
            static VALUE r_mpfi_round_prec (VALUE self, VALUE prec)
         | 
| 200 | 
            +
            {
         | 
| 170 201 | 
             
              MPFI *ptr_self;
         | 
| 171 202 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 172 203 | 
             
              r_mpfi_set_function_state(mpfi_round_prec(ptr_self, NUM2INT(prec)));
         | 
| @@ -176,7 +207,8 @@ static VALUE r_mpfi_round_prec (VALUE self, VALUE prec){ | |
| 176 207 |  | 
| 177 208 | 
             
            /* ------------------------------ string start ------------------------------ */
         | 
| 178 209 |  | 
| 179 | 
            -
            static VALUE r_mpfi_inspect(VALUE self) | 
| 210 | 
            +
            static VALUE r_mpfi_inspect(VALUE self)
         | 
| 211 | 
            +
            {
         | 
| 180 212 | 
             
              MPFI *ptr_s;
         | 
| 181 213 | 
             
              r_mpfi_get_struct(ptr_s, self);
         | 
| 182 214 | 
             
              char *ret_str;
         | 
| @@ -187,7 +219,8 @@ static VALUE r_mpfi_inspect(VALUE self){ | |
| 187 219 | 
             
              return ret_val;
         | 
| 188 220 | 
             
            }
         | 
| 189 221 |  | 
| 190 | 
            -
            static VALUE r_mpfi_to_str_ary(VALUE self) | 
| 222 | 
            +
            static VALUE r_mpfi_to_str_ary(VALUE self)
         | 
| 223 | 
            +
            {
         | 
| 191 224 | 
             
              MPFI *ptr_self;
         | 
| 192 225 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 193 226 | 
             
              char *ret_str1, *ret_str2;
         | 
| @@ -200,7 +233,8 @@ static VALUE r_mpfi_to_str_ary(VALUE self){ | |
| 200 233 | 
             
            }
         | 
| 201 234 |  | 
| 202 235 | 
             
            /* Output self by sprintf. */
         | 
| 203 | 
            -
            static VALUE r_mpfi_to_strf_ary(VALUE self, VALUE format_str) | 
| 236 | 
            +
            static VALUE r_mpfi_to_strf_ary(VALUE self, VALUE format_str)
         | 
| 237 | 
            +
            {
         | 
| 204 238 | 
             
              MPFI *ptr_self;
         | 
| 205 239 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 206 240 | 
             
              char *format = StringValuePtr(format_str);
         | 
| @@ -217,7 +251,8 @@ static VALUE r_mpfi_to_strf_ary(VALUE self, VALUE format_str){ | |
| 217 251 |  | 
| 218 252 | 
             
            /* ------------------------------ Basic Arithmetic Functions start ------------------------------ */
         | 
| 219 253 |  | 
| 220 | 
            -
            static VALUE r_mpfi_add (VALUE self, VALUE other) | 
| 254 | 
            +
            static VALUE r_mpfi_add (VALUE self, VALUE other)
         | 
| 255 | 
            +
            {
         | 
| 221 256 | 
             
              VALUE val_ret;
         | 
| 222 257 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 223 258 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| @@ -244,7 +279,8 @@ static VALUE r_mpfi_add (VALUE self, VALUE other){ | |
| 244 279 | 
             
              return val_ret;
         | 
| 245 280 | 
             
            }
         | 
| 246 281 |  | 
| 247 | 
            -
            static VALUE r_mpfi_sub (VALUE self, VALUE other) | 
| 282 | 
            +
            static VALUE r_mpfi_sub (VALUE self, VALUE other)
         | 
| 283 | 
            +
            {
         | 
| 248 284 | 
             
              VALUE val_ret;
         | 
| 249 285 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 250 286 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| @@ -271,7 +307,8 @@ static VALUE r_mpfi_sub (VALUE self, VALUE other){ | |
| 271 307 | 
             
              return val_ret;
         | 
| 272 308 | 
             
            }
         | 
| 273 309 |  | 
| 274 | 
            -
            static VALUE r_mpfi_mul (VALUE self, VALUE other) | 
| 310 | 
            +
            static VALUE r_mpfi_mul (VALUE self, VALUE other)
         | 
| 311 | 
            +
            {
         | 
| 275 312 | 
             
              VALUE val_ret;
         | 
| 276 313 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 277 314 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| @@ -298,7 +335,8 @@ static VALUE r_mpfi_mul (VALUE self, VALUE other){ | |
| 298 335 | 
             
              return val_ret;
         | 
| 299 336 | 
             
            }
         | 
| 300 337 |  | 
| 301 | 
            -
            static VALUE r_mpfi_div (VALUE self, VALUE other) | 
| 338 | 
            +
            static VALUE r_mpfi_div (VALUE self, VALUE other)
         | 
| 339 | 
            +
            {
         | 
| 302 340 | 
             
              VALUE val_ret;
         | 
| 303 341 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 304 342 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| @@ -325,7 +363,8 @@ static VALUE r_mpfi_div (VALUE self, VALUE other){ | |
| 325 363 | 
             
              return val_ret;
         | 
| 326 364 | 
             
            }
         | 
| 327 365 |  | 
| 328 | 
            -
            static VALUE r_mpfi_mul_2si (int argc, VALUE *argv, VALUE self) | 
| 366 | 
            +
            static VALUE r_mpfi_mul_2si (int argc, VALUE *argv, VALUE self)
         | 
| 367 | 
            +
            {
         | 
| 329 368 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 330 369 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 331 370 | 
             
              VALUE val_ret;
         | 
| @@ -334,7 +373,8 @@ static VALUE r_mpfi_mul_2si (int argc, VALUE *argv, VALUE self){ | |
| 334 373 | 
             
              return val_ret;
         | 
| 335 374 | 
             
            }
         | 
| 336 375 |  | 
| 337 | 
            -
            static VALUE r_mpfi_div_2si (int argc, VALUE *argv, VALUE self) | 
| 376 | 
            +
            static VALUE r_mpfi_div_2si (int argc, VALUE *argv, VALUE self)
         | 
| 377 | 
            +
            {
         | 
| 338 378 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 339 379 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 340 380 | 
             
              VALUE val_ret;
         | 
| @@ -343,7 +383,8 @@ static VALUE r_mpfi_div_2si (int argc, VALUE *argv, VALUE self){ | |
| 343 383 | 
             
              return val_ret;
         | 
| 344 384 | 
             
            }
         | 
| 345 385 |  | 
| 346 | 
            -
            static VALUE r_mpfi_neg(int argc, VALUE *argv, VALUE self) | 
| 386 | 
            +
            static VALUE r_mpfi_neg(int argc, VALUE *argv, VALUE self)
         | 
| 387 | 
            +
            {
         | 
| 347 388 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 348 389 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 349 390 | 
             
              VALUE val_ret;
         | 
| @@ -352,7 +393,8 @@ static VALUE r_mpfi_neg(int argc, VALUE *argv, VALUE self){ | |
| 352 393 | 
             
              return val_ret;
         | 
| 353 394 | 
             
            }
         | 
| 354 395 |  | 
| 355 | 
            -
            static VALUE r_mpfi_inv(int argc, VALUE *argv, VALUE self) | 
| 396 | 
            +
            static VALUE r_mpfi_inv(int argc, VALUE *argv, VALUE self)
         | 
| 397 | 
            +
            {
         | 
| 356 398 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 357 399 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 358 400 | 
             
              VALUE val_ret;
         | 
| @@ -361,7 +403,8 @@ static VALUE r_mpfi_inv(int argc, VALUE *argv, VALUE self){ | |
| 361 403 | 
             
              return val_ret;
         | 
| 362 404 | 
             
            }
         | 
| 363 405 |  | 
| 364 | 
            -
            static VALUE r_mpfi_abs(int argc, VALUE *argv, VALUE self) | 
| 406 | 
            +
            static VALUE r_mpfi_abs(int argc, VALUE *argv, VALUE self)
         | 
| 407 | 
            +
            {
         | 
| 365 408 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 366 409 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 367 410 | 
             
              VALUE val_ret;
         | 
| @@ -374,7 +417,8 @@ static VALUE r_mpfi_abs(int argc, VALUE *argv, VALUE self){ | |
| 374 417 |  | 
| 375 418 | 
             
            /* ------------------------------ Comparison Functions start ------------------------------ */
         | 
| 376 419 |  | 
| 377 | 
            -
            static VALUE r_mpfi_cmp (VALUE self, VALUE other) | 
| 420 | 
            +
            static VALUE r_mpfi_cmp (VALUE self, VALUE other)
         | 
| 421 | 
            +
            {
         | 
| 378 422 | 
             
              MPFI *ptr_self;
         | 
| 379 423 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 380 424 | 
             
              int ret;
         | 
| @@ -400,7 +444,8 @@ static VALUE r_mpfi_cmp (VALUE self, VALUE other){ | |
| 400 444 | 
             
              return NUM2INT(ret);
         | 
| 401 445 | 
             
            }
         | 
| 402 446 |  | 
| 403 | 
            -
            static VALUE r_mpfi_is_pos (VALUE self) | 
| 447 | 
            +
            static VALUE r_mpfi_is_pos (VALUE self)
         | 
| 448 | 
            +
            {
         | 
| 404 449 | 
             
              MPFI *ptr_self;
         | 
| 405 450 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 406 451 | 
             
              if (mpfi_is_pos(ptr_self) > 0) {
         | 
| @@ -410,7 +455,8 @@ static VALUE r_mpfi_is_pos (VALUE self){ | |
| 410 455 | 
             
              }
         | 
| 411 456 | 
             
            }
         | 
| 412 457 |  | 
| 413 | 
            -
            static VALUE r_mpfi_is_strictly_pos (VALUE self) | 
| 458 | 
            +
            static VALUE r_mpfi_is_strictly_pos (VALUE self)
         | 
| 459 | 
            +
            {
         | 
| 414 460 | 
             
              MPFI *ptr_self;
         | 
| 415 461 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 416 462 | 
             
              if (mpfi_is_strictly_pos(ptr_self) > 0) {
         | 
| @@ -420,7 +466,8 @@ static VALUE r_mpfi_is_strictly_pos (VALUE self){ | |
| 420 466 | 
             
              }
         | 
| 421 467 | 
             
            }
         | 
| 422 468 |  | 
| 423 | 
            -
            static VALUE r_mpfi_is_nonneg (VALUE self) | 
| 469 | 
            +
            static VALUE r_mpfi_is_nonneg (VALUE self)
         | 
| 470 | 
            +
            {
         | 
| 424 471 | 
             
              MPFI *ptr_self;
         | 
| 425 472 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 426 473 | 
             
              if (mpfi_is_nonneg(ptr_self) > 0) {
         | 
| @@ -430,7 +477,8 @@ static VALUE r_mpfi_is_nonneg (VALUE self){ | |
| 430 477 | 
             
              }
         | 
| 431 478 | 
             
            }
         | 
| 432 479 |  | 
| 433 | 
            -
            static VALUE r_mpfi_is_neg (VALUE self) | 
| 480 | 
            +
            static VALUE r_mpfi_is_neg (VALUE self)
         | 
| 481 | 
            +
            {
         | 
| 434 482 | 
             
              MPFI *ptr_self;
         | 
| 435 483 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 436 484 | 
             
              if (mpfi_is_neg(ptr_self) > 0) {
         | 
| @@ -440,7 +488,8 @@ static VALUE r_mpfi_is_neg (VALUE self){ | |
| 440 488 | 
             
              }
         | 
| 441 489 | 
             
            }
         | 
| 442 490 |  | 
| 443 | 
            -
            static VALUE r_mpfi_is_strictly_neg (VALUE self) | 
| 491 | 
            +
            static VALUE r_mpfi_is_strictly_neg (VALUE self)
         | 
| 492 | 
            +
            {
         | 
| 444 493 | 
             
              MPFI *ptr_self;
         | 
| 445 494 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 446 495 | 
             
              if (mpfi_is_strictly_neg(ptr_self) > 0) {
         | 
| @@ -450,7 +499,8 @@ static VALUE r_mpfi_is_strictly_neg (VALUE self){ | |
| 450 499 | 
             
              }
         | 
| 451 500 | 
             
            }
         | 
| 452 501 |  | 
| 453 | 
            -
            static VALUE r_mpfi_is_nonpos (VALUE self) | 
| 502 | 
            +
            static VALUE r_mpfi_is_nonpos (VALUE self)
         | 
| 503 | 
            +
            {
         | 
| 454 504 | 
             
              MPFI *ptr_self;
         | 
| 455 505 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 456 506 | 
             
              if (mpfi_is_nonpos(ptr_self) > 0) {
         | 
| @@ -460,7 +510,8 @@ static VALUE r_mpfi_is_nonpos (VALUE self){ | |
| 460 510 | 
             
              }
         | 
| 461 511 | 
             
            }
         | 
| 462 512 |  | 
| 463 | 
            -
            static VALUE r_mpfi_is_zero (VALUE self) | 
| 513 | 
            +
            static VALUE r_mpfi_is_zero (VALUE self)
         | 
| 514 | 
            +
            {
         | 
| 464 515 | 
             
              MPFI *ptr_self;
         | 
| 465 516 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 466 517 | 
             
              if (mpfi_is_zero(ptr_self) > 0) {
         | 
| @@ -470,7 +521,8 @@ static VALUE r_mpfi_is_zero (VALUE self){ | |
| 470 521 | 
             
              }
         | 
| 471 522 | 
             
            }
         | 
| 472 523 |  | 
| 473 | 
            -
            static VALUE r_mpfi_has_zero (VALUE self) | 
| 524 | 
            +
            static VALUE r_mpfi_has_zero (VALUE self)
         | 
| 525 | 
            +
            {
         | 
| 474 526 | 
             
              MPFI *ptr_self;
         | 
| 475 527 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 476 528 | 
             
              if (mpfi_has_zero(ptr_self) > 0) {
         | 
| @@ -480,7 +532,8 @@ static VALUE r_mpfi_has_zero (VALUE self){ | |
| 480 532 | 
             
              }
         | 
| 481 533 | 
             
            }
         | 
| 482 534 |  | 
| 483 | 
            -
            static VALUE r_mpfi_nan_p (VALUE self) | 
| 535 | 
            +
            static VALUE r_mpfi_nan_p (VALUE self)
         | 
| 536 | 
            +
            {
         | 
| 484 537 | 
             
              MPFI *ptr_self;
         | 
| 485 538 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 486 539 | 
             
              if (mpfi_nan_p(ptr_self) != 0) {
         | 
| @@ -490,7 +543,8 @@ static VALUE r_mpfi_nan_p (VALUE self){ | |
| 490 543 | 
             
              }
         | 
| 491 544 | 
             
            }
         | 
| 492 545 |  | 
| 493 | 
            -
            static VALUE r_mpfi_inf_p (VALUE self) | 
| 546 | 
            +
            static VALUE r_mpfi_inf_p (VALUE self)
         | 
| 547 | 
            +
            {
         | 
| 494 548 | 
             
              MPFI *ptr_self;
         | 
| 495 549 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 496 550 | 
             
              if (mpfi_inf_p(ptr_self) != 0) {
         | 
| @@ -500,7 +554,8 @@ static VALUE r_mpfi_inf_p (VALUE self){ | |
| 500 554 | 
             
              }
         | 
| 501 555 | 
             
            }
         | 
| 502 556 |  | 
| 503 | 
            -
            static VALUE r_mpfi_bounded_p (VALUE self) | 
| 557 | 
            +
            static VALUE r_mpfi_bounded_p (VALUE self)
         | 
| 558 | 
            +
            {
         | 
| 504 559 | 
             
              MPFI *ptr_self;
         | 
| 505 560 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 506 561 | 
             
              if (mpfi_bounded_p(ptr_self) != 0) {
         | 
| @@ -510,9 +565,12 @@ static VALUE r_mpfi_bounded_p (VALUE self){ | |
| 510 565 | 
             
              }
         | 
| 511 566 | 
             
            }
         | 
| 512 567 |  | 
| 513 | 
            -
            /* | 
| 514 | 
            -
              | 
| 515 | 
            -
             | 
| 568 | 
            +
            /*
         | 
| 569 | 
            +
              Return true if self.right equals other.right and self.left equals other.right
         | 
| 570 | 
            +
              by mpfr_equal_p.
         | 
| 571 | 
            +
            */
         | 
| 572 | 
            +
            static VALUE r_mpfi_equal_p (VALUE self, VALUE other)
         | 
| 573 | 
            +
            {
         | 
| 516 574 | 
             
              MPFI *ptr_self, *ptr_other;
         | 
| 517 575 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 518 576 | 
             
              r_mpfi_get_struct(ptr_other, other);
         | 
| @@ -528,7 +586,8 @@ static VALUE r_mpfi_equal_p (VALUE self, VALUE other){ | |
| 528 586 |  | 
| 529 587 | 
             
            /* ------------------------------ Interval Functions with Floating-point Results start ------------------------------ */
         | 
| 530 588 |  | 
| 531 | 
            -
            static VALUE r_mpfi_diam_abs (int argc, VALUE *argv, VALUE self) | 
| 589 | 
            +
            static VALUE r_mpfi_diam_abs (int argc, VALUE *argv, VALUE self)
         | 
| 590 | 
            +
            {
         | 
| 532 591 | 
             
              MPFI *ptr_self;
         | 
| 533 592 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 534 593 | 
             
              VALUE val_ret;
         | 
| @@ -538,7 +597,8 @@ static VALUE r_mpfi_diam_abs (int argc, VALUE *argv, VALUE self){ | |
| 538 597 | 
             
              return val_ret;
         | 
| 539 598 | 
             
            }
         | 
| 540 599 |  | 
| 541 | 
            -
            static VALUE r_mpfi_diam_rel (int argc, VALUE *argv, VALUE self) | 
| 600 | 
            +
            static VALUE r_mpfi_diam_rel (int argc, VALUE *argv, VALUE self)
         | 
| 601 | 
            +
            {
         | 
| 542 602 | 
             
              MPFI *ptr_self;
         | 
| 543 603 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 544 604 | 
             
              VALUE val_ret;
         | 
| @@ -548,7 +608,8 @@ static VALUE r_mpfi_diam_rel (int argc, VALUE *argv, VALUE self){ | |
| 548 608 | 
             
              return val_ret;
         | 
| 549 609 | 
             
            }
         | 
| 550 610 |  | 
| 551 | 
            -
            static VALUE r_mpfi_diam (int argc, VALUE *argv, VALUE self) | 
| 611 | 
            +
            static VALUE r_mpfi_diam (int argc, VALUE *argv, VALUE self)
         | 
| 612 | 
            +
            {
         | 
| 552 613 | 
             
              MPFI *ptr_self;
         | 
| 553 614 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 554 615 | 
             
              VALUE val_ret;
         | 
| @@ -558,7 +619,8 @@ static VALUE r_mpfi_diam (int argc, VALUE *argv, VALUE self){ | |
| 558 619 | 
             
              return val_ret;
         | 
| 559 620 | 
             
            }
         | 
| 560 621 |  | 
| 561 | 
            -
            static VALUE r_mpfi_mag (int argc, VALUE *argv, VALUE self) | 
| 622 | 
            +
            static VALUE r_mpfi_mag (int argc, VALUE *argv, VALUE self)
         | 
| 623 | 
            +
            {
         | 
| 562 624 | 
             
              MPFI *ptr_self;
         | 
| 563 625 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 564 626 | 
             
              VALUE val_ret;
         | 
| @@ -568,7 +630,8 @@ static VALUE r_mpfi_mag (int argc, VALUE *argv, VALUE self){ | |
| 568 630 | 
             
              return val_ret;
         | 
| 569 631 | 
             
            }
         | 
| 570 632 |  | 
| 571 | 
            -
            static VALUE r_mpfi_mig (int argc, VALUE *argv, VALUE self) | 
| 633 | 
            +
            static VALUE r_mpfi_mig (int argc, VALUE *argv, VALUE self)
         | 
| 634 | 
            +
            {
         | 
| 572 635 | 
             
              MPFI *ptr_self;
         | 
| 573 636 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 574 637 | 
             
              VALUE val_ret;
         | 
| @@ -578,7 +641,8 @@ static VALUE r_mpfi_mig (int argc, VALUE *argv, VALUE self){ | |
| 578 641 | 
             
              return val_ret;
         | 
| 579 642 | 
             
            }
         | 
| 580 643 |  | 
| 581 | 
            -
            static VALUE r_mpfi_mid (int argc, VALUE *argv, VALUE self) | 
| 644 | 
            +
            static VALUE r_mpfi_mid (int argc, VALUE *argv, VALUE self)
         | 
| 645 | 
            +
            {
         | 
| 582 646 | 
             
              MPFI *ptr_self;
         | 
| 583 647 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 584 648 | 
             
              VALUE val_ret;
         | 
| @@ -588,7 +652,8 @@ static VALUE r_mpfi_mid (int argc, VALUE *argv, VALUE self){ | |
| 588 652 | 
             
              return val_ret;
         | 
| 589 653 | 
             
            }
         | 
| 590 654 |  | 
| 591 | 
            -
            static VALUE r_mpfi_mid_interval (int argc, VALUE *argv, VALUE self) | 
| 655 | 
            +
            static VALUE r_mpfi_mid_interval (int argc, VALUE *argv, VALUE self)
         | 
| 656 | 
            +
            {
         | 
| 592 657 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 593 658 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 594 659 | 
             
              VALUE val_ret;
         | 
| @@ -597,7 +662,8 @@ static VALUE r_mpfi_mid_interval (int argc, VALUE *argv, VALUE self){ | |
| 597 662 | 
             
              return val_ret;
         | 
| 598 663 | 
             
            }
         | 
| 599 664 |  | 
| 600 | 
            -
            static VALUE r_mpfi_alea (int argc, VALUE *argv, VALUE self) | 
| 665 | 
            +
            static VALUE r_mpfi_alea (int argc, VALUE *argv, VALUE self)
         | 
| 666 | 
            +
            {
         | 
| 601 667 | 
             
              MPFI *ptr_self;
         | 
| 602 668 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 603 669 | 
             
              VALUE val_ret;
         | 
| @@ -611,13 +677,15 @@ static VALUE r_mpfi_alea (int argc, VALUE *argv, VALUE self){ | |
| 611 677 |  | 
| 612 678 | 
             
            /* ------------------------------ Conversion Functions start ------------------------------ */
         | 
| 613 679 |  | 
| 614 | 
            -
            static VALUE r_mpfi_get_d(VALUE self) | 
| 680 | 
            +
            static VALUE r_mpfi_get_d(VALUE self)
         | 
| 681 | 
            +
            {
         | 
| 615 682 | 
             
              MPFI *ptr_self;
         | 
| 616 683 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 617 684 | 
             
              return rb_float_new(mpfi_get_d(ptr_self));
         | 
| 618 685 | 
             
            }
         | 
| 619 686 |  | 
| 620 | 
            -
            static VALUE r_mpfi_get_fr(VALUE self) | 
| 687 | 
            +
            static VALUE r_mpfi_get_fr(VALUE self)
         | 
| 688 | 
            +
            {
         | 
| 621 689 | 
             
              MPFI *ptr_self;
         | 
| 622 690 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 623 691 | 
             
              VALUE val_ret;
         | 
| @@ -630,7 +698,8 @@ static VALUE r_mpfi_get_fr(VALUE self){ | |
| 630 698 |  | 
| 631 699 | 
             
            /* ------------------------------ Functions Operating on Endpoints start ------------------------------ */
         | 
| 632 700 |  | 
| 633 | 
            -
            static VALUE r_mpfi_get_left (VALUE self) | 
| 701 | 
            +
            static VALUE r_mpfi_get_left (VALUE self)
         | 
| 702 | 
            +
            {
         | 
| 634 703 | 
             
              VALUE val_ret;
         | 
| 635 704 | 
             
              MPFI *ptr_self;
         | 
| 636 705 | 
             
              MPFR *ptr_ret;
         | 
| @@ -640,7 +709,8 @@ static VALUE r_mpfi_get_left (VALUE self){ | |
| 640 709 | 
             
              return val_ret;
         | 
| 641 710 | 
             
            }
         | 
| 642 711 |  | 
| 643 | 
            -
            static VALUE r_mpfi_get_right (VALUE self) | 
| 712 | 
            +
            static VALUE r_mpfi_get_right (VALUE self)
         | 
| 713 | 
            +
            {
         | 
| 644 714 | 
             
              VALUE val_ret;
         | 
| 645 715 | 
             
              MPFI *ptr_self;
         | 
| 646 716 | 
             
              MPFR *ptr_ret;
         | 
| @@ -650,7 +720,8 @@ static VALUE r_mpfi_get_right (VALUE self){ | |
| 650 720 | 
             
              return val_ret;
         | 
| 651 721 | 
             
            }
         | 
| 652 722 |  | 
| 653 | 
            -
            static VALUE r_mpfi_revert_if_needed (VALUE self) | 
| 723 | 
            +
            static VALUE r_mpfi_revert_if_needed (VALUE self)
         | 
| 724 | 
            +
            {
         | 
| 654 725 | 
             
              MPFI *ptr_self;
         | 
| 655 726 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 656 727 | 
             
              if(mpfi_revert_if_needed(ptr_self) != 0){
         | 
| @@ -660,7 +731,8 @@ static VALUE r_mpfi_revert_if_needed (VALUE self){ | |
| 660 731 | 
             
              };
         | 
| 661 732 | 
             
            }
         | 
| 662 733 |  | 
| 663 | 
            -
            static VALUE r_mpfi_put (VALUE self, VALUE other) | 
| 734 | 
            +
            static VALUE r_mpfi_put (VALUE self, VALUE other)
         | 
| 735 | 
            +
            {
         | 
| 664 736 | 
             
              MPFI *ptr_self;
         | 
| 665 737 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 666 738 |  | 
| @@ -685,7 +757,8 @@ static VALUE r_mpfi_put (VALUE self, VALUE other){ | |
| 685 757 | 
             
              return self;
         | 
| 686 758 | 
             
            }
         | 
| 687 759 |  | 
| 688 | 
            -
            static VALUE r_mpfi_interv (VALUE self, VALUE a1, VALUE a2) | 
| 760 | 
            +
            static VALUE r_mpfi_interv (VALUE self, VALUE a1, VALUE a2)
         | 
| 761 | 
            +
            {
         | 
| 689 762 | 
             
              MPFI *ptr_self;
         | 
| 690 763 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 691 764 |  | 
| @@ -709,7 +782,8 @@ static VALUE r_mpfi_interv (VALUE self, VALUE a1, VALUE a2){ | |
| 709 782 | 
             
              return self;  
         | 
| 710 783 | 
             
            }
         | 
| 711 784 |  | 
| 712 | 
            -
            static VALUE r_mpfi_interval (int argc, VALUE *argv, VALUE self) | 
| 785 | 
            +
            static VALUE r_mpfi_interval (int argc, VALUE *argv, VALUE self)
         | 
| 786 | 
            +
            {
         | 
| 713 787 | 
             
              VALUE val_ret;
         | 
| 714 788 | 
             
              MPFI *ptr_ret;
         | 
| 715 789 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(2, 3, argc, argv));
         | 
| @@ -739,7 +813,8 @@ static VALUE r_mpfi_interval (int argc, VALUE *argv, VALUE self){ | |
| 739 813 | 
             
              return val_ret;
         | 
| 740 814 | 
             
            }
         | 
| 741 815 |  | 
| 742 | 
            -
            static VALUE r_mpfi_endpoints (VALUE self) | 
| 816 | 
            +
            static VALUE r_mpfi_endpoints (VALUE self)
         | 
| 817 | 
            +
            {
         | 
| 743 818 | 
             
              VALUE val_left, val_right;
         | 
| 744 819 | 
             
              MPFI *ptr_self;
         | 
| 745 820 | 
             
              MPFR *ptr_left, *ptr_right;
         | 
| @@ -756,7 +831,8 @@ static VALUE r_mpfi_endpoints (VALUE self){ | |
| 756 831 | 
             
            /* ------------------------------ Set Functions on Intervals start ------------------------------ */
         | 
| 757 832 |  | 
| 758 833 | 
             
            /* This method corresponds to mpfi_is_strictly_inside. */
         | 
| 759 | 
            -
            static VALUE r_mpfi_strictly_include (VALUE self, VALUE other) | 
| 834 | 
            +
            static VALUE r_mpfi_strictly_include (VALUE self, VALUE other)
         | 
| 835 | 
            +
            {
         | 
| 760 836 | 
             
              MPFI *ptr_self, *ptr_other;
         | 
| 761 837 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 762 838 | 
             
              r_mpfi_get_struct(ptr_other, other);
         | 
| @@ -768,7 +844,8 @@ static VALUE r_mpfi_strictly_include (VALUE self, VALUE other){ | |
| 768 844 | 
             
            }
         | 
| 769 845 |  | 
| 770 846 | 
             
            /* This method corresponds to mpfi_is_inside. */
         | 
| 771 | 
            -
            static VALUE r_mpfi_include (VALUE self, VALUE other) | 
| 847 | 
            +
            static VALUE r_mpfi_include (VALUE self, VALUE other)
         | 
| 848 | 
            +
            {
         | 
| 772 849 | 
             
              MPFI *ptr_self;
         | 
| 773 850 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 774 851 | 
             
              int result;
         | 
| @@ -797,7 +874,8 @@ static VALUE r_mpfi_include (VALUE self, VALUE other){ | |
| 797 874 | 
             
              }
         | 
| 798 875 | 
             
            }
         | 
| 799 876 |  | 
| 800 | 
            -
            static VALUE r_mpfi_is_empty (VALUE self) | 
| 877 | 
            +
            static VALUE r_mpfi_is_empty (VALUE self)
         | 
| 878 | 
            +
            {
         | 
| 801 879 | 
             
              MPFI *ptr_self;
         | 
| 802 880 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 803 881 | 
             
              if(mpfi_is_empty(ptr_self) > 0){
         | 
| @@ -809,7 +887,8 @@ static VALUE r_mpfi_is_empty (VALUE self){ | |
| 809 887 |  | 
| 810 888 | 
             
            /* If the intersection of two intervals is empty, this method returns nil.
         | 
| 811 889 | 
             
               Otherwise, it returns the intersection. */
         | 
| 812 | 
            -
            static VALUE r_mpfi_intersect (int argc, VALUE *argv, VALUE self) | 
| 890 | 
            +
            static VALUE r_mpfi_intersect (int argc, VALUE *argv, VALUE self)
         | 
| 891 | 
            +
            {
         | 
| 813 892 | 
             
              MPFI *ptr_self, *ptr_a0, *ptr_ret;
         | 
| 814 893 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 815 894 | 
             
              r_mpfi_get_struct(ptr_a0, argv[0]);
         | 
| @@ -825,7 +904,8 @@ static VALUE r_mpfi_intersect (int argc, VALUE *argv, VALUE self){ | |
| 825 904 |  | 
| 826 905 | 
             
            /* This method returns the intersection of two intervals.
         | 
| 827 906 | 
             
               The returned value may be empty interval. */
         | 
| 828 | 
            -
            static VALUE r_mpfi_intersect2 (int argc, VALUE *argv, VALUE self) | 
| 907 | 
            +
            static VALUE r_mpfi_intersect2 (int argc, VALUE *argv, VALUE self)
         | 
| 908 | 
            +
            {
         | 
| 829 909 | 
             
              MPFI *ptr_self, *ptr_a0, *ptr_ret;
         | 
| 830 910 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 831 911 | 
             
              r_mpfi_get_struct(ptr_a0, argv[0]);
         | 
| @@ -835,7 +915,8 @@ static VALUE r_mpfi_intersect2 (int argc, VALUE *argv, VALUE self){ | |
| 835 915 | 
             
              return val_ret;
         | 
| 836 916 | 
             
            }
         | 
| 837 917 |  | 
| 838 | 
            -
            static VALUE r_mpfi_union (int argc, VALUE *argv, VALUE self) | 
| 918 | 
            +
            static VALUE r_mpfi_union (int argc, VALUE *argv, VALUE self)
         | 
| 919 | 
            +
            {
         | 
| 839 920 | 
             
              MPFI *ptr_self, *ptr_a0, *ptr_ret;
         | 
| 840 921 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 841 922 | 
             
              r_mpfi_get_struct(ptr_a0, argv[0]);
         | 
| @@ -849,7 +930,8 @@ static VALUE r_mpfi_union (int argc, VALUE *argv, VALUE self){ | |
| 849 930 |  | 
| 850 931 | 
             
            /* ------------------------------ Miscellaneous Interval Functions start ------------------------------ */
         | 
| 851 932 |  | 
| 852 | 
            -
            static VALUE r_mpfi_increase (VALUE self, VALUE a0) | 
| 933 | 
            +
            static VALUE r_mpfi_increase (VALUE self, VALUE a0)
         | 
| 934 | 
            +
            {
         | 
| 853 935 | 
             
              MPFI *ptr_self;
         | 
| 854 936 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 855 937 | 
             
              MPFR *ptr_a0;
         | 
| @@ -859,7 +941,8 @@ static VALUE r_mpfi_increase (VALUE self, VALUE a0){ | |
| 859 941 | 
             
              return self;
         | 
| 860 942 | 
             
            }
         | 
| 861 943 |  | 
| 862 | 
            -
            static VALUE r_mpfi_blow (int argc, VALUE *argv, VALUE self) | 
| 944 | 
            +
            static VALUE r_mpfi_blow (int argc, VALUE *argv, VALUE self)
         | 
| 945 | 
            +
            {
         | 
| 863 946 | 
             
              MPFI *ptr_self, *ptr_ret;
         | 
| 864 947 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 865 948 | 
             
              VALUE val_ret;
         | 
| @@ -868,7 +951,8 @@ static VALUE r_mpfi_blow (int argc, VALUE *argv, VALUE self){ | |
| 868 951 | 
             
              return val_ret;
         | 
| 869 952 | 
             
            }
         | 
| 870 953 |  | 
| 871 | 
            -
            static VALUE r_mpfi_bisect (int argc, VALUE *argv, VALUE self) | 
| 954 | 
            +
            static VALUE r_mpfi_bisect (int argc, VALUE *argv, VALUE self)
         | 
| 955 | 
            +
            {
         | 
| 872 956 | 
             
              MPFI *ptr_self, *ptr_ret1, *ptr_ret2;
         | 
| 873 957 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 874 958 | 
             
              int prec = r_mpfr_prec_from_optional_argument(0, 1, argc, argv);
         | 
| @@ -881,7 +965,8 @@ static VALUE r_mpfi_bisect (int argc, VALUE *argv, VALUE self){ | |
| 881 965 |  | 
| 882 966 | 
             
            /* Retrun 0 if this function puts subdivision to *ret. */
         | 
| 883 967 | 
             
            /* Otherwise, return -1. */
         | 
| 884 | 
            -
            void r_mpfi_subdivision_func(int num, MPFI *ret[], mpfi_t x) | 
| 968 | 
            +
            void r_mpfi_subdivision_func(int num, MPFI *ret[], mpfi_t x)
         | 
| 969 | 
            +
            {
         | 
| 885 970 | 
             
              int i;
         | 
| 886 971 | 
             
              mpfr_t l;
         | 
| 887 972 | 
             
              mpfr_init(l);
         | 
| @@ -909,7 +994,8 @@ void r_mpfi_subdivision_func(int num, MPFI *ret[], mpfi_t x){ | |
| 909 994 | 
             
              mpfr_clear(l);
         | 
| 910 995 | 
             
            }
         | 
| 911 996 |  | 
| 912 | 
            -
            static VALUE r_mpfi_subdivision (int argc, VALUE *argv, VALUE self) | 
| 997 | 
            +
            static VALUE r_mpfi_subdivision (int argc, VALUE *argv, VALUE self)
         | 
| 998 | 
            +
            {
         | 
| 913 999 | 
             
              MPFI *ptr_self;
         | 
| 914 1000 | 
             
              r_mpfi_get_struct(ptr_self, self);
         | 
| 915 1001 | 
             
              int i, num = NUM2INT(argv[0]);
         | 
| @@ -926,7 +1012,8 @@ static VALUE r_mpfi_subdivision (int argc, VALUE *argv, VALUE self){ | |
| 926 1012 |  | 
| 927 1013 | 
             
            /* ------------------------------ Mathematical Basic Arithmetic Functions start ------------------------------ */
         | 
| 928 1014 |  | 
| 929 | 
            -
            static VALUE r_mpfi_math_add (int argc, VALUE *argv, VALUE self) | 
| 1015 | 
            +
            static VALUE r_mpfi_math_add (int argc, VALUE *argv, VALUE self)
         | 
| 1016 | 
            +
            {
         | 
| 930 1017 | 
             
              VALUE val_ret;
         | 
| 931 1018 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 932 1019 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(2, 3, argc, argv));
         | 
| @@ -953,7 +1040,8 @@ static VALUE r_mpfi_math_add (int argc, VALUE *argv, VALUE self){ | |
| 953 1040 | 
             
              return val_ret;
         | 
| 954 1041 | 
             
            }
         | 
| 955 1042 |  | 
| 956 | 
            -
            static VALUE r_mpfi_math_sub (int argc, VALUE *argv, VALUE self) | 
| 1043 | 
            +
            static VALUE r_mpfi_math_sub (int argc, VALUE *argv, VALUE self)
         | 
| 1044 | 
            +
            {
         | 
| 957 1045 | 
             
              VALUE val_ret;
         | 
| 958 1046 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 959 1047 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(2, 3, argc, argv));
         | 
| @@ -980,7 +1068,8 @@ static VALUE r_mpfi_math_sub (int argc, VALUE *argv, VALUE self){ | |
| 980 1068 | 
             
              return val_ret;
         | 
| 981 1069 | 
             
            }
         | 
| 982 1070 |  | 
| 983 | 
            -
            static VALUE r_mpfi_math_mul (int argc, VALUE *argv, VALUE self) | 
| 1071 | 
            +
            static VALUE r_mpfi_math_mul (int argc, VALUE *argv, VALUE self)
         | 
| 1072 | 
            +
            {
         | 
| 984 1073 | 
             
              VALUE val_ret;
         | 
| 985 1074 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 986 1075 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(2, 3, argc, argv));
         | 
| @@ -1007,7 +1096,8 @@ static VALUE r_mpfi_math_mul (int argc, VALUE *argv, VALUE self){ | |
| 1007 1096 | 
             
              return val_ret;
         | 
| 1008 1097 | 
             
            }
         | 
| 1009 1098 |  | 
| 1010 | 
            -
            static VALUE r_mpfi_math_div (int argc, VALUE *argv, VALUE self) | 
| 1099 | 
            +
            static VALUE r_mpfi_math_div (int argc, VALUE *argv, VALUE self)
         | 
| 1100 | 
            +
            {
         | 
| 1011 1101 | 
             
              VALUE val_ret;
         | 
| 1012 1102 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1013 1103 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(2, 3, argc, argv));
         | 
| @@ -1034,7 +1124,9 @@ static VALUE r_mpfi_math_div (int argc, VALUE *argv, VALUE self){ | |
| 1034 1124 | 
             
              return val_ret;
         | 
| 1035 1125 | 
             
            }
         | 
| 1036 1126 |  | 
| 1037 | 
            -
             | 
| 1127 | 
            +
            /* mpfi_sqr(ret, p1) */
         | 
| 1128 | 
            +
            static VALUE r_mpfi_math_sqr (int argc, VALUE *argv, VALUE self)
         | 
| 1129 | 
            +
            {
         | 
| 1038 1130 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1039 1131 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1040 1132 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1044,7 +1136,9 @@ static VALUE r_mpfi_math_sqr (int argc, VALUE *argv, VALUE self){ | |
| 1044 1136 | 
             
              return val_ret;
         | 
| 1045 1137 | 
             
            }
         | 
| 1046 1138 |  | 
| 1047 | 
            -
             | 
| 1139 | 
            +
            /* mpfi_sqrt(ret, p1) */
         | 
| 1140 | 
            +
            static VALUE r_mpfi_math_sqrt (int argc, VALUE *argv, VALUE self)
         | 
| 1141 | 
            +
            {
         | 
| 1048 1142 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1049 1143 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1050 1144 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1058,7 +1152,9 @@ static VALUE r_mpfi_math_sqrt (int argc, VALUE *argv, VALUE self){ | |
| 1058 1152 |  | 
| 1059 1153 | 
             
            /* ------------------------------ Special Functions start ------------------------------ */
         | 
| 1060 1154 |  | 
| 1061 | 
            -
             | 
| 1155 | 
            +
            /* mpfi_log(ret, p1) */
         | 
| 1156 | 
            +
            static VALUE r_mpfi_math_log (int argc, VALUE *argv, VALUE self)
         | 
| 1157 | 
            +
            {
         | 
| 1062 1158 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1063 1159 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1064 1160 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1068,7 +1164,9 @@ static VALUE r_mpfi_math_log (int argc, VALUE *argv, VALUE self){ | |
| 1068 1164 | 
             
              return val_ret;
         | 
| 1069 1165 | 
             
            }
         | 
| 1070 1166 |  | 
| 1071 | 
            -
             | 
| 1167 | 
            +
            /* mpfi_exp(ret, p1) */
         | 
| 1168 | 
            +
            static VALUE r_mpfi_math_exp (int argc, VALUE *argv, VALUE self)
         | 
| 1169 | 
            +
            {
         | 
| 1072 1170 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1073 1171 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1074 1172 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1078,7 +1176,9 @@ static VALUE r_mpfi_math_exp (int argc, VALUE *argv, VALUE self){ | |
| 1078 1176 | 
             
              return val_ret;
         | 
| 1079 1177 | 
             
            }
         | 
| 1080 1178 |  | 
| 1081 | 
            -
             | 
| 1179 | 
            +
            /* mpfi_exp2(ret, p1) */
         | 
| 1180 | 
            +
            static VALUE r_mpfi_math_exp2 (int argc, VALUE *argv, VALUE self)
         | 
| 1181 | 
            +
            {
         | 
| 1082 1182 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1083 1183 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1084 1184 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1088,7 +1188,9 @@ static VALUE r_mpfi_math_exp2 (int argc, VALUE *argv, VALUE self){ | |
| 1088 1188 | 
             
              return val_ret;
         | 
| 1089 1189 | 
             
            }
         | 
| 1090 1190 |  | 
| 1091 | 
            -
             | 
| 1191 | 
            +
            /* mpfi_cos(ret, p1) */
         | 
| 1192 | 
            +
            static VALUE r_mpfi_math_cos (int argc, VALUE *argv, VALUE self)
         | 
| 1193 | 
            +
            {
         | 
| 1092 1194 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1093 1195 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1094 1196 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1098,7 +1200,9 @@ static VALUE r_mpfi_math_cos (int argc, VALUE *argv, VALUE self){ | |
| 1098 1200 | 
             
              return val_ret;
         | 
| 1099 1201 | 
             
            }
         | 
| 1100 1202 |  | 
| 1101 | 
            -
             | 
| 1203 | 
            +
            /* mpfi_sin(ret, p1) */
         | 
| 1204 | 
            +
            static VALUE r_mpfi_math_sin (int argc, VALUE *argv, VALUE self)
         | 
| 1205 | 
            +
            {
         | 
| 1102 1206 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1103 1207 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1104 1208 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1108,7 +1212,9 @@ static VALUE r_mpfi_math_sin (int argc, VALUE *argv, VALUE self){ | |
| 1108 1212 | 
             
              return val_ret;
         | 
| 1109 1213 | 
             
            }
         | 
| 1110 1214 |  | 
| 1111 | 
            -
             | 
| 1215 | 
            +
            /* mpfi_tan(ret, p1) */
         | 
| 1216 | 
            +
            static VALUE r_mpfi_math_tan (int argc, VALUE *argv, VALUE self)
         | 
| 1217 | 
            +
            {
         | 
| 1112 1218 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1113 1219 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1114 1220 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1118,7 +1224,9 @@ static VALUE r_mpfi_math_tan (int argc, VALUE *argv, VALUE self){ | |
| 1118 1224 | 
             
              return val_ret;
         | 
| 1119 1225 | 
             
            }
         | 
| 1120 1226 |  | 
| 1121 | 
            -
             | 
| 1227 | 
            +
            /* mpfi_acos(ret, p1) */
         | 
| 1228 | 
            +
            static VALUE r_mpfi_math_acos (int argc, VALUE *argv, VALUE self)
         | 
| 1229 | 
            +
            {
         | 
| 1122 1230 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1123 1231 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1124 1232 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1128,7 +1236,9 @@ static VALUE r_mpfi_math_acos (int argc, VALUE *argv, VALUE self){ | |
| 1128 1236 | 
             
              return val_ret;
         | 
| 1129 1237 | 
             
            }
         | 
| 1130 1238 |  | 
| 1131 | 
            -
             | 
| 1239 | 
            +
            /* mpfi_asin(ret, p1) */
         | 
| 1240 | 
            +
            static VALUE r_mpfi_math_asin (int argc, VALUE *argv, VALUE self)
         | 
| 1241 | 
            +
            {
         | 
| 1132 1242 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1133 1243 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1134 1244 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1138,7 +1248,9 @@ static VALUE r_mpfi_math_asin (int argc, VALUE *argv, VALUE self){ | |
| 1138 1248 | 
             
              return val_ret;
         | 
| 1139 1249 | 
             
            }
         | 
| 1140 1250 |  | 
| 1141 | 
            -
             | 
| 1251 | 
            +
            /* mpfi_atan(ret, p1) */
         | 
| 1252 | 
            +
            static VALUE r_mpfi_math_atan (int argc, VALUE *argv, VALUE self)
         | 
| 1253 | 
            +
            {
         | 
| 1142 1254 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1143 1255 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1144 1256 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1148,7 +1260,9 @@ static VALUE r_mpfi_math_atan (int argc, VALUE *argv, VALUE self){ | |
| 1148 1260 | 
             
              return val_ret;
         | 
| 1149 1261 | 
             
            }
         | 
| 1150 1262 |  | 
| 1151 | 
            -
             | 
| 1263 | 
            +
            /* mpfi_cosh(ret, p1) */
         | 
| 1264 | 
            +
            static VALUE r_mpfi_math_cosh (int argc, VALUE *argv, VALUE self)
         | 
| 1265 | 
            +
            {
         | 
| 1152 1266 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1153 1267 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1154 1268 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1158,7 +1272,9 @@ static VALUE r_mpfi_math_cosh (int argc, VALUE *argv, VALUE self){ | |
| 1158 1272 | 
             
              return val_ret;
         | 
| 1159 1273 | 
             
            }
         | 
| 1160 1274 |  | 
| 1161 | 
            -
             | 
| 1275 | 
            +
            /* mpfi_sinh(ret, p1) */
         | 
| 1276 | 
            +
            static VALUE r_mpfi_math_sinh (int argc, VALUE *argv, VALUE self)
         | 
| 1277 | 
            +
            {
         | 
| 1162 1278 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1163 1279 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1164 1280 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1168,7 +1284,9 @@ static VALUE r_mpfi_math_sinh (int argc, VALUE *argv, VALUE self){ | |
| 1168 1284 | 
             
              return val_ret;
         | 
| 1169 1285 | 
             
            }
         | 
| 1170 1286 |  | 
| 1171 | 
            -
             | 
| 1287 | 
            +
            /* mpfi_tanh(ret, p1) */
         | 
| 1288 | 
            +
            static VALUE r_mpfi_math_tanh (int argc, VALUE *argv, VALUE self)
         | 
| 1289 | 
            +
            {
         | 
| 1172 1290 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1173 1291 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1174 1292 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1178,7 +1296,9 @@ static VALUE r_mpfi_math_tanh (int argc, VALUE *argv, VALUE self){ | |
| 1178 1296 | 
             
              return val_ret;
         | 
| 1179 1297 | 
             
            }
         | 
| 1180 1298 |  | 
| 1181 | 
            -
             | 
| 1299 | 
            +
            /* mpfi_acosh(ret, p1) */
         | 
| 1300 | 
            +
            static VALUE r_mpfi_math_acosh (int argc, VALUE *argv, VALUE self)
         | 
| 1301 | 
            +
            {
         | 
| 1182 1302 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1183 1303 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1184 1304 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1188,7 +1308,9 @@ static VALUE r_mpfi_math_acosh (int argc, VALUE *argv, VALUE self){ | |
| 1188 1308 | 
             
              return val_ret;
         | 
| 1189 1309 | 
             
            }
         | 
| 1190 1310 |  | 
| 1191 | 
            -
             | 
| 1311 | 
            +
            /* mpfi_asinh(ret, p1) */
         | 
| 1312 | 
            +
            static VALUE r_mpfi_math_asinh (int argc, VALUE *argv, VALUE self)
         | 
| 1313 | 
            +
            {
         | 
| 1192 1314 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1193 1315 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1194 1316 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1198,7 +1320,9 @@ static VALUE r_mpfi_math_asinh (int argc, VALUE *argv, VALUE self){ | |
| 1198 1320 | 
             
              return val_ret;
         | 
| 1199 1321 | 
             
            }
         | 
| 1200 1322 |  | 
| 1201 | 
            -
             | 
| 1323 | 
            +
            /* mpfi_atanh(ret, p1) */
         | 
| 1324 | 
            +
            static VALUE r_mpfi_math_atanh (int argc, VALUE *argv, VALUE self)
         | 
| 1325 | 
            +
            {
         | 
| 1202 1326 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1203 1327 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1204 1328 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1208,7 +1332,9 @@ static VALUE r_mpfi_math_atanh (int argc, VALUE *argv, VALUE self){ | |
| 1208 1332 | 
             
              return val_ret;
         | 
| 1209 1333 | 
             
            }
         | 
| 1210 1334 |  | 
| 1211 | 
            -
             | 
| 1335 | 
            +
            /* mpfi_log1p(ret, p1) */
         | 
| 1336 | 
            +
            static VALUE r_mpfi_math_log1p (int argc, VALUE *argv, VALUE self)
         | 
| 1337 | 
            +
            {
         | 
| 1212 1338 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1213 1339 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1214 1340 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1218,7 +1344,9 @@ static VALUE r_mpfi_math_log1p (int argc, VALUE *argv, VALUE self){ | |
| 1218 1344 | 
             
              return val_ret;
         | 
| 1219 1345 | 
             
            }
         | 
| 1220 1346 |  | 
| 1221 | 
            -
             | 
| 1347 | 
            +
            /* mpfi_expm1(ret, p1) */
         | 
| 1348 | 
            +
            static VALUE r_mpfi_math_expm1 (int argc, VALUE *argv, VALUE self)
         | 
| 1349 | 
            +
            {
         | 
| 1222 1350 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1223 1351 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1224 1352 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1228,7 +1356,9 @@ static VALUE r_mpfi_math_expm1 (int argc, VALUE *argv, VALUE self){ | |
| 1228 1356 | 
             
              return val_ret;
         | 
| 1229 1357 | 
             
            }
         | 
| 1230 1358 |  | 
| 1231 | 
            -
             | 
| 1359 | 
            +
            /* mpfi_log2(ret, p1) */
         | 
| 1360 | 
            +
            static VALUE r_mpfi_math_log2 (int argc, VALUE *argv, VALUE self)
         | 
| 1361 | 
            +
            {
         | 
| 1232 1362 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1233 1363 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1234 1364 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1238,7 +1368,9 @@ static VALUE r_mpfi_math_log2 (int argc, VALUE *argv, VALUE self){ | |
| 1238 1368 | 
             
              return val_ret;
         | 
| 1239 1369 | 
             
            }
         | 
| 1240 1370 |  | 
| 1241 | 
            -
             | 
| 1371 | 
            +
            /* mpfi_log10(ret, p1) */
         | 
| 1372 | 
            +
            static VALUE r_mpfi_math_log10 (int argc, VALUE *argv, VALUE self)
         | 
| 1373 | 
            +
            {
         | 
| 1242 1374 | 
             
              MPFI *ptr_a0, *ptr_ret;
         | 
| 1243 1375 | 
             
              volatile VALUE tmp_argv0 = r_mpfi_new_fi_obj(argv[0]);
         | 
| 1244 1376 | 
             
              r_mpfi_get_struct(ptr_a0, tmp_argv0);
         | 
| @@ -1248,7 +1380,9 @@ static VALUE r_mpfi_math_log10 (int argc, VALUE *argv, VALUE self){ | |
| 1248 1380 | 
             
              return val_ret;
         | 
| 1249 1381 | 
             
            }
         | 
| 1250 1382 |  | 
| 1251 | 
            -
             | 
| 1383 | 
            +
            /* mpfi_const_log2(ret) */
         | 
| 1384 | 
            +
            static VALUE r_mpfi_math_const_log2 (int argc, VALUE *argv, VALUE self)
         | 
| 1385 | 
            +
            {
         | 
| 1252 1386 | 
             
              MPFI *ptr_ret;
         | 
| 1253 1387 | 
             
              VALUE val_ret;
         | 
| 1254 1388 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(0, 1, argc, argv));
         | 
| @@ -1256,7 +1390,9 @@ static VALUE r_mpfi_math_const_log2 (int argc, VALUE *argv, VALUE self){ | |
| 1256 1390 | 
             
              return val_ret;
         | 
| 1257 1391 | 
             
            }
         | 
| 1258 1392 |  | 
| 1259 | 
            -
             | 
| 1393 | 
            +
            /* mpfi_const_pi(ret) */
         | 
| 1394 | 
            +
            static VALUE r_mpfi_math_const_pi (int argc, VALUE *argv, VALUE self)
         | 
| 1395 | 
            +
            {
         | 
| 1260 1396 | 
             
              MPFI *ptr_ret;
         | 
| 1261 1397 | 
             
              VALUE val_ret;
         | 
| 1262 1398 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(0, 1, argc, argv));
         | 
| @@ -1264,7 +1400,9 @@ static VALUE r_mpfi_math_const_pi (int argc, VALUE *argv, VALUE self){ | |
| 1264 1400 | 
             
              return val_ret;
         | 
| 1265 1401 | 
             
            }
         | 
| 1266 1402 |  | 
| 1267 | 
            -
             | 
| 1403 | 
            +
            /* mpfi_const_euler(ret) */
         | 
| 1404 | 
            +
            static VALUE r_mpfi_math_const_euler (int argc, VALUE *argv, VALUE self)
         | 
| 1405 | 
            +
            {
         | 
| 1268 1406 | 
             
              MPFI *ptr_ret;
         | 
| 1269 1407 | 
             
              VALUE val_ret;
         | 
| 1270 1408 | 
             
              r_mpfi_make_struct_init2(val_ret, ptr_ret, r_mpfr_prec_from_optional_argument(0, 1, argc, argv));
         | 
| @@ -1274,7 +1412,8 @@ static VALUE r_mpfi_math_const_euler (int argc, VALUE *argv, VALUE self){ | |
| 1274 1412 |  | 
| 1275 1413 | 
             
            /* ------------------------------ Special Functions end ------------------------------ */
         | 
| 1276 1414 |  | 
| 1277 | 
            -
            void Init_mpfi() | 
| 1415 | 
            +
            void Init_mpfi()
         | 
| 1416 | 
            +
            {
         | 
| 1278 1417 | 
             
              r_mpfi_class = rb_define_class("MPFI", rb_cNumeric);
         | 
| 1279 1418 |  | 
| 1280 1419 | 
             
              /* ------------------------------ function state start ------------------------------ */
         | 
| @@ -1283,6 +1422,7 @@ void Init_mpfi(){ | |
| 1283 1422 | 
             
              /* ------------------------------ function state end ------------------------------ */
         | 
| 1284 1423 |  | 
| 1285 1424 | 
             
              /* ------------------------------ allocation start ------------------------------ */
         | 
| 1425 | 
            +
              rb_define_global_function("MPFI", r_mpfi_global_new, -1);
         | 
| 1286 1426 | 
             
              rb_define_alloc_func(r_mpfi_class, r_mpfi_alloc);
         | 
| 1287 1427 | 
             
              rb_define_private_method(r_mpfi_class, "initialize", r_mpfi_initialize, -1);
         | 
| 1288 1428 | 
             
              rb_define_private_method(r_mpfi_class, "initialize_copy", r_mpfi_initialize_copy, 1);
         |