Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/dqg16.ssp
There are 2 other files named dqg16.ssp in the archive. Click here to see a list.
C DG16 10
C ..................................................................DG16 20
C DG16 30
C SUBROUTINE DQG16 DG16 40
C DG16 50
C PURPOSE DG16 60
C TO COMPUTE INTEGRAL(FCT(X), SUMMED OVER X FROM XL TO XU) DG16 70
C DG16 80
C USAGE DG16 90
C CALL DQG16 (XL,XU,FCT,Y) DG16 100
C PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT DG16 110
C DG16 120
C DESCRIPTION OF PARAMETERS DG16 130
C XL - DOUBLE PRECISION LOWER BOUND OF THE INTERVAL. DG16 140
C XU - DOUBLE PRECISION UPPER BOUND OF THE INTERVAL. DG16 150
C FCT - THE NAME OF AN EXTERNAL DOUBLE PRECISION FUNCTION DG16 160
C SUBPROGRAM USED. DG16 170
C Y - THE RESULTING DOUBLE PRECISION INTEGRAL VALUE. DG16 180
C DG16 190
C REMARKS DG16 200
C NONE DG16 210
C DG16 220
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED DG16 230
C THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X) DG16 240
C MUST BE FURNISHED BY THE USER. DG16 250
C DG16 260
C METHOD DG16 270
C EVALUATION IS DONE BY MEANS OF 16-POINT GAUSS QUADRATURE DG16 280
C FORMULA, WHICH INTEGRATES POLYNOMIALS UP TO DEGREE 31 DG16 290
C EXACTLY. FOR REFERENCE, SEE DG16 300
C V.I.KRYLOV, APPROXIMATE CALCULATION OF INTEGRALS, DG16 310
C MACMILLAN, NEW YORK/LONDON, 1962, PP.100-111 AND 337-340. DG16 320
C DG16 330
C ..................................................................DG16 340
C DG16 350
SUBROUTINE DQG16(XL,XU,FCT,Y) DG16 360
C DG16 370
C DG16 380
DOUBLE PRECISION XL,XU,Y,A,B,C,FCT DG16 390
C DG16 400
A=.5D0*(XU+XL) DG16 410
B=XU-XL DG16 420
C=.49470046749582497D0*B DG16 430
Y=.13576229705877047D-1*(FCT(A+C)+FCT(A-C)) DG16 440
C=.47228751153661629D0*B DG16 450
Y=Y+.31126761969323946D-1*(FCT(A+C)+FCT(A-C)) DG16 460
C=.43281560119391587D0*B DG16 470
Y=Y+.47579255841246392D-1*(FCT(A+C)+FCT(A-C)) DG16 480
C=.37770220417750152D0*B DG16 490
Y=Y+.62314485627766936D-1*(FCT(A+C)+FCT(A-C)) DG16 500
C=.30893812220132187D0*B DG16 510
Y=Y+.7479799440828837D-1*(FCT(A+C)+FCT(A-C)) DG16 520
C=.22900838882861369D0*B DG16 530
Y=Y+.8457825969750127D-1*(FCT(A+C)+FCT(A-C)) DG16 540
C=.14080177538962946D0*B DG16 550
Y=Y+.9130170752246179D-1*(FCT(A+C)+FCT(A-C)) DG16 560
C=.47506254918818720D-1*B DG16 570
Y=B*(Y+.9472530522753425D-1*(FCT(A+C)+FCT(A-C))) DG16 580
RETURN DG16 590
END DG16 600