Metropoli BBS
VIEWER: sam264.c MODE: TEXT (ASCII)
#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);
}

[ RETURN TO DIRECTORY ]