# # int_tbm = "integer to be modified" # The 'status' variable is a good example of this TYPEMAP cmp * T_COMPLEXP dblcmp * T_DBLCOMPLEXP fitsfile * T_PTR logical * T_LOGICALP byte * T_BYTEP unsigned short * T_USHORTP unsigned int * T_UINTP unsigned long * T_ULONGP short * T_SHORTP int * T_INTP long * T_LONGP float * T_FLOATP double * T_DOUBLEP char ** T_STRINGP char * T_STRING byte T_BYTE logical T_LOGICAL float T_FLOAT INPUT T_STRINGP $var = ($type)packND($arg,TSTRING) T_COMPLEXP $var = ($type)packND($arg,TCOMPLEX) T_DBLCOMPLEXP $var = ($type)packND($arg,TDBLCOMPLEX) T_LOGICALP $var = ($type)packND($arg,TLOGICAL) T_BYTEP $var = ($type)packND($arg,TBYTE) T_USHORTP $var = ($type)packND($arg,TUSHORT) T_SHORTP $var = ($type)packND($arg,TSHORT) T_UINTP $var = ($type)packND($arg,TUINT) T_ULONGP $var = ($type)packND($arg,TULONG) T_INTP $var = ($type)packND($arg,TINT) T_LONGP $var = ($type)packND($arg,TLONG) T_FLOATP $var = ($type)packND($arg,TFLOAT) T_DOUBLEP $var = ($type)packND($arg,TDOUBLE) T_BYTE $var = ($type)SvIV($arg) T_LOGICAL $var = ($type)SvIV($arg) T_FLOAT $var = ($type)SvNV($arg) T_STRING { if ($arg == &sv_undef) $var = ($type)NULL; else $var = ($type)SvPV($arg,na); } OUTPUT T_BYTE sv_setiv($arg, (IV) $var); T_LOGICAL sv_setiv($arg, (IV) $var); T_FLOAT sv_setnv($arg, (double) $var); T_STRING if ($var != NULL) sv_setpv((SV *)$arg, $var);