Modules | Supported Version: 1 Source<func:function name="math:sqrt"> <!-- The number you want to find the square root of --> <xsl:param name="number" select="0" /> <!-- The current 'try'. This is used internally. --> <xsl:param name="try" select="1" /> <!-- The current iteration, checked against maxiter to limit loop count --> <xsl:param name="iter" select="1" /> <!-- Set this up to ensure against infinite loops --> <xsl:param name="maxiter" select="10" /> <!-- This template was written by Nate Austin using Sir Isaac Newton's method of finding roots --> <xsl:choose> <xsl:when test="$try * $try = $number or $iter > $maxiter"> <func:result select="$try" /> </xsl:when> <xsl:otherwise> <func:result select="math:sqrt($number, $try - (($try * $try - $number) div (2 * $try)), $iter + 1, $maxiter)" /> </xsl:otherwise> </xsl:choose> </func:function> Change HistorySubmitted: 2001-08-15 |
http://www.exslt.org/math/functions/sqrt/math.sqrt.function.xsl.html last modified 2001-08-15