|
|
b7adf43 |
#! /bin/sh /usr/share/dpatch/dpatch-run
|
|
|
b7adf43 |
## 216-use-cernlib-gamma-not-intrinsic.dpatch by Kevin B. McCarty <kmccarty@debian.org>
|
|
|
b7adf43 |
##
|
|
|
b7adf43 |
## All lines beginning with `## DP:' are a description of the patch.
|
|
|
b7adf43 |
## DP: Force use of mathlib gamma function in mathlib tests.
|
|
|
b7adf43 |
## DP: Built-in libc gamma function may not be sufficiently precise,
|
|
|
b7adf43 |
## DP: see, e.g., http://gcc.gnu.org/ml/fortran/2007-10/msg00096.html etc.
|
|
|
b7adf43 |
|
|
|
b7adf43 |
@DPATCH@
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/algama.F cernlib-2006.dfsg.2/src/mathlib/gen/c/algama.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/algama.F 1996-04-01 07:01:54.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/algama.F 2008-01-29 10:02:41.000000000 -0800
|
|
|
db90bd4 |
@@ -10,6 +10,7 @@
|
|
|
db90bd4 |
#if (defined(CERNLIB_DOUBLE))&&(!defined(CERNLIB_IBM))
|
|
|
db90bd4 |
FUNCTION ALGAMA(X)
|
|
|
db90bd4 |
DOUBLE PRECISION DLGAMA,D
|
|
|
db90bd4 |
+ EXTERNAL DLGAMA
|
|
|
db90bd4 |
|
|
|
db90bd4 |
ENTRY ALOGAM(X)
|
|
|
db90bd4 |
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/alogam.F cernlib-2006.dfsg.2/src/mathlib/gen/c/alogam.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/alogam.F 1996-04-01 07:01:54.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/alogam.F 2008-01-29 10:03:54.000000000 -0800
|
|
|
db90bd4 |
@@ -9,6 +9,7 @@
|
|
|
db90bd4 |
#include "gen/pilot.h"
|
|
|
db90bd4 |
#if (defined(CERNLIB_DOUBLE))&&(defined(CERNLIB_IBM))
|
|
|
db90bd4 |
FUNCTION ALOGAM(X)
|
|
|
db90bd4 |
+ EXTERNAL ALGAMA
|
|
|
db90bd4 |
ALOGAM = ALGAMA(X)
|
|
|
db90bd4 |
END
|
|
|
db90bd4 |
#endif
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/bsja64.F cernlib-2006.dfsg.2/src/mathlib/gen/c/bsja64.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/bsja64.F 1996-04-01 07:02:08.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/bsja64.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -21,9 +21,11 @@
|
|
|
b7adf43 |
#if defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
PARAMETER (NAMEJ = 'BSJA/DBSJA',
|
|
|
b7adf43 |
1 NAMEI = 'BSIA/DBSIA')
|
|
|
b7adf43 |
+ EXTERNAL DGAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
PARAMETER (NAMEJ = 'BSJA', NAMEI = 'BSIA')
|
|
|
b7adf43 |
+ EXTERNAL GAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
LOGICAL LJA,LIA,LEV,LER
|
|
|
b7adf43 |
DIMENSION B(0:*),BA(0:100),RR(0:100)
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/cbsja64.F cernlib-2006.dfsg.2/src/mathlib/gen/c/cbsja64.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/cbsja64.F 1996-04-01 07:02:09.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/cbsja64.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -21,9 +21,11 @@
|
|
|
b7adf43 |
CHARACTER NAME*(*)
|
|
|
b7adf43 |
#if defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
PARAMETER (NAME = 'CBSJA/WBSJA')
|
|
|
b7adf43 |
+ EXTERNAL DGAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
PARAMETER (NAME = 'CBSJA')
|
|
|
b7adf43 |
+ EXTERNAL GAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
LOGICAL LER
|
|
|
b7adf43 |
DIMENSION CB(0:*),CBA(0:100),RR(0:100)
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/dlogam.F cernlib-2006.dfsg.2/src/mathlib/gen/c/dlogam.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/dlogam.F 1996-04-01 07:01:55.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/dlogam.F 2008-01-29 10:04:25.000000000 -0800
|
|
|
db90bd4 |
@@ -9,6 +9,7 @@
|
|
|
db90bd4 |
#include "gen/pilot.h"
|
|
|
db90bd4 |
#if defined(CERNLIB_IBM)
|
|
|
db90bd4 |
FUNCTION DLOGAM(X)
|
|
|
db90bd4 |
+ EXTERNAL DLGAMA
|
|
|
db90bd4 |
#include "gen/imp64.inc"
|
|
|
db90bd4 |
DLOGAM = DLGAMA(X)
|
|
|
db90bd4 |
END
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/gagnc64.F cernlib-2006.dfsg.2/src/mathlib/gen/c/gagnc64.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/gagnc64.F 1996-04-01 07:02:05.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/gagnc64.F 2008-01-29 10:04:48.000000000 -0800
|
|
|
db90bd4 |
@@ -25,9 +25,11 @@
|
|
|
db90bd4 |
CHARACTER NAME*(*)
|
|
|
db90bd4 |
CHARACTER*80 ERRTXT
|
|
|
db90bd4 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
+ EXTERNAL ALGAMA
|
|
|
db90bd4 |
PARAMETER (NAME = 'RGAGNC')
|
|
|
db90bd4 |
#endif
|
|
|
db90bd4 |
#if defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
+ EXTERNAL DLGAMA
|
|
|
db90bd4 |
PARAMETER (NAME = 'RGAGNC/DGAGNC')
|
|
|
db90bd4 |
#endif
|
|
|
db90bd4 |
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/gapnc64.F cernlib-2006.dfsg.2/src/mathlib/gen/c/gapnc64.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/gapnc64.F 1996-04-01 07:02:05.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/gapnc64.F 2008-01-29 10:03:35.000000000 -0800
|
|
|
db90bd4 |
@@ -24,9 +24,11 @@
|
|
|
db90bd4 |
CHARACTER NAME*(*)
|
|
|
db90bd4 |
CHARACTER*80 ERRTXT
|
|
|
db90bd4 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
+ EXTERNAL ALGAMA
|
|
|
db90bd4 |
PARAMETER (NAME = 'RGAPNC')
|
|
|
db90bd4 |
#endif
|
|
|
db90bd4 |
#if defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
+ EXTERNAL DLGAMA
|
|
|
db90bd4 |
PARAMETER (NAME = 'RGAPNC/DGAPNC')
|
|
|
db90bd4 |
#endif
|
|
|
db90bd4 |
PARAMETER (EPS = 5D-14)
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/c/rrizet64.F cernlib-2006.dfsg.2/src/mathlib/gen/c/rrizet64.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/c/rrizet64.F 1996-04-01 07:02:00.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/c/rrizet64.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -14,12 +14,14 @@
|
|
|
b7adf43 |
C
|
|
|
b7adf43 |
CHARACTER*(*) NAME
|
|
|
b7adf43 |
PARAMETER(NAME='RRIZET/DRIZET')
|
|
|
b7adf43 |
+ EXTERNAL DGAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
FUNCTION RRIZET(X)
|
|
|
b7adf43 |
C
|
|
|
b7adf43 |
CHARACTER*(*) NAME
|
|
|
b7adf43 |
PARAMETER(NAME='RRIZET')
|
|
|
b7adf43 |
+ EXTERNAL GAMMA
|
|
|
b7adf43 |
#endif
|
|
|
b7adf43 |
C
|
|
|
b7adf43 |
DIMENSION P1(0:8),P2(0:8),P3(0:9),P4(0:8)
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/g/gamdis.F cernlib-2006.dfsg.2/src/mathlib/gen/g/gamdis.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/g/gamdis.F 1996-04-01 07:02:43.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/g/gamdis.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -28,6 +28,8 @@
|
|
|
b7adf43 |
PARAMETER (Z1 = 1, HALF = Z1/2, QUAR = Z1/4)
|
|
|
b7adf43 |
PARAMETER (C1 = 3*Z1/2, KMAX = 300)
|
|
|
b7adf43 |
|
|
|
b7adf43 |
+ EXTERNAL GAMMA
|
|
|
b7adf43 |
+
|
|
|
b7adf43 |
DATA C
|
|
|
b7adf43 |
1/ 0.5772157,-0.6558781,-0.0420026, 0.1665386,-0.0421977,
|
|
|
b7adf43 |
2 -0.0096220, 0.0072189,-0.0011652,-0.0002152, 0.0001281,
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/tests/c302m.F cernlib-2006.dfsg.2/src/mathlib/gen/tests/c302m.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/tests/c302m.F 1996-04-01 07:01:13.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/tests/c302m.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -36,6 +36,7 @@
|
|
|
b7adf43 |
#include "gen/imp64.inc"
|
|
|
b7adf43 |
|
|
|
b7adf43 |
REAL GAMMA
|
|
|
b7adf43 |
+ EXTERNAL GAMMA, DGAMMA
|
|
|
b7adf43 |
CHARACTER*6 TFUNC(2)
|
|
|
b7adf43 |
#include "iorc.inc"
|
|
|
b7adf43 |
C
|
|
|
db90bd4 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/tests/c310m.F cernlib-2006.dfsg.2/src/mathlib/gen/tests/c310m.F
|
|
|
db90bd4 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/tests/c310m.F 1996-04-01 07:01:14.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/tests/c310m.F 2008-01-29 10:02:19.000000000 -0800
|
|
|
db90bd4 |
@@ -36,6 +36,7 @@
|
|
|
db90bd4 |
|
|
|
db90bd4 |
#include "imp64r.inc"
|
|
|
db90bd4 |
REAL ALGAMA
|
|
|
db90bd4 |
+ EXTERNAL ALGAMA
|
|
|
db90bd4 |
C Set maximum error allowed for test to be considered successful
|
|
|
db90bd4 |
DIMENSION TOL(2),TOLIBM(2)
|
|
|
db90bd4 |
|
|
|
db90bd4 |
@@ -50,6 +51,7 @@
|
|
|
db90bd4 |
#if defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
DIMENSION Y(7),T(7)
|
|
|
db90bd4 |
REAL RT(7)
|
|
|
db90bd4 |
+ EXTERNAL DLGAMA
|
|
|
db90bd4 |
#endif
|
|
|
db90bd4 |
#if !defined(CERNLIB_DOUBLE)
|
|
|
db90bd4 |
REAL Y(7),T(7)
|
|
|
b7adf43 |
diff -urNad cernlib-2006.dfsg.2~/src/mathlib/gen/tests/e408m.F cernlib-2006.dfsg.2/src/mathlib/gen/tests/e408m.F
|
|
|
b7adf43 |
--- cernlib-2006.dfsg.2~/src/mathlib/gen/tests/e408m.F 1998-11-05 02:41:34.000000000 -0800
|
|
|
db90bd4 |
+++ cernlib-2006.dfsg.2/src/mathlib/gen/tests/e408m.F 2008-01-29 10:00:11.000000000 -0800
|
|
|
b7adf43 |
@@ -44,6 +44,12 @@
|
|
|
b7adf43 |
DATA TXT(2) /'EXP(-X**2) (-1 <= X <= 1) LUKE 3.2.2(8)'/
|
|
|
b7adf43 |
DATA TXT(3) /'J_1(X) (-1 <= X <= 1) LUKE 9.7(7)'/
|
|
|
b7adf43 |
|
|
|
b7adf43 |
+#if defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
+ EXTERNAL DGAMMA
|
|
|
b7adf43 |
+#else
|
|
|
b7adf43 |
+ EXTERNAL GAMMA
|
|
|
b7adf43 |
+#endif
|
|
|
b7adf43 |
+
|
|
|
b7adf43 |
#if !defined(CERNLIB_WINNT) && !defined(CERNLIB_LINUX)
|
|
|
b7adf43 |
# if defined(CERNLIB_DOUBLE)
|
|
|
b7adf43 |
GVSUM(N,B,C) = DVSUM(N,B,C)
|