<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1658</id>
	<title>Nabble - Gnu - GMP</title>
	<updated>2009-07-08T01:21:27Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Gnu---GMP-f1658.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gnu---GMP-f1658.html" />
	<subtitle type="html">GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. GMP is faster than any other bignum library. The advantage for GMP increases with the operand sizes for many operations, since GMP uses asymptotically faster algorithms. Gnu - GMP home is &lt;a href=&quot;http://swox.com/gmp/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-24387388</id>
	<title>t-popc.pm Test Fails With &quot;Access to undefined memory&quot;</title>
	<published>2009-07-08T01:21:27Z</published>
	<updated>2009-07-08T01:21:27Z</updated>
	<author>
		<name>bornlibra23</name>
	</author>
	<content type="html">Hello People
&lt;br&gt;I am trying to port gmp library on Stratus VOS platform. Surprisingly the code compiled &amp; built with little changes. However I am facing problems in the tests. The test t-popc.pm fails with &amp;quot;Access to undefined memory&amp;quot;. It results in a sigbus signal to be delivered. The below is the trace of the program. Can anyone suggest something?
&lt;br&gt;GNU gdb 5.3
&lt;br&gt;Copyright 2002 Free Software Foundation, Inc.
&lt;br&gt;GDB is free software, covered by the GNU General Public License, and you are
&lt;br&gt;welcome to change it and/or distribute copies of it under certain conditions.
&lt;br&gt;Type &amp;quot;show copying&amp;quot; to see the conditions.
&lt;br&gt;There is absolutely no warranty for GDB. &amp;nbsp;Type &amp;quot;show warranty&amp;quot; for details.
&lt;br&gt;This GDB was configured as &amp;quot;i686-stratus-vos&amp;quot;...
&lt;br&gt;(gdb) r
&lt;br&gt;Starting program: /posixPorted/gmp-4.3.1&amp;gt;tests&amp;gt;t-popc.pm
&lt;br&gt;&lt;br&gt;Program received signal SIGBUS, Bus error.
&lt;br&gt;0x0004e561 in exit ()
&lt;br&gt;&amp;nbsp; &amp;nbsp; at exit.c:89
&lt;br&gt;89 &amp;nbsp; exit.c: No such file or directory..
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;in exit.c
&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;0x0004e561 in exit
&lt;br&gt;&amp;nbsp; &amp;nbsp; () at exit.c:89
&lt;br&gt;#1 &amp;nbsp;0x00002dc9 in main
&lt;br&gt;&amp;nbsp; &amp;nbsp; () at t-popc.c:65
&lt;br&gt;#2 &amp;nbsp;0x00002671 in s$start_c_program ()
&lt;br&gt;&amp;nbsp; &amp;nbsp; at s_start_c_program.c:283
&lt;br&gt;#3 &amp;nbsp;0x80442393 in start_user_program ()&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/t-popc.pm-Test-Fails-With-%22Access-to-undefined-memory%22-tp24387388p24387388.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23996551</id>
	<title>Bounding the recursion depth of toom22_mul</title>
	<published>2009-06-12T03:41:09Z</published>
	<updated>2009-06-12T03:41:09Z</updated>
	<author>
		<name>nisse-4</name>
	</author>
	<content type="html">The storage need for toom22_mul includes a log term. One simple (but
&lt;br&gt;still quite conservative) bound is
&lt;br&gt;&lt;br&gt;&amp;nbsp; 2*(n + k)
&lt;br&gt;&lt;br&gt;where n is the number of limbs in the larger factor (an), and k is the
&lt;br&gt;recursion depth. It's tempting to bound k by
&lt;br&gt;&lt;br&gt;&amp;nbsp; ceil(log_2(ceil(TOOM33_MUL_THRESHOLD / TOOM22_MUL_THRESHOLD)))
&lt;br&gt;&lt;br&gt;which usually is a compile time constant. Then for safety one should
&lt;br&gt;probably also add an
&lt;br&gt;&lt;br&gt;&amp;nbsp; ASSERT_ALWAYS(BELOW_THRESHOLD(an, TOOM33_MUL_THRESHOLD));
&lt;br&gt;&lt;br&gt;at the start of toom22_mul. I see some potential problems with this,
&lt;br&gt;though.
&lt;br&gt;&lt;br&gt;1. The case of tuneup and fat binaries, where the thresholds are not
&lt;br&gt;&amp;nbsp; &amp;nbsp;constant. log_2 (TOOM33_MUL_THRESHOLD_LIMIT) might be of some use,
&lt;br&gt;&amp;nbsp; &amp;nbsp;but I'm not sure how that is intended to be used. Even better if
&lt;br&gt;&amp;nbsp; &amp;nbsp;there also was a *lower* bound on TOOM22_MUL_THRESHOLD, so one
&lt;br&gt;&amp;nbsp; &amp;nbsp;could in effect use MAX(TOOM33_MUL_THRESHOLD) /
&lt;br&gt;&amp;nbsp; &amp;nbsp;MIN(TOOM22_MUL_THRESHOLD).
&lt;br&gt;&lt;br&gt;2. The recurson depth is related to the size of the larger input,
&lt;br&gt;&amp;nbsp; &amp;nbsp;while I think it is common to apply the thresholds looking at the
&lt;br&gt;&amp;nbsp; &amp;nbsp;smaller input. The above bound would break down if toom22_mul is
&lt;br&gt;&amp;nbsp; &amp;nbsp;callled with an above the toom33 threshold and bn below it.
&lt;br&gt;&lt;br&gt;3. It makes it harder to include toom22 in benchmarks for larger
&lt;br&gt;&amp;nbsp; &amp;nbsp;sizes.
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;There may be other problems that I'm missing.
&lt;br&gt;&lt;br&gt;What's the maximum recursion depth in the usual configurations?
&lt;br&gt;&lt;br&gt;Other alternatives might be to not care, and let a multiplication
&lt;br&gt;just above the Karatsuba threshold allocate some 128+ unused limbs. Or
&lt;br&gt;we could handle the case of a recursion depth of 1 (recursive calls
&lt;br&gt;all schoolbook) specially, if that is a common and important cases.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;/Niels
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23996551&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bounding-the-recursion-depth-of-toom22_mul-tp23996551p23996551.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23969997</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T13:07:30Z</published>
	<updated>2009-06-10T13:07:30Z</updated>
	<author>
		<name>nisse-4</name>
	</author>
	<content type="html">&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23969997&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bodrato@...&lt;/a&gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; As you can see, we have a lot of [x,0;0,x] blocks, this does not only mean
&lt;br&gt;&amp;gt; we have two matrices that are identical and can be interpolated with one
&lt;br&gt;&amp;gt; single function... we can do something better!
&lt;br&gt;&amp;gt; We can &amp;quot;recompose&amp;quot; couples of lines! We have:
&lt;br&gt;&lt;br&gt;That's clever. To see if I understand this, let's consider the simplest
&lt;br&gt;four-point interpolation first. The number we're trying to construct
&lt;br&gt;is x=f(B), with
&lt;br&gt;&lt;br&gt;&amp;nbsp; f(t) = x_0 + x_1 t + x_2 t^2 + x_3 t^3
&lt;br&gt;&lt;br&gt;and B is the power of two used for splitting. To start with, we are
&lt;br&gt;given
&lt;br&gt;&lt;br&gt;&amp;nbsp; w0 = f(0) = x0
&lt;br&gt;&amp;nbsp; w1 = f(1) = x0 + x1 + x2 + x3
&lt;br&gt;&amp;nbsp; w2 = f(-1) = x0 - x1 + x2 - x3
&lt;br&gt;&amp;nbsp; w3 = f(oo) = x3
&lt;br&gt;&lt;br&gt;First, a butterfly operation, replacing w1 and w2 by
&lt;br&gt;&lt;br&gt;&amp;nbsp; w1 = x1 + x3
&lt;br&gt;&amp;nbsp; w2 = x0 + x2
&lt;br&gt;&lt;br&gt;Then x2 = w2 - w0 and x1 = w1 - w3, so we can write
&lt;br&gt;&lt;br&gt;&amp;nbsp; x = w0 + (w1 - w3) B + (w2 - w0) B^2 + w3 B^3
&lt;br&gt;&amp;nbsp; &amp;nbsp; = -(w3 B - w0) + (w1 + w2 B) B + (w3 B - w0) B^2
&lt;br&gt;&lt;br&gt;Let L w0 and H w0 be the low and high part of w0. Define
&lt;br&gt;&lt;br&gt;&amp;nbsp; y = w3 - H w0
&lt;br&gt;&amp;nbsp; z = w1 + B w2
&lt;br&gt;&lt;br&gt;Then we have
&lt;br&gt;&lt;br&gt;&amp;nbsp; x = Lw0 - y B + z B + y B^2
&lt;br&gt;&lt;br&gt;or graphically
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; B^4 &amp;nbsp;B^3 &amp;nbsp;B^2 &amp;nbsp; B &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;nbsp; | &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +---------+----+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; - y &amp;nbsp; |Lw0 |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; +-----+---------+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;z &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; +---+---------------+
&lt;br&gt;&amp;nbsp; | &amp;nbsp; y &amp;nbsp; &amp;nbsp; |-Lw0|
&lt;br&gt;&amp;nbsp; +---------+----+
&lt;br&gt;&lt;br&gt;So the inputs to the recombination, at this stage, are y (2n limbs +
&lt;br&gt;sign), z (2n+1 limbs) and Lw0 (n limbs), for a total of 5n + 1 limbs.
&lt;br&gt;Compared to 8*n + 2 needed to represent the original w:s. We need
&lt;br&gt;scratch space for the recursive computations, and for the storage of
&lt;br&gt;z, but no more. (To compute z, put factors in the product area, first
&lt;br&gt;product in z, second in the product area, then do the butterflies and
&lt;br&gt;combination. w0 and w3 can be computed directly into the product area
&lt;br&gt;and combined into y.
&lt;br&gt;&lt;br&gt;I don't fully understand the current toom32_mul, but maybe it's doing
&lt;br&gt;precisely this? The temporary allocation makes me suspicious, though:
&lt;br&gt;&lt;br&gt;toom32_mul_itch returns 4*n + 2. toom32_mul does this,
&lt;br&gt;&lt;br&gt;&amp;nbsp; #define scratch_out	scratch + 4 * n + 2
&lt;br&gt;&amp;nbsp; [...]
&lt;br&gt;&amp;nbsp; TOOM22_MUL_N_REC (vm1, asm1, bsm1, n, scratch_out);
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;The recursive call is to toom22_mul, which needs ~ 2n limbs of scratch
&lt;br&gt;space, according to toom22_mul_itch, and this area is beyond the
&lt;br&gt;scratch area that toom32_mul asks for.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;/Niels
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23969997&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23969997.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23961960</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T06:08:15Z</published>
	<updated>2009-06-10T06:08:15Z</updated>
	<author>
		<name>bodrato</name>
	</author>
	<content type="html">Ciao,
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; Unfortunately, I have to underline it again... this strategy only works
&lt;br&gt;&amp;gt; &amp;nbsp; for the Toom-and-a-half algorithms, I mean unbalanced only :-(
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, nothing stops us from over-sampling a balanced case in order to
&lt;br&gt;&amp;gt; invoke this new interpolation strategy...
&lt;br&gt;&lt;br&gt;Maybe... As soon as the Fool-Toom-Tool implement it, we will know if this
&lt;br&gt;is a good idea :-D
&lt;br&gt;&lt;br&gt;Marco
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://bodrato.it/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bodrato.it/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23961960&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23961960.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23962002</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T05:46:08Z</published>
	<updated>2009-06-10T05:46:08Z</updated>
	<author>
		<name>Alberto Zanoni</name>
	</author>
	<content type="html">Alle 14:08, mercoledì 10 giugno 2009, David Harvey ha scritto:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Jun 10, 2009, at 3:00 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23962002&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bodrato@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; There are a lot of tricks like this, the first one in Karatsuba
&lt;br&gt;&amp;gt; &amp;gt; (due to?)
&lt;br&gt;&amp;gt; &amp;gt; saving half an addition. There is one in Toom-3, saving half a sum
&lt;br&gt;&amp;gt; &amp;gt; again,
&lt;br&gt;&amp;gt; &amp;gt; and it is implemented in the current[1] interpolate_5pts, another in
&lt;br&gt;&amp;gt; &amp;gt; Toom-3.5, saving two half additions, implemented in interpolate_6pts.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Marco,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At some point I skimmed over your paper with Zanoni on the optimality
&lt;br&gt;&amp;gt; of Toom-Cook matrices; I recall your automated search did not take
&lt;br&gt;&amp;gt; into account these kind of tricks that merge the interpolation and
&lt;br&gt;&amp;gt; recomposition stages. Is this correct?
&lt;/div&gt;&lt;br&gt;Hi, I'm Alberto (Zanoni).
&lt;br&gt;&lt;br&gt;Yes, it is. The paper deals only with the interpolation stage. We didn't 
&lt;br&gt;consider its merging with evaluation and/or recomposition there.
&lt;br&gt;&lt;br&gt;&amp;gt; Have you tried this since 
&lt;br&gt;&amp;gt; writing the paper? It seems that it shouldn't be difficult in theory
&lt;br&gt;&amp;gt; to extend the search method, although I have no idea if it's
&lt;br&gt;&amp;gt; practical (the search spaces are very large...?).
&lt;br&gt;&lt;br&gt;Just to know, in our case the search space - for interpolation only - for 
&lt;br&gt;Toom-3.5 was analyzed in about one week of running time (while Toom-3 took 
&lt;br&gt;just some seconds). 
&lt;br&gt;&lt;br&gt;It seems difficult to use the same tool from the very beginning of 
&lt;br&gt;interpolation phase with higher Toom. In our paper, for higher Toom 
&lt;br&gt;some &amp;quot;manual&amp;quot; steps had to be done, in order to have a sufficient number of 
&lt;br&gt;zero entries in the matrix, so that the analysis could be done in reasonable 
&lt;br&gt;time.
&lt;br&gt;&lt;br&gt;This limitation was in practice the starting point to look for other 
&lt;br&gt;techniques searching for optimization or generalization somewhere else 
&lt;br&gt;(stages merging, use of the &amp;quot;divide by 2&amp;quot; technique, the &amp;quot;general&amp;quot; Toom using 
&lt;br&gt;powers of 2,...)
&lt;br&gt;&lt;br&gt;We didn't try to insert these techniques in our &amp;quot;old&amp;quot; automated search tool. 
&lt;br&gt;&lt;br&gt;Alberto
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23962002&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23962002.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23960913</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T05:08:54Z</published>
	<updated>2009-06-10T05:08:54Z</updated>
	<author>
		<name>David Harvey-6</name>
	</author>
	<content type="html">&lt;br&gt;On Jun 10, 2009, at 3:00 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23960913&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bodrato@...&lt;/a&gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; There are a lot of tricks like this, the first one in Karatsuba &amp;nbsp;
&lt;br&gt;&amp;gt; (due to?)
&lt;br&gt;&amp;gt; saving half an addition. There is one in Toom-3, saving half a sum &amp;nbsp;
&lt;br&gt;&amp;gt; again,
&lt;br&gt;&amp;gt; and it is implemented in the current[1] interpolate_5pts, another in
&lt;br&gt;&amp;gt; Toom-3.5, saving two half additions, implemented in interpolate_6pts.
&lt;br&gt;&lt;br&gt;Marco,
&lt;br&gt;&lt;br&gt;At some point I skimmed over your paper with Zanoni on the optimality &amp;nbsp;
&lt;br&gt;of Toom-Cook matrices; I recall your automated search did not take &amp;nbsp;
&lt;br&gt;into account these kind of tricks that merge the interpolation and &amp;nbsp;
&lt;br&gt;recomposition stages. Is this correct? Have you tried this since &amp;nbsp;
&lt;br&gt;writing the paper? It seems that it shouldn't be difficult in theory &amp;nbsp;
&lt;br&gt;to extend the search method, although I have no idea if it's &amp;nbsp;
&lt;br&gt;practical (the search spaces are very large...?).
&lt;br&gt;&lt;br&gt;david
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23960913&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23960913.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23960804</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T05:02:56Z</published>
	<updated>2009-06-10T05:02:56Z</updated>
	<author>
		<name>David Harvey-6</name>
	</author>
	<content type="html">&lt;br&gt;On Jun 10, 2009, at 3:00 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23960804&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bodrato@...&lt;/a&gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; An addsub/2 can be useful here, currently the effect of
&lt;br&gt;&amp;gt; (a,b) &amp;lt;- ( (a+b)/2, (a-b)/2 )
&lt;br&gt;&amp;gt; is given by the sequence:
&lt;br&gt;&amp;gt; a &amp;lt;- (a+b)/2
&lt;br&gt;&amp;gt; b &amp;lt;- &amp;nbsp;a-b
&lt;br&gt;&amp;gt; which implies one shift only.
&lt;br&gt;&lt;br&gt;Ah yes of course, this is already better than what I suggested.
&lt;br&gt;&lt;br&gt;david
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23960804&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23960804.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23959327</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T03:15:46Z</published>
	<updated>2009-06-10T03:15:46Z</updated>
	<author>
		<name>Torbjorn Granlund-6</name>
	</author>
	<content type="html">&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23959327&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bodrato@...&lt;/a&gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; Unfortunately, I have to underline it again... this strategy only works
&lt;br&gt;&amp;nbsp; for the Toom-and-a-half algorithms, I mean unbalanced only :-(
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;Well, nothing stops us from over-sampling a balanced case in order to
&lt;br&gt;invoke this new interpolation strategy...
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23959327&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23959327.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23957926</id>
	<title>Toom-Fool: a fool tool to generate Toom-Cook implementations for GMP</title>
	<published>2009-06-10T01:28:14Z</published>
	<updated>2009-06-10T01:28:14Z</updated>
	<author>
		<name>bodrato</name>
	</author>
	<content type="html">Ciao!
&lt;br&gt;&lt;br&gt;Since Toom is back again on the mailing-list, I must officially announce
&lt;br&gt;the fool-toom-tool (name suggested by a comment Torbjorn wrote, but
&lt;br&gt;remember to pronounce it something like ful-To-om-tul, with a loong &amp;quot;o&amp;quot; in
&lt;br&gt;Toom, not an &amp;quot;u&amp;quot;).
&lt;br&gt;&lt;br&gt;I wrote an awful, ugly script, with GP-Pari, to automatically write
&lt;br&gt;functions like mpn_toom_interpolate_15pts() or mpn_toom115_mul()... Now it
&lt;br&gt;is far from perfect, but it somehow works, and if you want you can try it.
&lt;br&gt;&lt;br&gt;The script can be found on my web-site
&lt;br&gt;&lt;a href=&quot;http://bodrato.it/toom-cook/Toom-Tool.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bodrato.it/toom-cook/Toom-Tool.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;How does it work?
&lt;br&gt;You need the &amp;quot;gp&amp;quot; interpreter installed, then try:
&lt;br&gt;&lt;br&gt;echo &amp;quot;generateToomCode(6)&amp;quot;|gp -quiet ToomGenMPN.gp|head --lines=-1&amp;gt;tc6.c
&lt;br&gt;&lt;br&gt;You will find in tc6.c a working Toom-6 implementation with the functions
&lt;br&gt;mpn_toom_interpolate_11pts, mpn_toom84_mul, mpn_toom75_mul, mpn_toom66_mul.
&lt;br&gt;&lt;br&gt;You can test it with
&lt;br&gt;gcc -DWANT_ASSERT -DCHECK -O3 -lgmp tc6.c -o tc6test
&lt;br&gt;./tc6test 59 58
&lt;br&gt;It will test the code 'till it find an error...
&lt;br&gt;&lt;br&gt;You can somehow tune the output: try
&lt;br&gt;&lt;br&gt;echo &amp;quot;GMP_BITS_PER_LIMB=32;BE_VERBOSE=1;DO_ASSERT=1;generateToomCode(4.5)&amp;quot;
&lt;br&gt;&lt;br&gt;This will write the Toom-4.5 (mpn_toom_interpolate_8pts) code, for a
&lt;br&gt;32-bits environment, with a lot more ASSERT() and comments.
&lt;br&gt;&lt;br&gt;Limitations:
&lt;br&gt;- _interpolate_Npts should be correct from Toom-3.5 (6pts) and passes
&lt;br&gt;(some) tests up to Toom-8 (15pts)
&lt;br&gt;- evaluation for operands with less than four parts are not generated
&lt;br&gt;(e.g. no _toom63 nor _toom72, but only _toom54 for Toom-4.5)
&lt;br&gt;- border/corner-cases are not considered, this means that &amp;quot;n&amp;quot; must be
&lt;br&gt;large enough, and the most significant parts (the not necessarily full
&lt;br&gt;ones) too.
&lt;br&gt;- the set of points used is not the best one... but it allows an easy
&lt;br&gt;sequence generation
&lt;br&gt;- generated code depends on GMP_BITS_PER_LIMB...
&lt;br&gt;- no mixing between interpolation and recomposition parts... yet! A lot
&lt;br&gt;can be done for the Toom-and-a-half (as explained), but we can gain a lot
&lt;br&gt;also on the last part of the balanced Toom, starting from the divisions
&lt;br&gt;(included!).
&lt;br&gt;&lt;br&gt;Bugs:
&lt;br&gt;- too many bugs to be reported :-)
&lt;br&gt;&lt;br&gt;If you will play with this code, please report any observation to me or to
&lt;br&gt;the list.
&lt;br&gt;&lt;br&gt;Let me know,
&lt;br&gt;Marco
&lt;br&gt;&lt;br&gt;PS: next step, as soon as I have some free time, will be some speed test
&lt;br&gt;to have some more complete graphs than the ones I did before:
&lt;br&gt;&lt;a href=&quot;http://bodrato.it/software/toom.html#TCcomp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bodrato.it/software/toom.html#TCcomp&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://bodrato.it/software/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bodrato.it/software/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23957926&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-Fool%3A-a-fool-tool-to-generate-Toom-Cook-implementations-for-GMP-tp23957926p23957926.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23956840</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-10T00:00:08Z</published>
	<updated>2009-06-10T00:00:08Z</updated>
	<author>
		<name>bodrato</name>
	</author>
	<content type="html">Ciao!
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; The simplest example, 4 points,
&lt;br&gt;&lt;br&gt;Unfortunately the best examples of symmetry came from the
&lt;br&gt;&amp;quot;Toom-and-a-half&amp;quot;, Toom-2.5, Toom-3.5 and so on (as I called them with
&lt;br&gt;Zanoni). This means unbalanced only methods. The balanced always have an
&lt;br&gt;odd number of points...
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 1 -1 &amp;nbsp;1 -1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; After addsub/2, we have
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;1 &amp;nbsp;0
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;/div&gt;&lt;br&gt;An addsub/2 can be useful here, currently the effect of
&lt;br&gt;(a,b) &amp;lt;- ( (a+b)/2, (a-b)/2 )
&lt;br&gt;is given by the sequence:
&lt;br&gt;a &amp;lt;- (a+b)/2
&lt;br&gt;b &amp;lt;- &amp;nbsp;a-b
&lt;br&gt;which implies one shift only.
&lt;br&gt;&lt;br&gt;In other sequences I wrote, you can find something like:
&lt;br&gt;a &amp;lt;- a+b
&lt;br&gt;b &amp;lt;- 2*b
&lt;br&gt;b &amp;lt;- a-b
&lt;br&gt;this should be replaced by addsub (avoiding the shift)
&lt;br&gt;&lt;br&gt;&amp;gt; Hmmm... sorry to interrupt your train of thought, this gives me an
&lt;br&gt;&amp;gt; idea. Maybe you can delay some of the division by two until after
&lt;br&gt;&amp;gt; part of the recomposition?
&lt;br&gt;[...]
&lt;br&gt;&amp;gt; I haven't checked the operation count, but it seems plausible that
&lt;br&gt;&amp;gt; something like this could save half a shift.
&lt;br&gt;&lt;br&gt;There are a lot of tricks like this, the first one in Karatsuba (due to?)
&lt;br&gt;saving half an addition. There is one in Toom-3, saving half a sum again,
&lt;br&gt;and it is implemented in the current[1] interpolate_5pts, another in
&lt;br&gt;Toom-3.5, saving two half additions, implemented in interpolate_6pts.
&lt;br&gt;But in this particular case, I can not see it, because with the currently
&lt;br&gt;implemented sequence we compute one shift only, not two...
&lt;br&gt;&lt;br&gt;Anyway the general idea is good, mix the recomposition phase and the
&lt;br&gt;interpolation, to save some half-operations. I'll give a real example I
&lt;br&gt;developed some times ago (but I did not have the time to really
&lt;br&gt;implement/test it).
&lt;br&gt;&lt;br&gt;Again, the trick works perfectly for any Toom-and-a-half, the example is
&lt;br&gt;Toom-4.5, i.e. interpolation_8pts. I start from the matrix Niels wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; For the next example, say we use eight points, 0, oo, 1, -1, 2, -2,
&lt;br&gt;&amp;gt;&amp;gt; 1/2, -1/2. The full matrix is
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp; 1 &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp;-1 &amp;nbsp;1 -1 &amp;nbsp; 1 &amp;nbsp;-1 &amp;nbsp;1 &amp;nbsp; -1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp;4 &amp;nbsp;8 &amp;nbsp;16 &amp;nbsp;32 64 &amp;nbsp;128
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp;-2 &amp;nbsp;4 -8 &amp;nbsp;16 -32 64 -128
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;128 &amp;nbsp;64 32 &amp;nbsp;16 &amp;nbsp;8 &amp;nbsp; 4 &amp;nbsp;2 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;128 -64 32 -16 &amp;nbsp;8 &amp;nbsp;-4 &amp;nbsp;2 &amp;nbsp; -1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;1
&lt;/div&gt;&lt;br&gt;Niels proposed the butterfly operations, I suggest something slightly
&lt;br&gt;different, removing also the values on the first and last columns, and
&lt;br&gt;with slightly different shifts, the result I need is:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 4 &amp;nbsp;0 &amp;nbsp;16 &amp;nbsp;0 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;4 &amp;nbsp; 0 16 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp;16 &amp;nbsp;0 &amp;nbsp; 4 &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 0 16 &amp;nbsp; 0 &amp;nbsp;4 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 1
&lt;br&gt;&lt;br&gt;As you can see, we have a lot of [x,0;0,x] blocks, this does not only mean
&lt;br&gt;we have two matrices that are identical and can be interpolated with one
&lt;br&gt;single function... we can do something better!
&lt;br&gt;We can &amp;quot;recompose&amp;quot; couples of lines! We have:
&lt;br&gt;&lt;br&gt;|==== r0 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r1 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;||==== r2 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r3 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;||==== r4 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r5 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;||==== r6 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|==== r7 =====|
&lt;br&gt;and we recompose some pairs to get
&lt;br&gt;|==== r0 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r1 and r2 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r3 and r4 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ||==== r5 and r6 =====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|==== r7 =====|
&lt;br&gt;&lt;br&gt;then we can interpolate the internal matrix
&lt;br&gt;&lt;br&gt;&amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;nbsp;1 &amp;nbsp;4 16
&lt;br&gt;16 &amp;nbsp;4 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;only once, operating on slices that are 3/2 times longer than the original
&lt;br&gt;ones, thus saving one half on _every_ operation after this step:
&lt;br&gt;additions, shifts, divisions... everything.
&lt;br&gt;&lt;br&gt;Moreover, interlacing also the evaluation steps, we can also save on
&lt;br&gt;memory footprint: here is the strategy.
&lt;br&gt;&lt;br&gt;- split in slices of &amp;quot;n&amp;quot; limbs
&lt;br&gt;- evaluate in {0, oo} (2n limbs each)
&lt;br&gt;- for each &amp;quot;a&amp;quot;
&lt;br&gt;&amp;nbsp; - evaluate in {a, -a} (2n limbs + carry, each)
&lt;br&gt;&amp;nbsp; - butterfly and remove first/last column
&lt;br&gt;&amp;nbsp; - partially recompose (only 3n limbs + carry, n limbs [and a carry] freed)
&lt;br&gt;- interpolate the inner matrix
&lt;br&gt;&lt;br&gt;For example, Toom-4.5 should need for the interpolation phase: 2 values of
&lt;br&gt;2n limbs and 3 values of 3n limbs, a total of 13n limbs; instead of
&lt;br&gt;8*2n=16n limbs...
&lt;br&gt;&lt;br&gt;It should not be hard to write a single generic function doing
&lt;br&gt;butterfly/remove/recompose for any {a} (if a is a power of 2).
&lt;br&gt;&lt;br&gt;Unfortunately, I have to underline it again... this strategy only works
&lt;br&gt;for the Toom-and-a-half algorithms, I mean unbalanced only :-(
&lt;br&gt;&lt;br&gt;Have a nice day :-D
&lt;br&gt;Marco
&lt;br&gt;&lt;br&gt;[1]
&lt;br&gt;&lt;a href=&quot;http://gmplib.org:8000/gmp/file/79e81acfb9b3/mpn/generic/toom_interpolate_5pts.c#l134&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org:8000/gmp/file/79e81acfb9b3/mpn/generic/toom_interpolate_5pts.c#l134&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://bodrato.it/toom-cook/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bodrato.it/toom-cook/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23956840&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23956840.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23951509</id>
	<title>Re: Toom symmetries</title>
	<published>2009-06-09T14:19:17Z</published>
	<updated>2009-06-09T14:19:17Z</updated>
	<author>
		<name>David Harvey-6</name>
	</author>
	<content type="html">&lt;br&gt;On Jun 9, 2009, at 4:11 PM, Niels Möller wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The simplest example, 4 points,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; w0 = f(0)
&lt;br&gt;&amp;gt; &amp;nbsp; w1 = f(1)
&lt;br&gt;&amp;gt; &amp;nbsp; w2 = f(-1)
&lt;br&gt;&amp;gt; &amp;nbsp; w3 = f(oo)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; corresponds to the matrix
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;gt; &amp;nbsp; 1 -1 &amp;nbsp;1 -1
&lt;br&gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; After addsub/2, we have
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&amp;gt; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;1 &amp;nbsp;0
&lt;br&gt;&amp;gt; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;/div&gt;&lt;br&gt;Hmmm... sorry to interrupt your train of thought, this gives me an &amp;nbsp;
&lt;br&gt;idea. Maybe you can delay some of the division by two until after &amp;nbsp;
&lt;br&gt;part of the recomposition?
&lt;br&gt;&lt;br&gt;i.e.: instead of addsub/2, just do addsub, then you have
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp;2 &amp;nbsp;0 &amp;nbsp;2
&lt;br&gt;&amp;nbsp; &amp;nbsp;2 &amp;nbsp;0 &amp;nbsp;2 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;i.e. if the output poly coefficients are c0, c1, c2, c3, you have
&lt;br&gt;&lt;br&gt;c0
&lt;br&gt;2c1 + 2c3
&lt;br&gt;2c0 + 2c2
&lt;br&gt;c3
&lt;br&gt;&lt;br&gt;Now start doing recomposition:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |=== 2c1 + 2c3 ===|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|=== 2c0 + 2c2 ===|
&lt;br&gt;&lt;br&gt;Then divide by 2:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |==== c1 + c3 ====|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|==== c0 + c2 ====|
&lt;br&gt;&lt;br&gt;Then continue as usual, i.e. subtract c3, c0 from right places, add &amp;nbsp;
&lt;br&gt;them at beginning and end (and also use the hi(c0) - lo(c3) &amp;nbsp;
&lt;br&gt;redundancy trick...), to get
&lt;br&gt;&lt;br&gt;|====== c0 =======|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |====== c1 =======|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|====== c2 =======|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |====== c3 =======|
&lt;br&gt;&lt;br&gt;I haven't checked the operation count, but it seems plausible that &amp;nbsp;
&lt;br&gt;something like this could save half a shift.
&lt;br&gt;&lt;br&gt;&amp;gt; In total 12 subtractions, 2 left shifts, 5 right shifts and 2
&lt;br&gt;&amp;gt; divisions. This actually not so bad compared to the current code,
&lt;br&gt;&amp;gt; there's just one more left shift (and then evaluation obviously also
&lt;br&gt;&amp;gt; needs more shifts). Using the four points corresponding to a = sqrt(B)
&lt;br&gt;&amp;gt; = 2^{GMP_NUMB_BITS /2} might also be worth investigating, in this case
&lt;br&gt;&amp;gt; the same reduction procedure will involved only division by (B-1).
&lt;br&gt;&lt;br&gt;I did try the 2^(GMP_NUMB_BITS/2) idea at some stage --- one &amp;nbsp;
&lt;br&gt;difficulty is that the pointwise multiplications get slightly bigger.
&lt;br&gt;&lt;br&gt;david
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23951509&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23951509.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23950448</id>
	<title>Toom symmetries</title>
	<published>2009-06-09T13:11:51Z</published>
	<updated>2009-06-09T13:11:51Z</updated>
	<author>
		<name>nisse-4</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I've been looking into switching points for interpolate_7pts, from (0,
&lt;br&gt;oo, 1, -1, 2, 1/2, -1/2) to (0, oo, +1, -1, 2, -2, 1/2). Evaluation
&lt;br&gt;and interpolation is equivalent for most practical purposes, so the
&lt;br&gt;reason I tried this was very mundane: Then I can reuse the same
&lt;br&gt;helper function for evaluation in 2 and -2 for both toom44 and toom43
&lt;br&gt;(the latter uses interpolation with the points 0, oo, 1, -1, 2, -2).
&lt;br&gt;&lt;br&gt;This got me to look a little closer to the symmetries of the choosen
&lt;br&gt;points.
&lt;br&gt;&lt;br&gt;The most symmetry we can have is if the set of points is invariant
&lt;br&gt;under both negation and inversion. Then the point set is a union of
&lt;br&gt;sets of the types
&lt;br&gt;&lt;br&gt;&amp;nbsp; {0, oo} &amp;nbsp; &amp;nbsp; &amp;nbsp; Each point invariant under negation, and they are swapped
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; by inversion.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; {1, -1} &amp;nbsp; &amp;nbsp; &amp;nbsp; Each point invariant under inversion, and they are
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; swapped by negation.
&lt;br&gt;&lt;br&gt;&amp;nbsp; {a, -a, 1/a, -1/a} Swapped pairwise by the two operations.
&lt;br&gt;&lt;br&gt;For a point pair (a, -a), a reasonable interpolation strategy (which seems to
&lt;br&gt;be part of at least some of the optimal sequences) is to split in even
&lt;br&gt;and odd parts, by a butterfly-like operation
&lt;br&gt;&lt;br&gt;&amp;nbsp; (w_i, w_j) &amp;lt;- ( (w_i + w_j)/2, (w_i - w_j)/(2a) )
&lt;br&gt;&lt;br&gt;Then one question is how to best do this, with current operations that
&lt;br&gt;would be either one addsub followed by two shifts, or one rshadd and
&lt;br&gt;and rshsub. A combined operation might be useful. Currently, I don't
&lt;br&gt;think any interpolation code uses addsub.
&lt;br&gt;&lt;br&gt;Furthermore, if we also have symmetry under inversion for all points,
&lt;br&gt;then the resulting matrices for even and odd parts are the same!
&lt;br&gt;&lt;br&gt;The simplest example, 4 points,
&lt;br&gt;&lt;br&gt;&amp;nbsp; w0 = f(0)
&lt;br&gt;&amp;nbsp; w1 = f(1)
&lt;br&gt;&amp;nbsp; w2 = f(-1)
&lt;br&gt;&amp;nbsp; w3 = f(oo)
&lt;br&gt;&lt;br&gt;corresponds to the matrix
&lt;br&gt;&lt;br&gt;&amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;nbsp; 1 -1 &amp;nbsp;1 -1
&lt;br&gt;&amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;After addsub/2, we have
&lt;br&gt;&lt;br&gt;&amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp;1 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;We get (1, 0; 1,1) for the even coefficients and (1,1; 0,1) for the
&lt;br&gt;even coefficients, which only differ by permutation.
&lt;br&gt;&lt;br&gt;For the next example, say we use eight points, 0, oo, 1, -1, 2, -2,
&lt;br&gt;1/2, -1/2. The full matrix is
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp; 1 &amp;nbsp; 1 &amp;nbsp;1 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp;-1 &amp;nbsp;1 -1 &amp;nbsp; 1 &amp;nbsp;-1 &amp;nbsp;1 &amp;nbsp; -1
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp;4 &amp;nbsp;8 &amp;nbsp;16 &amp;nbsp;32 64 &amp;nbsp;128
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp;-2 &amp;nbsp;4 -8 &amp;nbsp;16 -32 64 -128
&lt;br&gt;&amp;nbsp; &amp;nbsp;128 &amp;nbsp;64 32 &amp;nbsp;16 &amp;nbsp;8 &amp;nbsp; 4 &amp;nbsp;2 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;128 -64 32 -16 &amp;nbsp;8 &amp;nbsp;-4 &amp;nbsp;2 &amp;nbsp; -1
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&lt;br&gt;After butterfly operations on the ± pairs, we get
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; 0 &amp;nbsp;1 &amp;nbsp; &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;0 &amp;nbsp; 4 &amp;nbsp;0 &amp;nbsp;16 &amp;nbsp;0 &amp;nbsp; 64
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;4 &amp;nbsp; 0 &amp;nbsp;16 &amp;nbsp;0 64 &amp;nbsp; &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;64 &amp;nbsp;0 &amp;nbsp;16 &amp;nbsp;0 &amp;nbsp; 4 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&amp;nbsp; 64 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;16 &amp;nbsp;0 &amp;nbsp;4 &amp;nbsp; 0 &amp;nbsp; 1 &amp;nbsp; 0
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; 0 &amp;nbsp;0 &amp;nbsp; &amp;nbsp;1
&lt;br&gt;&lt;br&gt;We get an even part
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;4 16 64
&lt;br&gt;&amp;nbsp; 64 16 &amp;nbsp;4 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;and an odd part
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1 &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;4 16 64
&lt;br&gt;&amp;nbsp; 64 16 &amp;nbsp;4 &amp;nbsp;1
&lt;br&gt;&amp;nbsp; &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;0 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;which again are equivalent. We can use the same row operations for both
&lt;br&gt;matrices, which means that 8 point interpolation can be implemented 
&lt;br&gt;compactly using butterfly operations and reductions of the above
&lt;br&gt;4x4 matrix as building blocks.
&lt;br&gt;&lt;br&gt;Then the difficult question is choice of points. Next example with
&lt;br&gt;full symmetry like above would by 12 points, where we might dd the
&lt;br&gt;four points corresponding to a = 4, or a = 2^(GMP_NUMB_BITS) / 2.
&lt;br&gt;&lt;br&gt;Also for 6 points, we will get more symmetry (and hence compactness of
&lt;br&gt;interpolation) if we use 1/2, -1/2 rather than +1 and -1. This is
&lt;br&gt;likely slower than the current strategy. Anyway, after butterflies, we
&lt;br&gt;get the same matrix
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;1 0 &amp;nbsp;0
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 4 16
&lt;br&gt;&amp;nbsp; 16 4 &amp;nbsp;1
&lt;br&gt;&lt;br&gt;for odd and even parts, which can be reduced by
&lt;br&gt;&lt;br&gt;&amp;nbsp; w1 = w1 - w0
&lt;br&gt;&amp;nbsp; w2 = w2 - 16*w0
&lt;br&gt;&amp;nbsp; w1 = (w1 - w2)/15
&lt;br&gt;&amp;nbsp; w2 = (w2 - w1)/4
&lt;br&gt;&lt;br&gt;(I think this sequence is close to optimal). The butterfly operations
&lt;br&gt;(with no special addsub primitive) would be
&lt;br&gt;&lt;br&gt;&amp;nbsp; w2 = (w1 - w2)/2
&lt;br&gt;&amp;nbsp; w1 = w1 - w2
&lt;br&gt;&amp;nbsp; w4 = (w3 - w4)/2
&lt;br&gt;&amp;nbsp; w3 = (w3 - w4)/2
&lt;br&gt;&lt;br&gt;In total 12 subtractions, 2 left shifts, 5 right shifts and 2
&lt;br&gt;divisions. This actually not so bad compared to the current code,
&lt;br&gt;there's just one more left shift (and then evaluation obviously also
&lt;br&gt;needs more shifts). Using the four points corresponding to a = sqrt(B)
&lt;br&gt;= 2^{GMP_NUMB_BITS /2} might also be worth investigating, in this case
&lt;br&gt;the same reduction procedure will involved only division by (B-1).
&lt;br&gt;&lt;br&gt;/Niels
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23950448&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Toom-symmetries-tp23950448p23950448.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23842117</id>
	<title>toom44_mul allocation</title>
	<published>2009-06-02T15:18:54Z</published>
	<updated>2009-06-02T15:18:54Z</updated>
	<author>
		<name>nisse-4</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I've reorganized tomm44_mul to avoid using TMP_ALLOC. The storage need
&lt;br&gt;for multiplying two n-limb numbers is now 8 n / 3 + log-term.
&lt;br&gt;&lt;br&gt;The current mpn_toom44_mul_itch says 12 ceil(n/4) + GMP_NUMB_BITS. I
&lt;br&gt;think this should be sufficient and somewhat conservative, but I
&lt;br&gt;haven't analyzed the sub-linear term in detail. (For comparison, both
&lt;br&gt;toom22 and toom33 need 2 n + log term).
&lt;br&gt;&lt;br&gt;The use of parts of the product area for temporaries may be somewhat
&lt;br&gt;irregular, but I think it's a pretty good strategy to evaluate at two
&lt;br&gt;points +x and -x at a time, and store these four (n+1)-limb numbers in
&lt;br&gt;the product area. Then the scratch space is needed to store 4 of the
&lt;br&gt;pointwise products (the other three are also stored in the product
&lt;br&gt;area in due time), and for the recursive multiplications.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;/Niels
&lt;br&gt;&lt;br&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23842117&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-devel&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Dev-f1662.html&quot; embed=&quot;fixTarget[1662]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/toom44_mul-allocation-tp23842117p23842117.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23831629</id>
	<title>Re: Documentation of __GMP_CC and __GMP_CFLAGS ?</title>
	<published>2009-06-02T05:28:33Z</published>
	<updated>2009-06-02T05:28:33Z</updated>
	<author>
		<name>Sisyphus</name>
	</author>
	<content type="html">&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Vincent Lefevre&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831629&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vincent@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;gt; IMHO, you shouldn't have a build failure if they are not present.
&lt;br&gt;&amp;gt; In such a case, the Perl value should just be undef.
&lt;br&gt;&lt;br&gt;Yes - you're right. (Knew I was missing something ...)
&lt;br&gt;&lt;br&gt;I'll modify it so that is precisely what happens.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Rob
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831629&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Documentation-of-__GMP_CC-and-__GMP_CFLAGS---tp23831335p23831629.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23831672</id>
	<title>Re: Documentation of __GMP_CC and __GMP_CFLAGS ?</title>
	<published>2009-06-02T05:24:18Z</published>
	<updated>2009-06-02T05:24:18Z</updated>
	<author>
		<name>Sisyphus</name>
	</author>
	<content type="html">&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Torbjorn Granlund&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831672&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; Are there any plans to document __GMP_CC and __GMP_CFLAGS in the future 
&lt;br&gt;&amp;gt; &amp;gt; ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It seems like a good idea to document them.
&lt;br&gt;&lt;br&gt;Excellent !!
&lt;br&gt;&lt;br&gt;Thanks, Torbjorn.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Rob 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831672&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Documentation-of-__GMP_CC-and-__GMP_CFLAGS---tp23831335p23831672.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23831491</id>
	<title>Re: Documentation of __GMP_CC and __GMP_CFLAGS ?</title>
	<published>2009-06-02T05:18:35Z</published>
	<updated>2009-06-02T05:18:35Z</updated>
	<author>
		<name>Torbjorn Granlund-6</name>
	</author>
	<content type="html">&amp;quot;Sisyphus&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831491&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sisyphus1@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; Are there any plans to document __GMP_CC and __GMP_CFLAGS in the future ?
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;It seems like a good idea to document them.
&lt;br&gt;&lt;br&gt;(I think it was a mere oversight not to document them when they were
&lt;br&gt;introduced.)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831491&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Documentation-of-__GMP_CC-and-__GMP_CFLAGS---tp23831335p23831491.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23831470</id>
	<title>Re: Documentation of __GMP_CC and __GMP_CFLAGS ?</title>
	<published>2009-06-02T05:16:42Z</published>
	<updated>2009-06-02T05:16:42Z</updated>
	<author>
		<name>Vincent Lefevre</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;On 2009-06-02 22:01:55 +1000, Sisyphus wrote:
&lt;br&gt;&amp;gt; Are there any plans to document __GMP_CC and __GMP_CFLAGS in the future ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've made them accessible from (the perl module) Math::GMPz, because of
&lt;br&gt;&amp;gt; their potentially useful diagnostic capabilities ... but then I've also
&lt;br&gt;&amp;gt; received a complaint about that because they're not documented
&lt;br&gt;&amp;gt; ( &lt;a href=&quot;https://rt.cpan.org/Ticket/Display.html?id=46604&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://rt.cpan.org/Ticket/Display.html?id=46604&lt;/a&gt;&amp;nbsp;).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Knowing what (if anything) is planned in this regard might have a bearing
&lt;br&gt;&amp;gt; onhow I deal with that complaint.
&lt;br&gt;&lt;br&gt;IMHO, you shouldn't have a build failure if they are not present.
&lt;br&gt;In such a case, the Perl value should just be undef.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Vincent Lefèvre &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831470&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vincent@...&lt;/a&gt;&amp;gt; - Web: &amp;lt;&lt;a href=&quot;http://www.vinc17.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.vinc17.org/&lt;/a&gt;&amp;gt;
&lt;br&gt;100% accessible validated (X)HTML - Blog: &amp;lt;&lt;a href=&quot;http://www.vinc17.org/blog/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.vinc17.org/blog/&lt;/a&gt;&amp;gt;
&lt;br&gt;Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831470&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Documentation-of-__GMP_CC-and-__GMP_CFLAGS---tp23831335p23831470.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23831335</id>
	<title>Documentation of __GMP_CC and __GMP_CFLAGS ?</title>
	<published>2009-06-02T05:01:55Z</published>
	<updated>2009-06-02T05:01:55Z</updated>
	<author>
		<name>Sisyphus</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Are there any plans to document __GMP_CC and __GMP_CFLAGS in the future ?
&lt;br&gt;&lt;br&gt;I've made them accessible from (the perl module) Math::GMPz, because of 
&lt;br&gt;their potentially useful diagnostic capabilities ... but then I've also 
&lt;br&gt;received a complaint about that because they're not documented
&lt;br&gt;( &lt;a href=&quot;https://rt.cpan.org/Ticket/Display.html?id=46604&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://rt.cpan.org/Ticket/Display.html?id=46604&lt;/a&gt;&amp;nbsp;).
&lt;br&gt;&lt;br&gt;Knowing what (if anything) is planned in this regard might have a bearing on 
&lt;br&gt;how I deal with that complaint.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Rob 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23831335&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Documentation-of-__GMP_CC-and-__GMP_CFLAGS---tp23831335p23831335.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23786527</id>
	<title>GMP problem</title>
	<published>2009-05-29T11:41:30Z</published>
	<updated>2009-05-29T11:41:30Z</updated>
	<author>
		<name>abansal5</name>
	</author>
	<content type="html">Hello , 
&lt;br&gt;&lt;br&gt;This is Ankur . I was trying to install gmp in unix today , which i think i installed it properly but i do not know how to 
&lt;br&gt;&lt;br&gt;COMPILE a program like :
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using namespace std;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int main (void) 
&lt;br&gt;&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mpz_class a, b, c;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a = 1234;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b = &amp;quot;-5678&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c = a+b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;sum is &amp;quot; &amp;lt;&amp;lt; c &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;absolute value is &amp;quot; &amp;lt;&amp;lt; abs(c) &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cin &amp;gt;&amp;gt; a;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;you must include iostream and gmpxx.h files for the above program	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;Say I am in dirctory like ~/gmp/gmp-4.2.1 , and three directories (include ,info , lib) are in ~/HPC 
&lt;br&gt;&lt;br&gt;Can you tell me the command how to compile this kind of program 
&lt;br&gt;&lt;br&gt;Thanks a lot 
&lt;br&gt;&lt;br&gt;Ankur 	
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23786527&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GMP-problem-tp23786527p23786527.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23496625</id>
	<title>'make check' error</title>
	<published>2009-05-11T18:29:41Z</published>
	<updated>2009-05-11T18:29:41Z</updated>
	<author>
		<name>Tomohiko Ouchi</name>
	</author>
	<content type="html">Hello!
&lt;br&gt;I tried to compile gmp-4.3.0 on my Linux system.
&lt;br&gt;When I run 'make check', unfortunatly got error.
&lt;br&gt;I enclose check log.
&lt;br&gt;&lt;br&gt;Our Linux system is below. (result of uname -a command)
&lt;br&gt;Linux mlsl103 2.4.21-54.ELsmp #1 SMP Wed Feb 20 15:43:56 EST 2008 x86_64
&lt;br&gt;x86_64 x86_64 GNU/Linux
&lt;br&gt;&lt;br&gt;And gcc version is below (result of gcc -v command)
&lt;br&gt;Reading specs from /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/specs
&lt;br&gt;Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
&lt;br&gt;--infodir=/usr/share/info
&lt;br&gt;--enable-shared --enable-threads=posix --disable-checking
&lt;br&gt;--with-system-zlib --enable-__cxa_atexit
&lt;br&gt;--host=x86_64-redhat-linux
&lt;br&gt;Thread model: posix
&lt;br&gt;gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-53)
&lt;br&gt;&lt;br&gt;Thank you for your attention.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;make &amp;nbsp;check-recursive
&lt;br&gt;make[1]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0'
&lt;br&gt;Making check in tests
&lt;br&gt;make[2]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;Making check in .
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;make &amp;nbsp;libtests.la t-bswap t-constants t-count_zeros t-gmpmax t-hightomask t-modlinv t-popc t-parity t-sub
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;make[4]: `libtests.la' is up to date.
&lt;br&gt;make[4]: `t-bswap' is up to date.
&lt;br&gt;make[4]: `t-constants' is up to date.
&lt;br&gt;make[4]: `t-count_zeros' is up to date.
&lt;br&gt;make[4]: `t-gmpmax' is up to date.
&lt;br&gt;make[4]: `t-hightomask' is up to date.
&lt;br&gt;make[4]: `t-modlinv' is up to date.
&lt;br&gt;make[4]: `t-popc' is up to date.
&lt;br&gt;make[4]: `t-parity' is up to date.
&lt;br&gt;make[4]: `t-sub' is up to date.
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;make &amp;nbsp;check-TESTS
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;PASS: t-bswap
&lt;br&gt;PASS: t-constants
&lt;br&gt;PASS: t-count_zeros
&lt;br&gt;PASS: t-gmpmax
&lt;br&gt;PASS: t-hightomask
&lt;br&gt;PASS: t-modlinv
&lt;br&gt;PASS: t-popc
&lt;br&gt;PASS: t-parity
&lt;br&gt;PASS: t-sub
&lt;br&gt;==================
&lt;br&gt;All 9 tests passed
&lt;br&gt;==================
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;Making check in devel
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/devel'
&lt;br&gt;make[3]: Nothing to be done for `check'.
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/devel'
&lt;br&gt;Making check in mpn
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;make &amp;nbsp;t-asmtype t-aors_1 t-divrem_1 t-fat t-get_d t-instrument t-iord_u t-mp_bases t-perfsqr t-scan t-hgcd t-matrix22
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;make[4]: `t-asmtype' is up to date.
&lt;br&gt;make[4]: `t-aors_1' is up to date.
&lt;br&gt;make[4]: `t-divrem_1' is up to date.
&lt;br&gt;make[4]: `t-fat' is up to date.
&lt;br&gt;make[4]: `t-get_d' is up to date.
&lt;br&gt;make[4]: `t-instrument' is up to date.
&lt;br&gt;make[4]: `t-iord_u' is up to date.
&lt;br&gt;make[4]: `t-mp_bases' is up to date.
&lt;br&gt;make[4]: `t-perfsqr' is up to date.
&lt;br&gt;make[4]: `t-scan' is up to date.
&lt;br&gt;make[4]: `t-hgcd' is up to date.
&lt;br&gt;make[4]: `t-matrix22' is up to date.
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;make &amp;nbsp;check-TESTS
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;PASS: t-asmtype
&lt;br&gt;PASS: t-aors_1
&lt;br&gt;PASS: t-divrem_1
&lt;br&gt;PASS: t-fat
&lt;br&gt;PASS: t-get_d
&lt;br&gt;PASS: t-instrument
&lt;br&gt;PASS: t-iord_u
&lt;br&gt;PASS: t-mp_bases
&lt;br&gt;PASS: t-perfsqr
&lt;br&gt;PASS: t-scan
&lt;br&gt;PASS: t-hgcd
&lt;br&gt;PASS: t-matrix22
&lt;br&gt;===================
&lt;br&gt;All 12 tests passed
&lt;br&gt;===================
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpn'
&lt;br&gt;Making check in mpz
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;make &amp;nbsp;t-addsub t-cmp t-mul t-mul_i t-tdiv t-tdiv_ui t-fdiv t-fdiv_ui t-cdiv_ui t-gcd t-gcd_ui t-lcm dive dive_ui t-sqrtrem convert io t-inp_str logic bit t-powm t-powm_ui t-pow t-div_2exp reuse t-root t-perfsqr t-perfpow t-jac t-bin t-get_d t-get_d_2exp t-get_si t-set_d t-set_si t-fac_ui t-fib_ui t-lucnum_ui t-scan t-fits t-divis t-divis_2exp t-cong t-cong_2exp t-sizeinbase t-set_str t-aorsmul t-cmp_d t-cmp_si t-hamdist t-oddeven t-popcount t-set_f t-io_raw t-import t-export t-pprime_p t-nextprime
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;make[4]: `t-addsub' is up to date.
&lt;br&gt;make[4]: `t-cmp' is up to date.
&lt;br&gt;make[4]: `t-mul' is up to date.
&lt;br&gt;make[4]: `t-mul_i' is up to date.
&lt;br&gt;make[4]: `t-tdiv' is up to date.
&lt;br&gt;make[4]: `t-tdiv_ui' is up to date.
&lt;br&gt;make[4]: `t-fdiv' is up to date.
&lt;br&gt;make[4]: `t-fdiv_ui' is up to date.
&lt;br&gt;make[4]: `t-cdiv_ui' is up to date.
&lt;br&gt;make[4]: `t-gcd' is up to date.
&lt;br&gt;make[4]: `t-gcd_ui' is up to date.
&lt;br&gt;make[4]: `t-lcm' is up to date.
&lt;br&gt;make[4]: `dive' is up to date.
&lt;br&gt;make[4]: `dive_ui' is up to date.
&lt;br&gt;make[4]: `t-sqrtrem' is up to date.
&lt;br&gt;make[4]: `convert' is up to date.
&lt;br&gt;make[4]: `io' is up to date.
&lt;br&gt;make[4]: `t-inp_str' is up to date.
&lt;br&gt;make[4]: `logic' is up to date.
&lt;br&gt;make[4]: `bit' is up to date.
&lt;br&gt;make[4]: `t-powm' is up to date.
&lt;br&gt;make[4]: `t-powm_ui' is up to date.
&lt;br&gt;make[4]: `t-pow' is up to date.
&lt;br&gt;make[4]: `t-div_2exp' is up to date.
&lt;br&gt;make[4]: `reuse' is up to date.
&lt;br&gt;make[4]: `t-root' is up to date.
&lt;br&gt;make[4]: `t-perfsqr' is up to date.
&lt;br&gt;make[4]: `t-perfpow' is up to date.
&lt;br&gt;make[4]: `t-jac' is up to date.
&lt;br&gt;make[4]: `t-bin' is up to date.
&lt;br&gt;make[4]: `t-get_d' is up to date.
&lt;br&gt;make[4]: `t-get_d_2exp' is up to date.
&lt;br&gt;make[4]: `t-get_si' is up to date.
&lt;br&gt;make[4]: `t-set_d' is up to date.
&lt;br&gt;make[4]: `t-set_si' is up to date.
&lt;br&gt;make[4]: `t-fac_ui' is up to date.
&lt;br&gt;make[4]: `t-fib_ui' is up to date.
&lt;br&gt;make[4]: `t-lucnum_ui' is up to date.
&lt;br&gt;make[4]: `t-scan' is up to date.
&lt;br&gt;make[4]: `t-fits' is up to date.
&lt;br&gt;make[4]: `t-divis' is up to date.
&lt;br&gt;make[4]: `t-divis_2exp' is up to date.
&lt;br&gt;make[4]: `t-cong' is up to date.
&lt;br&gt;make[4]: `t-cong_2exp' is up to date.
&lt;br&gt;make[4]: `t-sizeinbase' is up to date.
&lt;br&gt;make[4]: `t-set_str' is up to date.
&lt;br&gt;make[4]: `t-aorsmul' is up to date.
&lt;br&gt;make[4]: `t-cmp_d' is up to date.
&lt;br&gt;make[4]: `t-cmp_si' is up to date.
&lt;br&gt;make[4]: `t-hamdist' is up to date.
&lt;br&gt;make[4]: `t-oddeven' is up to date.
&lt;br&gt;make[4]: `t-popcount' is up to date.
&lt;br&gt;make[4]: `t-set_f' is up to date.
&lt;br&gt;make[4]: `t-io_raw' is up to date.
&lt;br&gt;make[4]: `t-import' is up to date.
&lt;br&gt;make[4]: `t-export' is up to date.
&lt;br&gt;make[4]: `t-pprime_p' is up to date.
&lt;br&gt;make[4]: `t-nextprime' is up to date.
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;make &amp;nbsp;check-TESTS
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;PASS: t-addsub
&lt;br&gt;PASS: t-cmp
&lt;br&gt;PASS: t-mul
&lt;br&gt;PASS: t-mul_i
&lt;br&gt;PASS: t-tdiv
&lt;br&gt;PASS: t-tdiv_ui
&lt;br&gt;PASS: t-fdiv
&lt;br&gt;PASS: t-fdiv_ui
&lt;br&gt;PASS: t-cdiv_ui
&lt;br&gt;PASS: t-gcd
&lt;br&gt;PASS: t-gcd_ui
&lt;br&gt;PASS: t-lcm
&lt;br&gt;PASS: dive
&lt;br&gt;PASS: dive_ui
&lt;br&gt;PASS: t-sqrtrem
&lt;br&gt;PASS: convert
&lt;br&gt;PASS: io
&lt;br&gt;PASS: t-inp_str
&lt;br&gt;PASS: logic
&lt;br&gt;PASS: bit
&lt;br&gt;PASS: t-powm
&lt;br&gt;PASS: t-powm_ui
&lt;br&gt;PASS: t-pow
&lt;br&gt;PASS: t-div_2exp
&lt;br&gt;PASS: reuse
&lt;br&gt;PASS: t-root
&lt;br&gt;PASS: t-perfsqr
&lt;br&gt;PASS: t-perfpow
&lt;br&gt;PASS: t-jac
&lt;br&gt;PASS: t-bin
&lt;br&gt;PASS: t-get_d
&lt;br&gt;PASS: t-get_d_2exp
&lt;br&gt;PASS: t-get_si
&lt;br&gt;PASS: t-set_d
&lt;br&gt;PASS: t-set_si
&lt;br&gt;PASS: t-fac_ui
&lt;br&gt;PASS: t-fib_ui
&lt;br&gt;PASS: t-lucnum_ui
&lt;br&gt;PASS: t-scan
&lt;br&gt;PASS: t-fits
&lt;br&gt;PASS: t-divis
&lt;br&gt;PASS: t-divis_2exp
&lt;br&gt;PASS: t-cong
&lt;br&gt;PASS: t-cong_2exp
&lt;br&gt;PASS: t-sizeinbase
&lt;br&gt;PASS: t-set_str
&lt;br&gt;PASS: t-aorsmul
&lt;br&gt;PASS: t-cmp_d
&lt;br&gt;PASS: t-cmp_si
&lt;br&gt;PASS: t-hamdist
&lt;br&gt;PASS: t-oddeven
&lt;br&gt;PASS: t-popcount
&lt;br&gt;PASS: t-set_f
&lt;br&gt;PASS: t-io_raw
&lt;br&gt;PASS: t-import
&lt;br&gt;PASS: t-export
&lt;br&gt;PASS: t-pprime_p
&lt;br&gt;PASS: t-nextprime
&lt;br&gt;===================
&lt;br&gt;All 58 tests passed
&lt;br&gt;===================
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpz'
&lt;br&gt;Making check in mpq
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;make &amp;nbsp;t-aors t-cmp t-cmp_ui t-cmp_si t-equal t-get_d t-get_str t-inp_str t-md_2exp t-set_f t-set_str
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;make[4]: `t-aors' is up to date.
&lt;br&gt;make[4]: `t-cmp' is up to date.
&lt;br&gt;make[4]: `t-cmp_ui' is up to date.
&lt;br&gt;make[4]: `t-cmp_si' is up to date.
&lt;br&gt;make[4]: `t-equal' is up to date.
&lt;br&gt;make[4]: `t-get_d' is up to date.
&lt;br&gt;make[4]: `t-get_str' is up to date.
&lt;br&gt;make[4]: `t-inp_str' is up to date.
&lt;br&gt;make[4]: `t-md_2exp' is up to date.
&lt;br&gt;make[4]: `t-set_f' is up to date.
&lt;br&gt;make[4]: `t-set_str' is up to date.
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;make &amp;nbsp;check-TESTS
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;PASS: t-aors
&lt;br&gt;PASS: t-cmp
&lt;br&gt;PASS: t-cmp_ui
&lt;br&gt;PASS: t-cmp_si
&lt;br&gt;PASS: t-equal
&lt;br&gt;PASS: t-get_d
&lt;br&gt;PASS: t-get_str
&lt;br&gt;PASS: t-inp_str
&lt;br&gt;PASS: t-md_2exp
&lt;br&gt;PASS: t-set_f
&lt;br&gt;PASS: t-set_str
&lt;br&gt;===================
&lt;br&gt;All 11 tests passed
&lt;br&gt;===================
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpq'
&lt;br&gt;Making check in mpf
&lt;br&gt;make[3]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;make &amp;nbsp;t-add t-sub t-conv t-sqrt t-sqrt_ui t-muldiv t-dm2exp reuse t-cmp_d t-cmp_si t-div t-fits t-get_d t-get_d_2exp t-get_si t-get_ui t-gsprec t-inp_str t-int_p t-mul_ui t-set t-set_q t-set_si t-set_ui t-trunc t-ui_div
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;make[4]: `t-add' is up to date.
&lt;br&gt;make[4]: `t-sub' is up to date.
&lt;br&gt;make[4]: `t-conv' is up to date.
&lt;br&gt;make[4]: `t-sqrt' is up to date.
&lt;br&gt;make[4]: `t-sqrt_ui' is up to date.
&lt;br&gt;make[4]: `t-muldiv' is up to date.
&lt;br&gt;make[4]: `t-dm2exp' is up to date.
&lt;br&gt;make[4]: `reuse' is up to date.
&lt;br&gt;make[4]: `t-cmp_d' is up to date.
&lt;br&gt;make[4]: `t-cmp_si' is up to date.
&lt;br&gt;make[4]: `t-div' is up to date.
&lt;br&gt;make[4]: `t-fits' is up to date.
&lt;br&gt;make[4]: `t-get_d' is up to date.
&lt;br&gt;make[4]: `t-get_d_2exp' is up to date.
&lt;br&gt;make[4]: `t-get_si' is up to date.
&lt;br&gt;make[4]: `t-get_ui' is up to date.
&lt;br&gt;make[4]: `t-gsprec' is up to date.
&lt;br&gt;make[4]: `t-inp_str' is up to date.
&lt;br&gt;make[4]: `t-int_p' is up to date.
&lt;br&gt;make[4]: `t-mul_ui' is up to date.
&lt;br&gt;make[4]: `t-set' is up to date.
&lt;br&gt;make[4]: `t-set_q' is up to date.
&lt;br&gt;make[4]: `t-set_si' is up to date.
&lt;br&gt;make[4]: `t-set_ui' is up to date.
&lt;br&gt;make[4]: `t-trunc' is up to date.
&lt;br&gt;make[4]: `t-ui_div' is up to date.
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;make &amp;nbsp;check-TESTS
&lt;br&gt;make[4]: Entering directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;PASS: t-add
&lt;br&gt;PASS: t-sub
&lt;br&gt;PASS: t-conv
&lt;br&gt;PASS: t-sqrt
&lt;br&gt;PASS: t-sqrt_ui
&lt;br&gt;PASS: t-muldiv
&lt;br&gt;PASS: t-dm2exp
&lt;br&gt;PASS: reuse
&lt;br&gt;PASS: t-cmp_d
&lt;br&gt;mpf_cmp_si wrong on data[6]
&lt;br&gt;&amp;nbsp; a=-0.1e1 (-1)
&lt;br&gt;&amp;nbsp; b=1 (1)
&lt;br&gt;&amp;nbsp; got=0
&lt;br&gt;&amp;nbsp; want=-1
&lt;br&gt;FAIL: t-cmp_si
&lt;br&gt;PASS: t-div
&lt;br&gt;PASS: t-fits
&lt;br&gt;PASS: t-get_d
&lt;br&gt;PASS: t-get_d_2exp
&lt;br&gt;PASS: t-get_si
&lt;br&gt;PASS: t-get_ui
&lt;br&gt;PASS: t-gsprec
&lt;br&gt;PASS: t-inp_str
&lt;br&gt;PASS: t-int_p
&lt;br&gt;PASS: t-mul_ui
&lt;br&gt;PASS: t-set
&lt;br&gt;PASS: t-set_q
&lt;br&gt;PASS: t-set_si
&lt;br&gt;PASS: t-set_ui
&lt;br&gt;PASS: t-trunc
&lt;br&gt;PASS: t-ui_div
&lt;br&gt;==================================
&lt;br&gt;1 of 26 tests failed
&lt;br&gt;Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23496625&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;==================================
&lt;br&gt;make[4]: *** [check-TESTS] Error 1
&lt;br&gt;make[4]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;make[3]: *** [check-am] Error 2
&lt;br&gt;make[3]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests/mpf'
&lt;br&gt;make[2]: *** [check-recursive] Error 1
&lt;br&gt;make[2]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0/tests'
&lt;br&gt;make[1]: *** [check-recursive] Error 1
&lt;br&gt;make[1]: Leaving directory `/design02/ymkai/ouchito/OpenAccess/gmp-4.3.0'
&lt;br&gt;make: *** [check] Error 2
&lt;br&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23496625&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%27make-check%27-error-tp23496625p23496625.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23477467</id>
	<title>gmp install bug</title>
	<published>2009-05-10T22:15:14Z</published>
	<updated>2009-05-10T22:15:14Z</updated>
	<author>
		<name>谭坚</name>
	</author>
	<content type="html">&lt;DIV&gt;Dear Miss/Mr.:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hello,friend;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;Here I have a hard time while I installed the gmp-4.2.2 in Linux4(64bit).And the gcc version is 3.4.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;Now I try to describe wherethe bugs heppens; According to the requirement I input the command:&quot;./configure &quot; firstly and then&quot;make&quot;,there is no error during the two steps. When the two procedures have successful completed，I input command line&quot;make check&quot; and run it ,then&amp;nbsp; there are bugs here.&lt;/DIV&gt;
&lt;DIV&gt;Here I list parts of the information:&lt;/DIV&gt;
&lt;DIV&gt;.........&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;make check-TESTS&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;make[4]:Entering direstory'/root/Predicates/gmp-4.2.2/tests/mpf'&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;PASS: t-add&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;PASS: t-sub&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;.......&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;PASS: t-cmp_d&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;mpf_cmp_si wrong on data[6]&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;&amp;nbsp; a=-0.1e1(-1)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;&amp;nbsp; b=1(1)&lt;BR&gt;&amp;nbsp; got=0&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;&amp;nbsp; want=-1&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;FAIL: t-cmp_si&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;PASS: t-div&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;.........&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;PASS: t-ui_div&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;-----------------------------------------&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=&quot;#f00000&quot;&gt;1 of 26 tests failed&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;so ,I want you can have attention to this bug and I look forward to your reply. Thanks for your attention.&lt;BR&gt;&amp;nbsp;May you have a nice day.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sincerely: &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tanjian&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2009-05-11&lt;/DIV&gt;&lt;br&gt;&lt;!-- footer --&gt;&lt;br&gt;&lt;span title=&quot;neteasefooter&quot; /&gt;&lt;hr /&gt;
&lt;a href=&quot;http://512.mail.163.com/mailstamp/stamp/dz/activity.do?from=footer&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;穿越地震带 纪念汶川地震一周年&lt;/a&gt;
&lt;/span&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23477467&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmp-install-bug-tp23477467p23477467.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23347880</id>
	<title>[ANNOUNCE] GMP Language Bindings for Javascript/Flusspferd</title>
	<published>2009-05-02T07:07:16Z</published>
	<updated>2009-05-02T07:07:16Z</updated>
	<author>
		<name>Rüdiger Sonderfeld-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;I started creating a GMP plugin for the Flusspferd library
&lt;br&gt;(&lt;a href=&quot;http://flusspferd.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://flusspferd.org/&lt;/a&gt;). Flusspferd provides Javascript bindings for C++, a
&lt;br&gt;Javascript interpreter and shell, and a Javascript/C++ module system.
&lt;br&gt;&lt;br&gt;You can find the documentation here
&lt;br&gt;&amp;nbsp;&lt;a href=&quot;http://flusspferd.org/docs/js/gmp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://flusspferd.org/docs/js/gmp&lt;/a&gt;&lt;br&gt;and a small example here
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://gist.github.com/105308&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gist.github.com/105308&lt;/a&gt;&amp;nbsp;.
&lt;br&gt;&lt;br&gt;You can find the plugin in the git master tree.
&lt;br&gt;&lt;a href=&quot;http://github.com/ruediger/flusspferd/tree/master&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/ruediger/flusspferd/tree/master&lt;/a&gt;&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Rüdiger Sonderfeld
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23347880&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ANNOUNCE--GMP-Language-Bindings-for-Javascript-Flusspferd-tp23347880p23347880.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23275488</id>
	<title>Re: GMP bugs</title>
	<published>2009-04-28T04:50:43Z</published>
	<updated>2009-04-28T04:50:43Z</updated>
	<author>
		<name>Torbjorn Granlund-6</name>
	</author>
	<content type="html">Danny Goodman &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23275488&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;goodman.danny@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; Hi,I just got the following error on &amp;#39;make test&amp;#39; of the latest GMP version on my Mac OS 10.4.11.  Please let me know if any other info would help debug this.best regards,dannymake  check-TESTS
&lt;br&gt;&amp;nbsp; PASS: t-addsubPASS: t-cmpPASS: t-mulPASS: t-mul_iPASS: t-tdivPASS: t-tdiv_uiPASS: t-fdivPASS: t-fdiv_uiPASS: t-cdiv_uiPASS: t-gcdPASS: t-gcd_uiPASS: t-lcmPASS: divePASS: dive_ui
&lt;br&gt;&amp;nbsp; PASS: t-sqrtremPASS: convertPASS: ioPASS: t-inp_strPASS: logicPASS: bitPASS: t-powmPASS: t-powm_uiPASS: t-powPASS: t-div_2expPASS: reusePASS: t-rootPASS: t-perfsqrPASS: t-perfpow
&lt;br&gt;&amp;nbsp; PASS: t-jacPASS: t-binPASS: t-get_dPASS: t-get_d_2expPASS: t-get_siPASS: t-set_dPASS: t-set_siPASS: t-fac_uiPASS: t-fib_uiPASS: t-lucnum_uiPASS: t-scanPASS: t-fitsPASS: t-divis
&lt;br&gt;&amp;nbsp; PASS: t-divis_2expPASS: t-congPASS: t-cong_2expPASS: t-sizeinbasePASS: t-set_strPASS: t-aorsmulPASS: t-cmp_dPASS: t-cmp_simpz_hamdist wrong on 2 bits pos/pos  i    0  j    32  got  253
&lt;br&gt;&amp;nbsp;   want 2  x   =0x1  y   =0x100000000FAIL: t-hamdistPASS: t-oddevenmpz_popcount wrong on single bit at 0   got 320, want 1FAIL: t-popcountPASS: t-set_fPASS: t-io_rawPASS: t-import
&lt;br&gt;&amp;nbsp; PASS: t-exportPASS: t-pprime_pPASS: t-nextprime==================================2 of 58 tests failedPlease report to mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23275488&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;==================================
&lt;br&gt;&amp;nbsp; make[4]: *** [check-TESTS] Error 1make[3]: *** [check-am] Error 2make[2]: *** [check-recursive] Error 1make[1]: *** [check-recursive] Error 1make: *** [check] Error 2
&lt;br&gt;&lt;br&gt;Thanks for the report!
&lt;br&gt;&lt;br&gt;What exact machine type? &amp;nbsp;A 32-bit or 64-bit build?
&lt;br&gt;&lt;br&gt;Please see &lt;a href=&quot;http://gmplib.org/manual/Reporting-Bugs.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/manual/Reporting-Bugs.html&lt;/a&gt;&amp;nbsp;for a full (but
&lt;br&gt;short!) list of the information we need for successfully handling a GMP
&lt;br&gt;bug report.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23275488&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GMP-bugs-tp23275385p23275488.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23275385</id>
	<title>GMP bugs</title>
	<published>2009-04-27T22:23:03Z</published>
	<updated>2009-04-27T22:23:03Z</updated>
	<author>
		<name>Danny Goodman</name>
	</author>
	<content type="html">Hi,&lt;br&gt;&lt;br&gt;I just got the following error on &amp;#39;make test&amp;#39; of the latest GMP version on my Mac OS 10.4.11.  Please let me know if any other info would help debug this.&lt;br&gt;&lt;br&gt;best regards,&lt;br&gt;danny&lt;br&gt;&lt;br&gt;make  check-TESTS&lt;br&gt;
PASS: t-addsub&lt;br&gt;PASS: t-cmp&lt;br&gt;PASS: t-mul&lt;br&gt;PASS: t-mul_i&lt;br&gt;PASS: t-tdiv&lt;br&gt;PASS: t-tdiv_ui&lt;br&gt;PASS: t-fdiv&lt;br&gt;PASS: t-fdiv_ui&lt;br&gt;PASS: t-cdiv_ui&lt;br&gt;PASS: t-gcd&lt;br&gt;PASS: t-gcd_ui&lt;br&gt;PASS: t-lcm&lt;br&gt;PASS: dive&lt;br&gt;PASS: dive_ui&lt;br&gt;
PASS: t-sqrtrem&lt;br&gt;PASS: convert&lt;br&gt;PASS: io&lt;br&gt;PASS: t-inp_str&lt;br&gt;PASS: logic&lt;br&gt;PASS: bit&lt;br&gt;PASS: t-powm&lt;br&gt;PASS: t-powm_ui&lt;br&gt;PASS: t-pow&lt;br&gt;PASS: t-div_2exp&lt;br&gt;PASS: reuse&lt;br&gt;PASS: t-root&lt;br&gt;PASS: t-perfsqr&lt;br&gt;PASS: t-perfpow&lt;br&gt;
PASS: t-jac&lt;br&gt;PASS: t-bin&lt;br&gt;PASS: t-get_d&lt;br&gt;PASS: t-get_d_2exp&lt;br&gt;PASS: t-get_si&lt;br&gt;PASS: t-set_d&lt;br&gt;PASS: t-set_si&lt;br&gt;PASS: t-fac_ui&lt;br&gt;PASS: t-fib_ui&lt;br&gt;PASS: t-lucnum_ui&lt;br&gt;PASS: t-scan&lt;br&gt;PASS: t-fits&lt;br&gt;PASS: t-divis&lt;br&gt;
PASS: t-divis_2exp&lt;br&gt;PASS: t-cong&lt;br&gt;PASS: t-cong_2exp&lt;br&gt;PASS: t-sizeinbase&lt;br&gt;PASS: t-set_str&lt;br&gt;PASS: t-aorsmul&lt;br&gt;PASS: t-cmp_d&lt;br&gt;PASS: t-cmp_si&lt;br&gt;mpz_hamdist wrong on 2 bits pos/pos&lt;br&gt;  i    0&lt;br&gt;  j    32&lt;br&gt;  got  253&lt;br&gt;
  want 2&lt;br&gt;  x   =0x1&lt;br&gt;  y   =0x100000000&lt;br&gt;FAIL: t-hamdist&lt;br&gt;PASS: t-oddeven&lt;br&gt;mpz_popcount wrong on single bit at 0&lt;br&gt;   got 320, want 1&lt;br&gt;FAIL: t-popcount&lt;br&gt;PASS: t-set_f&lt;br&gt;PASS: t-io_raw&lt;br&gt;PASS: t-import&lt;br&gt;
PASS: t-export&lt;br&gt;PASS: t-pprime_p&lt;br&gt;PASS: t-nextprime&lt;br&gt;==================================&lt;br&gt;2 of 58 tests failed&lt;br&gt;Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23275385&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;&lt;br&gt;==================================&lt;br&gt;
make[4]: *** [check-TESTS] Error 1&lt;br&gt;make[3]: *** [check-am] Error 2&lt;br&gt;make[2]: *** [check-recursive] Error 1&lt;br&gt;make[1]: *** [check-recursive] Error 1&lt;br&gt;make: *** [check] Error 2&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23275385&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GMP-bugs-tp23275385p23275385.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23150639</id>
	<title>Re: GMP 4.3.0 released</title>
	<published>2009-04-21T00:34:06Z</published>
	<updated>2009-04-21T00:34:06Z</updated>
	<author>
		<name>Roberto Bagnara</name>
	</author>
	<content type="html">Torbjorn Granlund wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Roberto Bagnara &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23150639&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bagnara@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;gt; &amp;nbsp; Speedups:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;gt; &amp;nbsp; * Vastly improved assembly code for x86-64 processors from AMD and Intel.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; I have run a couple of application programs based on the Parma Polyhedra
&lt;br&gt;&amp;gt; &amp;nbsp; Library (PPL), which heavily depends on GMP. &amp;nbsp;On an AMD Opteron 2384 &amp;quot;Shanghai&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; I got the following running times (best run out of 10):
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 238 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;187 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;34.2 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 34.8 s
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; On an Intel Core2 Q9400, instead, I got:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 339 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;213 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;29.8 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 28.9 s
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; You get less speedup than I expect to be typical (and a very slight
&lt;br&gt;&amp;gt; slowdown in one case).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am curious what GMP operations application B performs. &amp;nbsp;Profile runs
&lt;br&gt;&amp;gt; for both GMP versions would be helpful.
&lt;/div&gt;&lt;br&gt;Hi Torbjorn,
&lt;br&gt;&lt;br&gt;I was in fact wrong. &amp;nbsp;While the PPL is, generally speaking, heavily
&lt;br&gt;dependent on GMP, application B running time is dominated by non-GMP
&lt;br&gt;functions. &amp;nbsp;For it, the most important GMP operation is __gmpn_popcount
&lt;br&gt;which consumes 12% of the running time.
&lt;br&gt;Thanks again,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Roberto
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Prof. Roberto Bagnara
&lt;br&gt;Computer Science Group
&lt;br&gt;Department of Mathematics, University of Parma, Italy
&lt;br&gt;&lt;a href=&quot;http://www.cs.unipr.it/~bagnara/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.unipr.it/~bagnara/&lt;/a&gt;&lt;br&gt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23150639&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bagnara@...&lt;/a&gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23150639&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-GMP-4.3.0-released-tp23064010p23150639.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23104879</id>
	<title>Re: inline errors with gmp 4.2.4 (on Mac) - solution</title>
	<published>2009-04-17T11:41:32Z</published>
	<updated>2009-04-17T11:41:32Z</updated>
	<author>
		<name>Wade Williams</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;Joubert,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I just got around to testing this and it worked perfectly. &amp;nbsp;Thanks so much for the suggestion!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;As you suggested, I just changed the C Language Dialect to gnu89.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Wade&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Mar 17, 2009, at 7:38 PM, Joubert Nel wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;Hi Wade,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have also been struggling with the &lt;b&gt;duplicate symbol ___gmp_abs problem&lt;/b&gt; for the last day. But finally found a solution.&lt;/div&gt;&lt;div&gt;The problem for me was not compiling GMP itself (I use Fink / MacPorts), but rather my inclusion of its header file (gmp.h) - same error message as you.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The following Build settings for my Target in XCode did the trick:&lt;/div&gt;&lt;div&gt;- C/C++ Compiler Version = &lt;b&gt;GCC 4.2&lt;/b&gt;&lt;/div&gt;&lt;div&gt;- C Language Dialect = &lt;b&gt;C99 [-std=c99]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;- Other C flags: &lt;b&gt;-fgnu89-inline&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Alternatively, if you simply compile with C Language Dialect set to 89 (instead of 99), that should work too.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Joubert&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15px; &quot;&gt;&lt;h1&gt;inline errors with gmp 4.2.4&lt;/h1&gt;&lt;b&gt;Wade Williams&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23104879&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;...&lt;/a&gt;&lt;br&gt;&lt;i&gt;Tue Jan 20 16:28:33 CET 2009&lt;/i&gt;&lt;div&gt;&lt;br class=&quot;webkit-block-placeholder&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Previous message:&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/003520.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GMP can't handle leading plus sign?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Next message:&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/003523.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp 4.2.4 - mpf_add two large negative floats - strange result&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Messages sorted by:&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/date.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ date ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/thread.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ thread ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/subject.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ subject ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/author.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ author ]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr&gt;&lt;pre&gt;I've got one more problem with gmp for which I hope there's a solution.

I have spent long hours googling on this subject and trying the  
various suggestions presented, but so far none have worked.  I also  
have emailed Apple's XCode mailing list, hoping to find a solution  
without bothering the gmp community, but was unsuccessful.  I also  
searched through the last year of archives on this list.

When I compile gmp 4.2.4 (32-bit) on OS X 10.5.4 I get:

duplicate symbol ___gmpz_abs in /Users/wwilliam/Development/code/ 
project/build/Debug/libcrypt.a(crypt.o) and /Users/wwilliam/ 
Development/code/project/build/Debug/libcrypt.a(rsa.o)

My understanding from my searches is that this due to a bug in Apple's  
inline implementation.

Defining __GMP_FORCE_mpz_abs got rid of this error, but then the same  
error occurred with with __gmpz_fits_uint_p.  Defining  
__GMP_FORCE_mpz_fits_uint_p did not resolve that error, leading me to  
worry that I didn't truly understand the issue and changing things at  
random was not a good idea.

I'm hoping this issue has been seen before and there's a simple  
solution that I'm just missing.

Thanks,

Wade
-------------- next part --------------
An HTML attachment was scrubbed...
URL: &lt;a href=&quot;http://swox.com/list-archives/gmp-discuss/attachments/20090120/68ff3cb0/attachment.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://swox.com/list-archives/gmp-discuss/attachments/20090120/68ff3cb0/attachment.html&lt;/a&gt; 
&lt;/pre&gt;&lt;hr&gt;&lt;div&gt;&lt;br class=&quot;webkit-block-placeholder&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Previous message:&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/003520.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GMP can't handle leading plus sign?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Next message:&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/003523.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp 4.2.4 - mpf_add two large negative floats - strange result&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Messages sorted by:&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/date.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ date ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/thread.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ thread ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/subject.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ subject ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://gmplib.org/list-archives/gmp-discuss/2009-January/author.html#3522&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[ author ]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr&gt;&lt;a href=&quot;http://swox.com/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;More information about the gmp-discuss mailing list&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;_______________________________________________&lt;br&gt;gmp-discuss mailing list&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23104879&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;&lt;br&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23104879&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/inline-errors-with-gmp-4.2.4-%28on-Mac%29---solution-tp22578192p23104879.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23064561</id>
	<title>Re: GMP 4.3.0 released</title>
	<published>2009-04-15T11:32:56Z</published>
	<updated>2009-04-15T11:32:56Z</updated>
	<author>
		<name>Torbjorn Granlund-6</name>
	</author>
	<content type="html">Roberto Bagnara &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23064561&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bagnara@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;gt; &amp;nbsp; Speedups:
&lt;br&gt;&amp;nbsp; &amp;gt; &amp;nbsp; * Vastly improved assembly code for x86-64 processors from AMD and Intel.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; I have run a couple of application programs based on the Parma Polyhedra
&lt;br&gt;&amp;nbsp; Library (PPL), which heavily depends on GMP. &amp;nbsp;On an AMD Opteron 2384 &amp;quot;Shanghai&amp;quot;
&lt;br&gt;&amp;nbsp; I got the following running times (best run out of 10):
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 238 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;187 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;34.2 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 34.8 s
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; On an Intel Core2 Q9400, instead, I got:
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 339 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;213 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;29.8 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 28.9 s
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;You get less speedup than I expect to be typical (and a very slight
&lt;br&gt;slowdown in one case).
&lt;br&gt;&lt;br&gt;I am curious what GMP operations application B performs. &amp;nbsp;Profile runs
&lt;br&gt;for both GMP versions would be helpful.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;gt; &amp;nbsp; Misc:
&lt;br&gt;&amp;nbsp; &amp;gt; &amp;nbsp; * The gmp_version variable now always contains three parts. &amp;nbsp;For this
&lt;br&gt;&amp;nbsp; &amp;gt; &amp;nbsp; &amp;nbsp; release, it is &amp;quot;4.3.0&amp;quot;.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; Aaargh! &amp;nbsp;This broke our GMP detection procedure. &amp;nbsp;Moreover,
&lt;br&gt;&amp;nbsp; PPL 0.10.1 was released only a few hours before the release of
&lt;br&gt;&amp;nbsp; GMP 4.3.0. &amp;nbsp;I guess now we have no choice but release PPL 0.10.2
&lt;br&gt;&amp;nbsp; with a revised GMP detection procedure.
&lt;br&gt;&lt;br&gt;I am sorry about that! &amp;nbsp;I think version GMP detection will be simpler
&lt;br&gt;with the new scheme, but this slight incompatibility will bite during a
&lt;br&gt;transitional period.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; Was a release candidate made available and announced somewhere?
&lt;br&gt;&lt;br&gt;No, we did only internal testing this time, since our testing has been
&lt;br&gt;much extended.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23064561&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-GMP-4.3.0-released-tp23064010p23064561.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23065541</id>
	<title>Re: GMP 4.3.0 released</title>
	<published>2009-04-15T11:21:35Z</published>
	<updated>2009-04-15T11:21:35Z</updated>
	<author>
		<name>Dennis Clarke-2</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Torbjorn Granlund wrote:
&lt;br&gt;&amp;gt;&amp;gt; It is my great pleasure to announce the availability a new major release
&lt;br&gt;&amp;gt;&amp;gt; of
&lt;br&gt;&amp;gt;&amp;gt; the GNU Multiple Precision Arithmetic Library (GMP). &amp;nbsp;The new release is
&lt;br&gt;&amp;gt;&amp;gt; identified as 4.3.0.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Torbjorn,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; congratulations and thank you for the new release.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;With the most minor tweak it builds fine on Solaris :
&lt;br&gt;&lt;br&gt;ABI=32
&lt;br&gt;&lt;br&gt;$ ls .libs/lib*
&lt;br&gt;.libs/libgmp.a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .libs/libgmp.so.3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.libs/libgmpxx.lai
&lt;br&gt;.libs/libgmp.la &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.libs/libgmp.so.3.5.0 &amp;nbsp; &amp;nbsp;.libs/libgmpxx.so
&lt;br&gt;.libs/libgmp.lai &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .libs/libgmpxx.a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .libs/libgmpxx.so.4
&lt;br&gt;.libs/libgmp.so &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.libs/libgmpxx.la &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.libs/libgmpxx.so.4.1.0
&lt;br&gt;$
&lt;br&gt;$
&lt;br&gt;$ file .libs/libgmp.so.3.5.0
&lt;br&gt;.libs/libgmp.so.3.5.0: &amp;nbsp;ELF 32-bit MSB dynamic lib SPARC Version 1,
&lt;br&gt;dynamically linked, not stripped
&lt;br&gt;$ file .libs/libgmpxx.so.4.1.0
&lt;br&gt;.libs/libgmpxx.so.4.1.0: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ELF 32-bit MSB dynamic lib SPARC Version
&lt;br&gt;1, dynamically linked, not stripped
&lt;br&gt;&lt;br&gt;and ABI=64
&lt;br&gt;&lt;br&gt;$ file .libs/libgmp.so.3.5.0
&lt;br&gt;.libs/libgmp.so.3.5.0: &amp;nbsp;ELF 64-bit MSB dynamic lib SPARCV9 Version 1,
&lt;br&gt;dynamically linked, not stripped
&lt;br&gt;$ file .libs/libgmpxx.so.4.1.0
&lt;br&gt;.libs/libgmpxx.so.4.1.0: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ELF 64-bit MSB dynamic lib SPARCV9 Version
&lt;br&gt;1, dynamically linked, not stripped
&lt;br&gt;&lt;br&gt;All tests pass for libgmp.so.3.5.0 however I have to get in and manually
&lt;br&gt;run the tests for the cxx libs.
&lt;br&gt;&lt;br&gt;Dennis Clarke
&lt;br&gt;&lt;a href=&quot;http://www.blastwave.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.blastwave.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23065541&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-GMP-4.3.0-released-tp23064010p23065541.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23064010</id>
	<title>Re: GMP 4.3.0 released</title>
	<published>2009-04-15T10:59:57Z</published>
	<updated>2009-04-15T10:59:57Z</updated>
	<author>
		<name>Roberto Bagnara</name>
	</author>
	<content type="html">Torbjorn Granlund wrote:
&lt;br&gt;&amp;gt; It is my great pleasure to announce the availability a new major release of
&lt;br&gt;&amp;gt; the GNU Multiple Precision Arithmetic Library (GMP). &amp;nbsp;The new release is
&lt;br&gt;&amp;gt; identified as 4.3.0.
&lt;br&gt;&lt;br&gt;Hi Torbjorn,
&lt;br&gt;&lt;br&gt;congratulations and thank you for the new release.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; Speedups:
&lt;br&gt;&amp;gt; &amp;nbsp; * Vastly improved assembly code for x86-64 processors from AMD and Intel.
&lt;br&gt;&lt;br&gt;I have run a couple of application programs based on the Parma Polyhedra
&lt;br&gt;Library (PPL), which heavily depends on GMP. &amp;nbsp;On an AMD Opteron 2384 &amp;quot;Shanghai&amp;quot;
&lt;br&gt;I got the following running times (best run out of 10):
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;238 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;187 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;34.2 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 34.8 s
&lt;br&gt;&lt;br&gt;On an Intel Core2 Q9400, instead, I got:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Application A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application B
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GMP 4.2.4 &amp;nbsp; &amp;nbsp;GMP 4.3.0
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;339 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;213 s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;29.8 s &amp;nbsp; &amp;nbsp; &amp;nbsp; 28.9 s
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; Misc:
&lt;br&gt;&amp;gt; &amp;nbsp; * The gmp_version variable now always contains three parts. &amp;nbsp;For this
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; release, it is &amp;quot;4.3.0&amp;quot;.
&lt;br&gt;&lt;br&gt;Aaargh! &amp;nbsp;This broke our GMP detection procedure. &amp;nbsp;Moreover,
&lt;br&gt;PPL 0.10.1 was released only a few hours before the release of
&lt;br&gt;GMP 4.3.0. &amp;nbsp;I guess now we have no choice but release PPL 0.10.2
&lt;br&gt;with a revised GMP detection procedure.
&lt;br&gt;&lt;br&gt;Was a release candidate made available and announced somewhere?
&lt;br&gt;If so, I would like to subscribe the list for this kind of
&lt;br&gt;announcements.
&lt;br&gt;Thanks again,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Roberto
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Prof. Roberto Bagnara
&lt;br&gt;Computer Science Group
&lt;br&gt;Department of Mathematics, University of Parma, Italy
&lt;br&gt;&lt;a href=&quot;http://www.cs.unipr.it/~bagnara/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.unipr.it/~bagnara/&lt;/a&gt;&lt;br&gt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23064010&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bagnara@...&lt;/a&gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-discuss mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23064010&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-discuss@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-discuss&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-discuss&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Discuss-f1661.html&quot; embed=&quot;fixTarget[1661]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-GMP-4.3.0-released-tp23064010p23064010.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23048552</id>
	<title>Re: Make error</title>
	<published>2009-04-14T14:30:18Z</published>
	<updated>2009-04-14T14:30:18Z</updated>
	<author>
		<name>Ryan Schmidt-59</name>
	</author>
	<content type="html">On Apr 13, 2009, at 21:29, Patrick Eisenmann wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; I encountered 3 main problems while trying to install GMP onto my &amp;nbsp;
&lt;br&gt;&amp;gt; Macbook (OS 10.5.6).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The first, if I try to make check in uncompressed library and that &amp;nbsp;
&lt;br&gt;&amp;gt; library has a space character anywhere in its path, my make check &amp;nbsp;
&lt;br&gt;&amp;gt; fails on the first set of tests. Moving to a lower directory fixed &amp;nbsp;
&lt;br&gt;&amp;gt; this.
&lt;br&gt;&lt;br&gt;Spaces in the path is a general problem for most UNIX software. I &amp;nbsp;
&lt;br&gt;once reported this as a bug to the people who make the autotools &amp;nbsp;
&lt;br&gt;software, and they said it is not a bug, it is a user error, and they &amp;nbsp;
&lt;br&gt;will not fix it. Therefore to save yourself from running into these &amp;nbsp;
&lt;br&gt;problems, I recommend you use paths that do not contain spaces.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Second, if you accidentally make check before make, it fails &amp;nbsp;
&lt;br&gt;&amp;gt; inexplicably and reports problems that shouldn't exist. Using make &amp;nbsp;
&lt;br&gt;&amp;gt; clean, then starting again from the beginning fixed this.
&lt;br&gt;&lt;br&gt;I'll let the gmp people respond to this; it sounds like a bug. (Some &amp;nbsp;
&lt;br&gt;missing dependency in the makefile?)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Third, make install failed due to permission errors. Using sudo &amp;nbsp;
&lt;br&gt;&amp;gt; make install (and having the root password) fixed this.
&lt;br&gt;&lt;br&gt;That's expected, since by default it wants to install into /usr/local &amp;nbsp;
&lt;br&gt;which requires administrator privilege to modify. If you want to &amp;nbsp;
&lt;br&gt;install to a location that doesn't require administrator privilege, &amp;nbsp;
&lt;br&gt;specify it at configure time using the --prefix=/wherever switch.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23048552&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Make-error-tp23034376p23048552.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23034376</id>
	<title>Make error</title>
	<published>2009-04-13T19:29:05Z</published>
	<updated>2009-04-13T19:29:05Z</updated>
	<author>
		<name>Patrick Eisenmann</name>
	</author>
	<content type="html">Hi,&lt;br&gt;I encountered 3 main problems while trying to install GMP onto my Macbook (OS 10.5.6).&lt;br&gt;&lt;br&gt;The first, if I try to make check in uncompressed library and that library has a space character anywhere in its path, my make check fails on the first set of tests. Moving to a lower directory fixed this.&lt;br&gt;
Second, if you accidentally make check before make, it fails inexplicably and reports problems that shouldn&amp;#39;t exist. Using make clean, then starting again from the beginning fixed this.&lt;br&gt;Third, make install failed due to permission errors. Using sudo make install (and having the root password) fixed this.&lt;br clear=&quot;all&quot;&gt;
&lt;br&gt;-- &lt;br&gt;Patrick Eisenmann&lt;br&gt;Undergrad Computer Science&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23034376&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peisenmann@...&lt;/a&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23034376&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Make-error-tp23034376p23034376.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22904410</id>
	<title>Re: none</title>
	<published>2009-04-06T01:35:00Z</published>
	<updated>2009-04-06T01:35:00Z</updated>
	<author>
		<name>Torbjorn Granlund-2</name>
	</author>
	<content type="html">Wayne Crawford &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22904410&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;crawford@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; In your gmp.info document, under &amp;quot;Known Build Problems&amp;quot;, section MacOS
&lt;br&gt;&amp;nbsp; X, it would be clearer if you wrote ('configure --disable-shared')
&lt;br&gt;&amp;nbsp; instead of just ('--disable-shared')
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; In any case, whether or not I use &amp;quot;configure --disable-shared&amp;quot; before
&lt;br&gt;&amp;nbsp; running &amp;quot;make&amp;quot;, I get the same error on &amp;quot;make check&amp;quot;:
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;Do you start with a pristing build directory each time (or issue &amp;quot;make
&lt;br&gt;distclean&amp;quot;)?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22904410&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%28no-subject%29-tp22840466p22904410.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22904349</id>
	<title>Re: gmp-4.2.4 failures with Solaris 10 AMD64 and Studio Express 03/09</title>
	<published>2009-04-06T01:30:54Z</published>
	<updated>2009-04-06T01:30:54Z</updated>
	<author>
		<name>Torbjorn Granlund-2</name>
	</author>
	<content type="html">Dennis Clarke &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22904349&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dclarke@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;gt;&amp;gt; Everything was going well until I ran make check.
&lt;br&gt;&amp;nbsp; &amp;gt;
&lt;br&gt;&amp;nbsp; &amp;gt; it seems to be a big-endian vs little-endian issue. Maybe the configure
&lt;br&gt;&amp;nbsp; &amp;gt; script
&lt;br&gt;&amp;nbsp; &amp;gt; was fooled by the combination Solaris - AMD64.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; Why would that be a problem? Solaris has been 64-bit on AMD64 for years.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;And GMP's configure should not have any problems with this particular
&lt;br&gt;combination.
&lt;br&gt;&lt;br&gt;&amp;nbsp; I just did a full re-compile again. No optimization and nothing fancy.
&lt;br&gt;&amp;nbsp; Same code segfaults and dumps core over and over.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;How did you disable optimization? &amp;nbsp;Some compilers are hard to persuade
&lt;br&gt;to not optimize.
&lt;br&gt;&lt;br&gt;I tried gmp 4.2.4 on a Slowaris 11 (uname says 5.11 snv_105) system
&lt;br&gt;now, forcing it to use cc instead of gcc:
&lt;br&gt;&lt;br&gt;tray$ cc -V
&lt;br&gt;cc: Sun Ceres C 5.10 SunOS_i386 2008/10/22
&lt;br&gt;usage: cc [ options] files. &amp;nbsp;Use 'cc -flags' for details
&lt;br&gt;&lt;br&gt;I started with:
&lt;br&gt;&lt;br&gt;tray$ path-to-gmp-4.2.4/configure CC=cc --disable-static &amp;gt;&amp;cfg.log
&lt;br&gt;tray$ gmake
&lt;br&gt;tray$ gmake check
&lt;br&gt;&lt;br&gt;This failed because configure doesn't know how to put the compiler in
&lt;br&gt;64-bit mode. &amp;nbsp;For sparc-slowris, one needs to pass an ISA option
&lt;br&gt;&amp;quot;-xarch=v9&amp;quot; for choosing ABI, very odd. &amp;nbsp;But here the right option is
&lt;br&gt;apparently &amp;quot;-m64&amp;quot;. &amp;nbsp;GMP's configure doesn't know that. &amp;nbsp;Let's therefore
&lt;br&gt;add it manually:
&lt;br&gt;&lt;br&gt;tray$ path-to-gmp-4.2.4/configure CC=&amp;quot;cc -m64&amp;quot; --disable-shared &amp;gt;&amp;cfg.log
&lt;br&gt;tray$ gmake
&lt;br&gt;tray$ gmake check
&lt;br&gt;&lt;br&gt;This worked. &amp;nbsp;I also tried a shared build:
&lt;br&gt;&lt;br&gt;tray$ path-to-gmp-4.2.4/configure CC=&amp;quot;cc -m64&amp;quot; --disable-static &amp;gt;&amp;cfg.log
&lt;br&gt;tray$ gmake
&lt;br&gt;tray$ gmake check
&lt;br&gt;&lt;br&gt;This worked too.
&lt;br&gt;&lt;br&gt;&amp;nbsp; I'll try to focus on one test at a time and see if I can single step into
&lt;br&gt;&amp;nbsp; this.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;Yes, I suppose you need to debug this. &amp;nbsp;The odds are on a compiler (or
&lt;br&gt;assembler or linker) bug.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Torbjörn
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22904349&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmp-4.2.4-failures-with-Solaris-10-AMD64-and-Studio-Express-03-09-tp22888257p22904349.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22903803</id>
	<title>Re: gmp-4.2.4 failures with Solaris 10 AMD64 and Studio Express 03/09</title>
	<published>2009-04-05T23:05:21Z</published>
	<updated>2009-04-05T23:05:21Z</updated>
	<author>
		<name>Dennis Clarke-2</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt;&amp;gt; Everything was going well until I ran make check.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; it seems to be a big-endian vs little-endian issue. Maybe the configure
&lt;br&gt;&amp;gt; script
&lt;br&gt;&amp;gt; was fooled by the combination Solaris - AMD64.
&lt;br&gt;&lt;br&gt;Why would that be a problem? Solaris has been 64-bit on AMD64 for years.
&lt;br&gt;&lt;br&gt;I just did a full re-compile again. No optimization and nothing fancy.
&lt;br&gt;Same code segfaults and dumps core over and over.
&lt;br&gt;&lt;br&gt;$ ./tests/mpz/t-io_raw
&lt;br&gt;check_in: result wrong
&lt;br&gt;&amp;nbsp; i=1 zeros=0 neg=0
&lt;br&gt;&amp;nbsp; got_ret &amp;nbsp;5
&lt;br&gt;&amp;nbsp; want_ret 5
&lt;br&gt;&amp;nbsp; got &amp;nbsp; &amp;nbsp; &amp;nbsp;=0x8100000000000000
&lt;br&gt;&amp;nbsp; want &amp;nbsp; &amp;nbsp; =0x81
&lt;br&gt;Abort(coredump)
&lt;br&gt;$ find . -type f | grep core
&lt;br&gt;./tests/mpz/core.t-io_raw.isis_global_i86pc.16411:101.1238997336.20116
&lt;br&gt;./tests/mpz/core.t-import.isis_global_i86pc.16411:101.1238997336.20136
&lt;br&gt;./tests/mpz/core.t-export.isis_global_i86pc.16411:101.1238997337.20156
&lt;br&gt;./core.t-io_raw.isis_global_i86pc.16411:101.1238997763.20239
&lt;br&gt;$
&lt;br&gt;&lt;br&gt;I can generate core files on demand and I am thinking I should go back and
&lt;br&gt;recompile such that I can single step into this until the fault occurs.
&lt;br&gt;There must be a way to find the root cause here.
&lt;br&gt;&lt;br&gt;$ file ./tests/mpz/.libs/t-io_raw
&lt;br&gt;./tests/mpz/.libs/t-io_raw: ELF 64-bit LSB executable AMD64 Version 1
&lt;br&gt;[SSE2 SSE FXSR FPU], dynamically linked, not stripped
&lt;br&gt;$ ldd ./tests/mpz/.libs/t-io_raw
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libgmp.so.3 =&amp;gt; &amp;nbsp;
&lt;br&gt;/export/medusa/dclarke/build/libgmp/i386/CXX/gmp-4.2.4-build-amd64/.libs/libgmp.so.3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libthread.so.1 =&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/lib/64/libthread.so.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libc.so.1 =&amp;gt; &amp;nbsp; &amp;nbsp; /lib/64/libc.so.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libm.so.2 =&amp;gt; &amp;nbsp; &amp;nbsp; /lib/64/libm.so.2
&lt;br&gt;&lt;br&gt;I have LD_LIBRARY_PATH set to find the correct libs.
&lt;br&gt;&lt;br&gt;$ dbx ./tests/mpz/.libs/t-io_raw
&lt;br&gt;For information about new features see `help changes'
&lt;br&gt;To remove this message, put `dbxenv suppress_startup_message 7.7' in your
&lt;br&gt;.dbxrc
&lt;br&gt;Reading t-io_raw
&lt;br&gt;Reading ld.so.1
&lt;br&gt;Reading libgmp.so.3.4.4
&lt;br&gt;Reading libthread.so.1
&lt;br&gt;Reading libc.so.1
&lt;br&gt;(dbx) run
&lt;br&gt;Running: t-io_raw
&lt;br&gt;(process id 20265)
&lt;br&gt;check_in: result wrong
&lt;br&gt;&amp;nbsp; i=1 zeros=0 neg=0
&lt;br&gt;&amp;nbsp; got_ret &amp;nbsp;5
&lt;br&gt;&amp;nbsp; want_ret 5
&lt;br&gt;&amp;nbsp; got &amp;nbsp; &amp;nbsp; &amp;nbsp;=0x8100000000000000
&lt;br&gt;&amp;nbsp; want &amp;nbsp; &amp;nbsp; =0x81
&lt;br&gt;t@1 (l@1) signal ABRT (Abort) in __lwp_kill at 0xfffffd7fff27c94a
&lt;br&gt;0xfffffd7fff27c94a: __lwp_kill+0x000a: &amp;nbsp;jae &amp;nbsp; &amp;nbsp; &amp;nbsp;__lwp_kill+0x18 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;0xfffffd7fff27c958, .+0xe ]
&lt;br&gt;(dbx) where
&lt;br&gt;current thread: t@1
&lt;br&gt;=&amp;gt;[1] __lwp_kill(0x1, 0x6, 0xffffffff89dde400, 0x3, 0x0, 0x0), at
&lt;br&gt;0xfffffd7fff27c94a
&lt;br&gt;&amp;nbsp; [2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff275223
&lt;br&gt;&amp;nbsp; [3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff221c39
&lt;br&gt;&amp;nbsp; [4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2011c0
&lt;br&gt;&amp;nbsp; [5] check_in(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x403b73
&lt;br&gt;&amp;nbsp; [6] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x40462b
&lt;br&gt;(dbx) quit
&lt;br&gt;$
&lt;br&gt;&lt;br&gt;I'll try to focus on one test at a time and see if I cna single step into
&lt;br&gt;this.
&lt;br&gt;&lt;br&gt;Dennis
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22903803&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmp-4.2.4-failures-with-Solaris-10-AMD64-and-Studio-Express-03-09-tp22888257p22903803.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22888464</id>
	<title>Re: gmp-4.2.4 failures with Solaris 10 AMD64 and Studio Express 03/09</title>
	<published>2009-04-04T15:25:19Z</published>
	<updated>2009-04-04T15:25:19Z</updated>
	<author>
		<name>Paul Zimmermann</name>
	</author>
	<content type="html">&amp;gt; Everything was going well until I ran make check.
&lt;br&gt;&lt;br&gt;it seems to be a big-endian vs little-endian issue. Maybe the configure script
&lt;br&gt;was fooled by the combination Solaris - AMD64.
&lt;br&gt;&lt;br&gt;Paul Zimmermann
&lt;br&gt;_______________________________________________
&lt;br&gt;gmp-bugs mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22888464&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gmp-bugs@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://gmplib.org/mailman/listinfo/gmp-bugs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gmplib.org/mailman/listinfo/gmp-bugs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Gnu---GMP---Bugs-f1659.html&quot; embed=&quot;fixTarget[1659]&quot; target=&quot;_top&quot; &gt;Gnu - GMP - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmp-4.2.4-failures-with-Solaris-10-AMD64-and-Studio-Express-03-09-tp22888257p22888464.html" />
</entry>

</feed>
