Metropoli BBS
VIEWER: sam263.c MODE: TEXT (ASCII)
#define INCLUDES APLCB+APLCHDEF+APLMAIN+STDIO+APLDERIV
#include "includes.h"
main()
{
	Dervfree; Endoper; Indxsub; Litvect; Newderiv;
	Reducef; Reshape; 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(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);
}
[ RETURN TO DIRECTORY ]