$VERSION = '0.24';
-require XSLoader;
-XSLoader::load(__PACKAGE__);
-
##############################################################################
# global constants, flags and accessory
*{'Math::BigInt::FastCalc::_' . $method} = \&{'Math::BigInt::Calc::_' . $method};
}
- # store BASE_LEN and BASE to later pass it to XS code
($BASE_LEN, $BASE) = Math::BigInt::Calc::_base_len();
-
}
-sub import
- {
- _set_XS_BASE($BASE, $BASE_LEN);
- }
+require XSLoader;
+XSLoader::load(__PACKAGE__, $VERSION, $BASE_LEN, $BASE);
##############################################################################
##############################################################################
ST(0) = sv_2mortal(newSViv(value)); \
XSRETURN(1);
-void
-_set_XS_BASE(BASE, BASE_LEN)
- SV* BASE
- SV* BASE_LEN
-
- CODE:
- XS_BASE = SvNV(BASE);
- XS_BASE_LEN = SvIV(BASE_LEN);
+BOOT:
+{
+ if (items < 4)
+ S_croak_xs_usage(aTHX_ cv, "package, version, base_len, base");
+ XS_BASE_LEN = SvIV(ST(2));
+ XS_BASE = SvNV(ST(3));
+}
##############################################################################
# _new