def test_exp(self):
        fn = lambda x : exp(x)
        a = 1
        b = 1
        self.assertEqual(romberg(a, b, fn, 10), 0)

        fn = lambda x : exp(x)
        a = 0
        b = 1
        self.assertAlmostEqual(romberg(a, b, fn, 10), exp(1) - 1, places = 10)
 def test_log(self):
     fn = lambda x : 1/x #integration of 1/x = log(x)
     a = 5
     b = 10
     self.assertAlmostEqual(romberg(a, b , fn, 10), log(2))
from numericalmethods.romberg import *

fn = lambda x : exp(-x)
a = 3
b = 10

print(romberg(a, b, fn, 4))

a = 0
b = 1
fn2 = lambda x : 1 / (1 + x)
print(romberg(a, b, fn2, 3))
 def test_const(self):
     fn = lambda x : 1
     a = 32
     b = 50
     self.assertEqual(romberg(a, b, fn, 10), b - a)
from numericalmethods.romberg import *

fn = lambda x: exp(-x)
a = 3
b = 10

print(romberg(a, b, fn, 4))

a = 0
b = 1
fn2 = lambda x: 1 / (1 + x)
print(romberg(a, b, fn2, 3))