// check/expand_subs.cpp /* The first test routine implements Denny Fliegner's quick consistency check: * e = (a0 + a1 + a2 + a3 + ...)^2 * expand e * substitute a0 by (-a2 - a3 - ...) in e * expand e * after which e should be just a1^2. * In addition, a simpler modification is tested in the second test: * e = (a0 + a1)^200 * expand e * substitute a0 by -a1 in e * after which e should return 0 (without expanding). */ #include #define VECSIZE 100 static unsigned expand_subs1(void) { symbol a1("a1"); symbol a[VECSIZE]; ex e, aux; a[1] = a1; for (unsigned i=0; i