27 lines
785 B
Python
27 lines
785 B
Python
"""
|
|
Demonstrate difference between Arithmetic Progression calculated
|
|
as a series of increments accumulating errors versus one addition
|
|
and one multiplication.
|
|
"""
|
|
|
|
from fractions import Fraction
|
|
from aritprog_v0 import ArithmeticProgression as APv0
|
|
from aritprog_v1 import ArithmeticProgression as APv1
|
|
|
|
if __name__ == '__main__':
|
|
|
|
ap0 = iter(APv0(1, .1))
|
|
ap1 = iter(APv1(1, .1))
|
|
ap_frac = iter(APv1(Fraction(1, 1), Fraction(1, 10)))
|
|
epsilon = 10**-10
|
|
iteration = 0
|
|
delta = next(ap0) - next(ap1)
|
|
frac = next(ap_frac)
|
|
while abs(delta) <= epsilon:
|
|
delta = next(ap0) - next(ap1)
|
|
frac = next(ap_frac)
|
|
iteration += 1
|
|
|
|
print('iteration: {}\tfraction: {}\tepsilon: {}\tdelta: {}'.
|
|
format(iteration, frac, epsilon, delta))
|