#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);
}