Subject: Re: [xsl] A small programming challenge From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx> Date: Wed, 22 Jun 2005 03:16:07 -0700 (PDT) |
Hi Jim, Does the stylesheet which you have posted (written by Oliver Becker) solves the same problem? Sorry I have'nt studied it deeply. But if yes, what input you gave it? And what output it produced..? Or does the stylesheet takes the input from within? Regards, Mukul --- James Fuller <jim.fuller@xxxxxxxxxxxxxx> wrote: > u are aware of OliverB old stylesheet.... > > > <!-- > The Sieve of Eratosthenes > GPL (c) Oliver Becker, 2000-06-13 > obecker@xxxxxxxxxxxxxxxxxxxxxxx > --> > <xslt:transform > xmlns:xslt="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > > <xslt:output method="text" /> > > <xslt:param name="bound" select="1000" /> > > <xslt:template match="/"> > <xslt:call-template name="eratosthenes"> > <xslt:with-param name="pos" select="2" /> > <xslt:with-param name="array"> > <xslt:call-template name="init-array"> > <xslt:with-param name="length" > select="$bound" /> > </xslt:call-template> > </xslt:with-param> > </xslt:call-template> > <xslt:text> > </xslt:text> > </xslt:template> > > > <!-- Initialize the array (string) with length > $length --> > <xslt:template name="init-array"> > <xslt:param name="length" /> > <xslt:if test="$length > 0"> > <xslt:text>-</xslt:text> > <xslt:call-template name="init-array"> > <xslt:with-param name="length" > select="$length - 1" /> > </xslt:call-template> > </xslt:if> > </xslt:template> > > > <!-- Sieve of Eratosthenes: If the number at > position $pos isn't > marked then it's a prime (and printed). If the > position of the > prime is lower or equal then the square root of > $bound then the > new array will be computed by marking all > multiples of $pos. --> > <xslt:template name="eratosthenes"> > <xslt:param name="array" /> > <xslt:param name="pos" /> > <xslt:if test="$pos < $bound"> > <xslt:variable name="is-prime" > select="substring($array,$pos,1) = > '-'" /> > <xslt:if test="$is-prime"> > <xslt:value-of select="$pos" />, <xslt:text > /> > </xslt:if> > <xslt:variable name="new-array"> > <xslt:choose> > <xslt:when test="$is-prime and $pos*$pos > <= $bound"> > <xslt:call-template name="mark"> > <xslt:with-param name="array" > select="$array" /> > <xslt:with-param name="number" > select="$pos" /> > </xslt:call-template> > </xslt:when> > <xslt:otherwise> > <xslt:value-of select="$array" /> > </xslt:otherwise> > </xslt:choose> > </xslt:variable> > <xslt:call-template name="eratosthenes"> > <xslt:with-param name="array" > select="$new-array" /> > <xslt:with-param name="pos" select="$pos + > 1" /> > </xslt:call-template> > </xslt:if> > </xslt:template> > > > <!-- Mark all multiples of $number in $array with > '*' --> > <xslt:template name="mark"> > <xslt:param name="array" /> > <xslt:param name="number" /> > <xslt:choose> > <xslt:when test="string-length($array) > > $number"> > <xslt:value-of select="substring ($array, > 1, $number - 1)" /> > <xslt:text>*</xslt:text> > <xslt:call-template name="mark"> > <xslt:with-param name="array" > select="substring ($array, > $number + 1)" /> > <xslt:with-param name="number" > select="$number" /> > </xslt:call-template> > </xslt:when> > <xslt:otherwise> > <xslt:value-of select="$array" /> > </xslt:otherwise> > </xslt:choose> > </xslt:template> > > </xslt:transform> > > > this will take quite a long time...though uses no > extension functions, I > would utilize other approaches to search the problem > domain if simply > contrained by the requirement of being prime and 10 > digit length. > > wish I had the time, though will process in the > background on a solution > to this. > > cheers, Jim Fuller > > ____________________________________________________ Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football http://football.fantasysports.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A small programming chall, James Fuller | Thread | Re: [xsl] A small programming chall, James Fuller |
Re: [xsl] A small programming chall, James Fuller | Date | Re: [xsl] Rendering dynamic images , Peter Gerstbach |
Month |