#define INCLUDES APLCB+APLCHDEF+APLMAIN+STDIO+APLDERIV #include "includes.h" main() { Chrvect; Dervfree; Endoper; Iscalar; Newderiv; Reducef; Quadout; void subfill(int, Deriv_sub*); Aplderiv dp; #include "aplinit.h" dp = newderiv(NULL,NULL,NULL); /* New aplderiv structure. */ dp->deriv_flags |= DERPERM; /* Mark it permanent. */ dp->deriv_func = reducef; /* Reduce for all data types. */ subfill(SLASH, &(dp->deriv_left)); dp->deriv_op = dp->deriv_left.fun; subfill(COMMA, &(dp->deriv_left)); endoper(quadout(dp->deriv_func(dp, iscalar(-2), chrvect("abcdef")))); endoper(quadout(dp->deriv_func(dp, iscalar(2), chrvect("abcdef")))); dp->deriv_flags &= ~DERPERM; dervfree(dp); } void subfill(code,sub) int code; Deriv_sub *sub; { Funexec; Pickdyad; struct apltoken tok; Apltoken tokptr; tok.token_code = code; tok.token_flags=0; /* So funexec won't replicate token. */ tokptr = funexec(&tok); /* Get info. on code. */ sub->funcode = tok.token_code; sub->fun = tok.token_ptr.token_function; sub->sdp = pickdyad(sub->fun); }