59 lines
591 B
C++
59 lines
591 B
C++
// definite integral
|
|
|
|
#include "stdafx.h"
|
|
#include "defs.h"
|
|
|
|
#define F p2
|
|
#define X p3
|
|
#define A p4
|
|
#define B p5
|
|
|
|
void
|
|
eval_defint(void)
|
|
{
|
|
push(cadr(p1));
|
|
eval();
|
|
F = pop();
|
|
|
|
p1 = cddr(p1);
|
|
|
|
while (iscons(p1)) {
|
|
|
|
push(car(p1));
|
|
p1 = cdr(p1);
|
|
eval();
|
|
X = pop();
|
|
|
|
push(car(p1));
|
|
p1 = cdr(p1);
|
|
eval();
|
|
A = pop();
|
|
|
|
push(car(p1));
|
|
p1 = cdr(p1);
|
|
eval();
|
|
B = pop();
|
|
|
|
push(F);
|
|
push(X);
|
|
integral();
|
|
F = pop();
|
|
|
|
push(F);
|
|
push(X);
|
|
push(B);
|
|
subst();
|
|
eval();
|
|
|
|
push(F);
|
|
push(X);
|
|
push(A);
|
|
subst();
|
|
eval();
|
|
|
|
subtract();
|
|
F = pop();
|
|
}
|
|
|
|
push(F);
|
|
} |