#define INCLUDES APLCB+APLCHDEF+APLMAIN+STDIO+APLDERIV #include "includes.h" main() { Dervfree; Endoper; Indxsub; Litvect; Newderiv; Reshape; Quadout; Scanfrnt; void subfill(int, Deriv_sub*); Aplderiv dp; #include "aplinit.h" dp = newderiv(NULL,NULL,NULL); /* Allocate. */ dp->deriv_flags |= DERPERM; /* Mark it permanent. */ dp->deriv_func = scanfrnt; /* Scan for all data. */ subfill(SLOPE, &(dp->deriv_left)); dp->deriv_op = dp->deriv_left.fun; subfill(PLUS, &(dp->deriv_left)); endoper(quadout(dp->deriv_func(dp,NULL, reshape(litvect("3 2"),indxsub(6))))); endoper(quadout(dp->deriv_func(dp,NULL, litvect("1j2 3j4 5j6")))); 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); }