Subversion

2lt

?curdirlinks? - Rev 1

?prevdifflink? - Blame



functions

        sqrt : real -> real
        sqrt(x) == sqrLoop(1,x)
        pre x >= 0;

        sqrLoop : real * real -> real
        sqrLoop(r,x) == if accurate(r,x) then r else sqrLoop(approach(r,x), x);

        accurate : real * real -> bool  
        accurate(r,x) == abs(x - r*r) < 0.0001;

        approach : real * real -> real
        approach(r,x) == ((r + (x/r))/2);



        sqrt_esp (x : real) r : real
        pre x >= 0
        post r*r = x



Theme by Vikram Singh | Powered by WebSVN v2.3.3