<!-- 
RSS generated by JIRA (4.4#649-r158309) at Sat May 25 11:30:19 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/si/jira.issueviews:issue-xml/CLJ-784/CLJ-784.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Clojure JIRA</title>
    <link>http://dev.clojure.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>4.4</version>
        <build-number>649</build-number>
        <build-date>25-07-2011</build-date>
    </build-info>

<item>
            <title>[CLJ-784] Update min/max functions to take advantage of primitive math</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-784</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently, the &lt;tt&gt;min&lt;/tt&gt; and &lt;tt&gt;max&lt;/tt&gt; functions are quite slow, since they don&apos;t take advantage of new primitive math.&lt;/p&gt;

&lt;p&gt;Implement them in the same manner in which other primitive math functions are implemented for efficiency.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14410">CLJ-784</key>
            <summary>Update min/max functions to take advantage of primitive math</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="lvanderhart">Luke VanderHart</assignee>
                                <reporter username="lvanderhart">Luke VanderHart</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Apr 2011 10:20:41 -0500</created>
                <updated>Fri, 1 Mar 2013 12:47:08 -0600</updated>
                    <resolved>Thu, 26 May 2011 20:17:29 -0500</resolved>
                            <version>Release 1.3</version>
                                <fixVersion>Release 1.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26408" author="lvanderhart" created="Fri, 29 Apr 2011 15:17:10 -0500"  >&lt;p&gt;This patch creates inline versions of min and max, combined with overloaded implementations in c.l.Numbers. It is over an order of magnitude faster using a test like this one (from 19 seconds to 1.2 seconds on my machine):&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(time (loop [a 0 b 10 c 5]
            (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&amp;lt; a 1000000000)
                (recur (inc a) (min b c) (max c b)))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There are two patches. One is contagious, but returns primitives for (long, double) input. The other is not contagious and returns primitives only for (long,long) and (double,double) args, but is still substantially faster than the original version.&lt;/p&gt;</comment>
                    <comment id="26421" author="stu" created="Fri, 6 May 2011 10:11:58 -0500"  >&lt;p&gt;The May 6 &quot;take 3&quot; patch eliminates a few contagions that were hiding in the earlier patch, and is hopefully good to go.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10217" name="0784-min-max-take-3.patch" size="3596" author="stu" created="Fri, 6 May 2011 10:11:57 -0500" />
                    <attachment id="10211" name="fast_min_max_no_contagion.patch" size="6029" author="lvanderhart" created="Fri, 29 Apr 2011 15:17:10 -0500" />
                    <attachment id="10210" name="fast_min_max.patch" size="3712" author="lvanderhart" created="Fri, 29 Apr 2011 15:17:09 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>
</channel>
</rss>