Help for this page

Select Code to Download


  1. or download this
    SV *
    overload_add_eq (a, b, third)
    ...
    CODE:
      RETVAL = overload_add_eq (aTHX_ a, b, third);
    OUTPUT:  RETVAL
    
  2. or download this
    void
    overload_add_eq (a, b, third)
    ...
            CODE:
            overload_add_eq (aTHX_ a, b, third);
            XSRETURN_EMPTY; /* return empty stack */
    
  3. or download this
    SV * overload_add_eq(pTHX_ SV * a, SV * b, SV * third) {
        /* lengthy code  snipped */
    }
    
  4. or download this
    void overload_add_eq(pTHX_ SV * a, SV * b, SV * third) {
         PERL_UNUSED_ARG(third); /* UPDATE: This line can be removed as ir
    +relevant */
         mpz_add_ui(*(INT2PTR(mpz_t *, SvIVX(SvRV(a)))), *(INT2PTR(mpz_t *
    +, SvIVX(SvRV(a)))), SvUV(b));
    }
    
  5. or download this
    > perl -Mblib -MMath::GMPz -MDevel::Peek -wle "$x = Math::GMPz->new(12
    +34); $x++;print $x; $x += 15; print $x; Dump($x);"
    1235
    ...
      FLAGS = ()
      IV = 1837594613288
      PV = 0
    
  6. or download this
    > perl -Mblib -MMath::GMPz -MDevel::Peek -wle "$x = Math::GMPz->new(12
    +34); $x++; print $x; Math::GMPz::overload_add_eq($x, 15, 0); print $x
    +;"
    1235
    1250
    
  7. or download this
    > perl -Mblib -MMath::GMPz -MDevel::Peek -wle "$x = Math::GMPz->new(12
    +34); $x++;print $x; $x += 15; print $x; Dump($x);"
    1235
    ...
        NV = 0
        PV = 0
        STASH = 0x2bfffa5e5e8       "Math::GMPz"