1 # ifndef CPPAD_UTILITY_ROMBERG_ONE_HPP 
    2 # define CPPAD_UTILITY_ROMBERG_ONE_HPP 
  151 template <
class Fun, 
class Float>
 
  164      Float  zero  = Float(0);
 
  165      Float  two   = Float(2);
 
  168      CheckNumericType<Float>();
 
  172           "RombergOne: n must be greater than or equal 2" 
  177      r[0]  = ( F(a) + F(b) ) * (b - a) / two;
 
  178      for(i = 1; i < n; i++)
 
  181           pow2   = Float(
int(ipow2));
 
  183           for(k = 1; k < ipow2; k += 2)
 
  185                x    = ( (pow2 - Float(
double(k))) * a + 
double(k) * b ) / pow2;
 
  189           r[i] = r[i-1] / two + sum * (b - a) / pow2;
 
  194      Float pow4, pow4minus;
 
  195      for(i = 0; i < p; i++)
 
  199           pow4      = Float(
int(ipow4));
 
  200           pow4minus = Float(ipow4-1);
 
  201           for(k = n-1; k > i; k--)
 
  202                r[k] = ( pow4 * r[k] - r[k-1] ) / pow4minus;
 
#define CPPAD_ASSERT_KNOWN(exp, msg)
Check that exp is true, if not print msg and terminate execution. 
The CppAD Simple Vector template class. 
Define the CppAD error checking macros (all of which begin with CPPAD_ASSERT_) 
Float RombergOne(Fun &F, const Float &a, const Float &b, size_t n, size_t p, Float &e)
File used to define CppAD::vector and CppAD::vectorBool.