double cos(...) CODE: SV *arg = newSVsv(ST(0)); if (sv_isobject(arg)) { HV *self_hv = MUTABLE_HV(SvRV(arg)); SV **callback_ptr = hv_fetchs(self_hv, "Number", 0); SV *zahl = *callback_ptr; } else { SV *zahl = newSVsv(arg); } double x = SvNV(zahl); RETVAL = cos(x); OUTPUT: RETVAL