Transformations

hypertiling.transformation.htadd(x, dx, y, dy)

perform addition of numbers given in double double representation

hypertiling.transformation.htcplxadd(a, da, b, db)

perform addition of complex double double numbers

hypertiling.transformation.htcplxdiff(a, da, b, db)

perform subtraction of complex double double numbers

hypertiling.transformation.htcplxdiv(a, da, b, db)

perform division of complex double double numbers

hypertiling.transformation.htcplxprod(a, da, b, db)

perform multiplication of complex double double numbers

hypertiling.transformation.htcplxprodconjb(a, da, b, db)

perform multiplication of complex double double numbers: a * b^*

hypertiling.transformation.htdiff(x, dx, y, dy)

perform subtraction of numbers given in double double representation

hypertiling.transformation.htdiv(x, dx, y, dy)

perform division of numbers given in double double representation

hypertiling.transformation.htprod(x, dx, y, dy)

perform multplication of numbers given in double double representation

hypertiling.transformation.kahan(x, y)

Transform the addition of two floating point numbers:

\[x + y = r + e\]

(Dekker1971) showed that this transform is exact, if abs(x) > abs(y).

Parameters:

x (float): a floating point number. y (float): a floating point number with abs(y) < abs(x).

Returns:

r (float): x + y e (float): the overflow

hypertiling.transformation.moeb_origin_trafo_inversedd(z0, dz0, z, dz)

Inverse Möbius transform to the origin in double double representation

hypertiling.transformation.moeb_origin_trafodd(z0, dz0, z, dz)

Möbius transform to the origin in double double representation

hypertiling.transformation.moeb_rotate_trafodd(z, dz, phi)

Rotation of a complex number

hypertiling.transformation.p2w(z)

Convert Poincare to Weierstraß representation

hypertiling.transformation.twodiff(x, y)

branch free transformation of subtraction

hypertiling.transformation.twoproduct(x, y)

Product of two numbers: x*y = r + e. See Ogita et al. 2005

hypertiling.transformation.twosum(x, y)

branch free transformation of addition by Knuth

hypertiling.transformation.w2p(point)

Convert Weierstraß to Poincare representation