bugPSPP - Bugs: bug #23263, Shouldn't need GSL for isinf,...

 
 

bug #23263: Shouldn't need GSL for isinf, isnan, and finite

Submitter:  Ben Pfaff <blp>
Submitted:  Fri 16 May 2008 05:41:30 AM UTC
   
 
Category:  Compilation/Portability Severity:  5 - Average
Status:  Fixed Assigned to:  None
Open/Closed:  Closed Release:  Post-0.6.0
Effort:  0.00
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 29 Jul 2008 05:28:30 AM UTC, comment #6: 

Thanks.  I pushed this to the repo.

Ben Pfaff <blp>
Group administrator
Mon 28 Jul 2008 05:37:45 AM UTC, comment #5: 

Looks fine to me.

John Darrington <jmd>
Group administrator
Sun 27 Jul 2008 06:12:14 PM UTC, comment #4: 

Here is a patch that integrates the new gnulib modules into PSPP, changing it back to use the standard C99 functions.

Summary:

    Use standard C99 isfinite, isnan, isinf in place of GSL substitutes.
   
    In change a9afcdd22, "Use gsl_isnan instead of isnan, ...," isfinite,
    isnan, and isinf were changed to use the GSL substitutes because of
    lack of portability of the C99 versions.  Now, gnulib has portable
    versions of all of these, so change them back.
   
    This commit changes calls to gsl_finite() to call isfinite() instead
    of the equivalent finite().  isfinite() is correct here: both gsl_finite()
    and finite() return true for NaNs, which is a surprising result given
    that a NaN is definitely not finite, but isfinite() returns false and,
    more importantly, behaves as actually wanted in each place it is used
    in PSPP code.
   
    This commit requires upgrading gnulib to at least change 5183a0e3c,
    "Add missing dependencies on new m4/exponent[fdl].m4 files," or later,
    and re-running "make -f Smake".


(file #16190)

Ben Pfaff <blp>
Group administrator
Sat 26 Jul 2008 05:52:42 AM UTC, comment #3: 

Status update: A module for portable "isinf" support has been checked into gnulib.  This completes the needed gnulib support.

The remaining work, therefore, is simply to start using the modules in PSPP.

Ben Pfaff <blp>
Group administrator
Sun 13 Jul 2008 06:24:00 PM UTC, comment #2: 

Status update: A module for portable "isnan" support has been checked into gnulib.

Ben Pfaff <blp>
Group administrator
Tue 08 Jul 2008 05:07:49 AM UTC, comment #1: 

Status update:

The "finite" function shouldn't be used at all: its semantics are bizarre.  It looks like all uses of finite(x) in PSPP can be replaced by isfinite(x), which is implemented portably by Gnulib.

The "isnan" function has a gnulib replacement in the works: http://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/14028

The "isinf" function still needs a replacement.

Ben Pfaff <blp>
Group administrator
Fri 16 May 2008 05:41:30 AM UTC, original submission:  

Patch #6512 changed PSPP's uses of the isinf, isnan, and finite functions to use the equivalent functions from GSL instead.  It would be better to add gnulib modules for these instead.  As pointed out at http://article.gmane.org/gmane.comp.statistics.pspp.devel/1879, using GSL also creates an unnecessary dependency for the Perl module.

Ben Pfaff <blp>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #16190:  foo.patch added by blp (8KiB - text/x-diff - proposed bug fix)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jmd (Updated the item)
  • -email is unavailable- added by blp (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-07-29 blp StatusReady for Test/Review Fixed
        Open/ClosedOpen Closed
    2008-07-27 blp Attached File- Added foo.patch, #16190
        StatusNone Ready for Test/Review
    2008-05-24 jmd ReleaseNone Post-0.6.0

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code