sqrt.py

#!/usr/bin/env python
#
# Compute square-root
#
# Author:  Yotam Medini  [email protected] -- Created: 2005/December/04
#

import math
import sys

def sqrt(a):
    m = 0.
    M = a + 1.
    error = M - m
    progress = True
    while progress:
        x = (m + M)/2.
        xSquare = x * x
        if xSquare == a:
            progress = False
        else:
            if xSquare < a:
                m = x
            else:
                M = x
            new_error = M - m
            progress = (new_error < error)
            error = new_error
    return x


if len(sys.argv) == 1:
    sys.stderr.write("Usage:  %s <number1> ... <numberN>\n" % sys.argv[0])
    sys.exit(1)

ai = 1
while ai < len(sys.argv):
    a = float(sys.argv[ai])
    my_sqrt = sqrt(a)
    std_sqrt = math.sqrt(a)
    sys.stdout.write("SquareRoot(%16f) = %16f = {standard} %16f\n" %
                     (a, my_sqrt, std_sqrt))
    ai = ai + 1

sys.exit(0)

Generated by GNU enscript 1.6.4.