#include "bigfloat.h" int driver(int argc, char**argv) { // find what degree formula to generate ASSERT(argc == 2, "usage: multistep 5, to get 11th degree (5*2+1=11)\n"); int halfDegree; sscanf(argv[1], "%d", &halfDegree); ASSERT(halfDegree > 0, "half degree must be at least 1"); int degree = 2*halfDegree+1; // build polynomials of the appropriate degree, and second derivative BigFloat *p2 = new BigFloat[3*degree]; // position: poly of degree BigFloat *p = &p2[degree]; BigFloat *a2 = new BigFloat[3*degree]; // acceleration: poly of degree-2 BigFloat *a = &a2[degree]; for (int i=0; i<3*degree; ++i) { BigFloat x(1); BigFloat c(i-degree); for (int j=0; j