Isqrt (integer square root) of X: Difference between revisions
Content deleted Content added
Not a robot (talk | contribs) Add CLU |
Not a robot (talk | contribs) →{{header|MAD}}: Change this to use the quadratic residue method |
||
Line 2,142: | Line 2,142: | ||
=={{header|MAD}}== |
=={{header|MAD}}== |
||
{{incorrect|MAD| <br><br> The algorithm used is not the one that is mandated to be used by the task's requirements: <br><br> finding the integer square root by using a <u>quadratic residue</u> method (as shown my the pseudo-code). <br><br>}} |
|||
<lang MAD> NORMAL MODE IS INTEGER |
<lang MAD> NORMAL MODE IS INTEGER |
||
Line 2,151: | Line 2,148: | ||
INTERNAL FUNCTION(X) |
INTERNAL FUNCTION(X) |
||
ENTRY TO ISQRT. |
ENTRY TO ISQRT. |
||
Q = 1 |
|||
FNDPW4 WHENEVER Q.LE.X |
|||
Q = Q * 4 |
|||
TRANSFER TO FNDPW4 |
|||
END OF CONDITIONAL |
|||
Z = X |
|||
R = 0 |
|||
FNDRT WHENEVER Q.G.1 |
|||
Q = Q / 4 |
|||
T = Z - R - Q |
|||
R = R / 2 |
|||
WHENEVER T.GE.0 |
|||
Z = T |
|||
R = R + Q |
|||
END OF CONDITIONAL |
|||
TRANSFER TO FNDRT |
|||
END OF CONDITIONAL |
|||
FUNCTION RETURN R |
|||
END OF FUNCTION |
END OF FUNCTION |
||