|
TYPEMAP
Qstruct_Definitions T_PTROBJ_SPECIAL
Qstruct_Builder T_PTROBJ_SPECIAL
int64_t T_INT64
uint64_t T_UINT64
int32_t T_INT
uint32_t T_U_INT
int16_t T_SHORT
uint16_t T_U_SHORT
int8_t T_SHORT
uint8_t T_U_SHORT
## cribbed from perlxstypemap and Math::Int64::C_API::Sample
INPUT
T_PTROBJ_SPECIAL
if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")){
IV tmp = SvIV((SV*)SvRV($arg));
$var = INT2PTR($type, tmp);
}
else
croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")
T_INT64
$var = SvI64($arg);
T_UINT64
$var = SvU64($arg);
OUTPUT
T_PTROBJ_SPECIAL
sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\",
(void*)$var);
T_INT64
$arg = newSVi64($var);
T_UINT64
$arg = newSVu64($var);
|