Math-ematica
view release on metacpan or search on metacpan
MLDisownSymbol(link, symname);
void
MLGetFunction(link)
MLINK link
PREINIT:
char * name;
long_st nargs;
SV * symbol;
PPCODE:
if (!MLGetFunction(link, (kcharpp_ct) &name, &nargs)) {
XSRETURN_UNDEF;
}
symbol = make_symbol(name);
MLDisownSymbol(link, name);
XPUSHs(sv_2mortal(symbol));
if (GIMME_V == G_ARRAY) {
XPUSHs(sv_2mortal(newSViv(nargs)));
XSRETURN(2);
} else {
XSRETURN(1);
}
void
MLGetRealList(link)
MLINK link
PREINIT:
doublep_nt array;
long_st len;
long_st i;
PPCODE:
if (!MLGetRealList(link, &array, &len)) {
XSRETURN_UNDEF;
}
EXTEND(sp, len);
for (i=0;i<len;i++) {
PUSHs(sv_2mortal(newSVnv(array[i])));
}
MLDisownRealList(link, array, len);
XSRETURN(len);
void
symbol(name)
SV * name
PPCODE:
ST(0) = sv_2mortal(newRV_noinc(newSVsv(name)));
sv_bless(ST(0), gv_stashpv(SYMNAME,1));
XSRETURN(1);
mlapi_result
PutToken(link, elem, ...)
MLINK link
SV * elem
CODE:
if (SvROK(elem)) {
( run in 1.082 second using v1.01-cache-2.11-cpan-5511b514fd6 )