Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Mar 2013 03:08:38 GMT
From:      Pedro Giffuni <giffunip@tutopia.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/176653: Add a fix to math/spooles
Message-ID:  <201303050308.r2538che012765@red.freebsd.org>
Resent-Message-ID: <201303050310.r253A0g0082989@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         176653
>Category:       ports
>Synopsis:       Add a fix to math/spooles
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 05 03:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Pedro Giffuni
>Release:        9.1-PRERELEASE
>Organization:
>Environment:
FreeBSD pcbsd-8555 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #7: Sun Oct  7 00:05:03 COT 2012     Pedro@pcbsd-8555:/usr/src/sys/amd64/compile/GENERIC  amd64

>Description:
The CalculiX package includes a correction to SPOOLES.2.2 for large input decks:

http://www.dhondt.de/ccx_2.5.SPOOLEScorrection.tar.bz2

I added a patch to our spooles and while here updated the WWW URL to one that works.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: spooles/files/patch-I2Ohash-large-input
===================================================================
--- spooles/files/patch-I2Ohash-large-input	(revision 0)
+++ spooles/files/patch-I2Ohash-large-input	(working copy)
@@ -0,0 +1,49 @@
+--- I2Ohash/src/util.c.orig	2013-03-04 21:21:54.000000000 -0500
++++ I2Ohash/src/util.c	2012-10-06 08:28:37.000000000 -0500
+@@ -39,8 +39,9 @@
+ */
+ loc1 = (key1 + 1) % hashtable->nlist ;
+ loc2 = (key2 + 1) % hashtable->nlist ;
+-long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+-loc =(int) loc3;
++/*loc  = (loc1*loc2) % hashtable->nlist ;*/
++long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
++loc=(int)loc3;
+ #if MYDEBUG > 0
+ fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
+ fflush(stdout) ;
+@@ -51,7 +52,7 @@
+    --------------------------------------------------------
+ */
+ #if MYDEBUG > 0
+-fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
++fprintf(stdout, "\n hashtable->freeI2OP = %p", hashtable->freeI2OP) ;
+ fflush(stdout) ;
+ #endif
+ if ( (i2op = hashtable->freeI2OP) == NULL ) {
+@@ -159,10 +160,11 @@
+ #endif
+ loc1 = (key1 + 1) % hashtable->nlist ;
+ loc2 = (key2 + 1) % hashtable->nlist ;
+-long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+-loc =(int) loc3;
++/*loc  = (loc1*loc2) % hashtable->nlist ;*/
++long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
++loc=(int)loc3;
+ #if MYDEBUG > 0
+-fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
++fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
+ fflush(stdout) ;
+ #endif
+ /*
+@@ -231,7 +233,9 @@
+ }
+ loc1 = (key1 + 1) % hashtable->nlist ;
+ loc2 = (key2 + 1) % hashtable->nlist ;
+-loc  = (loc1*loc2) % hashtable->nlist ;
++/*loc  = (loc1*loc2) % hashtable->nlist ;*/
++long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
++loc=(int)loc3;
+ /*
+    ---------------------------------------------------
+    find the location of the first (key1,key2,*) triple
Index: spooles/pkg-descr
===================================================================
--- spooles/pkg-descr	(revision 313418)
+++ spooles/pkg-descr	(working copy)
@@ -17,4 +17,4 @@
        methods. The preconditioner is a drop tolerance factorization,
        with or without pivoting for stability.
 
-WWW:	http://www.spooles.org/
+WWW:	http://www.netlib.org/linalg/spooles/spooles.2.2.html


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303050308.r2538che012765>