├── README.md └── src ├── INSTALL ├── Makefile ├── PRECOMPILED_LIBRARIES ├── README ├── RunMake ├── change.log ├── doc ├── Index ├── Summary ├── adapt │ ├── Summary │ └── adapt ├── amoslib │ ├── Summary │ ├── besj │ ├── besy │ ├── cjyhbs │ ├── dbesj │ ├── dexint │ ├── dpsifn │ ├── dpsixn │ ├── exint │ ├── gamln │ ├── psifn │ └── psixn ├── blas │ ├── Summary │ ├── caxpy │ ├── ccopy │ ├── cdotc │ ├── cdotu │ ├── crotg │ ├── cscal │ ├── csscal │ ├── cswap │ ├── dasum │ ├── daxpy │ ├── dcopy │ ├── ddot │ ├── dnrm2 │ ├── drot │ ├── drotg │ ├── drotm │ ├── drotmg │ ├── dscal │ ├── dsdot │ ├── dswap │ ├── icamax │ ├── idamax │ ├── isamax │ ├── sasum │ ├── saxpy │ ├── scasum │ ├── scnrm2 │ ├── scopy │ ├── sdot │ ├── sdsdot │ ├── snrm2 │ ├── srot │ ├── srotg │ ├── srotm │ ├── srotmg │ ├── sscal │ └── sswap ├── bocls │ ├── Summary │ ├── dbocls │ └── dbols ├── bspline │ ├── Summary │ ├── bfqad │ ├── bint4 │ ├── bintk │ ├── bspdr │ ├── bspev │ ├── bsppp │ ├── bspvd │ ├── bspvn │ ├── bsqad │ ├── bvalu │ ├── intrv │ ├── pfqad │ ├── ppqad │ └── ppval ├── bvsup │ ├── Summary │ └── bvsup ├── cdriv │ ├── Summary │ ├── cdcor │ ├── cdcst │ ├── cdntl │ ├── cdntp │ ├── cdpsc │ ├── cdpst │ ├── cdriv1 │ ├── cdriv2 │ ├── cdriv3 │ ├── cdscl │ ├── cdstp │ └── cdzro ├── cluster │ ├── Summary │ ├── Summary% │ ├── aid │ ├── assign │ ├── boxes │ ├── build │ ├── dist │ ├── ditto │ ├── dot │ ├── fish │ ├── hist │ ├── in │ ├── invert │ ├── join │ ├── join2 │ ├── letree │ ├── line │ ├── link │ ├── mhist │ ├── miss │ ├── mix │ ├── mixind │ ├── modal │ ├── out │ ├── plot │ ├── pmany │ ├── prof │ ├── quick │ ├── rank │ ├── reloc │ ├── scale │ ├── search │ ├── slink │ ├── sparse │ ├── split1 │ ├── split2 │ ├── stand │ ├── varco │ ├── wcov │ └── wdist ├── cpqr79 │ ├── Summary │ ├── cpqr79 │ └── rpqr79 ├── cpzero │ ├── Summary │ ├── cpzero │ └── rpzero ├── dbsplin │ ├── Summary │ ├── dbfqad │ ├── dbint4 │ ├── dbintk │ ├── dbspdr │ ├── dbspev │ ├── dbsppp │ ├── dbspvd │ ├── dbspvn │ ├── dbsqad │ ├── dbvalu │ ├── dintrv │ ├── dpfqad │ ├── dppqad │ └── dppval ├── ddassl │ ├── Summary │ └── ddassl ├── ddriv │ ├── Summary │ ├── ddcor │ ├── ddcst │ ├── ddntl │ ├── ddntp │ ├── ddpsc │ ├── ddpst │ ├── ddriv1 │ ├── ddriv2 │ ├── ddriv3 │ ├── ddscl │ ├── ddstp │ └── ddzro ├── depac │ ├── Summary │ ├── deabm │ ├── debdf │ └── derkf ├── dnl2sn │ ├── Summary │ ├── dhumsl │ ├── dnl2s1 │ ├── dnl2sn │ ├── dsmsno │ └── dsumsl ├── dqrlss │ ├── Summary │ ├── dqrank │ └── dqrlss ├── dtensbs │ ├── Summary │ ├── db2ink │ ├── db2val │ ├── db3ink │ └── db3val ├── eispack │ ├── Summary │ ├── bakvec │ ├── balanc │ ├── balbak │ ├── bandr │ ├── bandv │ ├── bisect │ ├── bqr │ ├── cbabk2 │ ├── cbal │ ├── cg │ ├── ch │ ├── cinvit │ ├── combak │ ├── comhes │ ├── comlr │ ├── comlr2 │ ├── comqr │ ├── comqr2 │ ├── cortb │ ├── corth │ ├── elmbak │ ├── elmhes │ ├── eltran │ ├── figi │ ├── figi2 │ ├── hqr │ ├── hqr2 │ ├── htrib3 │ ├── htribk │ ├── htrid3 │ ├── htridi │ ├── imtql1 │ ├── imtql2 │ ├── imtqlv │ ├── invit │ ├── minfit │ ├── ortbak │ ├── orthes │ ├── ortran │ ├── qzhes │ ├── qzit │ ├── qzval │ ├── qzvec │ ├── ratqr │ ├── rebak │ ├── rebakb │ ├── reduc │ ├── reduc2 │ ├── rg │ ├── rgg │ ├── rs │ ├── rsb │ ├── rsg │ ├── rsgab │ ├── rsgba │ ├── rsp │ ├── rst │ ├── rt │ ├── svd │ ├── tinvit │ ├── tql1 │ ├── tql2 │ ├── tqlrat │ ├── trbak1 │ ├── trbak3 │ ├── tred1 │ ├── tred2 │ ├── tred3 │ ├── tridib │ └── tsturm ├── fc │ ├── Summary │ ├── bndacc │ ├── bndsol │ ├── cv │ ├── efc │ ├── fc │ ├── h12 │ ├── hfti │ ├── lpdp │ ├── lsei │ └── wnnls ├── fcnpak │ ├── Summary │ ├── normp │ ├── rc │ ├── rd │ ├── rf │ ├── rj │ ├── setup │ ├── xdadd │ ├── xdadj │ ├── xdc210 │ ├── xdcon │ ├── xdcsrt │ ├── xderr │ ├── xdlegf │ ├── xdnrmp │ ├── xdpcom │ ├── xdpmu │ ├── xdpmup │ ├── xdpnrm │ ├── xdpqnu │ ├── xdpsi │ ├── xdqmu │ ├── xdqnu │ ├── xdred │ ├── xdset │ ├── xlegf │ ├── xsadd │ ├── xsadj │ ├── xsc210 │ ├── xscon │ ├── xscsrt │ ├── xserr │ ├── xslegf │ ├── xsnrmp │ ├── xspcom │ ├── xspmu │ ├── xspmup │ ├── xspnrm │ ├── xspqnu │ ├── xspsi │ ├── xsqmu │ ├── xsqnu │ ├── xsred │ └── xsset ├── fftpkg │ ├── Summary │ ├── cfftb │ ├── cfftf │ ├── cffti │ ├── cosqb │ ├── cosqf │ ├── cosqi │ ├── cost │ ├── costi │ ├── ezfftb │ ├── ezfftf │ ├── ezffti │ ├── rfftb │ ├── rfftf │ ├── rffti │ ├── sinqb │ ├── sinqf │ ├── sinqi │ ├── sint │ └── sinti ├── fishpak │ ├── Summary │ ├── blktri │ ├── cblktr │ ├── cmgnbn │ ├── genbun │ ├── hstcrt │ ├── hstcsp │ ├── hstcyl │ ├── hstplr │ ├── hstssp │ ├── hw3crt │ ├── hwscrt │ ├── hwscsp │ ├── hwscyl │ ├── hwsplr │ ├── hwsssp │ ├── pois3d │ ├── poistg │ ├── sepeli │ └── sepx4 ├── fnlib │ ├── Summary │ ├── acosh │ ├── ai │ ├── aie │ ├── albeta │ ├── algams │ ├── ali │ ├── alngam │ ├── alnrel │ ├── asinh │ ├── atanh │ ├── besi0 │ ├── besi0e │ ├── besi1 │ ├── besi1e │ ├── besj0 │ ├── besj1 │ ├── besk0 │ ├── besk0e │ ├── besk1 │ ├── besk1e │ ├── beskes │ ├── besks │ ├── besy0 │ ├── besy1 │ ├── beta │ ├── betai │ ├── bi │ ├── bie │ ├── binom │ ├── cacos │ ├── cacosh │ ├── carg │ ├── casin │ ├── casinh │ ├── catan │ ├── catan2 │ ├── catanh │ ├── cbeta │ ├── cbrt │ ├── ccbrt │ ├── ccosh │ ├── ccot │ ├── cexprl │ ├── cgamma │ ├── cgamr │ ├── chu │ ├── clbeta │ ├── clngam │ ├── clnrel │ ├── clog10 │ ├── cosdg │ ├── cot │ ├── cpsi │ ├── csevl │ ├── csinh │ ├── ctan │ ├── ctanh │ ├── dacosh │ ├── dai │ ├── daie │ ├── dasinh │ ├── datanh │ ├── daws │ ├── dbesi0 │ ├── dbesi1 │ ├── dbesj0 │ ├── dbesj1 │ ├── dbesk0 │ ├── dbesk1 │ ├── dbesks │ ├── dbesy0 │ ├── dbesy1 │ ├── dbeta │ ├── dbetai │ ├── dbi │ ├── dbie │ ├── dbinom │ ├── dbsi0e │ ├── dbsi1e │ ├── dbsk0e │ ├── dbsk1e │ ├── dbskes │ ├── dcbrt │ ├── dchu │ ├── dcosdg │ ├── dcot │ ├── dcsevl │ ├── ddaws │ ├── de1 │ ├── dei │ ├── derf │ ├── derfc │ ├── dexprl │ ├── dfac │ ├── dgami │ ├── dgamic │ ├── dgamit │ ├── dgamma │ ├── dgamr │ ├── dlbeta │ ├── dlgams │ ├── dli │ ├── dlngam │ ├── dlnrel │ ├── dpoch │ ├── dpoch1 │ ├── dpsi │ ├── dsindg │ ├── dspenc │ ├── e1 │ ├── ei │ ├── erf │ ├── erfc │ ├── exprel │ ├── fac │ ├── gami │ ├── gamic │ ├── gamit │ ├── gamma │ ├── gamr │ ├── poch │ ├── poch1 │ ├── psi │ ├── rand │ ├── rgauss │ ├── runif │ ├── sindg │ └── spenc ├── licepak │ ├── Summary │ ├── cgeev │ ├── chiev │ ├── sgeev │ ├── ssiev │ └── sspev ├── lindrv │ ├── Summary │ ├── cgefs │ ├── cgeir │ ├── cnbco │ ├── cnbdi │ ├── cnbfa │ ├── cnbfs │ ├── cnbir │ ├── cnbsl │ ├── cpofs │ ├── cpoir │ ├── dgefs │ ├── dnbco │ ├── dnbdi │ ├── dnbfa │ ├── dnbfs │ ├── dnbsl │ ├── dpofs │ ├── sgefs │ ├── sgeir │ ├── snbco │ ├── snbdi │ ├── snbfa │ ├── snbfs │ ├── snbir │ ├── snbsl │ ├── spofs │ └── spoir ├── linpakc │ ├── Summary │ ├── cchdc │ ├── cchdd │ ├── cchex │ ├── cchud │ ├── cgbco │ ├── cgbdi │ ├── cgbfa │ ├── cgbsl │ ├── cgeco │ ├── cgedi │ ├── cgefa │ ├── cgesl │ ├── cgtsl │ ├── chico │ ├── chidi │ ├── chifa │ ├── chisl │ ├── chpco │ ├── chpdi │ ├── chpfa │ ├── chpsl │ ├── cpbco │ ├── cpbdi │ ├── cpbfa │ ├── cpbsl │ ├── cpoco │ ├── cpodi │ ├── cpofa │ ├── cposl │ ├── cppco │ ├── cppdi │ ├── cppfa │ ├── cppsl │ ├── cptsl │ ├── cqrdc │ ├── cqrsl │ ├── csico │ ├── csidi │ ├── csifa │ ├── csisl │ ├── cspco │ ├── cspdi │ ├── cspfa │ ├── cspsl │ ├── csvdc │ ├── ctrco │ ├── ctrdi │ └── ctrsl ├── linpakd │ ├── Summary │ ├── dchdc │ ├── dchdd │ ├── dchex │ ├── dchud │ ├── dgbco │ ├── dgbdi │ ├── dgbfa │ ├── dgbsl │ ├── dgeco │ ├── dgedi │ ├── dgefa │ ├── dgesl │ ├── dgtsl │ ├── dpbco │ ├── dpbdi │ ├── dpbfa │ ├── dpbsl │ ├── dpoco │ ├── dpodi │ ├── dpofa │ ├── dposl │ ├── dppco │ ├── dppdi │ ├── dppfa │ ├── dppsl │ ├── dptsl │ ├── dqrdc │ ├── dqrsl │ ├── dsico │ ├── dsidi │ ├── dsifa │ ├── dsisl │ ├── dspco │ ├── dspdi │ ├── dspfa │ ├── dspsl │ ├── dsvdc │ ├── dtrco │ ├── dtrdi │ └── dtrsl ├── linpaks │ ├── Summary │ ├── schdc │ ├── schdd │ ├── schex │ ├── schud │ ├── sgbco │ ├── sgbdi │ ├── sgbfa │ ├── sgbsl │ ├── sgeco │ ├── sgedi │ ├── sgefa │ ├── sgesl │ ├── sgtsl │ ├── spbco │ ├── spbdi │ ├── spbfa │ ├── spbsl │ ├── spoco │ ├── spodi │ ├── spofa │ ├── sposl │ ├── sppco │ ├── sppdi │ ├── sppfa │ ├── sppsl │ ├── sptsl │ ├── sqrdc │ ├── sqrsl │ ├── ssico │ ├── ssidi │ ├── ssifa │ ├── ssisl │ ├── sspco │ ├── sspdi │ ├── sspfa │ ├── sspsl │ ├── ssvdc │ ├── strco │ ├── strdi │ └── strsl ├── lotps │ ├── Summary │ ├── local │ ├── loevl │ ├── logrd │ ├── lolip │ └── lotps ├── machcon │ ├── Summary │ ├── d1mach │ ├── i1mach │ └── r1mach ├── mxentrp │ ├── Summary │ └── burg ├── nl2sn │ ├── Summary │ ├── humsl │ ├── nl2s1 │ ├── nl2sn │ ├── smsno │ └── sumsl ├── odrpack │ ├── Summary │ ├── dodr │ ├── dodrc │ ├── sodr │ └── sodrc ├── pchipd │ ├── Summary │ ├── dchfdv │ ├── dchfev │ ├── dchfiv │ ├── dchfmc │ ├── dpchce │ ├── dpchci │ ├── dpchcs │ ├── dpchdf │ ├── dpchfd │ ├── dpchfe │ ├── dpchia │ ├── dpchic │ ├── dpchid │ ├── dpchim │ ├── dpchmc │ ├── dpchsp │ ├── dpchst │ └── dpchsw ├── pchips │ ├── Summary │ ├── chfdv │ ├── chfev │ ├── chfiv │ ├── chfmc │ ├── pchce │ ├── pchci │ ├── pchcs │ ├── pchdf │ ├── pchdoc │ ├── pchfd │ ├── pchfe │ ├── pchia │ ├── pchic │ ├── pchid │ ├── pchim │ ├── pchmc │ ├── pchsp │ ├── pchst │ └── pchsw ├── q1da │ ├── Summary │ ├── q1da │ ├── q1dax │ └── q1db ├── quadpkd │ ├── Summary │ ├── dea │ ├── dqag │ ├── dqage │ ├── dqagi │ ├── dqagie │ ├── dqagie% │ ├── dqagp │ ├── dqagpe │ ├── dqags │ ├── dqagse │ ├── dqawc │ ├── dqawce │ ├── dqawf │ ├── dqawfe │ ├── dqawo │ ├── dqawoe │ ├── dqaws │ ├── dqawse │ ├── dqc25c │ ├── dqc25f │ ├── dqc25s │ ├── dqcheb │ ├── dqelg │ ├── dqk15 │ ├── dqk15i │ ├── dqk15w │ ├── dqk21 │ ├── dqk31 │ ├── dqk41 │ ├── dqk51 │ ├── dqk61 │ ├── dqmomo │ ├── dqng │ └── dqpsrt ├── quadpks │ ├── Summary │ ├── ea │ ├── qag │ ├── qage │ ├── qagi │ ├── qagie │ ├── qagp │ ├── qagpe │ ├── qags │ ├── qagse │ ├── qawc │ ├── qawce │ ├── qawf │ ├── qawfe │ ├── qawo │ ├── qawoe │ ├── qaws │ ├── qawse │ ├── qc25c │ ├── qc25f │ ├── qc25s │ ├── qcheb │ ├── qelg │ ├── qk15 │ ├── qk15i │ ├── qk15w │ ├── qk21 │ ├── qk31 │ ├── qk41 │ ├── qk51 │ ├── qk61 │ ├── qmomo │ ├── qng │ └── qpsrt ├── rv │ ├── Summary │ ├── rnor │ └── uni ├── sdassl │ ├── Summary │ └── sdassl ├── sdriv │ ├── Summary │ ├── sdcor │ ├── sdcst │ ├── sdntl │ ├── sdntp │ ├── sdpsc │ ├── sdpst │ ├── sdriv1 │ ├── sdriv2 │ ├── sdriv3 │ ├── sdscl │ ├── sdstp │ └── sdzro ├── sglss │ ├── Summary │ ├── llsia │ ├── sglss │ └── ulsia ├── slrpack │ ├── Summary │ ├── dlinfs │ ├── linfs │ ├── rgm │ ├── rwill │ └── ryork ├── slvblk │ ├── Summary │ └── slvblk ├── snls1e │ ├── Summary │ ├── chkder │ ├── scov │ ├── snls1 │ ├── snls1e │ ├── snsq │ ├── snsqe │ └── sos ├── splp │ ├── Summary │ └── splp ├── sqrlss │ ├── Summary │ ├── sqrank │ └── sqrlss ├── ssort │ ├── Summary │ ├── csort │ ├── isort │ └── ssort ├── sudsods │ ├── Summary │ ├── sods │ └── suds ├── tensbs │ ├── Summary │ ├── b2ink │ ├── b2val │ ├── b3ink │ └── b3val ├── twodq │ ├── Summary │ └── twodq ├── uncmin │ ├── Summary │ ├── optif0 │ └── optif9 ├── vfft │ ├── Summary │ ├── vcosqb │ ├── vcosqf │ ├── vcosqi │ ├── vcost │ ├── vcosti │ ├── vrfftb │ ├── vrfftf │ ├── vrffti │ ├── vsinqb │ ├── vsinqf │ ├── vsinqi │ ├── vsint │ └── vsinti ├── vhs3 │ ├── Summary │ ├── hs3cri │ ├── hs3crt │ ├── pst3di │ └── pstg3d ├── vsfft │ ├── Summary │ ├── vscosb │ ├── vscosf │ ├── vscosi │ ├── vscosq │ ├── vscsqi │ ├── vsrftb │ ├── vsrftf │ ├── vsrfti │ ├── vssinb │ ├── vssinf │ ├── vssini │ ├── vssinq │ └── vssnqi ├── xblas │ ├── Summary │ ├── cdcdot │ ├── csrot │ ├── dcdot │ ├── isamin │ ├── ismax │ ├── ismin │ └── scopym ├── xerror │ ├── Summary │ ├── numxer │ ├── xerabt │ ├── xerclr │ ├── xerctl │ ├── xerdmp │ ├── xermax │ ├── xerprt │ ├── xerror │ ├── xerrwv │ ├── xersav │ ├── xgetf │ ├── xgetua │ ├── xgetun │ ├── xsetf │ ├── xsetua │ └── xsetun └── zeroin │ ├── Summary │ └── zeroin ├── make.inc_aix ├── make.inc_aix_autodbl ├── make.inc_aix_f90 ├── make.inc_aix_f90_autodbl ├── make.inc_hpux ├── make.inc_irix64_f90_default64_mips4 ├── make.inc_irix64_f90_mips4 ├── make.inc_irix64_f90n32_i8r8d16_mips3 ├── make.inc_irix64_f90n32_i8r8d16_mips4 ├── make.inc_irix64_f90n32_mips3 ├── make.inc_irix64_f90n32_mips4 ├── make.inc_irix64_i8r8d16_mips4 ├── make.inc_irix64_mips4 ├── make.inc_irix64_n32_i8r8d16_mips3 ├── make.inc_irix64_n32_i8r8d16_mips4 ├── make.inc_irix64_n32_mips3 ├── make.inc_irix64_n32_mips4 ├── make.inc_irix_mips1 ├── make.inc_irix_mips2 ├── make.inc_linux ├── make.inc_solaris2 ├── make.inc_solaris2_f90 ├── make.inc_solaris2_r8 ├── make.inc_sun4 ├── make.inc_sun4_r8 ├── man ├── cmlib_aix.l ├── cmlib_hpux.l ├── cmlib_irix5.3.l ├── cmlib_irix6.2.l ├── cmlib_irix6.5_mips3.l ├── cmlib_irix6.5_mips4.l ├── cmlib_linux.l ├── cmlib_solaris2.l └── cmlib_sun4.l ├── relaxed.inits ├── Makefile ├── info ├── initds.f └── inits.f ├── scripts ├── cmdoc ├── cmsrc ├── cmsrcx.aix ├── cmsrcx.hpux ├── cmsrcx.irix ├── cmsrcx.irix64 ├── cmsrcx.linux ├── cmsrcx.solaris2 └── cmsrcx.sun4 ├── src ├── adapt │ ├── Makefile │ ├── adapt.f │ ├── bsrl.f │ ├── flsm.f │ ├── nxprt.f │ ├── symrl.f │ └── wht.f ├── amoslib │ ├── Makefile │ ├── asyjy.f │ ├── besj.f │ ├── besy.f │ ├── besynu.f │ ├── besynu.f.BAK │ ├── cjyhbs.f │ ├── dasyjy.f │ ├── dbesj.f │ ├── dbesy.f │ ├── dbsynu.f │ ├── dbsynu.f.BAK │ ├── dexint.f │ ├── djairy.f │ ├── dpsifn.f │ ├── dpsixn.f │ ├── dyairy.f │ ├── exint.f │ ├── gamln.f │ ├── jairy.f │ ├── psifn.f │ ├── psixn.f │ └── yairy.f ├── blas │ ├── Makefile │ ├── caxpy.f │ ├── ccopy.f │ ├── cdotc.f │ ├── cdotu.f │ ├── crotg.f │ ├── cscal.f │ ├── csscal.f │ ├── cswap.f │ ├── dasum.f │ ├── daxpy.f │ ├── dcopy.f │ ├── ddot.f │ ├── dnrm2.f │ ├── drot.f │ ├── drotg.f │ ├── drotm.f │ ├── drotmg.f │ ├── dscal.f │ ├── dsdot.f │ ├── dswap.f │ ├── icamax.f │ ├── idamax.f │ ├── isamax.f │ ├── sasum.f │ ├── saxpy.f │ ├── scasum.f │ ├── scnrm2.f │ ├── scopy.f │ ├── sdot.f │ ├── sdsdot.f │ ├── snrm2.f │ ├── srot.f │ ├── srotg.f │ ├── srotm.f │ ├── srotmg.f │ ├── sscal.f │ └── sswap.f ├── bocls │ ├── Makefile │ ├── dbocls.f │ ├── dbols.f │ ├── dbolsm.f │ └── dmout.f ├── bspline │ ├── Makefile │ ├── bfqad.f │ ├── bint4.f │ ├── bintk.f │ ├── bnfac.f │ ├── bnslv.f │ ├── bsgq8.f │ ├── bspdr.f │ ├── bspev.f │ ├── bsppp.f │ ├── bspvd.f │ ├── bspvn.f │ ├── bsqad.f │ ├── bvalu.f │ ├── intrv.f │ ├── pfqad.f │ ├── ppgq8.f │ ├── ppqad.f │ └── ppval.f ├── bvsup │ ├── Makefile │ ├── bksol.f │ ├── bvder.f │ ├── bvpor.f │ ├── bvsup.f │ ├── exbvp.f │ ├── macon.f │ ├── mgsbv.f │ ├── prvec.f │ ├── reort.f │ ├── rkfab.f │ ├── scoef.f │ ├── stor1.f │ ├── stway.f │ └── svecs.f ├── cdriv │ ├── Makefile │ ├── cdcor.f │ ├── cdcst.f │ ├── cdntl.f │ ├── cdntp.f │ ├── cdpsc.f │ ├── cdpst.f │ ├── cdriv1.f │ ├── cdriv2.f │ ├── cdriv3.f │ ├── cdscl.f │ ├── cdstp.f │ └── cdzro.f ├── cluster │ ├── Makefile │ ├── aid.f │ ├── aidout.f │ ├── amalg.f │ ├── assign.f │ ├── bdraw.f │ ├── block.f │ ├── boxes.f │ ├── build.f │ ├── cdist.f │ ├── cnvert.f │ ├── covout.f │ ├── csplit.f │ ├── densty.f │ ├── dist.f │ ├── ditout.f │ ├── ditto.f │ ├── dot.f │ ├── eigen.f │ ├── find.f │ ├── first.f │ ├── fish.f │ ├── hist.f │ ├── in.f │ ├── invert.f │ ├── join.f │ ├── join2.f │ ├── kc.f │ ├── kmeans.f │ ├── kout.f │ ├── lbox.f │ ├── letree.f │ ├── line.f │ ├── link.f │ ├── lob.f │ ├── mhist.f │ ├── middle.f │ ├── miss.f │ ├── mix.f │ ├── mixind.f │ ├── mixout.f │ ├── mmfit.f │ ├── modal.f │ ├── mom.f │ ├── mtree.f │ ├── nbtomt.f │ ├── out.f │ ├── out1.f │ ├── pfish.f │ ├── pick.f │ ├── place.f │ ├── plot.f │ ├── pmany.f │ ├── pmut.f │ ├── prof.f │ ├── quick.f │ ├── range.f │ ├── rank.f │ ├── rdist.f │ ├── rel.f │ ├── reloc.f │ ├── remove.f │ ├── rsplit.f │ ├── scale.f │ ├── search.f │ ├── single.f │ ├── slink.f │ ├── sparse.f │ ├── split.f │ ├── split1.f │ ├── split2.f │ ├── stand.f │ ├── tabl.f │ ├── trdist.f │ ├── tree1.f │ ├── triad.f │ ├── try1.f │ ├── two.f │ ├── ultra.f │ ├── varco.f │ ├── wcov.f │ └── wdist.f ├── cpqr79 │ ├── Makefile │ ├── cpqr79.f │ └── rpqr79.f ├── cpzero │ ├── Makefile │ ├── cpevl.f │ ├── cpzero.f │ └── rpzero.f ├── dbsplin │ ├── Makefile │ ├── dbfqad.f │ ├── dbint4.f │ ├── dbintk.f │ ├── dbnfac.f │ ├── dbnslv.f │ ├── dbsgq8.f │ ├── dbspdr.f │ ├── dbspev.f │ ├── dbsppp.f │ ├── dbspvd.f │ ├── dbspvn.f │ ├── dbsqad.f │ ├── dbvalu.f │ ├── dintrv.f │ ├── dpfqad.f │ ├── dppgq8.f │ ├── dppqad.f │ └── dppval.f ├── ddassl │ ├── Makefile │ ├── ddaini.f │ ├── ddajac.f │ ├── ddanrm.f │ ├── ddaslv.f │ ├── ddassl.f │ ├── ddastp.f │ ├── ddatrp.f │ └── ddawts.f ├── ddriv │ ├── Makefile │ ├── ddcor.f │ ├── ddcst.f │ ├── ddntl.f │ ├── ddntp.f │ ├── ddpsc.f │ ├── ddpst.f │ ├── ddriv1.f │ ├── ddriv2.f │ ├── ddriv3.f │ ├── ddscl.f │ ├── ddstp.f │ └── ddzro.f ├── depac │ ├── Makefile │ ├── cfod.f │ ├── de2.f │ ├── deabm.f │ ├── debdf.f │ ├── defehl.f │ ├── derkf.f │ ├── derkfs.f │ ├── hstart.f │ ├── intrp.f │ ├── intyd.f │ ├── lsod.f │ ├── pjac.f │ ├── slvs.f │ ├── step2.f │ ├── stod.f │ ├── vnorm.f │ └── vnwrms.f ├── dnl2sn │ ├── Makefile │ ├── dassst.f │ ├── ddbdog.f │ ├── ddeflt.f │ ├── ddupd2.f │ ├── ddupdu.f │ ├── dfdhes.f │ ├── dglrit.f │ ├── dgqtst.f │ ├── dhumit.f │ ├── dhumsl.f │ ├── ditsum.f │ ├── dlitvm.f │ ├── dlivmu.f │ ├── dlmstp.f │ ├── dlnvrt.f │ ├── dlsqar.f │ ├── dlsqrt.f │ ├── dlsvmn.f │ ├── dltsqr.f │ ├── dltvmu.f │ ├── dlupdt.f │ ├── dlvmul.f │ ├── dmlprp.f │ ├── dnl2cp.f │ ├── dnl2it.f │ ├── dnl2rd.f │ ├── dnl2s1.f │ ├── dnl2sn.f │ ├── doprds.f │ ├── dparck.f │ ├── dqradr.f │ ├── drelst.f │ ├── dsgrd2.f │ ├── dslupd.f │ ├── dslvmu.f │ ├── dsmsno.f │ ├── dsnoit.f │ ├── dstopx.f │ ├── dsumit.f │ ├── dsumsl.f │ ├── dvaxpy.f │ ├── dvdflt.f │ ├── dvscpy.f │ ├── dvvmup.f │ └── dwzbfg.f ├── dqrlss │ ├── Makefile │ ├── dqrank.f │ └── dqrlss.f ├── dtensbs │ ├── Makefile │ ├── db2ink.f │ ├── db2val.f │ ├── db3ink.f │ ├── db3val.f │ ├── dbknot.f │ └── dbtpcf.f ├── eispack │ ├── Makefile │ ├── bakvec.f │ ├── balanc.f │ ├── balbak.f │ ├── bandr.f │ ├── bandv.f │ ├── bisect.f │ ├── bqr.f │ ├── cbabk2.f │ ├── cbal.f │ ├── cdiv.f │ ├── cg.f │ ├── ch.f │ ├── cinvit.f │ ├── combak.f │ ├── comhes.f │ ├── comlr.f │ ├── comlr2.f │ ├── comqr.f │ ├── comqr2.f │ ├── cortb.f │ ├── corth.f │ ├── csroot.f │ ├── elmbak.f │ ├── elmhes.f │ ├── eltran.f │ ├── figi.f │ ├── figi2.f │ ├── hqr.f │ ├── hqr2.f │ ├── htrib3.f │ ├── htribk.f │ ├── htrid3.f │ ├── htridi.f │ ├── imtql1.f │ ├── imtql2.f │ ├── imtqlv.f │ ├── invit.f │ ├── minfit.f │ ├── ortbak.f │ ├── orthes.f │ ├── ortran.f │ ├── pythag.f │ ├── qzhes.f │ ├── qzit.f │ ├── qzval.f │ ├── qzvec.f │ ├── ratqr.f │ ├── rebak.f │ ├── rebakb.f │ ├── reduc.f │ ├── reduc2.f │ ├── rg.f │ ├── rgg.f │ ├── rs.f │ ├── rsb.f │ ├── rsg.f │ ├── rsgab.f │ ├── rsgba.f │ ├── rsp.f │ ├── rst.f │ ├── rt.f │ ├── svd.f │ ├── tinvit.f │ ├── tql1.f │ ├── tql2.f │ ├── tqlrat.f │ ├── trbak1.f │ ├── trbak3.f │ ├── tred1.f │ ├── tred2.f │ ├── tred3.f │ ├── tridib.f │ └── tsturm.f ├── fc │ ├── Makefile │ ├── bndacc.f │ ├── bndsol.f │ ├── bsplvd.f │ ├── bsplvn.f │ ├── bvalue.f │ ├── cv.f │ ├── diff.f │ ├── efc.f │ ├── efcmn.f │ ├── fc.f │ ├── fcmn.f │ ├── h12.f │ ├── hfti.f │ ├── interv.f │ ├── lpdp.f │ ├── lsei.f │ ├── lsi.f │ ├── wnlit.f │ ├── wnlsm.f │ └── wnnls.f ├── fcnpak │ ├── Makefile │ ├── rc.f │ ├── rd.f │ ├── rf.f │ ├── rj.f │ ├── xdadd.f │ ├── xdadj.f │ ├── xdc210.f │ ├── xdcon.f │ ├── xdcsrt.f │ ├── xdlegf.f │ ├── xdnrmp.f │ ├── xdpmu.f │ ├── xdpmup.f │ ├── xdpnrm.f │ ├── xdpqnu.f │ ├── xdpsi.f │ ├── xdqmu.f │ ├── xdqnu.f │ ├── xdred.f │ ├── xdset.f │ ├── xsadd.f │ ├── xsadj.f │ ├── xsc210.f │ ├── xscon.f │ ├── xscsrt.f │ ├── xslegf.f │ ├── xsnrmp.f │ ├── xspmu.f │ ├── xspmup.f │ ├── xspnrm.f │ ├── xspqnu.f │ ├── xspsi.f │ ├── xsqmu.f │ ├── xsqnu.f │ ├── xsred.f │ └── xsset.f ├── fftpkg │ ├── Makefile │ ├── cfftb.f │ ├── cfftb1.f │ ├── cfftf.f │ ├── cfftf1.f │ ├── cffti.f │ ├── cffti1.f │ ├── cosqb.f │ ├── cosqb1.f │ ├── cosqf.f │ ├── cosqf1.f │ ├── cosqi.f │ ├── cost.f │ ├── costi.f │ ├── ezfft1.f │ ├── ezfftb.f │ ├── ezfftf.f │ ├── ezffti.f │ ├── passb.f │ ├── passb2.f │ ├── passb3.f │ ├── passb4.f │ ├── passb5.f │ ├── passf.f │ ├── passf2.f │ ├── passf3.f │ ├── passf4.f │ ├── passf5.f │ ├── radb2.f │ ├── radb3.f │ ├── radb4.f │ ├── radb5.f │ ├── radbg.f │ ├── radf2.f │ ├── radf3.f │ ├── radf4.f │ ├── radf5.f │ ├── radfg.f │ ├── rfftb.f │ ├── rfftb1.f │ ├── rfftf.f │ ├── rfftf1.f │ ├── rffti.f │ ├── rffti1.f │ ├── sinqb.f │ ├── sinqf.f │ ├── sinqi.f │ ├── sint.f │ └── sinti.f ├── fishpak │ ├── Makefile │ ├── bcrh.f │ ├── blktr1.f │ ├── blktri.f │ ├── bsrh.f │ ├── cblkt1.f │ ├── cblktr.f │ ├── ccmpb.f │ ├── chkpr4.f │ ├── chkprm.f │ ├── chksn4.f │ ├── chksng.f │ ├── cmgnbn.f │ ├── cmpcsg.f │ ├── cmpmrg.f │ ├── cmposd.f │ ├── cmposn.f │ ├── cmposp.f │ ├── cmptr3.f │ ├── cmptrx.f │ ├── compb.f │ ├── cosgen.f │ ├── cpadd.f │ ├── cproc.f │ ├── cprocp.f │ ├── cprod.f │ ├── cprodp.f │ ├── defe4.f │ ├── defer.f │ ├── dx.f │ ├── dx4.f │ ├── dy.f │ ├── dy4.f │ ├── genbun.f │ ├── hstcrt.f │ ├── hstcs1.f │ ├── hstcsp.f │ ├── hstcyl.f │ ├── hstplr.f │ ├── hstssp.f │ ├── hw3crt.f │ ├── hwscrt.f │ ├── hwscs1.f │ ├── hwscsp.f │ ├── hwscyl.f │ ├── hwsplr.f │ ├── hwsss1.f │ ├── hwsssp.f │ ├── indxa.f │ ├── indxb.f │ ├── indxc.f │ ├── inxca.f │ ├── inxcb.f │ ├── inxcc.f │ ├── merge.f │ ├── minso4.f │ ├── minsol.f │ ├── ortho4.f │ ├── orthog.f │ ├── pgsf.f │ ├── pimach.f │ ├── pois3d.f │ ├── poisd2.f │ ├── poisn2.f │ ├── poisp2.f │ ├── poistg.f │ ├── pos3d1.f │ ├── postg2.f │ ├── ppadd.f │ ├── ppgsf.f │ ├── pppsf.f │ ├── ppsgf.f │ ├── ppspf.f │ ├── proc.f │ ├── procp.f │ ├── prod.f │ ├── prodp.f │ ├── psgf.f │ ├── sepeli.f │ ├── sepx4.f │ ├── speli4.f │ ├── spelip.f │ ├── tevlc.f │ ├── tevls.f │ ├── tri3.f │ ├── tridq.f │ ├── tris4.f │ ├── trisp.f │ └── trix.f ├── fnlib │ ├── Makefile │ ├── acosh.f │ ├── ai.f │ ├── aie.f │ ├── albeta.f │ ├── algams.f │ ├── ali.f │ ├── alngam.f │ ├── alnrel.f │ ├── asinh.f │ ├── atanh.f │ ├── besi0.f │ ├── besi0e.f │ ├── besi1.f │ ├── besi1e.f │ ├── besj0.f │ ├── besj1.f │ ├── besk0.f │ ├── besk0e.f │ ├── besk1.f │ ├── besk1e.f │ ├── beskes.f │ ├── besks.f │ ├── besy0.f │ ├── besy1.f │ ├── beta.f │ ├── betai.f │ ├── bi.f │ ├── bie.f │ ├── binom.f │ ├── c0lgmc.f │ ├── c9lgmc.f │ ├── c9ln2r.f │ ├── cabs.f │ ├── cacos.f │ ├── cacosh.f │ ├── carg.f │ ├── casin.f │ ├── casinh.f │ ├── catan.f │ ├── catan2.f │ ├── catanh.f │ ├── cbeta.f │ ├── cbrt.f │ ├── ccbrt.f │ ├── ccosh.f │ ├── ccot.f │ ├── cexprl.f │ ├── cgamma.f │ ├── cgamr.f │ ├── chu.f │ ├── clbeta.f │ ├── clngam.f │ ├── clnrel.f │ ├── clog10.f │ ├── cosdg.f │ ├── cot.f │ ├── cpsi.f │ ├── csevl.f │ ├── csinh.f │ ├── ctan.f │ ├── ctanh.f │ ├── d9aimp.f │ ├── d9atn1.f │ ├── d9b0mp.f │ ├── d9b1mp.f │ ├── d9chu.f │ ├── d9gmic.f │ ├── d9gmit.f │ ├── d9knus.f │ ├── d9lgic.f │ ├── d9lgit.f │ ├── d9lgmc.f │ ├── d9ln2r.f │ ├── d9pak.f │ ├── d9upak.f │ ├── dacosh.f │ ├── dai.f │ ├── daie.f │ ├── dasinh.f │ ├── datanh.f │ ├── daws.f │ ├── dbesi0.f │ ├── dbesi1.f │ ├── dbesj0.f │ ├── dbesj1.f │ ├── dbesk0.f │ ├── dbesk1.f │ ├── dbesks.f │ ├── dbesy0.f │ ├── dbesy1.f │ ├── dbeta.f │ ├── dbetai.f │ ├── dbi.f │ ├── dbie.f │ ├── dbinom.f │ ├── dbsi0e.f │ ├── dbsi1e.f │ ├── dbsk0e.f │ ├── dbsk1e.f │ ├── dbskes.f │ ├── dcbrt.f │ ├── dchu.f │ ├── dcosdg.f │ ├── dcot.f │ ├── dcsevl.f │ ├── ddaws.f │ ├── de1.f │ ├── dei.f │ ├── derf.f │ ├── derfc.f │ ├── dexprl.f │ ├── dfac.f │ ├── dgami.f │ ├── dgamic.f │ ├── dgamit.f │ ├── dgamlm.f │ ├── dgamma.f │ ├── dgamr.f │ ├── dint.f │ ├── dlbeta.f │ ├── dlgams.f │ ├── dli.f │ ├── dlngam.f │ ├── dlnrel.f │ ├── dpoch.f │ ├── dpoch1.f │ ├── dpsi.f │ ├── dsindg.f │ ├── dspenc.f │ ├── e1.f │ ├── ei.f │ ├── erf.f │ ├── erfc.f │ ├── exprel.f │ ├── fac.f │ ├── gami.f │ ├── gamic.f │ ├── gamit.f │ ├── gamlim.f │ ├── gamma.f │ ├── gamr.f │ ├── initds.f │ ├── inits.f │ ├── poch.f │ ├── poch1.f │ ├── psi.f │ ├── r9aimp.f │ ├── r9atn1.f │ ├── r9chu.f │ ├── r9gmic.f │ ├── r9gmit.f │ ├── r9knus.f │ ├── r9lgic.f │ ├── r9lgit.f │ ├── r9lgmc.f │ ├── r9ln2r.f │ ├── r9pak.f │ ├── r9upak.f │ ├── rand.f │ ├── rgauss.f │ ├── runif.f │ ├── sindg.f │ └── spenc.f ├── licepak │ ├── Makefile │ ├── cgeev.f │ ├── chiev.f │ ├── sgeev.f │ ├── ssiev.f │ └── sspev.f ├── lindrv │ ├── Makefile │ ├── cgefs.f │ ├── cgeir.f │ ├── cnbco.f │ ├── cnbdi.f │ ├── cnbfa.f │ ├── cnbfs.f │ ├── cnbir.f │ ├── cnbsl.f │ ├── cpofs.f │ ├── cpoir.f │ ├── dgefs.f │ ├── dnbco.f │ ├── dnbdi.f │ ├── dnbfa.f │ ├── dnbfs.f │ ├── dnbsl.f │ ├── dpofs.f │ ├── sgefs.f │ ├── sgeir.f │ ├── snbco.f │ ├── snbdi.f │ ├── snbfa.f │ ├── snbfs.f │ ├── snbir.f │ ├── snbsl.f │ ├── spofs.f │ └── spoir.f ├── linpakc │ ├── Makefile │ ├── cchdc.f │ ├── cchdd.f │ ├── cchex.f │ ├── cchud.f │ ├── cgbco.f │ ├── cgbdi.f │ ├── cgbfa.f │ ├── cgbsl.f │ ├── cgeco.f │ ├── cgedi.f │ ├── cgefa.f │ ├── cgesl.f │ ├── cgtsl.f │ ├── chico.f │ ├── chidi.f │ ├── chifa.f │ ├── chisl.f │ ├── chpco.f │ ├── chpdi.f │ ├── chpfa.f │ ├── chpsl.f │ ├── cpbco.f │ ├── cpbdi.f │ ├── cpbfa.f │ ├── cpbsl.f │ ├── cpoco.f │ ├── cpodi.f │ ├── cpofa.f │ ├── cposl.f │ ├── cppco.f │ ├── cppdi.f │ ├── cppfa.f │ ├── cppsl.f │ ├── cptsl.f │ ├── cqrdc.f │ ├── cqrsl.f │ ├── csico.f │ ├── csidi.f │ ├── csifa.f │ ├── csisl.f │ ├── cspco.f │ ├── cspdi.f │ ├── cspfa.f │ ├── cspsl.f │ ├── csvdc.f │ ├── ctrco.f │ ├── ctrdi.f │ └── ctrsl.f ├── linpakd │ ├── Makefile │ ├── dchdc.f │ ├── dchdd.f │ ├── dchex.f │ ├── dchud.f │ ├── dgbco.f │ ├── dgbdi.f │ ├── dgbfa.f │ ├── dgbsl.f │ ├── dgeco.f │ ├── dgedi.f │ ├── dgefa.f │ ├── dgesl.f │ ├── dgtsl.f │ ├── dpbco.f │ ├── dpbdi.f │ ├── dpbfa.f │ ├── dpbsl.f │ ├── dpoco.f │ ├── dpodi.f │ ├── dpofa.f │ ├── dposl.f │ ├── dppco.f │ ├── dppdi.f │ ├── dppfa.f │ ├── dppsl.f │ ├── dptsl.f │ ├── dqrdc.f │ ├── dqrsl.f │ ├── dsico.f │ ├── dsidi.f │ ├── dsifa.f │ ├── dsisl.f │ ├── dspco.f │ ├── dspdi.f │ ├── dspfa.f │ ├── dspsl.f │ ├── dsvdc.f │ ├── dtrco.f │ ├── dtrdi.f │ └── dtrsl.f ├── linpaks │ ├── Makefile │ ├── schdc.f │ ├── schdd.f │ ├── schex.f │ ├── schud.f │ ├── sgbco.f │ ├── sgbdi.f │ ├── sgbfa.f │ ├── sgbsl.f │ ├── sgeco.f │ ├── sgedi.f │ ├── sgefa.f │ ├── sgesl.f │ ├── sgtsl.f │ ├── spbco.f │ ├── spbdi.f │ ├── spbfa.f │ ├── spbsl.f │ ├── spoco.f │ ├── spodi.f │ ├── spofa.f │ ├── sposl.f │ ├── sppco.f │ ├── sppdi.f │ ├── sppfa.f │ ├── sppsl.f │ ├── sptsl.f │ ├── sqrdc.f │ ├── sqrsl.f │ ├── ssico.f │ ├── ssidi.f │ ├── ssifa.f │ ├── ssisl.f │ ├── sspco.f │ ├── sspdi.f │ ├── sspfa.f │ ├── sspsl.f │ ├── ssvdc.f │ ├── strco.f │ ├── strdi.f │ └── strsl.f ├── lotps │ ├── Makefile │ ├── local.f │ ├── loevl.f │ ├── logrd.f │ ├── lolip.f │ └── lotps.f ├── machcon │ ├── Makefile │ ├── d1mach.f │ ├── i1mach.f │ └── r1mach.f ├── mxentrp │ ├── Makefile │ ├── burg.f │ ├── cosqtb.f │ └── fftbrg.f ├── nl2sn │ ├── Makefile │ ├── assst.f │ ├── dbdog.f │ ├── deflt.f │ ├── dupd2.f │ ├── dupdu.f │ ├── fdhes.f │ ├── glrit.f │ ├── gqtst.f │ ├── humit.f │ ├── humsl.f │ ├── itsum.f │ ├── linvrt.f │ ├── litvmu.f │ ├── livmul.f │ ├── lmstep.f │ ├── lsqrt.f │ ├── lsquar.f │ ├── lsvmin.f │ ├── ltsqar.f │ ├── ltvmul.f │ ├── lupdat.f │ ├── lvmul.f │ ├── mlprdp.f │ ├── nl2cvp.f │ ├── nl2it.f │ ├── nl2rd.f │ ├── nl2s1.f │ ├── nl2sn.f │ ├── oprds.f │ ├── parck.f │ ├── qradr.f │ ├── reldst.f │ ├── sgrad2.f │ ├── slupdt.f │ ├── slvmul.f │ ├── smsno.f │ ├── snoit.f │ ├── stopx.f │ ├── sumit.f │ ├── sumsl.f │ ├── vaxpy.f │ ├── vdflt.f │ ├── vscopy.f │ ├── vvmulp.f │ └── wzbfgs.f ├── odrpack │ ├── Makefile │ ├── dacces.f │ ├── ddiagi.f │ ├── ddiags.f │ ├── ddiagw.f │ ├── detaf.f │ ├── devfun.f │ ├── devjac.f │ ├── dflags.f │ ├── dgetcp.f │ ├── didts.f │ ├── diniwk.f │ ├── diwinf.f │ ├── djacfd.f │ ├── djck.f │ ├── djckc.f │ ├── djckf.f │ ├── djckm.f │ ├── djckz.f │ ├── dmprec.f │ ├── dodchk.f │ ├── doddrv.f │ ├── dodlm.f │ ├── dodlmw.f │ ├── dodmn.f │ ├── dodpc1.f │ ├── dodpc2.f │ ├── dodpc3.f │ ├── dodpcr.f │ ├── dodpe1.f │ ├── dodpe2.f │ ├── dodper.f │ ├── dodphd.f │ ├── dodr.f │ ├── dodrc.f │ ├── dodstp.f │ ├── dpack.f │ ├── dpvb.f │ ├── dpvd.f │ ├── dsclb.f │ ├── dscld.f │ ├── dsetn.f │ ├── dstore.f │ ├── dunpac.f │ ├── dwds.f │ ├── dwinf.f │ ├── dxpy.f │ ├── dzero.f │ ├── fun.f │ ├── jac.f │ ├── sacces.f │ ├── sdiagi.f │ ├── sdiags.f │ ├── sdiagw.f │ ├── setaf.f │ ├── sevfun.f │ ├── sevjac.f │ ├── sflags.f │ ├── sgetcp.f │ ├── sidts.f │ ├── siniwk.f │ ├── siwinf.f │ ├── sjacfd.f │ ├── sjck.f │ ├── sjckc.f │ ├── sjckf.f │ ├── sjckm.f │ ├── sjckz.f │ ├── smprec.f │ ├── sodchk.f │ ├── soddrv.f │ ├── sodlm.f │ ├── sodlmw.f │ ├── sodmn.f │ ├── sodpc1.f │ ├── sodpc2.f │ ├── sodpc3.f │ ├── sodpcr.f │ ├── sodpe1.f │ ├── sodpe2.f │ ├── sodper.f │ ├── sodphd.f │ ├── sodr.f │ ├── sodrc.f │ ├── sodstp.f │ ├── spack.f │ ├── spvb.f │ ├── spvd.f │ ├── ssclb.f │ ├── sscld.f │ ├── ssetn.f │ ├── sstore.f │ ├── sunpac.f │ ├── swds.f │ ├── swinf.f │ ├── sxpy.f │ └── szero.f ├── pchipd │ ├── Makefile │ ├── dchfdv.f │ ├── dchfev.f │ ├── dchfiv.f │ ├── dchfmc.f │ ├── dpchce.f │ ├── dpchci.f │ ├── dpchcs.f │ ├── dpchdf.f │ ├── dpchfd.f │ ├── dpchfe.f │ ├── dpchia.f │ ├── dpchic.f │ ├── dpchid.f │ ├── dpchim.f │ ├── dpchmc.f │ ├── dpchsp.f │ ├── dpchst.f │ └── dpchsw.f ├── pchips │ ├── Makefile │ ├── chfdv.f │ ├── chfev.f │ ├── chfiv.f │ ├── chfmc.f │ ├── pchce.f │ ├── pchci.f │ ├── pchcs.f │ ├── pchdf.f │ ├── pchdoc.f │ ├── pchfd.f │ ├── pchfe.f │ ├── pchia.f │ ├── pchic.f │ ├── pchid.f │ ├── pchim.f │ ├── pchmc.f │ ├── pchsp.f │ ├── pchst.f │ └── pchsw.f ├── q1da │ ├── Makefile │ ├── gl15t.f │ ├── q1da.f │ ├── q1dax.f │ └── q1db.f ├── quadpkd │ ├── Makefile │ ├── dea.f │ ├── dqag.f │ ├── dqage.f │ ├── dqagi.f │ ├── dqagie.f │ ├── dqagp.f │ ├── dqagpe.f │ ├── dqags.f │ ├── dqagse.f │ ├── dqawc.f │ ├── dqawce.f │ ├── dqawf.f │ ├── dqawfe.f │ ├── dqawo.f │ ├── dqawoe.f │ ├── dqaws.f │ ├── dqawse.f │ ├── dqc25c.f │ ├── dqc25f.f │ ├── dqc25s.f │ ├── dqcheb.f │ ├── dqelg.f │ ├── dqk15.f │ ├── dqk15i.f │ ├── dqk15w.f │ ├── dqk21.f │ ├── dqk31.f │ ├── dqk41.f │ ├── dqk51.f │ ├── dqk61.f │ ├── dqmomo.f │ ├── dqng.f │ ├── dqpsrt.f │ ├── dqwgtc.f │ ├── dqwgtf.f │ └── dqwgts.f ├── quadpks │ ├── Makefile │ ├── ea.f │ ├── qag.f │ ├── qage.f │ ├── qagi.f │ ├── qagie.f │ ├── qagp.f │ ├── qagpe.f │ ├── qags.f │ ├── qagse.f │ ├── qawc.f │ ├── qawce.f │ ├── qawf.f │ ├── qawfe.f │ ├── qawo.f │ ├── qawoe.f │ ├── qaws.f │ ├── qawse.f │ ├── qc25c.f │ ├── qc25f.f │ ├── qc25s.f │ ├── qcheb.f │ ├── qelg.f │ ├── qk15.f │ ├── qk15i.f │ ├── qk15w.f │ ├── qk21.f │ ├── qk31.f │ ├── qk41.f │ ├── qk51.f │ ├── qk61.f │ ├── qmomo.f │ ├── qng.f │ ├── qpsrt.f │ ├── qwgtc.f │ ├── qwgtf.f │ └── qwgts.f ├── rv │ ├── Makefile │ ├── rnor.f │ └── uni.f ├── sdassl │ ├── Makefile │ ├── sdaini.f │ ├── sdajac.f │ ├── sdanrm.f │ ├── sdaslv.f │ ├── sdassl.f │ ├── sdastp.f │ ├── sdatrp.f │ └── sdawts.f ├── sdriv │ ├── Makefile │ ├── fa.f │ ├── g.f │ ├── jacobn.f │ ├── sdcor.f │ ├── sdcst.f │ ├── sdntl.f │ ├── sdntp.f │ ├── sdpsc.f │ ├── sdpst.f │ ├── sdriv1.f │ ├── sdriv2.f │ ├── sdriv3.f │ ├── sdscl.f │ ├── sdstp.f │ ├── sdzro.f │ └── users.f ├── sglss │ ├── Makefile │ ├── llsia.f │ ├── sglss.f │ ├── u11ls.f │ ├── u11ls.f.old │ ├── u11us.f │ ├── u11us.f.old │ ├── u12ls.f │ ├── u12ls.f.old │ ├── u12us.f │ └── ulsia.f ├── slrpack │ ├── Makefile │ ├── dlinfs.f │ ├── linfs.f │ ├── rgm.f │ ├── rwill.f │ ├── ryarng.f │ ├── rybar.f │ ├── ryork.f │ ├── wwill.f │ └── wyork.f ├── slvblk │ ├── Makefile │ ├── dtblok.f │ ├── factrb.f │ ├── fcblok.f │ ├── sbblok.f │ ├── shiftb.f │ ├── slvblk.f │ ├── subbak.f │ └── subfor.f ├── snls1e │ ├── Makefile │ ├── chkder.f │ ├── dogleg.f │ ├── enorm.f │ ├── fdjac1.f │ ├── fdjac3.f │ ├── lmpar.f │ ├── qform.f │ ├── qrfac.f │ ├── qrsolv.f │ ├── r1mpyq.f │ ├── r1updt.f │ ├── rwupdt.f │ ├── scov.f │ ├── snls1.f │ ├── snls1e.f │ ├── snsq.f │ ├── snsqe.f │ ├── sos.f │ ├── soseqs.f │ └── sossol.f ├── splp │ ├── Makefile │ ├── closm.f │ ├── fulmat.f │ ├── iploc.f │ ├── ivout.f │ ├── la05as.f │ ├── la05bs.f │ ├── la05cs.f │ ├── la05es.f │ ├── mc20as.f │ ├── pchngs.f │ ├── pinitm.f │ ├── pnnzrs.f │ ├── prwpge.f │ ├── prwvir.f │ ├── readp.f │ ├── spincw.f │ ├── spinit.f │ ├── splp.f │ ├── splpce.f │ ├── splpdm.f │ ├── splpfe.f │ ├── splpfl.f │ ├── splpmn.f │ ├── splpmu.f │ ├── splpo.f │ ├── splpup.f │ ├── spopt.f │ ├── svout.f │ ├── usrmat.f │ └── writp.f ├── sqrlss │ ├── Makefile │ ├── sqrank.f │ └── sqrlss.f ├── ssort │ ├── Makefile │ ├── csort.f │ ├── isort.f │ └── ssort.f ├── sudsods │ ├── Makefile │ ├── cscale.f │ ├── lssods.f │ ├── lssuds.f │ ├── ohtrol.f │ ├── ohtror.f │ ├── orthol.f │ ├── orthor.f │ ├── sods.f │ └── suds.f ├── tensbs │ ├── Makefile │ ├── b2ink.f │ ├── b2val.f │ ├── b3ink.f │ ├── b3val.f │ ├── bknot.f │ └── btpcf.f ├── twodq │ ├── Makefile │ ├── greatr.f │ ├── hinitd.f │ ├── hinitu.f │ ├── hpacc.f │ ├── hpbld.f │ ├── hpdel.f │ ├── hpgro.f │ ├── hpins.f │ ├── less.f │ ├── lqm0.f │ ├── lqm1.f │ ├── tridv.f │ └── twodq.f ├── uncmin │ ├── Makefile │ ├── bakslv.f │ ├── chlhsn.f │ ├── choldc.f │ ├── d1fcn.f │ ├── d2fcn.f │ ├── dfault.f │ ├── dogdrv.f │ ├── dogstp.f │ ├── forslv.f │ ├── fstocd.f │ ├── fstofd.f │ ├── grdchk.f │ ├── heschk.f │ ├── hookdr.f │ ├── hookst.f │ ├── hsnint.f │ ├── lltslv.f │ ├── lnsrch.f │ ├── mvmltl.f │ ├── mvmlts.f │ ├── mvmltu.f │ ├── optchk.f │ ├── optdrv.f │ ├── optif0.f │ ├── optif9.f │ ├── optstp.f │ ├── qraux1.f │ ├── qraux2.f │ ├── qrupdt.f │ ├── result.f │ ├── sclmul.f │ ├── secfac.f │ ├── secunf.f │ ├── sndofd.f │ └── tregup.f ├── vfft │ ├── Makefile │ ├── vcosqb.f │ ├── vcosqf.f │ ├── vcosqi.f │ ├── vcost.f │ ├── vcosti.f │ ├── vradb2.f │ ├── vradb3.f │ ├── vradb4.f │ ├── vradb5.f │ ├── vradbg.f │ ├── vradf2.f │ ├── vradf3.f │ ├── vradf4.f │ ├── vradf5.f │ ├── vradfg.f │ ├── vrfftb.f │ ├── vrfftf.f │ ├── vrffti.f │ ├── vrftb1.f │ ├── vrftf1.f │ ├── vrfti1.f │ ├── vsinqb.f │ ├── vsinqf.f │ ├── vsinqi.f │ ├── vsint.f │ └── vsinti.f ├── vhs3 │ ├── Makefile │ ├── hs3cri.f │ ├── hs3crt.f │ ├── p3pack.f │ ├── p3unpk.f │ ├── ps3di1.f │ ├── pst3d1.f │ ├── pst3di.f │ └── pstg3d.f ├── vsfft │ ├── Makefile │ ├── vscosb.f │ ├── vscosf.f │ ├── vscosi.f │ ├── vscosi.f.orig │ ├── vscosq.f │ ├── vscsqi.f │ ├── vsrftb.f │ ├── vsrftf.f │ ├── vsrfti.f │ ├── vssinb.f │ ├── vssinf.f │ ├── vssini.f │ └── vssinq.f ├── xblas │ ├── Makefile │ ├── cdcdot.f │ ├── csrot.f │ ├── dcdot.f │ ├── isamin.f │ ├── ismax.f │ ├── ismin.f │ └── scopym.f ├── xerror │ ├── Makefile │ ├── fdump.f │ ├── j4save.f │ ├── numxer.f │ ├── xerabt.f │ ├── xerclr.f │ ├── xerctl.f │ ├── xerdmp.f │ ├── xermax.f │ ├── xerprt.f │ ├── xerror.f │ ├── xerrwv.f │ ├── xersav.f │ ├── xgetf.f │ ├── xgetua.f │ ├── xgetun.f │ ├── xsetf.f │ ├── xsetua.f │ └── xsetun.f └── zeroin │ ├── Makefile │ └── zeroin.f ├── sun.stubs ├── Makefile ├── f.f ├── fmat.f ├── gvec.f ├── uivp.f └── uvec.f ├── table_of_notes ├── test ├── adapt.f ├── blas.f ├── bspline.f ├── bvsup.f ├── cdriv.f ├── cluster.f ├── cpqr79.f ├── cpzero.f ├── dbsplin.f ├── ddassl.f ├── ddriv.f ├── depac.f ├── dqrlss.f ├── dtensbs.f ├── fc.f ├── fcnpak.f ├── fftpkg.f ├── fishpak.f ├── fnlibc.f ├── fnlibd.f ├── fnlibs.f ├── licepak.f ├── lindrv1.f ├── lindrv2.f ├── linpakc.f ├── lotps.f ├── machcon.f ├── pchips.f ├── quadpkd.f ├── quadpkd.f% ├── quadpks.f ├── rv.f ├── sdassl.f ├── sdriv.f ├── sglss.f ├── slrpack.f ├── slvblk.f ├── snls1e.f ├── splp.f ├── sqrlss.f ├── ssort.f ├── tensbs.f ├── twodq.f ├── vfft.f ├── vhs3.f ├── vsfft.f ├── xblas.f └── zeroin.f └── utils ├── Checkall ├── Makefile.template ├── Makefile.template.1 ├── Makefile.template.2 ├── Makefile.template.3 ├── Ranlib ├── Test ├── Test.so ├── Testall ├── Testall.itl ├── Testall.so ├── Upar ├── Upar.old ├── Update ├── Update.local ├── createmk ├── crmkall ├── d1mach.template ├── findspdirs ├── genmachcon ├── genmake ├── i1mach.template ├── itl-arch ├── mkarchdir ├── mkitldir ├── r1mach.template ├── wtt ├── wzip └── wzip.BAK /src/doc/adapt/Summary: -------------------------------------------------------------------------------- 1 | 2 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 3 | C 4 | C A D A P T 5 | C 6 | C ADAPT is a Subroutine for the evaluation of multidimensional 7 | C integrals on a hyper rectangle of dimension 2 through 20. 8 | C ADAPT was written by A. C. Genz, of Washington State University, 9 | C Pullman, WA. 10 | C 11 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/doc/amoslib/dpsixn: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DPSIXN(N) 3 | C***BEGIN PROLOGUE DPSIXN 4 | C***REFER TO DEXINT 5 | C 6 | C This subroutine returns values of PSI(X)=derivative of log 7 | C GAMMA(X), X.GT.0.0 at integer arguments. A table look-up is 8 | C performed for N .LE. 100, and the asymptotic expansion is 9 | C evaluated for N.GT.100. 10 | C***ROUTINES CALLED D1MACH 11 | C***END PROLOGUE DPSIXN 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/doc/amoslib/psixn: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION PSIXN(N) 3 | C***BEGIN PROLOGUE PSIXN 4 | C***REFER TO EXINT 5 | C 6 | C This subroutine returns values of PSI(X)=derivative of log 7 | C GAMMA(X), X .GT. 0.0 at integer arguments. A table look-up is 8 | C performed for N .LE. 100, and the asymptotic expansion is 9 | C evaluated for N .GT. 100. 10 | C***ROUTINES CALLED R1MACH 11 | C***END PROLOGUE PSIXN 12 | -------------------------------------------------------------------------------- /src/doc/cdriv/cdcor: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE CDCOR (DFDY,EL,FA,H,IMPL,IPVT,MATDIM,MITER,ML,MU,N, 3 | 8 NDE,NQ,T,Y,YH,YWT,EVALFA,SAVE1,SAVE2,A,D) 4 | C***BEGIN PROLOGUE CDCOR 5 | C***REFER TO CDRIV3 6 | C Subroutine CDCOR is called to compute corrections to the Y array. 7 | C In the case of functional iteration, update Y directly from the 8 | C result of the last call to F. 9 | C In the case of the chord method, compute the corrector error and 10 | C solve the linear system with that as right hand side and DFDY as 11 | C coefficient matrix, using the LU decomposition if MITER is 1, 2, 4, 12 | C or 5. 13 | C***ROUTINES CALLED CGESL,CGBSL,SCNRM2 14 | C***DATE WRITTEN 790601 (YYMMDD) 15 | C***REVISION DATE 841119 (YYMMDD) 16 | C***CATEGORY NO. I1A2,I1A1B 17 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 18 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 19 | C***END PROLOGUE CDCOR 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/cdriv/cdntp: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE CDNTP (H,K,N,NQ,T,TOUT,YH,Y) 3 | C***BEGIN PROLOGUE CDNTP 4 | C***REFER TO CDRIV3 5 | C Subroutine CDNTP interpolates the K-th derivative of Y at TOUT, 6 | C using the data in the YH array. If K has a value greater than NQ, 7 | C the NQ-th derivative is calculated. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE CDNTP 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/cdriv/cdpsc: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE CDPSC (KSGN,N,NQ,YH) 3 | C***BEGIN PROLOGUE CDPSC 4 | C***REFER TO CDRIV3 5 | C This subroutine computes the predicted YH values by effectively 6 | C multiplying the YH array by the Pascal triangle matrix when KSGN 7 | C is +1, and performs the inverse function when KSGN is -1. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE CDPSC 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/cdriv/cdpst: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE CDPST (EL,F,FA,H,IMPL,JACOBN,MATDIM,MITER,ML,MU,N,NDE, 3 | 8 NQ,SAVE2,T,Y,YH,YWT,UROUND,NFE,NJE,A,DFDY,IER,IPVT,SAVE1, 4 | 8 ISWFLG,BND) 5 | C***BEGIN PROLOGUE CDPST 6 | C***REFER TO CDRIV3 7 | C Subroutine CDPST is called to reevaluate the partials. 8 | C If MITER is 1, 2, 4, or 5, the matrix 9 | C P = I - L(0)*H*Jacobian is stored in DFDY and subjected to LU 10 | C decomposition, with the results also stored in DFDY. 11 | C***ROUTINES CALLED CGEFA,CGBFA,SCNRM2 12 | C***DATE WRITTEN 790601 (YYMMDD) 13 | C***REVISION DATE 850320 (YYMMDD) 14 | C***CATEGORY NO. I1A2,I1A1B 15 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 16 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 17 | C***END PROLOGUE CDPST 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/cdriv/cdscl: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE CDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 3 | C***BEGIN PROLOGUE CDSCL 4 | C***REFER TO CDRIV3 5 | C This subroutine rescales the YH array whenever the step size 6 | C is changed. 7 | C***ROUTINES CALLED (NONE) 8 | C***DATE WRITTEN 790601 (YYMMDD) 9 | C***REVISION DATE 850319 (YYMMDD) 10 | C***CATEGORY NO. I1A2,I1A1B 11 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 12 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 13 | C***END PROLOGUE CDSCL 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/doc/cpqr79/Summary: -------------------------------------------------------------------------------- 1 | 2 | C 3 | C CPQR79: FINDING ZEROS OF POLYNOMIALS 4 | C 5 | C 6 | C THIS PACKAGE CONSISTS OF TWO ROUTINES FOR FINDING ALL THE COMPLEX 7 | C ZEROS OF REAL OR COMPLEX POLYNOMIALS. 8 | C 9 | C CPQR79 FINDS ALL THE ZEROS OF A POLYNOMIAL WITH COMPLEX COEFFICIENTS 10 | C RPQR79 FINDS ALL THE ZEROS OF A POLYNOMIAL WITH REAL COEFFICIENTS 11 | C 12 | C THESE ROUTINES ARE ACTUALLY DRIVERS FOR EIGENVALUE ROUTINES IN THE 13 | C EISPACK PACKAGE. THE ZEROS ARE FOUND BY SETTING UP A MATRIX FROM THE 14 | C POLYNOMIAL COEFFICIENTS WHOSE EIGENVALUES ARE EXACTLY THE POLYNOMIAL 15 | C ZEROS. THUS THESE ROUTINES ARE SOMEWHAT INEFFICIENT IN TERMS OF 16 | C STORAGE, REQUIRING AN NXN MATRIX AS WORK STORAGE FOR AN NTH DEGREE 17 | C POLYNOMIAL. BUT THEY WORK! 18 | C 19 | C SEE INDIVIDUAL ROUTINE DOCUMENTATION FOR COMPLETE INFORMATION. 20 | C 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/ddriv/ddcor: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DDCOR (DFDY,EL,FA,H,IMPL,IPVT,MATDIM,MITER,ML,MU,N, 3 | 8 NDE,NQ,T,Y,YH,YWT,EVALFA,SAVE1,SAVE2,A,D) 4 | C***BEGIN PROLOGUE DDCOR 5 | C***REFER TO DDRIV3 6 | C Subroutine DDCOR is called to compute corrections to the Y array. 7 | C In the case of functional iteration, update Y directly from the 8 | C result of the last call to F. 9 | C In the case of the chord method, compute the corrector error and 10 | C solve the linear system with that as right hand side and DFDY as 11 | C coefficient matrix, using the LU decomposition if MITER is 1, 2, 4, 12 | C or 5. 13 | C***ROUTINES CALLED DGESL,DGBSL,DNRM2 14 | C***DATE WRITTEN 790601 (YYMMDD) 15 | C***REVISION DATE 841119 (YYMMDD) 16 | C***CATEGORY NO. I1A2,I1A1B 17 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 18 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 19 | C***END PROLOGUE DDCOR 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/ddriv/ddntp: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DDNTP (H,K,N,NQ,T,TOUT,YH,Y) 3 | C***BEGIN PROLOGUE DDNTP 4 | C***REFER TO DDRIV3 5 | C Subroutine DDNTP interpolates the K-th derivative of Y at TOUT, 6 | C using the data in the YH array. If K has a value greater than NQ, 7 | C the NQ-th derivative is calculated. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE DDNTP 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/ddriv/ddpsc: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DDPSC (KSGN,N,NQ,YH) 3 | C***BEGIN PROLOGUE DDPSC 4 | C***REFER TO DDRIV3 5 | C This subroutine computes the predicted YH values by effectively 6 | C multiplying the YH array by the Pascal triangle matrix when KSGN 7 | C is +1, and performs the inverse function when KSGN is -1. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE DDPSC 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/ddriv/ddpst: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DDPST (EL,F,FA,H,IMPL,JACOBN,MATDIM,MITER,ML,MU,N,NDE, 3 | 8 NQ,SAVE2,T,Y,YH,YWT,UROUND,NFE,NJE,A,DFDY,IER,IPVT,SAVE1, 4 | 8 ISWFLG,BND) 5 | C***BEGIN PROLOGUE DDPST 6 | C***REFER TO DDRIV3 7 | C Subroutine DDPST is called to reevaluate the partials. 8 | C If MITER is 1, 2, 4, or 5, the matrix 9 | C P = I - L(0)*H*Jacobian is stored in DFDY and subjected to LU 10 | C decomposition, with the results also stored in DFDY. 11 | C***ROUTINES CALLED DGEFA,DGBFA,DNRM2 12 | C***DATE WRITTEN 790601 (YYMMDD) 13 | C***REVISION DATE 850320 (YYMMDD) 14 | C***CATEGORY NO. I1A2,I1A1B 15 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 16 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 17 | C***END PROLOGUE DDPST 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/ddriv/ddscl: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 3 | C***BEGIN PROLOGUE DDSCL 4 | C***REFER TO DDRIV3 5 | C This subroutine rescales the YH array whenever the step size 6 | C is changed. 7 | C***ROUTINES CALLED (NONE) 8 | C***DATE WRITTEN 790601 (YYMMDD) 9 | C***REVISION DATE 850319 (YYMMDD) 10 | C***CATEGORY NO. I1A2,I1A1B 11 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 12 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 13 | C***END PROLOGUE DDSCL 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/doc/depac/Summary: -------------------------------------------------------------------------------- 1 | 2 | DEPAC 3 | DEPAC is a suite of FORTRAN programs for the solution of initial 4 | value problems for ordinary differential equations, 5 | 6 | y' = f(x,y) 7 | y(x-init) = y-init 8 | 9 | Currently, there are three user callable programs in this package, 10 | 11 | DERKF Runge Kutta method 12 | DEABM Adams predictor corrector method 13 | DEBDF Gear stiff method 14 | 15 | One major advantage of the DEPAC organiziation is that all three programs 16 | have almost identical calling sequences. This facilitates changing from 17 | one to the other. 18 | 19 | . 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/eispack/Summary: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | EISPACK IS A COLLECTION OF 70 FORTRAN SUBROUTINES FOR 5 | EIGENANALYSIS OF MATRICES, BOTH REAL AND COMPLEX. 6 | 7 | ======================================================================== 8 | 9 | COMPLETE DOCUMENTATION FOR THE EISPACK ROUTINES MAY BE FOUND 10 | IN THE BOOKS 11 | 12 | MATRIX EIGENSYSTEM ROUTINES - EISPACK GUIDE 13 | BY SMITH ET AL. 14 | (VOLUMES 6 AND 51 OF LECTURE NOTES IN COMPUTER SCIENCE, 15 | SPRINGER-VERLAG, 1976.) 16 | 17 | ======================================================================== 18 | 19 | NOTE: WHILE EISPACK PROGRAMS CAN ANALYZE COMPLEX MATRICES 20 | A L L INTERNAL ARITHMETIC IS R E A L. 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fc/cv: -------------------------------------------------------------------------------- 1 | 2 | REAL FUNCTION CV(XVAL,NDATA,NCONST,NORD,NBKPT,BKPT,W) 3 | C***BEGIN PROLOGUE CV 4 | C***REFER TO FC 5 | C 6 | C This is a companion function subprogram for FC( ). 7 | C The documentation for FC( ) has more complete 8 | C usage instructions. 9 | C 10 | C Evaluate the variance function of the curve obtained 11 | C by the constrained B-spline fitting subprogram, FC( ). 12 | C 13 | C Revised Feb. 14, 1979. 14 | C***ROUTINES CALLED BSPLVN,SDOT 15 | C***END PROLOGUE CV 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xderr: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDERR(A) 3 | C***BEGIN PROLOGUE XDERR 4 | C***DATE WRITTEN 830124 (YYMMDD) 5 | C***REVISION DATE 861209 (YYMMDD) 6 | C***CATEGORY NO. A3d 7 | C***KEYWORDS EXTENDED-RANGE DOUBLE-PRECISION ARITHMETIC 8 | C***AUTHOR LOZIER, DANIEL W. (NATIONAL BUREAU OF STANDARDS) 9 | C SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 10 | C***PURPOSE TO PROVIDE DOUBLE-PRECISION FLOATING-POINT ARITHMETIC 11 | C WITH AN EXTENDED EXPONENT RANGE 12 | C***DESCRIPTION 13 | C CHARACTER*(*) A 14 | C 15 | C Extended-range double-precision arithmetic package. Print an 16 | C error message and the contents of the common blocks, then stop. 17 | C 18 | C***REFERENCES (PROGRAM LISTING FOR XDSET) 19 | C***ROUTINES CALLED XDPCOM, XERROR 20 | C***COMMON BLOCKS XDBLK1 21 | C***END OF PROLOGUE XDERR 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpcom: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDPCOM 3 | C***BEGIN PROLOGUE XDPCOM 4 | C***DATE WRITTEN 820712 (YYMMDD) 5 | C***REVISION DATE 861209 (YYMMDD) 6 | C***CATEGORY NO. A3d 7 | C***KEYWORDS EXTENDED-RANGE DOUBLE-PRECISION ARITHMETIC 8 | C***AUTHOR LOZIER, DANIEL W. (NATIONAL BUREAU OF STANDARDS) 9 | C SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 10 | C***PURPOSE TO PROVIDE DOUBLE-PRECISION FLOATING-POINT ARITHMETIC 11 | C WITH AN EXTENDED EXPONENT RANGE 12 | C***DESCRIPTION 13 | C 14 | C SUBROUTINE TO PRINT CONTENTS OF COMMON BLOCKS OF DOUBLE-PRECISION 15 | C EXTENDED-RANGE PACKAGE 16 | C 17 | C***REFERENCES (PROGRAM LISTING FOR XDSET) 18 | C***ROUTINES CALLED (NONE) 19 | C***COMMON BLOCKS XDBLK1, XDBLK2, XDBLK3 20 | C***END OF PROLOGUE XDPCOM 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpmu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDPMU(NU1,NU2,MU1,MU2,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDPMU 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADD, XDADJ, XDPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 12 | C METHOD: BACKWARD MU-WISE RECURRENCE FOR P(-MU,NU,X) FOR FIXED NU TO 13 | C OBTAIN P(-MU2,NU1,X),P(-(MU2-1),NU1,X),....,P(-MU1,NU1,X) 14 | C AND STORE IN ASCENDING MU ORDER. 15 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 16 | C***END PROLOGUE XDPMU 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpmup: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDPMUP(NU1,NU2,MU1,MU2,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDPMUP 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADJ 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 12 | C SUBROUTINE XDPMUP TRANSFORMS AN ARRAY OF LEGENDRE FUNCTIONS 13 | C OF THE FIRST KIND OF NEGATIVE ORDER STORED IN ARRAY 14 | C PQA INTO LEGENDRE FUNCTIONS OF THE FIRST KIND OF 15 | C POSITIVE ORDER STORED IN ARRAY PQA. THE ORIGINAL 16 | C ARRAY IS DESTROYED. 17 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 18 | C***END PROLOGUE XDPMUP 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpnrm: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDPNRM(NU1,NU2,MU1,MU2,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDPNRM 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADJ 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 12 | C SUBROUTINE XDPNRM TRANSFORMS AN ARRAY OF LEGENDRE 13 | C FUNCTIONS OF THE FIRST KIND OF NEGATIVE ORDER STORED 14 | C IN ARRAY PQA INTO NORMALIZED LEGENDRE POLYNOMIALS STORED 15 | C IN ARRAY PQA. THE ORIGINAL ARRAY IS DESTROYED. 16 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 17 | C***END PROLOGUE XDPNRM 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpqnu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDPQNU(NU1,NU2,MU,THETA,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDPQNU 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADD, XDADJ, XDPSI 6 | C***COMMON BLOCKS XDBLK1 7 | C***DATE WRITTEN 820728 (YYMMDD) 8 | C***REVISION DATE 871119 (YYMMDD) 9 | C***CATEGORY NO. C3A2,C9 10 | C***KEYWORDS LEGENDRE FUNCTIONS 11 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 12 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 13 | C SUBROUTINE XDPQNU CALCULATES INITIAL VALUES OF P OR Q 14 | C USING POWER SERIES. THEN XDPQNU PERFORMS FORWARD NU-WISE 15 | C RECURRENCE TO OBTAIN P(-MU,NU,X), Q(0,NU,X), OR Q(1,NU,X). 16 | C THE FORWARD NU-WISE RECURRENCE IS STABLE FOR P FOR ALL 17 | C VALUES OF MU, AND IS STABLE FOR Q FOR MU=0 OR 1. 18 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 19 | C***END PROLOGUE XDPQNU 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdpsi: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION XDPSI(A,IPSIK,IPSIX) 3 | C***BEGIN PROLOGUE XDPSI 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED (NONE) 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C7c 9 | C***KEYWORDS PSI FUNCTION 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE VALUES OF THE PSI FUNCTION FOR XDLEGF. 12 | C FUNCTION PSI(A,IPSIK,IPSIX) RETURNS THE VALUE OF THE 13 | C DIGAMMA ( OR PSI ) FUNCTION OF THE ARGUMENT A TO THE 14 | C CALLING ROUTINE. 15 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 16 | C***END PROLOGUE XDPSI 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdqmu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDQMU(NU1,NU2,MU1,MU2,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDQMU 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADD, XDADJ, XDPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 12 | C METHOD: FORWARD MU-WISE RECURRENCE FOR Q(MU,NU,X) FOR FIXED NU TO 13 | C OBTAIN Q(MU1,NU,X),Q(MU1+1,NU,X),....,Q(MU2,NU,X) 14 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 15 | C***END PROLOGUE XDQMU 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xdqnu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XDQNU(NU1,NU2,MU1,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XDQNU 4 | C***REFER TO XDLEGF 5 | C***ROUTINES CALLED XDADD, XDADJ, XDPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XDLEGF. 12 | C METHOD: BACKWARD NU-WISE RECURRENCE FOR Q(MU,NU,X) FOR FIXED MU TO 13 | C OBTAIN Q(MU1,NU1,X),Q(MU1,NU1+1,X),....,Q(MU1,NU2,X) 14 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 15 | C***END PROLOGUE XDQNU 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xserr: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSERR(A) 3 | C***BEGIN PROLOGUE XSERR 4 | C***DATE WRITTEN 830124 (YYMMDD) 5 | C***REVISION DATE 861209 (YYMMDD) 6 | C***CATEGORY NO. A3d 7 | C***KEYWORDS EXTENDED-RANGE SINGLE-PRECISION ARITHMETIC 8 | C***AUTHOR LOZIER, DANIEL W. (NATIONAL BUREAU OF STANDARDS) 9 | C SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 10 | C***PURPOSE TO PROVIDE SINGLE-PRECISION FLOATING-POINT ARITHMETIC 11 | C WITH AN EXTENDED EXPONENT RANGE 12 | C***DESCRIPTION 13 | C CHARACTER*(*) A 14 | C 15 | C Extended-range single-precision arithmetic package. Print an 16 | C error message and the contents of the common blocks, then stop. 17 | C 18 | C***REFERENCES (PROGRAM LISTING FOR XSSET) 19 | C***ROUTINES CALLED XSPCOM, XERROR 20 | C***COMMON BLOCKS XSBLK1 21 | C***END OF PROLOGUE XSERR 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspcom: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSPCOM 3 | C***BEGIN PROLOGUE XSPCOM 4 | C***DATE WRITTEN 820712 (YYMMDD) 5 | C***REVISION DATE 861209 (YYMMDD) 6 | C***CATEGORY NO. A3d 7 | C***KEYWORDS EXTENDED-RANGE SINGLE-PRECISION ARITHMETIC 8 | C***AUTHOR LOZIER, DANIEL W. (NATIONAL BUREAU OF STANDARDS) 9 | C SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 10 | C***PURPOSE TO PROVIDE SINGLE-PRECISION FLOATING-POINT ARITHMETIC 11 | C WITH AN EXTENDED EXPONENT RANGE 12 | C***DESCRIPTION 13 | C 14 | C SUBROUTINE TO PRINT CONTENTS OF COMMON BLOCKS OF SINGLE-PRECISION 15 | C EXTENDED-RANGE PACKAGE 16 | C 17 | C***REFERENCES (PROGRAM LISTING FOR XSSET) 18 | C***ROUTINES CALLED (NONE) 19 | C***COMMON BLOCKS XSBLK1, XSBLK2, XSBLK3 20 | C***END OF PROLOGUE XSPCOM 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspmu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSPMU(NU1,NU2,MU1,MU2,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSPMU 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADD, XSADJ, XSPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 12 | C METHOD: BACKWARD MU-WISE RECURRENCE FOR P(-MU,NU,X) FOR FIXED NU TO 13 | C OBTAIN P(-MU2,NU1,X),P(-(MU2-1),NU1,X),....,P(-MU1,NU1,X) 14 | C AND STORE IN ASCENDING MU ORDER. 15 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 16 | C***END PROLOGUE XSPMU 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspmup: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSPMUP(NU1,NU2,MU1,MU2,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSPMUP 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADJ 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 12 | C SUBROUTINE XSPMUP TRANSFORMS AN ARRAY OF LEGENDRE FUNCTIONS 13 | C OF THE FIRST KIND OF NEGATIVE ORDER STORED IN ARRAY 14 | C PQA INTO LEGENDRE FUNCTIONS OF THE FIRST KIND OF 15 | C POSITIVE ORDER STORED IN ARRAY PQA. THE ORIGINAL 16 | C ARRAY IS DESTROYED. 17 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 18 | C***END PROLOGUE XSPMUP 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspnrm: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSPNRM(NU1,NU2,MU1,MU2,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSPNRM 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADJ 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 12 | C SUBROUTINE XSPNRM TRANSFORMS AN ARRAY OF LEGENDRE 13 | C FUNCTIONS OF THE FIRST KIND OF NEGATIVE ORDER STORED 14 | C IN ARRAY PQA INTO NORMALIZED LEGENDRE POLYNOMIALS STORED 15 | C IN ARRAY PQA. THE ORIGINAL ARRAY IS DESTROYED. 16 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 17 | C***END PROLOGUE XSPNRM 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspqnu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSPQNU(NU1,NU2,MU,THETA,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSPQNU 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADD, XSADJ, XSPSI 6 | C***COMMON BLOCKS XSBLK1 7 | C***DATE WRITTEN 820728 (YYMMDD) 8 | C***REVISION DATE 871119 (YYMMDD) 9 | C***CATEGORY NO. C3A2,C9 10 | C***KEYWORDS LEGENDRE FUNCTIONS 11 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 12 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 13 | C SUBROUTINE XSPQNU CALCULATES INITIAL VALUES OF P OR Q 14 | C USING POWER SERIES. THEN XSPQNU PERFORMS FORWARD NU-WISE 15 | C RECURRENCE TO OBTAIN P(-MU,NU,X), Q(0,NU,X), OR Q(1,NU,X). 16 | C THE FORWARD NU-WISE RECURRENCE IS STABLE FOR P FOR ALL 17 | C VALUES OF MU, AND IS STABLE FOR Q FOR MU=0 OR 1. 18 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 19 | C***END PROLOGUE XSPQNU 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xspsi: -------------------------------------------------------------------------------- 1 | 2 | REAL FUNCTION XSPSI(A,IPSIK,IPSIX) 3 | C***BEGIN PROLOGUE XSPSI 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED (NONE) 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C7c 9 | C***KEYWORDS PSI FUNCTION 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE VALUES OF THE PSI FUNCTION FOR XSLEGF. 12 | C FUNCTION PSI(A,IPSIK,IPSIX) RETURNS THE VALUE OF THE 13 | C DIGAMMA ( OR PSI ) FUNCTION OF THE ARGUMENT A TO THE 14 | C CALLING ROUTINE. 15 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 16 | C***END PROLOGUE XSPSI 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xsqmu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSQMU(NU1,NU2,MU1,MU2,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSQMU 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADD, XSADJ, XSPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 12 | C METHOD: FORWARD MU-WISE RECURRENCE FOR Q(MU,NU,X) FOR FIXED NU TO 13 | C OBTAIN Q(MU1,NU,X),Q(MU1+1,NU,X),....,Q(MU2,NU,X) 14 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 15 | C***END PROLOGUE XSQMU 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fcnpak/xsqnu: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XSQNU(NU1,NU2,MU1,THETA,X,SX,ID,PQA,IPQA) 3 | C***BEGIN PROLOGUE XSQNU 4 | C***REFER TO XSLEGF 5 | C***ROUTINES CALLED XSADD, XSADJ, XSPQNU 6 | C***DATE WRITTEN 820728 (YYMMDD) 7 | C***REVISION DATE 871119 (YYMMDD) 8 | C***CATEGORY NO. C3a2,C9 9 | C***KEYWORDS LEGENDRE FUNCTIONS 10 | C***AUTHOR SMITH, JOHN M. (NBS AND GEORGE MASON UNIVERSITY) 11 | C***PURPOSE TO COMPUTE THE VALUES OF LEGENDRE FUNCTIONS FOR XSLEGF. 12 | C METHOD: BACKWARD NU-WISE RECURRENCE FOR Q(MU,NU,X) FOR FIXED MU TO 13 | C OBTAIN Q(MU1,NU1,X),Q(MU1,NU1+1,X),....,Q(MU1,NU2,X) 14 | C***REFERENCES OLVER AND SMITH,J.COMPUT.PHYSICS,51(1983),N0.3,502-518. 15 | C***END PROLOGUE XSQNU 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/acosh: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ACOSH(X) 3 | C***BEGIN PROLOGUE ACOSH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ACOSH,ARC HYPERBOLIC COSINE,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Compute the arc hyperbolic Cosine. 10 | C***DESCRIPTION 11 | C 12 | C ACOSH(X) computes the arc hyperbolic cosine of X. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED R1MACH,XERROR 15 | C***END PROLOGUE ACOSH 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/albeta: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ALBETA(A,B) 3 | C***BEGIN PROLOGUE ALBETA 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA FUNCTION,COMLETE BETA FUNCTION,LOGARITHM, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the natural log of the complete Beta function. 11 | C***DESCRIPTION 12 | C 13 | C ALBETA computes the natural log of the complete beta function. 14 | C 15 | C Input Parameters: 16 | C A real and positive 17 | C B real and positive 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED ALNGAM,ALNREL,GAMMA,R9LGMC,XERROR 20 | C***END PROLOGUE ALBETA 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/algams: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE ALGAMS(X,ALGAM,SGNGAM) 3 | C***BEGIN PROLOGUE ALGAMS 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS GAMMA FUNCTION,LOGARITHM,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes log(ABS(GAMMA(X))). 10 | C***DESCRIPTION 11 | C 12 | C Evaluates the logarithm of the absolute value of the gamma 13 | C function. 14 | C X - input argument 15 | C ALGAM - result 16 | C SGNGAM - is set to the sign of GAMMA(X) and will 17 | C be returned at +1.0 or -1.0. 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED ALNGAM 20 | C***END PROLOGUE ALGAMS 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/ali: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ALI(X) 3 | C***BEGIN PROLOGUE ALI 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C5 7 | C***KEYWORDS LOGARITHMIC INTEGRAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the logarithmic integral. 10 | C***DESCRIPTION 11 | C 12 | C ALI(X) computes the logarithmic integral; i.e., the 13 | C integral from 0.0 to X of (1.0/ln(t))dt. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED EI,XERROR 16 | C***END PROLOGUE ALI 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/alngam: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ALNGAM(X) 3 | C***BEGIN PROLOGUE ALNGAM 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS GAMMA FUNCTION,LOGARITHM,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the log of the absolute value of the Gamma 10 | C function 11 | C***DESCRIPTION 12 | C 13 | C ALNGAM(X) computes the logarithm of the absolute value of the 14 | C gamma function at X. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED GAMMA,R1MACH,R9LGMC,XERROR 17 | C***END PROLOGUE ALNGAM 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/asinh: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ASINH(X) 3 | C***BEGIN PROLOGUE ASINH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ARC HYPERBOLIC SINE,ASINH,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the arc hyperbolic Sine. 10 | C***DESCRIPTION 11 | C 12 | C ASINH(X) computes the arc hyperbolic sine of X. 13 | C 14 | C Series for ASNH on the interval 0. to 1.00000D+00 15 | C with weighted error 2.19E-17 16 | C log weighted error 16.66 17 | C significant figures required 15.60 18 | C decimal places required 17.31 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED CSEVL,INITS,R1MACH 21 | C***END PROLOGUE ASINH 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/atanh: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ATANH(X) 3 | C***BEGIN PROLOGUE ATANH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ARC HYPERBOLIC TANGENT,ATANH,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Compute the arc hyperbolic Tangent. 10 | C***DESCRIPTION 11 | C 12 | C ATANH(X) computes the arc hyperbolic tangent of X. 13 | C 14 | C Series for ATNH on the interval 0. to 2.50000D-01 15 | C with weighted error 6.70E-18 16 | C log weighted error 17.17 17 | C significant figures required 16.01 18 | C decimal places required 17.76 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED CSEVL,INITS,R1MACH,XERROR 21 | C***END PROLOGUE ATANH 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/besks: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE BESKS(XNU,X,NIN,BK) 3 | C***BEGIN PROLOGUE BESKS 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C10B3 7 | C***KEYWORDS BESSEL FUNCTION,FRACTIONAL ORDER,MODIFIED BESSEL FUNCTION, 8 | C SEQUENCE,THIRD KIND 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes a sequence of modified Bessel functions of the 11 | C third kind of fractional order. 12 | C***DESCRIPTION 13 | C 14 | C BESKS computes a sequence of modified Bessel functions of the third 15 | C kind of order XNU + I at X, where X .GT. 0, XNU lies in (-1,1), 16 | C and I = 0, 1, ... , NIN - 1, if NIN is positive and I = 0, 1, ... , 17 | C NIN + 1, if NIN is negative. On return, the vector BK(.) Contains 18 | C the results at X for order starting at XNU. 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED BESKES,R1MACH,XERROR 21 | C***END PROLOGUE BESKS 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/beta: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION BETA(A,B) 3 | C***BEGIN PROLOGUE BETA 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA FUNCTION,COMPLETE BETA FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complete Beta function. 10 | C***DESCRIPTION 11 | C 12 | C BETA computes the complete beta function. 13 | C 14 | C Input Parameters: 15 | C A real and positive 16 | C B real and positive 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED ALBETA,GAMLIM,GAMMA,R1MACH,XERROR 19 | C***END PROLOGUE BETA 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fnlib/betai: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION BETAI(X,PIN,QIN) 3 | C***BEGIN PROLOGUE BETAI 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7F 7 | C***KEYWORDS BETA FUNCTION,INCOMPLETE BETA FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the incomplete Beta function. 10 | C***DESCRIPTION 11 | C 12 | C BETAI(X,PIN,QIN) calculates the incomplete beta function 13 | C ratio based on Bosten and Battiste, Remark on Algorithm 179, 14 | C Comm. ACM, Vol. 17, p. 153, (1974). 15 | C 16 | C X value to which function is to be integrated. X must be in (0,1) 17 | C PIN input (1st) parameter (must be greater than 0) 18 | C QIN input (2nd) parameter (must be greater than 0) 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED ALBETA,R1MACH,XERROR 21 | C***END PROLOGUE BETAI 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/binom: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION BINOM(N,M) 3 | C***BEGIN PROLOGUE BINOM 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1 7 | C***KEYWORDS BINOMIAL COEFFICIENTS,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the binomial coefficients. 10 | C***DESCRIPTION 11 | C 12 | C BINOM(N,M) calculates the binomial coefficient (N!)/((M!)*(N-M)!). 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED ALNREL,R1MACH,R9LGMC,XERROR 15 | C***END PROLOGUE BINOM 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/cacos: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CACOS(Z) 3 | C***BEGIN PROLOGUE CACOS 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS ARC COSINE,COMPLEX,ELEMEMTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc Cosine. 10 | C***DESCRIPTION 11 | C 12 | C CACOS(Z) calculates the complex trigonometric arc cosine of Z. 13 | C The result is in units of radians, and the real part is in the 14 | C first or second quadrant. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED CASIN 17 | C***END PROLOGUE CACOS 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/cacosh: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CACOSH(Z) 3 | C***BEGIN PROLOGUE CACOSH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ARC HYPERBOLIC COSINE,COMPLEX,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc hyperbolic Cosine. 10 | C***DESCRIPTION 11 | C 12 | C CACOSH(Z) calculates the complex arc hyperbolic cosine of Z. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED CACOS 15 | C***END PROLOGUE CACOSH 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/carg: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION CARG(Z) 3 | C***BEGIN PROLOGUE CARG 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. A4A 7 | C***KEYWORDS ARGUMENT,COMPLEX,COMPLEX NUMBER,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the argument of a complex number. 10 | C***DESCRIPTION 11 | C 12 | C CARG(Z) calculates the argument of the complex number Z. Note 13 | C that CARG returns a real result. If Z = X+iY, then CARG is ATAN(Y/X), 14 | C except when both X and Y are zero, in which case the result 15 | C will be zero. 16 | C***REFERENCES (NONE) 17 | C***ROUTINES CALLED (NONE) 18 | C***END PROLOGUE CARG 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/fnlib/casin: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CASIN(ZINP) 3 | C***BEGIN PROLOGUE CASIN 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS ARC SINE,COMPLEX,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc Sine. 10 | C***DESCRIPTION 11 | C 12 | C CASIN(ZINP) calculates the complex trigonometric arc sine of ZINP. 13 | C The result is in units of radians, and the real part is in the first 14 | C or fourth quadrant. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED R1MACH 17 | C***END PROLOGUE CASIN 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/casinh: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CASINH(Z) 3 | C***BEGIN PROLOGUE CASINH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ARC HYPERBOLIC SINE,COMPLEX,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc hyperbolic Sine. 10 | C***DESCRIPTION 11 | C 12 | C CASINH(Z) calculates the complex arc hyperbolic sine of Z. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED CASIN 15 | C***END PROLOGUE CASINH 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/catan: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CATAN(Z) 3 | C***BEGIN PROLOGUE CATAN 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS ARC TANGENT,COMPLEX,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc Tangent. 10 | C***DESCRIPTION 11 | C 12 | C CATAN(Z) calculates the complex trigonometric arc tangent of Z. 13 | C The result is in units of radians, and the real part is in the first 14 | C or fourth quadrant. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED R1MACH,XERROR 17 | C***END PROLOGUE CATAN 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/catan2: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CATAN2(CSN,CCS) 3 | C***BEGIN PROLOGUE CATAN2 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS ARC TANGENT,COMPLEX,ELEMENTARY FUNCTION,QUADRANT 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc Tangent in the proper quadrant. 10 | C***DESCRIPTION 11 | C 12 | C CATAN2(CSN,CCS) calculates the complex trigonometric arc 13 | C tangent of the ratio CSN/CCS and returns a result whose real 14 | C part is in the correct quadrant (within a multiple of 2*PI). The 15 | C result is in units of radians and the real part is between -PI 16 | C and +PI. 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED CATAN,XERROR 19 | C***END PROLOGUE CATAN2 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fnlib/catanh: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CATANH(Z) 3 | C***BEGIN PROLOGUE CATANH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ARC HYPERBOLIC TANGENT,COMPLEX,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex arc hyperbolic Tangent. 10 | C***DESCRIPTION 11 | C 12 | C CATANH(Z) calculates the complex arc hyperbolic tangent of Z. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED CATAN 15 | C***END PROLOGUE CATANH 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/cbeta: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CBETA(A,B) 3 | C***BEGIN PROLOGUE CBETA 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA FUNCTION,COMPLETE BETA FUNCTION,COMPLEX, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE CBETA computes the complete Beta function of complex 11 | C parameters A and B. 12 | C***DESCRIPTION 13 | C 14 | C CBETA computes the complete beta function of complex parameters A 15 | C and B. 16 | C Input Parameters: 17 | C A complex and the real part of A positive 18 | C B complex and the real part of B positive 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED CGAMMA,CLBETA,GAMLIM,XERROR 21 | C***END PROLOGUE CBETA 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/cbrt: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION CBRT(X) 3 | C***BEGIN PROLOGUE CBRT 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C2 7 | C***KEYWORDS CUBE ROOT,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the cube root of X. 10 | C***DESCRIPTION 11 | C 12 | C CBRT(X) calculates the cube root of X. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED R1MACH,R9PAK,R9UPAK 15 | C***END PROLOGUE CBRT 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/ccbrt: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CCBRT(Z) 3 | C***BEGIN PROLOGUE CCBRT 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C2 7 | C***KEYWORDS COMPLEX,CUBE ROOT,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex cube root of Z. 10 | C***DESCRIPTION 11 | C 12 | C CCBRT(Z) calculates the complex cube root of Z. The principal root 13 | C for which -PI .LT. arg(Z) .LE. +PI is returned. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED CARG,CBRT 16 | C***END PROLOGUE CCBRT 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/ccosh: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CCOSH (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | COMPLEX Z, CI, CCOS 4 | DATA CI /(0.,1.)/ 5 | C 6 | CCOSH = CCOS (CI*Z) 7 | C 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/doc/fnlib/ccot: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CCOT(Z) 3 | C***BEGIN PROLOGUE CCOT 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS COMPLEX,COTANGENT,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the complex Cotangent. 10 | C***DESCRIPTION 11 | C 12 | C CCOT(Z) calculates the comlex trigonometric cotangent of Z. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED R1MACH,XERCLR,XERROR 15 | C***END PROLOGUE CCOT 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/cexprl: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CEXPRL(Z) 3 | C***BEGIN PROLOGUE CEXPRL 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4B 7 | C***KEYWORDS COMPLEX,ELEMENTARY FUNCTION,EXPONENTIAL,FIRST ORDER, 8 | C RELATIVE ERROR 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Evaluates (CEXP(Z)-1)/Z so that EXP(Z) = 1 + Z*CEXPRL(Z) 11 | C***DESCRIPTION 12 | C 13 | C Evaluate (CEXP(Z)-1)/Z . For small CABS(Z), we use the Taylor 14 | C series. We could instead use the expression 15 | C CEXPRL(Z) = (EXP(X)*EXP(I*Y)-1)/Z 16 | C = (X*EXPREL(X) * (1 - 2*SIN(Y/2)**2) - 2*SIN(Y/2)**2 17 | C + I*SIN(Y)*(1+X*EXPREL(X))) / Z 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED R1MACH 20 | C***END PROLOGUE CEXPRL 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/cgamma: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CGAMMA(Z) 3 | C***BEGIN PROLOGUE CGAMMA 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS COMPLETE GAMMA FUNCTION,COMPLEX,GAMMA FUNCTION, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the Gamma function of complex argument. 11 | C***DESCRIPTION 12 | C 13 | C CGAMMA(Z) calculates the complete gamma function for COMPLEX 14 | C argument Z. This is a preliminary version that is portable 15 | C but not accurate. 16 | C***REFERENCES (NONE) 17 | C***ROUTINES CALLED CLNGAM 18 | C***END PROLOGUE CGAMMA 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/fnlib/cgamr: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CGAMR(Z) 3 | C***BEGIN PROLOGUE CGAMR 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS COMPLEX,GAMMA FUNCTION,RECIPROCAL, 8 | C RECIPROCAL GAMMA FUNCTION,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the reciprocal Gamma function of complex argument. 11 | C***DESCRIPTION 12 | C 13 | C CGAMR(Z) calculates the reciprocal gamma function for COMPLEX 14 | C argument Z. This is a preliminary version that is not accurate. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED CLNGAM,XERCLR,XGETF,XSETF 17 | C***END PROLOGUE CGAMR 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/chu: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION CHU(A,B,X) 3 | C***BEGIN PROLOGUE CHU 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C11 7 | C***KEYWORDS CONFLUENT,HYPERGEOMETRIC, 8 | C LOGARITHM CONFLUENT HYPERGEOMETRIC FUNCTION, 9 | C SPECIAL FUNCTION 10 | C***AUTHOR FULLERTON, W., (LANL) 11 | C***PURPOSE Computes the logarithmic confluent hypergeometric function. 12 | C***DESCRIPTION 13 | C 14 | C CHU computes the logarithmic confluent hypergeometric function, 15 | C U(A,B,X). 16 | C 17 | C Input Parameters: 18 | C A real 19 | C B real 20 | C X real and positive 21 | C 22 | C This routine is not valid when 1+A-B is close to zero if X is small. 23 | C***REFERENCES (NONE) 24 | C***ROUTINES CALLED EXPREL,GAMMA,GAMR,POCH,POCH1,R1MACH,R9CHU,XERROR 25 | C***END PROLOGUE CHU 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/doc/fnlib/clbeta: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CLBETA(A,B) 3 | C***BEGIN PROLOGUE CLBETA 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA FUNCTION,COMPLETE BETA FUNCTION,COMPLEX,LOGARITHM, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE CLBETA computes the natural log of the complex valued 11 | C complete Beta function of complex parameters A and B. 12 | C***DESCRIPTION 13 | C 14 | C CLBETA computes the natural log of the complex valued complete beta 15 | C function of complex parameters A and B. This is a preliminary version 16 | C which is not accurate. 17 | C 18 | C Input Parameters: 19 | C A complex and the real part of A positive 20 | C B complex and the real part of B positive 21 | C***REFERENCES (NONE) 22 | C***ROUTINES CALLED CLNGAM,XERROR 23 | C***END PROLOGUE CLBETA 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/doc/fnlib/clngam: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CLNGAM(ZIN) 3 | C***BEGIN PROLOGUE CLNGAM 4 | C***DATE WRITTEN 780401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS ABSOLUTE VALUE,COMPLETE GAMMA FUNCTION,COMPLEX, 8 | C GAMMA FUNCTION,LOGARITHM,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE CLNGAM computes the natural log of the complex valued Gamma 11 | C function at ZIN, where ZIN is a complex number. 12 | C***DESCRIPTION 13 | C 14 | C CLNGAM computes the natural log of the complex valued gamma function 15 | C at ZIN, where ZIN is a complex number. This is a preliminary version, 16 | C which is not accurate. 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED C9LGMC,CARG,CLNREL,R1MACH,XERROR 19 | C***END PROLOGUE CLNGAM 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fnlib/clog10: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CLOG10(Z) 3 | C***BEGIN PROLOGUE CLOG10 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4B 7 | C***KEYWORDS BASE TEN,COMPLEX,ELEMENTARY FUNCTION,LOGARITHM 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the principal value of the complex base 10 10 | C logarithm. 11 | C***DESCRIPTION 12 | C 13 | C CLOG10(Z) calculates the principal value of the complex common 14 | C or base 10 logarithm of Z for -PI .LT. arg(Z) .LE. +PI. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED (NONE) 17 | C***END PROLOGUE CLOG10 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/cosdg: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION COSDG(X) 3 | C***BEGIN PROLOGUE COSDG 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS COSINE,DEGREE,FNLIB,TRIGONOMETRIC 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Cosine of an argument in degrees. 10 | C***DESCRIPTION 11 | C 12 | C COSDG(X) evaluates the cosine for real X in degrees. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED (NONE) 15 | C***END PROLOGUE COSDG 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/fnlib/cot: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION COT(X) 3 | C***BEGIN PROLOGUE COT 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS COTANGENT,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Cotangent. 10 | C***DESCRIPTION 11 | C 12 | C COT(X) calculates the cotangent of the real argument X. X is in 13 | C units of radians. 14 | C 15 | C Series for COT on the interval 0. to 6.25000D-02 16 | C with weighted error 3.76E-17 17 | C log weighted error 16.42 18 | C significant figures required 15.51 19 | C decimal places required 16.88 20 | C***REFERENCES (NONE) 21 | C***ROUTINES CALLED CSEVL,INITS,R1MACH,XERROR 22 | C***END PROLOGUE COT 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/cpsi: -------------------------------------------------------------------------------- 1 | 2 | COMPLEX FUNCTION CPSI(ZIN) 3 | C***BEGIN PROLOGUE CPSI 4 | C***DATE WRITTEN 780501 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7C 7 | C***KEYWORDS COMPLEX,DIGAMMA FUNCTION,PSI FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Psi function of complex argument. 10 | C***DESCRIPTION 11 | C 12 | C PSI(X) calculates the psi (or digamma) function of X. PSI(X) 13 | C is the logarithmic derivative of the gamma function of X. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED CCOT,R1MACH,XERROR 16 | C***END PROLOGUE CPSI 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/csevl: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION CSEVL(X,CS,N) 3 | C***BEGIN PROLOGUE CSEVL 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C3A2 7 | C***KEYWORDS CHEBYSHEV,FNLIB,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Evaluate the N-term Chebyshev series CS at X. 10 | C***DESCRIPTION 11 | C 12 | C Evaluate the N-term Chebyshev series CS at X. Adapted from 13 | C R. Broucke, Algorithm 446, C.A.C.M., 16, 254 (1973). Also see Fox 14 | C and Parker, Chebyshev Polynomials in Numerical Analysis, Oxford Press, 15 | C page 56. 16 | C 17 | C Input Arguments -- 18 | C X value at which the series is to be evaluated. 19 | C CS array of N terms of a Chebyshev series. In eval- 20 | C uating CS, only half the first coefficient is summed. 21 | C N number of terms in array CS. 22 | C***REFERENCES (NONE) 23 | C***ROUTINES CALLED XERROR 24 | C***END PROLOGUE CSEVL 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/doc/fnlib/csinh: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CSINH (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | COMPLEX Z, CI, CSIN 4 | DATA CI /(0.,1.)/ 5 | C 6 | CSINH = -CI*CSIN(CI*Z) 7 | C 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/doc/fnlib/ctan: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CTAN(Z) 2 | C***BEGIN PROLOGUE CTAN 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4A 6 | C***KEYWORDS COMPLEX,ELEMENTARY FUNCTION,TANGENT 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex Tangent. 9 | C***DESCRIPTION 10 | C 11 | C CTAN(Z) calculates the complex trigonometric tangent of complex 12 | C argument Z. Z is in units of radians. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED R1MACH,XERCLR,XERROR 15 | C***END PROLOGUE CTAN 16 | -------------------------------------------------------------------------------- /src/doc/fnlib/ctanh: -------------------------------------------------------------------------------- 1 | *DECK CTANH 2 | COMPLEX FUNCTION CTANH (Z) 3 | C***BEGIN PROLOGUE CTANH 4 | C***PURPOSE Compute the complex hyperbolic tangent. 5 | C***LIBRARY SLATEC (FNLIB) 6 | C***CATEGORY C4C 7 | C***TYPE COMPLEX (CTANH-C) 8 | C***KEYWORDS ELEMENTARY FUNCTIONS, FNLIB, HYPERBOLIC TANGENT 9 | C***AUTHOR Fullerton, W., (LANL) 10 | C***DESCRIPTION 11 | C 12 | C CTANH(Z) calculates the complex hyperbolic tangent of complex 13 | C argument Z. Z is in units of radians. 14 | C 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED CTAN 17 | C***REVISION HISTORY (YYMMDD) 18 | C 770401 DATE WRITTEN 19 | C***END PROLOGUE CTANH 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/dacosh: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DACOSH(X) 3 | C***BEGIN PROLOGUE DACOSH 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS DOUBLE PRECISION,ELEMENTARY FUNCTION, 8 | C INVERSE HYPERBOLIC COSINE 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the arc hyperbolic Cosine. 11 | C***DESCRIPTION 12 | C 13 | C DACOSH(X) calculates the double precision arc hyperbolic cosine for 14 | C double precision argument X. THe result is returned on the 15 | C positive branch. 16 | C***REFERENCES (NONE) 17 | C***ROUTINES CALLED D1MACH,XERROR 18 | C***END PROLOGUE DACOSH 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/fnlib/dasinh: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DASINH(X) 3 | C***BEGIN PROLOGUE DASINH 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS DOUBLE PRECISION,ELEMENTARY FUNCTION, 8 | C INVERSE HYPERBOLIC SINE 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the arc hyperbolic Sine. 11 | C***DESCRIPTION 12 | C 13 | C DASINH(X) calculates the double precision arc hyperbolic 14 | C sine for double precision argument X. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED D1MACH,DCSEVL,INITDS 17 | C***END PROLOGUE DASINH 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/dbeta: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DBETA(A,B) 3 | C***BEGIN PROLOGUE DBETA 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA,BETA FUNCTION,COMPLETE BETA FUNCTION, 8 | C DOUBLE PRECISION,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the d.p. complete Beta function. 11 | C***DESCRIPTION 12 | C 13 | C DBETA(A,B) calculates the double precision complete beta function 14 | C for double precision arguments A and B. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED D1MACH,DGAMLM,DGAMMA,DLBETA,XERROR 17 | C***END PROLOGUE DBETA 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/dbinom: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DBINOM(N,M) 3 | C***BEGIN PROLOGUE DBINOM 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1 7 | C***KEYWORDS BINOMIAL COEFFICIENTS,DOUBLE PRECISION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. binomial coefficients. 10 | C***DESCRIPTION 11 | C 12 | C DBINOM(N,M) calculates the double precision binomial coefficient 13 | C for integer arguments N and M. The result is (N!)/((M!)(N-M)!). 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED D1MACH,D9LGMC,DINT,DLNREL,XERROR 16 | C***END PROLOGUE DBINOM 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/dcbrt: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DCBRT(X) 3 | C***BEGIN PROLOGUE DCBRT 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C2 7 | C***KEYWORDS CUBE ROOT,DOUBLE PRECISION,ELEMENTARY FUNCTION,ROOT 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. cube root. 10 | C***DESCRIPTION 11 | C 12 | C DCBRT(X) calculates the double precision cube root for 13 | C double precision argument X. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED D1MACH,D9PAK,D9UPAK 16 | C***END PROLOGUE DCBRT 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/dchu: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DCHU(A,B,X) 3 | C***BEGIN PROLOGUE DCHU 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C11 7 | C***KEYWORDS CONFLUENT HYPERGEOMETRIC FUNCTION,DOUBLE PRECISION, 8 | C LOGARITHMIC,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Calculates the d.p. logarithmic confluent hypergeometric 11 | C function. 12 | C***DESCRIPTION 13 | C 14 | C DCHU(A,B,X) calculates the double precision logarithmic confluent 15 | C hypergeometric function U(A,B,X) for double precision arguments 16 | C A, B, and X. 17 | C 18 | C This routine is not valid when 1+A-B is close to zero if X is small. 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED D1MACH,D9CHU,DEXPRL,DGAMMA,DGAMR,DINT,DPOCH,DPOCH1, 21 | C XERROR 22 | C***END PROLOGUE DCHU 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/dcosdg: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DCOSDG(X) 3 | C***BEGIN PROLOGUE DCOSDG 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS COSINE,DEGREE,DOUBLE PRECISION,ELEMENTARY FUNCTION, 8 | C TRIGONOMETRIC COSINE 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the d.p. Cosine for degree arguments. 11 | C***DESCRIPTION 12 | C 13 | C DCOSDG(X) calculates the double precision trigonometric cosine 14 | C for double precision argument X in units of degrees. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED (NONE) 17 | C***END PROLOGUE DCOSDG 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/dei: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DEI(X) 3 | C***BEGIN PROLOGUE DEI 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C5 7 | C***KEYWORDS DOUBLE PRECISION,EXPONENTIAL INTEGRAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. exponential integral EI(X). 10 | C***DESCRIPTION 11 | C 12 | C DEI(X) calculates the double precision exponential integral Ei(X) 13 | C for positive double precision argument X and the Cauchy principal 14 | C value for negative X. If principal values are used everywhere, 15 | C then for all X 16 | C 17 | C Ei(X) = -Ei(-X) or 18 | C Ei(X) = -Ei(-X). 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED DE1 21 | C***END PROLOGUE DEI 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/derf: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DERF(X) 3 | C***BEGIN PROLOGUE DERF 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 840425 (YYMMDD) 6 | C***CATEGORY NO. C8A,L5A1E 7 | C***KEYWORDS DOUBLE PRECISION,ERROR FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. error function, ERF, of X. 10 | C***DESCRIPTION 11 | C 12 | C DERF(X) calculates the double precision error function for double 13 | C precision argument X. 14 | C 15 | C Series for ERF on the interval 0. to 1.00000E+00 16 | C with weighted error 1.28E-32 17 | C log weighted error 31.89 18 | C significant figures required 31.05 19 | C decimal places required 32.55 20 | C***REFERENCES (NONE) 21 | C***ROUTINES CALLED D1MACH,DCSEVL,DERFC,INITDS 22 | C***END PROLOGUE DERF 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/dexprl: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DEXPRL(X) 3 | C***BEGIN PROLOGUE DEXPRL 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4B 7 | C***KEYWORDS DOUBLE PRECISION,ELEMENTARY FUNCTION,EXPONENTIAL, 8 | C FIRST ORDER,RELATIVE ACCURACY 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Calculates the d.p. relative error exponential 11 | C (DEXP(X)-1)/X. 12 | C***DESCRIPTION 13 | C 14 | C Evaluate EXPREL(X) = (EXP(X) - 1.0) / X. For small ABS(X) the 15 | C Taylor series is used. If X is negative the reflection formula 16 | C EXPREL(X) = EXP(X) * EXPREL(ABS(X)) 17 | C may be used. This reflection formula will be of use when the 18 | C evaluation for small ABS(X) is done by Chebyshev series rather than 19 | C Taylor series. 20 | C***REFERENCES (NONE) 21 | C***ROUTINES CALLED D1MACH 22 | C***END PROLOGUE DEXPRL 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/dfac: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DFAC(N) 3 | C***BEGIN PROLOGUE DFAC 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1 7 | C***KEYWORDS DOUBLE PRECISION,FACTORIAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. factorial of N. 10 | C***DESCRIPTION 11 | C 12 | C DFAC(N) calculates the double precision factorial for integer 13 | C argument N. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED D9LGMC,DGAMLM,XERROR 16 | C***END PROLOGUE DFAC 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/dgami: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DGAMI(A,X) 3 | C***BEGIN PROLOGUE DGAMI 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7E 7 | C***KEYWORDS DOUBLE PRECISION,GAMMA,GAMMA FUNCTION, 8 | C INCOMPLETE GAMMA FUNCTION,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Calculates the d.p. incomplete Gamma function. 11 | C***DESCRIPTION 12 | C 13 | C Evaluate the incomplete gamma function defined by 14 | C 15 | C DGAMI = integral from T = 0 to X of EXP(-T) * T**(A-1.0) . 16 | C 17 | C DGAMI is evaluated for positive values of A and non-negative values 18 | C of X. A slight deterioration of 2 or 3 digits accuracy will occur 19 | C when DGAMI is very large or very small, because logarithmic variables 20 | C are used. The function and both arguments are double precision. 21 | C***REFERENCES (NONE) 22 | C***ROUTINES CALLED DGAMIT,DLNGAM,XERROR 23 | C***END PROLOGUE DGAMI 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/doc/fnlib/dgamr: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DGAMR(X) 3 | C***BEGIN PROLOGUE DGAMR 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS DOUBLE PRECISION,GAMMA,GAMMA FUNCTION, 8 | C RECIPROCAL GAMMA FUNCTION,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Calculates d.p. reciprocal Gamma function. 11 | C***DESCRIPTION 12 | C 13 | C DGAMR(X) calculates the double precision reciprocal of the 14 | C complete gamma function for double precision argument X. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED DGAMMA,DINT,DLGAMS,XERCLR,XGETF,XSETF 17 | C***END PROLOGUE DGAMR 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/dlbeta: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DLBETA(A,B) 3 | C***BEGIN PROLOGUE DLBETA 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7B 7 | C***KEYWORDS BETA,BETA FUNCTION,COMPLETE BETA FUNCTION, 8 | C DOUBLE PRECISION,LOGARITHM,SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the d.p. natural logarithm of the complete Beta 11 | C function 12 | C***DESCRIPTION 13 | C 14 | C DLBETA(A,B) calculates the double precision natural logarithm of 15 | C the complete beta function for double precision arguments 16 | C A and B. 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED D9LGMC,DGAMMA,DLNGAM,DLNREL,XERROR 19 | C***END PROLOGUE DLBETA 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fnlib/dlgams: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE DLGAMS(X,DLGAM,SGNGAM) 3 | C***BEGIN PROLOGUE DLGAMS 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS ABSOLUTE VALUE,DOUBLE PRECISION,GAMMA FUNCTION,LOGARITHM, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Calculates the log of the absolute value of the Gamma 11 | C function 12 | C***DESCRIPTION 13 | C 14 | C DLGAMS(X,DLGAM,SGNGAM) calculates the double precision natural 15 | C logarithm of the absolute value of the gamma function for 16 | C double precision argument X and stores the result in double 17 | C precision argument DLGAM. 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED DINT,DLNGAM 20 | C***END PROLOGUE DLGAMS 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/dli: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DLI(X) 3 | C***BEGIN PROLOGUE DLI 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C5 7 | C***KEYWORDS DOUBLE PRECISION,LOGARITHMIC INTEGRAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the d.p. logarithmic integral. 10 | C***DESCRIPTION 11 | C 12 | C DLI(X) calculates the double precision logarithmic integral 13 | C for double precision argument X. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED DEI,XERROR 16 | C***END PROLOGUE DLI 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/dlngam: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DLNGAM(X) 3 | C***BEGIN PROLOGUE DLNGAM 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS ABSOLUTE VALUE,DOUBLE PRECISION,GAMMA FUNCTION,LOGARITHM, 8 | C SPECIAL FUNCTION 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the d.p. logarithm of the absolute value of the 11 | C Gamma function 12 | C***DESCRIPTION 13 | C 14 | C DLNGAM(X) calculates the double precision logarithm of the 15 | C absolute value of the gamma function for double precision 16 | C argument X. 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED D1MACH,D9LGMC,DGAMMA,DINT,XERROR 19 | C***END PROLOGUE DLNGAM 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/fnlib/dpoch: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DPOCH(A,X) 3 | C***BEGIN PROLOGUE DPOCH 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1,C7A 7 | C***KEYWORDS DOUBLE PRECISION,POCHHAMMER,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes d.p. generalized Pochhammer's symbol. 10 | C***DESCRIPTION 11 | C 12 | C Evaluate a double precision generalization of Pochhammer's symbol 13 | C (A)-sub-X = GAMMA(A+X)/GAMMA(A) for double precision A and X. 14 | C For X a non-negative integer, POCH(A,X) is just Pochhammer's symbol. 15 | C This is a preliminary version that does not handle wrong arguments 16 | C properly and may not properly handle the case when the result is 17 | C computed to less than half of double precision. 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED D9LGMC,DCOT,DFAC,DGAMMA,DGAMR,DINT,DLGAMS,DLNREL, 20 | C XERROR 21 | C***END PROLOGUE DPOCH 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/dsindg: -------------------------------------------------------------------------------- 1 | 2 | DOUBLE PRECISION FUNCTION DSINDG(X) 3 | C***BEGIN PROLOGUE DSINDG 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS DEGREE,DOUBLE PRECISION,ELEMENTARY FUNCTION,SINE, 8 | C TRIGONOMETRIC SINE 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the d.p. Sine for degree arguments. 11 | C***DESCRIPTION 12 | C 13 | C DSINDG(X) calculates the double precision sine for double 14 | C precision argument X where X is in degrees. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED (NONE) 17 | C***END PROLOGUE DSINDG 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/fnlib/ei: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION EI(X) 3 | C***BEGIN PROLOGUE EI 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C5 7 | C***KEYWORDS EXPONENTIAL INTEGRAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the exponential integral EI(X). 10 | C***DESCRIPTION 11 | C 12 | C EI(X) calculates the single precision exponential integral for 13 | C positive, single precision argument X. The Cauchy principal 14 | C value is returned for negative X. If principal values are used 15 | C everywhere, then for all X 16 | C 17 | C EI(X) = -E1(-X) 18 | C or 19 | C E1(X) = -EI(-X). 20 | C***REFERENCES (NONE) 21 | C***ROUTINES CALLED E1 22 | C***END PROLOGUE EI 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/erf: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ERF (X) 3 | C***BEGIN PROLOGUE ERF 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C8A,L5A1E 7 | C***KEYWORDS ERF,ERROR FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the error function, ERF. 10 | C***DESCRIPTION 11 | C ERF(X) calculates the single precision error function for 12 | C single precision argument X. 13 | C 14 | C Series for ERF on the interval 0. to 1.00000D+00 15 | C with weighted error 7.10E-18 16 | C log weighted error 17.15 17 | C significant figures required 16.31 18 | C decimal places required 17.71 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED CSEVL,ERFC,INITS,R1MACH 21 | C***END PROLOGUE ERF 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/fnlib/exprel: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION EXPREL(X) 3 | C***BEGIN PROLOGUE EXPREL 4 | C***DATE WRITTEN 770801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4B 7 | C***KEYWORDS ELEMENTARY FUNCTION,EXPONENTIAL,RELATIVE ERROR 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Evaluates EXPREL(X) = (EXP(X)-1)/X) 10 | C***DESCRIPTION 11 | C 12 | C Evaluate EXPREL(X) = (EXP(X) - 1.0) / X. For small ABS(X) the 13 | C Taylor series is used. If X is negative, the reflection formula 14 | C EXPREL(X) = EXP(X) * EXPREL(ABS(X)) 15 | C may be used. This reflection formula will be of use when the 16 | C evaluation for small ABS(X) is done by Chebyshev series rather than 17 | C Taylor series. EXPREL and X are single precision. 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED R1MACH 20 | C***END PROLOGUE EXPREL 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/fac: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION FAC(N) 3 | C***BEGIN PROLOGUE FAC 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1 7 | C***KEYWORDS FACTORIAL,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the factorial of N. 10 | C***DESCRIPTION 11 | C 12 | C FAC(N) evaluates the factorial function of N. FAC is single 13 | C precision. N must be an integer between 0 and 25 inclusive. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED GAMLIM,R9LGMC,XERROR 16 | C***END PROLOGUE FAC 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/gami: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION GAMI(A,X) 3 | C***BEGIN PROLOGUE GAMI 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7E 7 | C***KEYWORDS GAMMA FUNCTION,INCOMPLETE GAMMA FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the incomplete Gamma function. 10 | C***DESCRIPTION 11 | C 12 | C Evaluate the incomplete gamma function defined by 13 | C 14 | C GAMI = integral from T = 0 to X of EXP(-T) * T**(A-1.0) . 15 | C 16 | C GAMI is evaluated for positive values of A and non-negative values 17 | C of X. A slight deterioration of 2 or 3 digits accuracy will occur 18 | C when GAMI is very large or very small, because logarithmic variables 19 | C are used. GAMI, A, and X are single precision. 20 | C***REFERENCES (NONE) 21 | C***ROUTINES CALLED ALNGAM,GAMIT,XERROR 22 | C***END PROLOGUE GAMI 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/fnlib/gamma: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION GAMMA(X) 3 | C***BEGIN PROLOGUE GAMMA 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS GAMMA FUNCTION,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Gamma function. 10 | C***DESCRIPTION 11 | C 12 | C GAMMA computes the gamma function at X, where X is not 0, -1, -2, .... 13 | C GAMMA and X are single precision. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED CSEVL,GAMLIM,INITS,R1MACH,R9LGMC,XERROR 16 | C***END PROLOGUE GAMMA 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/gamr: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION GAMR(X) 3 | C***BEGIN PROLOGUE GAMR 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C7A 7 | C***KEYWORDS GAMMA FUNCTION SPECIAL FUNCTION,RECIPROCAL GAMMA FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the reciprocal of the Gamma function. 10 | C***DESCRIPTION 11 | C 12 | C GAMR is a single precison function that evaluates the reciprocal 13 | C of the gamma function for single precision argument X. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED ALGAMS,GAMMA,XERCLR,XGETF,XSETF 16 | C***END PROLOGUE GAMR 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/fnlib/poch: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION POCH(A,X) 3 | C***BEGIN PROLOGUE POCH 4 | C***DATE WRITTEN 770701 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C1,C7A 7 | C***KEYWORDS POCHHAMMER,SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Evaluates a generalization of Pochhammer's symbol. 10 | C***DESCRIPTION 11 | C 12 | C Evaluate a generalization of Pochhammer's symbol 13 | C (A)-sub-X = GAMMA(A+X)/GAMMA(A). For X a non-negative integer, 14 | C POCH(A,X) is just Pochhammer's symbol. A and X are single precision. 15 | C This is a preliminary version. Error handling when POCH(A,X) is 16 | C less than half precision is probably incorrect. Grossly incorrect 17 | C arguments are not handled properly. 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED ALGAMS,ALNREL,FAC,GAMMA,GAMR,R9LGMC,XERROR 20 | C***END PROLOGUE POCH 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/fnlib/sindg: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION SINDG(X) 3 | C***BEGIN PROLOGUE SINDG 4 | C***DATE WRITTEN 770601 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4A 7 | C***KEYWORDS DEGREE,FNLIB,SINE,TRIGONOMETRIC 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Sine of an argument in degrees. 10 | C***DESCRIPTION 11 | C 12 | C SINDG(X) evaluates the single precision sine of X where 13 | C X is in degrees. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED (NONE) 16 | C***END PROLOGUE SINDG 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/licepak/Summary: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | P A C K A G E LICEPAK 5 | 6 | (Version 1980 ) 7 | 8 | Solves various linear algebraic eigenvalue problems. (Provides an 9 | interface to the EISPACK package). 10 | 11 | 12 | CGEEV.........Computes the eigenvalues and, optionally, the eigenvectors 13 | of a general complex matrix. 14 | CHIEV.........Computes the eigenvalues and, optionally, the eigenvectors 15 | of a complex hermitian matrix. 16 | SGEEV.........Computes the eigenvalues and, optionally, the eigenvectors 17 | of a general real matrix. 18 | SSIEV.........Computes the eigenvalues and, optionally, the eigenvectors 19 | of a real symmetric matrix. 20 | SSPEV.........Computes eigenvalues and, optionally eigenvectors of real 21 | symmetric matrix stored in packed form. 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/doc/lotps/logrd: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE LOGRD(X,N,NX,XG,T) 3 | C THIS SUBROUTINE PLACES A SET OF INTERVALS OVER THE SET OF POINTS 4 | C (X(I), I=1,...,N). THIS IS DONE BY PLACING APPROXIMATELY EQUAL 5 | C NUMBERS OF THEM WITHIN EACH INTERVAL. 6 | C 7 | C THE ARGUMENTS ARE AS FOLLOWS. 8 | C 9 | C N - INPUT. THE NUMBER OF POINTS IN THE ARRAY X. 10 | C X - INPUT. THE ARRAY OF X POINTS. 11 | C NX - INPUT. THE DESIRED NUMBER OF INTERVALS. 12 | C XG - OUTPUT. THE COORDINATES OF THE INTERVAL ENDPOINTS. 13 | C T - WORK ARRAY OF DIMENSION AT LEAST N. 14 | C 15 | C SUBROUTINES USED 16 | C SLATEC: SSORT 17 | C 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/machcon/Summary: -------------------------------------------------------------------------------- 1 | 2 | MACHCON IS A SET OF THREE FORTRAN FUNCTIONS THAT PROVIDE MACHINE 3 | DEPENDENT INFORMATION. 4 | 5 | THE FORM OF THESE FUNCTIONS ARE 6 | R = R1MACH(K) 7 | I = I1MACH(K) 8 | D = D1MACH(K) 9 | WHERE 10 | R IS A REAL (SINGLE PRECISION) NUMBER 11 | I IS AN INTEGER 12 | D IS A DOUBLE PRECISION NUMBER 13 | AND 14 | K IS AN INTEGER 15 | 16 | BY USING THESE FUNCTIONS IN YOUR FORTRAN PROGRAMS, LARGE NUMBERS OF 17 | PROGRAMS CAN BE MOVED FROM ONE MACHINE TO ANOTHER BY SIMPLY CHANGING 18 | THESE THREE FUNCTIONS. 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/quadpkd/Summary: -------------------------------------------------------------------------------- 1 | 2 | Q U A D D P P A C K A G E 3 | 4 | 5 | QUADPKD is a package of Fortran programs for computing definite 6 | integrals of various forms. These programs are the double 7 | precision analogues of programs in the QUADPKS package. Please 8 | refer to documentation of QUADPKS for an overview of its 9 | capabilities. 10 | 11 | The double precision subprogram names are the same as their 12 | single precision counterparts except that they are preceded by 13 | a "D". Thus the single precision program QAG is DQAG in 14 | double precision. 15 | ' 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/doc/rv/Summary: -------------------------------------------------------------------------------- 1 | 2 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 3 | C 4 | C RV Random Variables 5 | C 6 | C RV is a package of random number generators. 7 | C 8 | C UNI generates uniform numbers on [0,1). 9 | C RNOR generates normal numbers with zero mean and 10 | C standard deviation one. 11 | C 12 | C The major advantages of these generators are long cycle, 13 | C very high degree of portability and reproducibility of 14 | C results on different machines. 15 | C 16 | C In addition, as of May 1983, RNOR is the fastest of all 17 | C the Fortran normal random number generators we have tested. 18 | C 19 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/sdriv/sdcor: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE SDCOR (DFDY,EL,FA,H,IMPL,IPVT,MATDIM,MITER,ML,MU,N, 3 | 8 NDE,NQ,T,Y,YH,YWT,EVALFA,SAVE1,SAVE2,A,D) 4 | C***BEGIN PROLOGUE SDCOR 5 | C***REFER TO SDRIV3 6 | C Subroutine SDCOR is called to compute corrections to the Y array. 7 | C In the case of functional iteration, update Y directly from the 8 | C result of the last call to F. 9 | C In the case of the chord method, compute the corrector error and 10 | C solve the linear system with that as right hand side and DFDY as 11 | C coefficient matrix, using the LU decomposition if MITER is 1, 2, 4, 12 | C or 5. 13 | C***ROUTINES CALLED SGESL,SGBSL,SNRM2 14 | C***DATE WRITTEN 790601 (YYMMDD) 15 | C***REVISION DATE 841119 (YYMMDD) 16 | C***CATEGORY NO. I1A2,I1A1B 17 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 18 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 19 | C***END PROLOGUE SDCOR 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/sdriv/sdntp: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE SDNTP (H,K,N,NQ,T,TOUT,YH,Y) 3 | C***BEGIN PROLOGUE SDNTP 4 | C***REFER TO SDRIV3 5 | C Subroutine SDNTP interpolates the K-th derivative of Y at TOUT, 6 | C using the data in the YH array. If K has a value greater than NQ, 7 | C the NQ-th derivative is calculated. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE SDNTP 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/sdriv/sdpsc: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE SDPSC (KSGN,N,NQ,YH) 3 | C***BEGIN PROLOGUE SDPSC 4 | C***REFER TO SDRIV3 5 | C This subroutine computes the predicted YH values by effectively 6 | C multiplying the YH array by the Pascal triangle matrix when KSGN 7 | C is +1, and performs the inverse function when KSGN is -1. 8 | C***ROUTINES CALLED (NONE) 9 | C***DATE WRITTEN 790601 (YYMMDD) 10 | C***REVISION DATE 841119 (YYMMDD) 11 | C***CATEGORY NO. I1A2,I1A1B 12 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 13 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 14 | C***END PROLOGUE SDPSC 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/doc/sdriv/sdpst: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE SDPST (EL,F,FA,H,IMPL,JACOBN,MATDIM,MITER,ML,MU,N,NDE, 3 | 8 NQ,SAVE2,T,Y,YH,YWT,UROUND,NFE,NJE,A,DFDY,IER,IPVT,SAVE1, 4 | 8 ISWFLG,BND) 5 | C***BEGIN PROLOGUE SDPST 6 | C***REFER TO SDRIV3 7 | C Subroutine SDPST is called to reevaluate the partials. 8 | C If MITER is 1, 2, 4, or 5, the matrix 9 | C P = I - L(0)*H*Jacobian is stored in DFDY and subjected to LU 10 | C decomposition, with the results also stored in DFDY. 11 | C***ROUTINES CALLED SGEFA,SGBFA,SNRM2 12 | C***DATE WRITTEN 790601 (YYMMDD) 13 | C***REVISION DATE 850320 (YYMMDD) 14 | C***CATEGORY NO. I1A2,I1A1B 15 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 16 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 17 | C***END PROLOGUE SDPST 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/doc/sdriv/sdscl: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE SDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 3 | C***BEGIN PROLOGUE SDSCL 4 | C***REFER TO SDRIV3 5 | C This subroutine rescales the YH array whenever the step size 6 | C is changed. 7 | C***ROUTINES CALLED (NONE) 8 | C***DATE WRITTEN 790601 (YYMMDD) 9 | C***REVISION DATE 850319 (YYMMDD) 10 | C***CATEGORY NO. I1A2,I1A1B 11 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 12 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 13 | C***END PROLOGUE SDSCL 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/doc/sglss/Summary: -------------------------------------------------------------------------------- 1 | 2 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 3 | C 4 | C P A C K A G E S G L S S 5 | C 6 | C 7 | C This package solves systems of linear equations AX=B 8 | C with matrices A and B. The system may be overdetermined 9 | C square and non singular or underdetermined. 10 | C Emphasis is put on detecting possible rank deficiency. 11 | C The package contains three user callable subroutines, 12 | C SGLSS for the general problem, with "easy" call sequence 13 | C LLSIA for the overdetermined system, flexible 14 | C ULSIA for the underdetermined system, flexible. 15 | C 16 | C This package was written by T. Manteuffel of Los Alamos Nat. Lab. 17 | C 18 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/slrpack/Summary: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | P A C K A G E SLRPACK 5 | 6 | (Version 1985 ) 7 | 8 | A collection of FORTRAN subprograms for simple linear regression 9 | 10 | 11 | RGM...........computes estimates of simple linear regression parameters 12 | for a geometric mean regression 13 | RWILL.........estimates simple linear regression coefficients when both 14 | variables are subject to errors which are not necessarily 15 | homogeneous in variance (method due to Williamson) 16 | RYORK.........estimates simple linear regression coefficients when both 17 | variables are subject to errors which are not necessarily 18 | homogeneous in variance (method due to York) 19 | LINFS.........solves the model y = beta1 + (beta2)x under the Chebyshev 20 | norm criterion 21 | DLINFS........double precision version of LINFS 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/snls1e/Summary: -------------------------------------------------------------------------------- 1 | 2 | C 3 | C P A C K A G E : SNLS1E 4 | C 5 | C THIS PACKAGE SOLVES NON LINEAR LEAST SQUARES PROBLEMS. 6 | C THAT IS, MINIMIZING A SUM OF SQUARES OF M NONLINEAR FUNCTIONS 7 | C OF N VARIABLES. IN ADDITION THE PACKAGE USES SOME PROGRAMS 8 | C FOR SOLVING A SYSTEM OF NON LINEAR EQUATIONS WHICH CAN BE USED 9 | C INDEPENDENTLY. 10 | C 11 | C THE IMPORTANT PROGRAMS ARE: 12 | C SNLS1E EASY TO USE NON LINEAR LEAST SQUARES MINIMIZER. 13 | C SNLS1 GENERAL (FLEXIBLE) NON LINEAR LEAST SQUARES MINIMIZER. 14 | C SNSQE EASY TO USE NON LINEAR EQUATION SOLVER. 15 | C SNSQ GENERAL (FLEXIBLE) NON LINEAR EQUATION SOLVER. 16 | C BOTH SNSQE AND SNSQ USE LEVENBERG-MARQUART METHOD. 17 | C SOS EASY TO USE NON LINEAR EQUATION SOLVER (BROWN'S METHOD). 18 | C 19 | C SEE INDIVIDUAL ROUTINE DOCUMENTATION FOR DETAILED INSTRUCTIONS. 20 | C 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/doc/ssort/Summary: -------------------------------------------------------------------------------- 1 | 2 | C 3 | C 4 | C P A C K A G E : SSORT 5 | C 6 | C 7 | C SSORT IS A SUBROUTINE FOR THE FAST IN CORE SORTING OF REAL ARRAYS 8 | C A MODIFICATION OF THE "QUICKSORT" ALGORITHM IS USED. 9 | C 10 | C SORTING MAY BE EITHER LARGEST FIRST, OR SMALLEST FIRST 11 | C ALSO, ONE ADDITIONAL ARRAY CAN BE CARRIED ALONG WHILE THE 12 | C SORTING IS TAKING PLACE. 13 | C 14 | C ISORT IS A SIMILAR ROUTINE FOR SORTING OF INTEGER ARRAYS 15 | C 16 | C CSORT IS A SIMILAR ROUTINE FOR SORTING OF AN ARRAY OF STRINGS 17 | C 18 | C 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/doc/twodq/Summary: -------------------------------------------------------------------------------- 1 | 2 | c TWODQ 3 | c 4 | c A set of routines for the evaluation of a definite integral over 5 | c one or more triangles in the plane. 6 | c This program assumes that the integrand is available as a Fortran 7 | c Function. The user describes the domain of integration by giving the 8 | c vertices of the triangles and inputs an error tolerance, which may 9 | c be absolute or relative. He/she also has a choice of two quadrature 10 | c routines which are used in the "guts" of TWODQ. One is particularly 11 | c suitable for functions which have singularities on the boundary of 12 | c the domain. 13 | c The basic algorithm is "global adaption". 14 | c Authors: D. K. Kahaner & O. W. Rechard, Center Appl Math, NBS. 15 | c 16 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/doc/vhs3/hs3cri: -------------------------------------------------------------------------------- 1 | hs3crt -------------------------------------------------------------------------------- /src/doc/vhs3/pst3di: -------------------------------------------------------------------------------- 1 | pstg3d -------------------------------------------------------------------------------- /src/doc/xblas/isamin: -------------------------------------------------------------------------------- 1 | 2 | INTEGER FUNCTION ISAMIN(N,SX,INCX) 3 | C 4 | C FINDS THE 1ST INDEX OF ELEMENT HAVING MIN. ABSOLUTE VALUE. 5 | C D. KAHANER,LASL,6/14/79 6 | C 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/doc/xblas/ismax: -------------------------------------------------------------------------------- 1 | 2 | INTEGER FUNCTION ISMAX(N,SX,INCX) 3 | C 4 | C FINDS THE 1ST INDEX OF ELEMENT SX HAVING MAX. VALUE. 5 | C N IS THE NUMBER OF ELEMENTS 6 | C INCX IS THE INCREMENTAL SPACING IN SX 7 | C D. KAHANER LASL 6/14/79 8 | C 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/doc/xblas/ismin: -------------------------------------------------------------------------------- 1 | 2 | INTEGER FUNCTION ISMIN(N,SX,INCX) 3 | C 4 | C FINDS THE 1ST INDEX OF ELEMENT HAVING MIN. VALUE. 5 | C D. KAHANER,LASL,6/14/79 6 | C 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/doc/xerror/numxer: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION NUMXER(NERR) 3 | C***BEGIN PROLOGUE NUMXER 4 | C***DATE WRITTEN 790801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. R3C 7 | C***KEYWORDS ERROR,XERROR PACKAGE 8 | C***AUTHOR JONES, R. E., (SNLA) 9 | C***PURPOSE Returns most recent error number 10 | C***DESCRIPTION 11 | C 12 | C Abstract 13 | C NUMXER returns the most recent error number, 14 | C in both NUMXER and the parameter NERR. 15 | C 16 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 17 | C Latest revision --- 7 June 1978 18 | C***REFERENCES JONES R.E., *SLATEC COMMON MATHEMATICAL LIBRARY ERROR 19 | C HANDLING PACKAGE*, SAND78-1189, SANDIA LABORATORIES, 20 | C 1978. 21 | C***ROUTINES CALLED J4SAVE 22 | C***END PROLOGUE NUMXER 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doc/xerror/xerclr: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XERCLR 3 | C***BEGIN PROLOGUE XERCLR 4 | C***DATE WRITTEN 790801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. R3C 7 | C***KEYWORDS ERROR,XERROR PACKAGE 8 | C***AUTHOR JONES, R. E., (SNLA) 9 | C***PURPOSE Resets current error number to zero 10 | C***DESCRIPTION 11 | C 12 | C Abstract 13 | C This routine simply resets the current error number to zero. 14 | C This may be necessary to do in order to determine that 15 | C a certain error has occurred again since the last time 16 | C NUMXER was referenced. 17 | C 18 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 19 | C Latest revision --- 7 June 1978 20 | C***REFERENCES JONES R.E., *SLATEC COMMON MATHEMATICAL LIBRARY ERROR 21 | C HANDLING PACKAGE*, SAND78-1189, SANDIA LABORATORIES, 22 | C 1978. 23 | C***ROUTINES CALLED J4SAVE 24 | C***END PROLOGUE XERCLR 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/doc/xerror/xerdmp: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XERDMP 3 | C***BEGIN PROLOGUE XERDMP 4 | C***DATE WRITTEN 790801 (YYMMDD) 5 | C***REVISION DATE 840405 (YYMMDD) 6 | C***CATEGORY NO. R3C 7 | C***KEYWORDS ERROR,XERROR PACKAGE 8 | C***AUTHOR JONES, R. E., (SNLA) 9 | C***PURPOSE Prints the error tables and then clears them 10 | C***DESCRIPTION 11 | C 12 | C Abstract 13 | C XERDMP prints the error tables, then clears them. 14 | C 15 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 16 | C Latest revision --- 7 June 1978 17 | C***REFERENCES JONES R.E., *SLATEC COMMON MATHEMATICAL LIBRARY ERROR 18 | C HANDLING PACKAGE*, SAND78-1189, SANDIA LABORATORIES, 19 | C 1978. 20 | C***ROUTINES CALLED XERSAV 21 | C***END PROLOGUE XERDMP 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/doc/xerror/xerprt: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XERPRT(MESSG,NMESSG) 3 | C***BEGIN PROLOGUE XERPRT 4 | C***DATE WRITTEN 790801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. Z 7 | C***KEYWORDS ERROR,XERROR PACKAGE 8 | C***AUTHOR JONES, R. E., (SNLA) 9 | C***PURPOSE Prints error messages 10 | C***DESCRIPTION 11 | C 12 | C Abstract 13 | C Print the Hollerith message in MESSG, of length NMESSG, 14 | C on each file indicated by XGETUA. 15 | C***REFERENCES JONES R.E., *SLATEC COMMON MATHEMATICAL LIBRARY ERROR 16 | C HANDLING PACKAGE*, SAND78-1189, SANDIA LABORATORIES, 17 | C 1978. 18 | C***ROUTINES CALLED I1MACH,S88FMT,XGETUA 19 | C***END PROLOGUE XERPRT 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/doc/xerror/xgetf: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE XGETF(KONTRL) 3 | C***BEGIN PROLOGUE XGETF 4 | C***DATE WRITTEN 790801 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. R3C 7 | C***KEYWORDS ERROR,XERROR PACKAGE 8 | C***AUTHOR JONES, R. E., (SNLA) 9 | C***PURPOSE Returns current value of error control flag 10 | C***DESCRIPTION 11 | C 12 | C Abstract 13 | C XGETF returns the current value of the error control flag 14 | C in KONTRL. See subroutine XSETF for flag value meanings. 15 | C (KONTRL is an output parameter only.) 16 | C 17 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 18 | C Latest revision --- 7 June 1978 19 | C***REFERENCES JONES R.E., *SLATEC COMMON MATHEMATICAL LIBRARY ERROR 20 | C HANDLING PACKAGE*, SAND78-1189, SANDIA LABORATORIES, 21 | C 1978. 22 | C***ROUTINES CALLED J4SAVE 23 | C***END PROLOGUE XGETF 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/make.inc_aix: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/xlf 2 | OPTS = -O -qtune=pwr -qmaxmem=8192 3 | NOPTS = -qtune=pwr 4 | RANLIB = ranlib 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_aix_autodbl: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/xlf 2 | OPTS = -O -qtune=pwr -qautodbl=dblpad -qmaxmem=8192 3 | NOPTS = -g -qtune=pwr -qautodbl=dblpad 4 | RANLIB = ranlib 5 | MACHCON = IBM.RS6000.XLF-WITH-AUTODBL-OPTION 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_aix_f90: -------------------------------------------------------------------------------- 1 | INPT = 11 2 | FORTRAN = /usr/bin/xlf90 3 | OPTS = -O -qtune=pwr -qfixed -qmaxmem=8192 4 | NOPTS = -qtune=pwr -qfixed 5 | RANLIB = ranlib 6 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 7 | LIBRARY = libcm.a 8 | -------------------------------------------------------------------------------- /src/make.inc_aix_f90_autodbl: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/xlf90 2 | OPTS = -O -qtune=pwr -qautodbl=dblpad -qfixed -qmaxmem=8192 3 | NOPTS = -qtune=pwr -qautodbl=dblpad -qfixed 4 | RANLIB = ranlib 5 | MACHCON = IBM.RS6000.XLF-WITH-AUTODBL-OPTION 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_hpux: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/f77 2 | OPTS = -O -K -w 3 | NOPTS = -g -K -w 4 | RANLIB = echo 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90_default64_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -i8 -r8 -d16 -64 -mips4 -O2 -OPT:IEEE_arithmetic=2 -static 3 | NOPTS = -i8 -r8 -d16 -64 -mips4 -OPT:IEEE_arithmetic=2 -static 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -64 -mips4 -O2 -OPT:IEEE_arithmetic=2 -static 3 | NOPTS = -64 -mips4 -OPT:IEEE_arithmetic=2 -static 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90n32_i8r8d16_mips3: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -n32 -mips3 -i8 -r8 -d16 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 3 | NOPTS = -n32 -mips3 -i8 -r8 -d16 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90n32_i8r8d16_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -n32 -mips4 -i8 -r8 -d16 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 3 | NOPTS = -n32 -mips4 -i8 -r8 -d16 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90n32_mips3: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -n32 -mips3 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 3 | NOPTS = -n32 -mips3 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_f90n32_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -n32 -mips4 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 3 | NOPTS = -n32 -mips4 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_i8r8d16_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -64 -mips4 -i8 -r8 -d16 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 3 | NOPTS = -64 -mips4 -i8 -r8 -d16 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -64 -mips4 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 3 | NOPTS = -64 -mips4 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_n32_i8r8d16_mips3: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -n32 -mips3 -i8 -r8 -d16 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 3 | NOPTS = -n32 -mips3 -i8 -r8 -d16 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_n32_i8r8d16_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -n32 -mips4 -i8 -r8 -d16 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 3 | NOPTS = -n32 -mips4 -i8 -r8 -d16 -OPT:IEEE_arithmetic=2 -static -woff 2202,2345,2418 4 | RANLIB = echo 5 | MACHCON = SGI.ORIGIN.F77-WITH-R8-D16-OPTIONS 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_n32_mips3: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -n32 -mips3 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 3 | NOPTS = -n32 -mips3 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix64_n32_mips4: -------------------------------------------------------------------------------- 1 | FORTRAN = f77 2 | OPTS = -n32 -mips4 -O2 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 3 | NOPTS = -n32 -mips4 -OPT:IEEE_arithmetic=2 -static -woff 2202,2418 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix_mips1: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/f77 2 | OPTS = -O2 -static 3 | NOPTS = -static 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_irix_mips2: -------------------------------------------------------------------------------- 1 | FORTRAN = /usr/bin/f77 2 | OPTS = -mips2 -O2 -static 3 | NOPTS = -mips2 -static 4 | RANLIB = ar tsl 5 | MACHCON = IEEE.MOST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_linux: -------------------------------------------------------------------------------- 1 | FORTRAN = g77 2 | OPTS = -g 3 | NOPTS = -g3 -fno-automatic 4 | RANLIB = ranlib 5 | MACHCON = IEEE.LEAST-SIG-BYTE-FIRST 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_solaris2: -------------------------------------------------------------------------------- 1 | FORTRAN=f77 2 | OPTS=-O3 -PIC 3 | NOPTS=-g -PIC 4 | RANLIB=ranlib 5 | MACHCON=SUN 6 | LIBRARY=libcm.so 7 | -------------------------------------------------------------------------------- /src/make.inc_solaris2_f90: -------------------------------------------------------------------------------- 1 | FORTRAN = f90 2 | OPTS = -O3 3 | NOPTS = -g 4 | RANLIB = ranlib 5 | MACHCON = SUN 6 | LIBRARY = libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_solaris2_r8: -------------------------------------------------------------------------------- 1 | FORTRAN=f77 2 | OPTS=-O3 -PIC -xtypemap=real:64,double:128,integer:mixed 3 | NOPTS=-g -PIC -xtypemap=real:64,double:128,integer:mixed 4 | RANLIB=ranlib 5 | MACHCON=SUN.F77-WITH-R8-OPTION 6 | LIBRARY=libcm.so 7 | -------------------------------------------------------------------------------- /src/make.inc_sun4: -------------------------------------------------------------------------------- 1 | FORTRAN=f77 2 | OPTS=-O3 3 | NOPTS=-g 4 | RANLIB=ranlib 5 | MACHCON=SUN 6 | LIBRARY=libcm.a 7 | -------------------------------------------------------------------------------- /src/make.inc_sun4_r8: -------------------------------------------------------------------------------- 1 | FORTRAN=f77 2 | OPTS=-O3 -r8 3 | NOPTS=-g -r8 4 | RANLIB=ranlib 5 | MACHCON=SUN.F77-WITH-R8-OPTION 6 | LIBRARY=libcm.a 7 | -------------------------------------------------------------------------------- /src/relaxed.inits/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | initds.o inits.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/relaxed.inits/info: -------------------------------------------------------------------------------- 1 | These versions of the fnlib routines inits.f and initds.f relax 2 | the accuracy requirement for versions of CMLIB created with 3 | a compiler's auto-doubling option. They are necessary because the 4 | polynomial approximation in use is only good to Cray double 5 | precision accuracy. Quad precision gives one a few more decimal 6 | digits, which makes the original versions fail. 7 | -------------------------------------------------------------------------------- /src/src/adapt/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | adapt.o bsrl.o flsm.o nxprt.o symrl.o wht.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/adapt/nxprt.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE NXPRT(PRTCNT, S, M) 2 | C 3 | C*** SUBROUTINE TO COMPUTE THE NEXT S PARTITION 4 | C 5 | INTEGER S, M(S), PRTCNT, I, MSUM 6 | IF (PRTCNT.GT.0) GO TO 20 7 | DO 10 I=1,S 8 | M(I) = 0 9 | 10 CONTINUE 10 | PRTCNT = 1 11 | RETURN 12 | 20 PRTCNT = PRTCNT + 1 13 | MSUM = M(1) 14 | IF (S.EQ.1) GO TO 60 15 | DO 50 I=2,S 16 | MSUM = MSUM + M(I) 17 | IF (M(1).LE.M(I)+1) GO TO 40 18 | M(1) = MSUM - (I-1)*(M(I)+1) 19 | DO 30 L=2,I 20 | M(L) = M(I) + 1 21 | 30 CONTINUE 22 | RETURN 23 | 40 M(I) = 0 24 | 50 CONTINUE 25 | 60 M(1) = MSUM + 1 26 | RETURN 27 | END 28 | -------------------------------------------------------------------------------- /src/src/adapt/wht.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION WHT(S, INTRPS, M, K, MODOFM, D, MAXRDM, MOMPRD) 2 | C*** SUBROUTINE TO CALCULATE WEIGHT FOR PARTITION M 3 | C 4 | INTEGER S, M(S), K(S), D, MAXRDM, MI, KI, M1, K1, MODOFM 5 | REAL INTRPS(S), ZERO, MOMPRD(MAXRDM,MAXRDM) 6 | ZERO = 0 7 | DO 10 I=1,S 8 | INTRPS(I) = ZERO 9 | K(I) = 0 10 | 10 CONTINUE 11 | M1 = M(1) + 1 12 | K1 = D - MODOFM + M1 13 | 20 INTRPS(1) = MOMPRD(M1,K1) 14 | IF (S.EQ.1) GO TO 40 15 | DO 30 I=2,S 16 | MI = M(I) + 1 17 | KI = K(I) + MI 18 | INTRPS(I) = INTRPS(I) + MOMPRD(MI,KI)*INTRPS(I-1) 19 | INTRPS(I-1) = ZERO 20 | K1 = K1 - 1 21 | K(I) = K(I) + 1 22 | IF (K1.GE.M1) GO TO 20 23 | K1 = K1 + K(I) 24 | K(I) = 0 25 | 30 CONTINUE 26 | 40 WHT = INTRPS(S) 27 | RETURN 28 | END 29 | -------------------------------------------------------------------------------- /src/src/amoslib/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | asyjy.o besj.o besy.o besynu.o cjyhbs.o dasyjy.o dbesj.o dbesy.o\ 7 | dbsynu.o dexint.o djairy.o dpsifn.o dpsixn.o dyairy.o exint.o gamln.o\ 8 | jairy.o psifn.o psixn.o yairy.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/blas/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | caxpy.o ccopy.o cdotc.o cdotu.o crotg.o cscal.o csscal.o cswap.o\ 7 | dasum.o daxpy.o dcopy.o ddot.o dnrm2.o drot.o drotg.o drotm.o\ 8 | drotmg.o dscal.o dsdot.o dswap.o icamax.o idamax.o isamax.o sasum.o\ 9 | saxpy.o scasum.o scnrm2.o scopy.o sdot.o sdsdot.o snrm2.o srot.o\ 10 | srotg.o srotm.o srotmg.o sscal.o sswap.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/bocls/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dbocls.o dbols.o dbolsm.o dmout.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/bspline/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bfqad.o bint4.o bintk.o bnfac.o bnslv.o bsgq8.o bspdr.o bspev.o\ 7 | bsppp.o bspvd.o bspvn.o bsqad.o bvalu.o intrv.o pfqad.o ppgq8.o\ 8 | ppqad.o ppval.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/bvsup/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bksol.o bvder.o bvpor.o bvsup.o exbvp.o macon.o mgsbv.o prvec.o\ 7 | reort.o rkfab.o scoef.o stor1.o stway.o svecs.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/bvsup/macon.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE MACON 2 | C***BEGIN PROLOGUE MACON 3 | C***REFER TO BVSUP 4 | C 5 | C Sets up machine constants using R1MACH 6 | C***ROUTINES CALLED R1MACH 7 | C***COMMON BLOCKS ML5MCO 8 | C***END PROLOGUE MACON 9 | COMMON /ML5MCO/URO,SRU,EPS,LPAR,SQOVFL,TWOU,FOURU 10 | C***FIRST EXECUTABLE STATEMENT MACON 11 | URO=R1MACH(4) 12 | SRU=SQRT(URO) 13 | DD=-ALOG10(URO) 14 | LPAR=0.5*DD 15 | KE=0.5+0.75*DD 16 | EPS=10.**(-2*KE) 17 | SQOVFL=SQRT(R1MACH(2)) 18 | TWOU=2.0*URO 19 | FOURU=4.0*URO 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/bvsup/prvec.f: -------------------------------------------------------------------------------- 1 | FUNCTION PRVEC(M,U,V) 2 | C***BEGIN PROLOGUE PRVEC 3 | C***REVISION HISTORY (YYMMDD) 4 | C 000330 Modified array declarations. (JEC) 5 | C 6 | C***REFER TO BVSUP 7 | C 8 | C This subroutine computes the inner product of a vector U 9 | C with the imaginary product or mate vector corresponding to V 10 | C***ROUTINES CALLED SDOT 11 | C***END PROLOGUE PRVEC 12 | C 13 | DIMENSION U(*),V(*) 14 | C***FIRST EXECUTABLE STATEMENT PRVEC 15 | N=M/2 16 | NP=N+1 17 | VP=SDOT(N,U(1),1,V(NP),1) 18 | PRVEC=SDOT(N,U(NP),1,V(1),1) - VP 19 | RETURN 20 | END 21 | -------------------------------------------------------------------------------- /src/src/cdriv/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cdcor.o cdcst.o cdntl.o cdntp.o cdpsc.o cdpst.o cdriv1.o cdriv2.o\ 7 | cdriv3.o cdscl.o cdstp.o cdzro.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/cdriv/cdscl.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE CDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 2 | C***BEGIN PROLOGUE CDSCL 3 | C***REFER TO CDRIV3 4 | C This subroutine rescales the YH array whenever the step size 5 | C is changed. 6 | C***ROUTINES CALLED (NONE) 7 | C***DATE WRITTEN 790601 (YYMMDD) 8 | C***REVISION DATE 850319 (YYMMDD) 9 | C***CATEGORY NO. I1A2,I1A1B 10 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 11 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 12 | C***END PROLOGUE CDSCL 13 | COMPLEX YH(N,*) 14 | REAL H, HMAX, RC, RH, RMAX, R1 15 | C***FIRST EXECUTABLE STATEMENT CDSCL 16 | IF (H .LT. 1.E0) THEN 17 | RH = MIN(ABS(H)*RH, ABS(H)*RMAX, HMAX)/ABS(H) 18 | ELSE 19 | RH = MIN(RH, RMAX, HMAX/ABS(H)) 20 | END IF 21 | R1 = 1.E0 22 | DO 10 J = 1,NQ 23 | R1 = R1*RH 24 | DO 10 I = 1,N 25 | 10 YH(I,J+1) = YH(I,J+1)*R1 26 | H = H*RH 27 | RC = RC*RH 28 | END 29 | -------------------------------------------------------------------------------- /src/src/cluster/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | aid.o aidout.o amalg.o assign.o bdraw.o block.o boxes.o build.o\ 7 | cdist.o cnvert.o covout.o csplit.o densty.o dist.o ditout.o ditto.o\ 8 | dot.o eigen.o find.o first.o fish.o hist.o in.o invert.o join.o\ 9 | join2.o kc.o kmeans.o kout.o lbox.o letree.o line.o link.o lob.o\ 10 | mhist.o middle.o miss.o mix.o mixind.o mixout.o mmfit.o modal.o\ 11 | mom.o mtree.o nbtomt.o out.o out1.o pfish.o pick.o place.o plot.o\ 12 | pmany.o pmut.o prof.o quick.o range.o rank.o rdist.o rel.o reloc.o\ 13 | remove.o rsplit.o scale.o search.o single.o slink.o sparse.o split.o\ 14 | split1.o split2.o stand.o tabl.o trdist.o tree1.o triad.o try1.o\ 15 | two.o ultra.o varco.o wcov.o wdist.o 16 | 17 | .f.o: 18 | $(FORTRAN) $(OPTS) -c $< 19 | 20 | -------------------------------------------------------------------------------- /src/src/cpqr79/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cpqr79.o rpqr79.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/cpzero/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cpevl.o cpzero.o rpzero.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/dbsplin/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dbfqad.o dbint4.o dbintk.o dbnfac.o dbnslv.o dbsgq8.o dbspdr.o\ 7 | dbspev.o dbsppp.o dbspvd.o dbspvn.o dbsqad.o dbvalu.o dintrv.o\ 8 | dpfqad.o dppgq8.o dppqad.o dppval.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/ddassl/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | ddaini.o ddajac.o ddanrm.o ddaslv.o ddassl.o ddastp.o ddatrp.o\ 7 | ddawts.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/ddriv/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | ddcor.o ddcst.o ddntl.o ddntp.o ddpsc.o ddpst.o ddriv1.o ddriv2.o\ 7 | ddriv3.o ddscl.o ddstp.o ddzro.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/ddriv/ddscl.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 2 | C***BEGIN PROLOGUE DDSCL 3 | C***REFER TO DDRIV3 4 | C This subroutine rescales the YH array whenever the step size 5 | C is changed. 6 | C***ROUTINES CALLED (NONE) 7 | C***DATE WRITTEN 790601 (YYMMDD) 8 | C***REVISION DATE 850319 (YYMMDD) 9 | C***CATEGORY NO. I1A2,I1A1B 10 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 11 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 12 | C***END PROLOGUE DDSCL 13 | DOUBLE PRECISION H, HMAX, RC, RH, RMAX, R1, YH(N,*) 14 | C***FIRST EXECUTABLE STATEMENT DDSCL 15 | IF (H .LT. 1.D0) THEN 16 | RH = MIN(ABS(H)*RH, ABS(H)*RMAX, HMAX)/ABS(H) 17 | ELSE 18 | RH = MIN(RH, RMAX, HMAX/ABS(H)) 19 | END IF 20 | R1 = 1.D0 21 | DO 10 J = 1,NQ 22 | R1 = R1*RH 23 | DO 10 I = 1,N 24 | 10 YH(I,J+1) = YH(I,J+1)*R1 25 | H = H*RH 26 | RC = RC*RH 27 | END 28 | -------------------------------------------------------------------------------- /src/src/depac/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cfod.o de2.o deabm.o debdf.o defehl.o derkf.o derkfs.o hstart.o\ 7 | intrp.o intyd.o lsod.o pjac.o slvs.o step2.o stod.o vnorm.o vnwrms.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/depac/vnorm.f: -------------------------------------------------------------------------------- 1 | FUNCTION VNORM(V,NCOMP) 2 | C***BEGIN PROLOGUE VNORM 3 | C***REFER TO DEABM,DEBDF,DERKF 4 | C 5 | C Compute the maximum norm of the vector V(*) of length NCOMP and 6 | C return the result as VNORM. 7 | C***ROUTINES CALLED (NONE) 8 | C***END PROLOGUE VNORM 9 | C 10 | C 11 | DIMENSION V(NCOMP) 12 | C***FIRST EXECUTABLE STATEMENT VNORM 13 | VNORM=0. 14 | DO 10 K=1,NCOMP 15 | 10 VNORM=AMAX1(VNORM,ABS(V(K))) 16 | RETURN 17 | END 18 | -------------------------------------------------------------------------------- /src/src/dnl2sn/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dassst.o ddbdog.o ddeflt.o ddupd2.o ddupdu.o dfdhes.o dglrit.o\ 7 | dgqtst.o dhumit.o dhumsl.o ditsum.o dlitvm.o dlivmu.o dlmstp.o\ 8 | dlnvrt.o dlsqar.o dlsqrt.o dlsvmn.o dltsqr.o dltvmu.o dlupdt.o\ 9 | dlvmul.o dmlprp.o dnl2cp.o dnl2it.o dnl2rd.o dnl2s1.o dnl2sn.o\ 10 | doprds.o dparck.o dqradr.o drelst.o dsgrd2.o dslupd.o dslvmu.o\ 11 | dsmsno.o dsnoit.o dstopx.o dsumit.o dsumsl.o dvaxpy.o dvdflt.o\ 12 | dvscpy.o dvvmup.o dwzbfg.o 13 | 14 | .f.o: 15 | $(FORTRAN) $(OPTS) -c $< 16 | 17 | -------------------------------------------------------------------------------- /src/src/dnl2sn/dltvmu.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DLTVMU(N, X, L, Y) 2 | C 3 | C *** COMPUTE X = (L**T)*Y, WHERE L IS AN N X N LOWER 4 | C *** TRIANGULAR MATRIX STORED COMPACTLY BY ROWS. X AND Y MAY 5 | C *** OCCUPY THE SAME STORAGE. *** 6 | C 7 | C***REVISION HISTORY (YYMMDD) 8 | C 000330 Modified array declarations. (JEC) 9 | C 10 | INTEGER N 11 | DOUBLE PRECISION X(N), L(*), Y(N) 12 | C DIMENSION L(N*(N+1)/2) 13 | INTEGER I, IJ, I0, J 14 | DOUBLE PRECISION YI, ZERO 15 | C/6 16 | DATA ZERO/0.D+0/ 17 | C/7 18 | C PARAMETER (ZERO=0.D+0) 19 | C/ 20 | C 21 | I0 = 0 22 | DO 20 I = 1, N 23 | YI = Y(I) 24 | X(I) = ZERO 25 | DO 10 J = 1, I 26 | IJ = I0 + J 27 | X(J) = X(J) + YI*L(IJ) 28 | 10 CONTINUE 29 | I0 = I0 + I 30 | 20 CONTINUE 31 | 999 RETURN 32 | C *** LAST CARD OF DLTVMU FOLLOWS *** 33 | END 34 | -------------------------------------------------------------------------------- /src/src/dnl2sn/doprds.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DOPRDS(L, LS, P, S, W, Y, Z) 2 | C 3 | C *** FOR I = 1..L, SET S = S + W(I)*Y(.,I)*(Z(.,I)**T), I.E., 4 | C *** ADD W(I) TIMES THE OUTER PRODUCT OF Y(.,I) AND Z(.,I). 5 | C 6 | INTEGER L, LS, P 7 | DOUBLE PRECISION S(LS), W(L), Y(P,L), Z(P,L) 8 | C DIMENSION S(P*(P+1)/2) 9 | C 10 | INTEGER I, J, K, M 11 | DOUBLE PRECISION WK, YI, ZERO 12 | DATA ZERO/0.D+0/ 13 | C 14 | DO 30 K = 1, L 15 | WK = W(K) 16 | IF (WK .EQ. ZERO) GO TO 30 17 | M = 1 18 | DO 20 I = 1, P 19 | YI = WK * Y(I,K) 20 | DO 10 J = 1, I 21 | S(M) = S(M) + YI*Z(J,K) 22 | M = M + 1 23 | 10 CONTINUE 24 | 20 CONTINUE 25 | 30 CONTINUE 26 | C 27 | 999 RETURN 28 | C *** LAST CARD OF DOPRDS FOLLOWS *** 29 | END 30 | -------------------------------------------------------------------------------- /src/src/dnl2sn/drelst.f: -------------------------------------------------------------------------------- 1 | DOUBLE PRECISION FUNCTION DRELST(P, D, X, X0) 2 | C 3 | C *** COMPUTE AND RETURN RELATIVE DIFFERENCE BETWEEN X AND X0 *** 4 | C *** NL2SOL VERSION 2.2 *** 5 | C 6 | INTEGER P 7 | DOUBLE PRECISION D(P), X(P), X0(P) 8 | C/+ 9 | DOUBLE PRECISION DABS 10 | C/ 11 | INTEGER I 12 | DOUBLE PRECISION EMAX, T, XMAX, ZERO 13 | C/6 14 | DATA ZERO/0.D+0/ 15 | C/7 16 | C PARAMETER (ZERO=0.D+0) 17 | C/ 18 | C 19 | EMAX = ZERO 20 | XMAX = ZERO 21 | DO 10 I = 1, P 22 | T = DABS(D(I) * (X(I) - X0(I))) 23 | IF (EMAX .LT. T) EMAX = T 24 | T = D(I) * (DABS(X(I)) + DABS(X0(I))) 25 | IF (XMAX .LT. T) XMAX = T 26 | 10 CONTINUE 27 | DRELST = ZERO 28 | IF (XMAX .GT. ZERO) DRELST = EMAX / XMAX 29 | 999 RETURN 30 | C *** LAST CARD OF DRELST FOLLOWS *** 31 | END 32 | -------------------------------------------------------------------------------- /src/src/dnl2sn/dstopx.f: -------------------------------------------------------------------------------- 1 | LOGICAL FUNCTION DSTOPX(IDUMMY) 2 | C *****PARAMETERS... 3 | INTEGER IDUMMY 4 | C 5 | C .................................................................. 6 | C 7 | C *****PURPOSE... 8 | C THIS FUNCTION MAY SERVE AS THE DSTOPX (ASYNCHRONOUS INTERRUPTION) 9 | C FUNCTION FOR THE NL2SOL (NONLINEAR LEAST-SQUARES) PACKAGE AT 10 | C THOSE INSTALLATIONS WHICH DO NOT WISH TO IMPLEMENT A 11 | C DYNAMIC DSTOPX. 12 | C 13 | C *****ALGORITHM NOTES... 14 | C AT INSTALLATIONS WHERE THE NL2SOL SYSTEM IS USED 15 | C INTERACTIVELY, THIS DUMMY DSTOPX SHOULD BE REPLACED BY A 16 | C FUNCTION THAT RETURNS .TRUE. IF AND ONLY IF THE INTERRUPT 17 | C (BREAK) KEY HAS BEEN PRESSED SINCE THE LAST CALL ON DSTOPX. 18 | C 19 | C .................................................................. 20 | C 21 | DSTOPX = .FALSE. 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/dnl2sn/dvaxpy.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DVAXPY(P, W, A, X, Y) 2 | C 3 | C *** SET W = A*X + Y -- W, X, Y = P-VECTORS, A = SCALAR *** 4 | C 5 | INTEGER P 6 | DOUBLE PRECISION A, W(P), X(P), Y(P) 7 | C 8 | INTEGER I 9 | C 10 | DO 10 I = 1, P 11 | 10 W(I) = A*X(I) + Y(I) 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/dnl2sn/dvscpy.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DVSCPY(P, Y, S) 2 | C 3 | C *** SET P-VECTOR Y TO SCALAR S *** 4 | C 5 | INTEGER P 6 | DOUBLE PRECISION S, Y(P) 7 | C 8 | INTEGER I 9 | C 10 | DO 10 I = 1, P 11 | 10 Y(I) = S 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/dnl2sn/dvvmup.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE DVVMUP(N, X, Y, Z, K) 2 | C 3 | C *** SET X(I) = Y(I) * Z(I)**K, 1 .LE. I .LE. N (FOR K = 1 OR -1) *** 4 | C 5 | INTEGER N, K 6 | DOUBLE PRECISION X(N), Y(N), Z(N) 7 | INTEGER I 8 | C 9 | IF (K .GE. 0) GO TO 20 10 | DO 10 I = 1, N 11 | 10 X(I) = Y(I) / Z(I) 12 | GO TO 999 13 | C 14 | 20 DO 30 I = 1, N 15 | 30 X(I) = Y(I) * Z(I) 16 | 999 RETURN 17 | C *** LAST CARD OF DVVMUP FOLLOWS *** 18 | END 19 | -------------------------------------------------------------------------------- /src/src/dqrlss/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dqrank.o dqrlss.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/dtensbs/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | db2ink.o db2val.o db3ink.o db3val.o dbknot.o dbtpcf.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/eispack/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bakvec.o balanc.o balbak.o bandr.o bandv.o bisect.o bqr.o cbabk2.o\ 7 | cbal.o cdiv.o cg.o ch.o cinvit.o combak.o comhes.o comlr.o comlr2.o\ 8 | comqr.o comqr2.o cortb.o corth.o csroot.o elmbak.o elmhes.o eltran.o\ 9 | figi.o figi2.o hqr.o hqr2.o htrib3.o htribk.o htrid3.o htridi.o\ 10 | imtql1.o imtql2.o imtqlv.o invit.o minfit.o ortbak.o orthes.o ortran.o\ 11 | pythag.o qzhes.o qzit.o qzval.o qzvec.o ratqr.o rebak.o rebakb.o\ 12 | reduc.o reduc2.o rg.o rgg.o rs.o rsb.o rsg.o rsgab.o rsgba.o\ 13 | rsp.o rst.o rt.o svd.o tinvit.o tql1.o tql2.o tqlrat.o trbak1.o\ 14 | trbak3.o tred1.o tred2.o tred3.o tridib.o tsturm.o 15 | 16 | .f.o: 17 | $(FORTRAN) $(OPTS) -c $< 18 | 19 | -------------------------------------------------------------------------------- /src/src/eispack/cdiv.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE CDIV(AR,AI,BR,BI,CR,CI) 2 | C***BEGIN PROLOGUE CDIV 3 | C***REFER TO EISDOC 4 | C 5 | C Complex division, (CR,CI) = (AR,AI)/(BR,BI) 6 | C***ROUTINES CALLED (NONE) 7 | C***END PROLOGUE CDIV 8 | REAL AR,AI,BR,BI,CR,CI 9 | C 10 | REAL S,ARS,AIS,BRS,BIS 11 | C***FIRST EXECUTABLE STATEMENT CDIV 12 | S = ABS(BR) + ABS(BI) 13 | ARS = AR/S 14 | AIS = AI/S 15 | BRS = BR/S 16 | BIS = BI/S 17 | S = BRS**2 + BIS**2 18 | CR = (ARS*BRS + AIS*BIS)/S 19 | CI = (AIS*BRS - ARS*BIS)/S 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/eispack/csroot.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE CSROOT(XR,XI,YR,YI) 2 | C***BEGIN PROLOGUE CSROOT 3 | C***REFER TO EISDOC 4 | C 5 | C (YR,YI) = complex sqrt(XR,XI) 6 | C***ROUTINES CALLED PYTHAG 7 | C***END PROLOGUE CSROOT 8 | REAL XR,XI,YR,YI,S,TR,TI,PYTHAG 9 | C 10 | C BRANCH CHOSEN SO THAT YR .GE. 0.0 AND SIGN(YI) .EQ. SIGN(XI) 11 | C***FIRST EXECUTABLE STATEMENT CSROOT 12 | TR = XR 13 | TI = XI 14 | S = SQRT(0.5E0*(PYTHAG(TR,TI) + ABS(TR))) 15 | IF (TR .GE. 0.0E0) YR = S 16 | IF (TI .LT. 0.0E0) S = -S 17 | IF (TR .LE. 0.0E0) YI = S 18 | IF (TR .LT. 0.0E0) YR = 0.5E0*(TI/YI) 19 | IF (TR .GT. 0.0E0) YI = 0.5E0*(TI/YR) 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/eispack/pythag.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION PYTHAG(A,B) 2 | C***BEGIN PROLOGUE PYTHAG 3 | C***REFER TO EISDOC 4 | C 5 | C Finds sqrt(A**2+B**2) without overflow or destructive underflow 6 | C***ROUTINES CALLED (NONE) 7 | C***END PROLOGUE PYTHAG 8 | REAL A,B 9 | C 10 | REAL P,Q,R,S,T 11 | C***FIRST EXECUTABLE STATEMENT PYTHAG 12 | P = AMAX1(ABS(A),ABS(B)) 13 | Q = AMIN1(ABS(A),ABS(B)) 14 | IF (Q .EQ. 0.0E0) GO TO 20 15 | 10 CONTINUE 16 | R = (Q/P)**2 17 | T = 4.0E0 + R 18 | IF (T .EQ. 4.0E0) GO TO 20 19 | S = R/T 20 | P = P + 2.0E0*P*S 21 | Q = Q*S 22 | GO TO 10 23 | 20 PYTHAG = P 24 | RETURN 25 | END 26 | -------------------------------------------------------------------------------- /src/src/fc/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bndacc.o bndsol.o bsplvd.o bsplvn.o bvalue.o cv.o diff.o efc.o\ 7 | efcmn.o fc.o fcmn.o h12.o hfti.o interv.o lpdp.o lsei.o lsi.o\ 8 | wnlit.o wnlsm.o wnnls.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/fc/diff.f: -------------------------------------------------------------------------------- 1 | FUNCTION DIFF(X,Y) 2 | C***BEGIN PROLOGUE DIFF 3 | C***REFER TO HFTI,LSEI 4 | C 5 | C C.L.Lawson and R.J.Hanson, Jet Propulsion Laboratory, 1973 June 7 6 | C to appear in 'Solving Least Squares Problems', Prentice-Hall, 1974 7 | C***ROUTINES CALLED (NONE) 8 | C***END PROLOGUE DIFF 9 | C***FIRST EXECUTABLE STATEMENT DIFF 10 | DIFF=X-Y 11 | RETURN 12 | END 13 | -------------------------------------------------------------------------------- /src/src/fcnpak/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | rc.o rd.o rf.o rj.o xdadd.o xdadj.o xdc210.o xdcon.o xdcsrt.o\ 7 | xdlegf.o xdnrmp.o xdpmu.o xdpmup.o xdpnrm.o xdpqnu.o xdpsi.o xdqmu.o\ 8 | xdqnu.o xdred.o xdset.o xsadd.o xsadj.o xsc210.o xscon.o xscsrt.o\ 9 | xslegf.o xsnrmp.o xspmu.o xspmup.o xspnrm.o xspqnu.o xspsi.o xsqmu.o\ 10 | xsqnu.o xsred.o xsset.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/fftpkg/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cfftb.o cfftb1.o cfftf.o cfftf1.o cffti.o cffti1.o cosqb.o cosqb1.o\ 7 | cosqf.o cosqf1.o cosqi.o cost.o costi.o ezfft1.o ezfftb.o ezfftf.o\ 8 | ezffti.o passb.o passb2.o passb3.o passb4.o passb5.o passf.o passf2.o\ 9 | passf3.o passf4.o passf5.o radb2.o radb3.o radb4.o radb5.o radbg.o\ 10 | radf2.o radf3.o radf4.o radf5.o radfg.o rfftb.o rfftb1.o rfftf.o\ 11 | rfftf1.o rffti.o rffti1.o sinqb.o sinqf.o sinqi.o sint.o sinti.o 12 | 13 | .f.o: 14 | $(FORTRAN) $(OPTS) -c $< 15 | 16 | -------------------------------------------------------------------------------- /src/src/fishpak/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bcrh.o blktr1.o blktri.o bsrh.o cblkt1.o cblktr.o ccmpb.o chkpr4.o\ 7 | chkprm.o chksn4.o chksng.o cmgnbn.o cmpcsg.o cmpmrg.o cmposd.o\ 8 | cmposn.o cmposp.o cmptr3.o cmptrx.o compb.o cosgen.o cpadd.o cproc.o\ 9 | cprocp.o cprod.o cprodp.o defe4.o defer.o dx.o dx4.o dy.o dy4.o\ 10 | genbun.o hstcrt.o hstcs1.o hstcsp.o hstcyl.o hstplr.o hstssp.o\ 11 | hw3crt.o hwscrt.o hwscs1.o hwscsp.o hwscyl.o hwsplr.o hwsss1.o\ 12 | hwsssp.o indxa.o indxb.o indxc.o inxca.o inxcb.o inxcc.o merge.o\ 13 | minso4.o minsol.o ortho4.o orthog.o pgsf.o pimach.o pois3d.o poisd2.o\ 14 | poisn2.o poisp2.o poistg.o pos3d1.o postg2.o ppadd.o ppgsf.o pppsf.o\ 15 | ppsgf.o ppspf.o proc.o procp.o prod.o prodp.o psgf.o sepeli.o\ 16 | sepx4.o speli4.o spelip.o tevlc.o tevls.o tri3.o tridq.o tris4.o\ 17 | trisp.o trix.o 18 | 19 | .f.o: 20 | $(FORTRAN) $(OPTS) -c $< 21 | 22 | -------------------------------------------------------------------------------- /src/src/fishpak/indxa.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE INDXA (I, IR, IDXA, NA) 2 | C***BEGIN PROLOGUE INDXA 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to BLKTRI 5 | C***LIBRARY SLATEC 6 | C***TYPE INTEGER (INDXA-I) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO BLKTRI 9 | C***ROUTINES CALLED (NONE) 10 | C***COMMON BLOCKS CBLKT 11 | C***REVISION HISTORY (YYMMDD) 12 | C 801001 DATE WRITTEN 13 | C 891214 Prologue converted to Version 4.0 format. (BAB) 14 | C 900402 Added TYPE section. (WRB) 15 | C***END PROLOGUE INDXA 16 | COMMON /CBLKT/ NPP ,K ,EPS ,CNV , 17 | 1 NM ,NCMPLX ,IK 18 | C***FIRST EXECUTABLE STATEMENT INDXA 19 | NA = 2**IR 20 | IDXA = I-NA+1 21 | IF (I-NM) 102,102,101 22 | 101 NA = 0 23 | 102 RETURN 24 | END 25 | -------------------------------------------------------------------------------- /src/src/fishpak/indxc.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE INDXC (I, IR, IDXC, NC) 2 | C***BEGIN PROLOGUE INDXC 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to BLKTRI 5 | C***LIBRARY SLATEC 6 | C***TYPE INTEGER (INDXC-I) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO BLKTRI 9 | C***ROUTINES CALLED (NONE) 10 | C***COMMON BLOCKS CBLKT 11 | C***REVISION HISTORY (YYMMDD) 12 | C 801001 DATE WRITTEN 13 | C 891214 Prologue converted to Version 4.0 format. (BAB) 14 | C 900402 Added TYPE section. (WRB) 15 | C***END PROLOGUE INDXC 16 | COMMON /CBLKT/ NPP ,K ,EPS ,CNV , 17 | 1 NM ,NCMPLX ,IK 18 | C***FIRST EXECUTABLE STATEMENT INDXC 19 | NC = 2**IR 20 | IDXC = I 21 | IF (IDXC+NC-1-NM) 102,102,101 22 | 101 NC = 0 23 | 102 RETURN 24 | END 25 | -------------------------------------------------------------------------------- /src/src/fishpak/inxca.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE INXCA (I, IR, IDXA, NA) 2 | C***BEGIN PROLOGUE INXCA 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to CBLKTR 5 | C***LIBRARY SLATEC 6 | C***TYPE INTEGER (INXCA-I) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO CBLKTR 9 | C***ROUTINES CALLED (NONE) 10 | C***COMMON BLOCKS CCBLK 11 | C***REVISION HISTORY (YYMMDD) 12 | C 801001 DATE WRITTEN 13 | C 891214 Prologue converted to Version 4.0 format. (BAB) 14 | C 900402 Added TYPE section. (WRB) 15 | C***END PROLOGUE INXCA 16 | COMMON /CCBLK/ NPP ,K ,EPS ,CNV , 17 | 1 NM ,NCMPLX ,IK 18 | C***FIRST EXECUTABLE STATEMENT INXCA 19 | NA = 2**IR 20 | IDXA = I-NA+1 21 | IF (I-NM) 102,102,101 22 | 101 NA = 0 23 | 102 RETURN 24 | END 25 | -------------------------------------------------------------------------------- /src/src/fishpak/inxcc.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE INXCC (I, IR, IDXC, NC) 2 | C***BEGIN PROLOGUE INXCC 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to CBLKTR 5 | C***LIBRARY SLATEC 6 | C***TYPE INTEGER (INXCC-I) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO CBLKTR 9 | C***ROUTINES CALLED (NONE) 10 | C***COMMON BLOCKS CCBLK 11 | C***REVISION HISTORY (YYMMDD) 12 | C 801001 DATE WRITTEN 13 | C 891214 Prologue converted to Version 4.0 format. (BAB) 14 | C 900402 Added TYPE section. (WRB) 15 | C***END PROLOGUE INXCC 16 | COMMON /CCBLK/ NPP ,K ,EPS ,CNV , 17 | 1 NM ,NCMPLX ,IK 18 | C***FIRST EXECUTABLE STATEMENT INXCC 19 | NC = 2**IR 20 | IDXC = I 21 | IF (IDXC+NC-1-NM) 102,102,101 22 | 101 NC = 0 23 | 102 RETURN 24 | END 25 | -------------------------------------------------------------------------------- /src/src/fishpak/pgsf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PGSF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PGSF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to CBLKTR 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PGSF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO CBLKTR 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PGSF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PGSF 17 | FSG = 1. 18 | HSG = 1. 19 | DO 101 J=1,IZ 20 | DD = 1./(X-BH(J)) 21 | FSG = FSG*A(J)*DD 22 | HSG = HSG*C(J)*DD 23 | 101 CONTINUE 24 | IF (MOD(IZ,2)) 103,102,103 25 | 102 PGSF = 1.-FSG-HSG 26 | RETURN 27 | 103 PGSF = 1.+FSG+HSG 28 | RETURN 29 | END 30 | -------------------------------------------------------------------------------- /src/src/fishpak/pimach.f: -------------------------------------------------------------------------------- 1 | FUNCTION PIMACH (DUM) 2 | C***BEGIN PROLOGUE PIMACH 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to HSTCSP, HSTSSP and HWSCSP 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PIMACH-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***DESCRIPTION 9 | C 10 | C This subprogram supplies the value of the constant PI correct to 11 | C machine precision where 12 | C 13 | C PI=3.1415926535897932384626433832795028841971693993751058209749446 14 | C 15 | C***SEE ALSO HSTCSP, HSTSSP, HWSCSP 16 | C***ROUTINES CALLED (NONE) 17 | C***REVISION HISTORY (YYMMDD) 18 | C 801001 DATE WRITTEN 19 | C 891214 Prologue converted to Version 4.0 format. (BAB) 20 | C 900402 Added TYPE section. (WRB) 21 | C***END PROLOGUE PIMACH 22 | C 23 | C***FIRST EXECUTABLE STATEMENT PIMACH 24 | PIMACH = 3.1415926535897932 25 | RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/fishpak/ppgsf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PPGSF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PPGSF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to CBLKTR 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PPGSF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO CBLKTR 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PPGSF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PPGSF 17 | SUM = 0. 18 | DO 101 J=1,IZ 19 | SUM = SUM-1./(X-BH(J))**2 20 | 101 CONTINUE 21 | PPGSF = SUM 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fishpak/pppsf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PPPSF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PPPSF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to CBLKTR 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PPPSF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO CBLKTR 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PPPSF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PPPSF 17 | SUM = 0. 18 | DO 101 J=1,IZ 19 | SUM = SUM+1./(X-BH(J)) 20 | 101 CONTINUE 21 | PPPSF = SUM 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fishpak/ppsgf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PPSGF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PPSGF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to BLKTRI 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PPSGF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO BLKTRI 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PPSGF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PPSGF 17 | SUM = 0. 18 | DO 101 J=1,IZ 19 | SUM = SUM-1./(X-BH(J))**2 20 | 101 CONTINUE 21 | PPSGF = SUM 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fishpak/ppspf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PPSPF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PPSPF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to BLKTRI 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PPSPF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO BLKTRI 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PPSPF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PPSPF 17 | SUM = 0. 18 | DO 101 J=1,IZ 19 | SUM = SUM+1./(X-BH(J)) 20 | 101 CONTINUE 21 | PPSPF = SUM 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fishpak/psgf.f: -------------------------------------------------------------------------------- 1 | FUNCTION PSGF (X, IZ, C, A, BH) 2 | C***BEGIN PROLOGUE PSGF 3 | C***SUBSIDIARY 4 | C***PURPOSE Subsidiary to BLKTRI 5 | C***LIBRARY SLATEC 6 | C***TYPE SINGLE PRECISION (PSGF-S) 7 | C***AUTHOR (UNKNOWN) 8 | C***SEE ALSO BLKTRI 9 | C***ROUTINES CALLED (NONE) 10 | C***REVISION HISTORY (YYMMDD) 11 | C 801001 DATE WRITTEN 12 | C 891214 Prologue converted to Version 4.0 format. (BAB) 13 | C 900402 Added TYPE section. (WRB) 14 | C***END PROLOGUE PSGF 15 | DIMENSION A(*) ,C(*) ,BH(*) 16 | C***FIRST EXECUTABLE STATEMENT PSGF 17 | FSG = 1. 18 | HSG = 1. 19 | DO 101 J=1,IZ 20 | DD = 1./(X-BH(J)) 21 | FSG = FSG*A(J)*DD 22 | HSG = HSG*C(J)*DD 23 | 101 CONTINUE 24 | IF (MOD(IZ,2)) 103,102,103 25 | 102 PSGF = 1.-FSG-HSG 26 | RETURN 27 | 103 PSGF = 1.+FSG+HSG 28 | RETURN 29 | END 30 | -------------------------------------------------------------------------------- /src/src/fnlib/acosh.f: -------------------------------------------------------------------------------- 1 | 2 | FUNCTION ACOSH(X) 3 | C***BEGIN PROLOGUE ACOSH 4 | C***DATE WRITTEN 770401 (YYMMDD) 5 | C***REVISION DATE 820801 (YYMMDD) 6 | C***CATEGORY NO. C4C 7 | C***KEYWORDS ACOSH,ARC HYPERBOLIC COSINE,ELEMENTARY FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Compute the arc hyperbolic Cosine. 10 | C***DESCRIPTION 11 | C 12 | C ACOSH(X) computes the arc hyperbolic cosine of X. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED R1MACH,XERROR 15 | C***END PROLOGUE ACOSH 16 | DATA ALN2 / 0.6931471805 5994530942E0/ 17 | DATA XMAX /0./ 18 | C***FIRST EXECUTABLE STATEMENT ACOSH 19 | IF (XMAX.EQ.0.) XMAX = 1.0/SQRT(R1MACH(3)) 20 | C 21 | IF (X.LT.1.0) CALL XERROR ( 'ACOSH X LESS THAN 1', 21, 1, 2) 22 | C 23 | IF (X.LT.XMAX) ACOSH = ALOG (X + SQRT(X*X-1.0)) 24 | IF (X.GE.XMAX) ACOSH = ALN2 + ALOG(X) 25 | C 26 | RETURN 27 | END 28 | -------------------------------------------------------------------------------- /src/src/fnlib/algams.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE ALGAMS(X,ALGAM,SGNGAM) 2 | C***BEGIN PROLOGUE ALGAMS 3 | C***DATE WRITTEN 770701 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C7A 6 | C***KEYWORDS GAMMA FUNCTION,LOGARITHM,SPECIAL FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes log(ABS(GAMMA(X))). 9 | C***DESCRIPTION 10 | C 11 | C Evaluates the logarithm of the absolute value of the gamma 12 | C function. 13 | C X - input argument 14 | C ALGAM - result 15 | C SGNGAM - is set to the sign of GAMMA(X) and will 16 | C be returned at +1.0 or -1.0. 17 | C***REFERENCES (NONE) 18 | C***ROUTINES CALLED ALNGAM 19 | C***END PROLOGUE ALGAMS 20 | C***FIRST EXECUTABLE STATEMENT ALGAMS 21 | ALGAM = ALNGAM(X) 22 | SGNGAM = 1.0 23 | IF (X.GT.0.0) RETURN 24 | C 25 | INT = AMOD (-AINT(X), 2.0) + 0.1 26 | IF (INT.EQ.0) SGNGAM = -1.0 27 | C 28 | RETURN 29 | END 30 | -------------------------------------------------------------------------------- /src/src/fnlib/ali.f: -------------------------------------------------------------------------------- 1 | FUNCTION ALI(X) 2 | C***BEGIN PROLOGUE ALI 3 | C***DATE WRITTEN 770601 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C5 6 | C***KEYWORDS LOGARITHMIC INTEGRAL,SPECIAL FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the logarithmic integral. 9 | C***DESCRIPTION 10 | C 11 | C ALI(X) computes the logarithmic integral; i.e., the 12 | C integral from 0.0 to X of (1.0/ln(t))dt. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED EI,XERROR 15 | C***END PROLOGUE ALI 16 | C***FIRST EXECUTABLE STATEMENT ALI 17 | IF (X.LE.0.0) CALL XERROR ( 'ALI LOG INTEGRAL UNDEFINED FOR X 18 | 1 LE 0', 41, 1, 2) 19 | IF (X.EQ.1.0) CALL XERROR ( 'ALI LOG INTEGRAL UNDEFINED FOR X 20 | 1 = 1', 40, 2, 2) 21 | C 22 | ALI = EI (ALOG(X) ) 23 | C 24 | RETURN 25 | END 26 | -------------------------------------------------------------------------------- /src/src/fnlib/cabs.f: -------------------------------------------------------------------------------- 1 | FUNCTION CABS (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | COMPLEX Z 4 | DATA SQEPS /0./ 5 | C 6 | IF (SQEPS.EQ.0.) SQEPS = SQRT (R1MACH(4)) 7 | C 8 | X = ABS (REAL (Z)) 9 | Y = ABS (AIMAG (Z)) 10 | R1 = AMIN1 (X, Y) 11 | R2 = AMAX1 (X, Y) 12 | C 13 | CABS = R2 14 | IF (R1.GT.R2*SQEPS) CABS = R2*SQRT(1.0+(R1/R2)**2) 15 | C 16 | RETURN 17 | END 18 | -------------------------------------------------------------------------------- /src/src/fnlib/cacos.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CACOS(Z) 2 | C***BEGIN PROLOGUE CACOS 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4A 6 | C***KEYWORDS ARC COSINE,COMPLEX,ELEMEMTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex arc Cosine. 9 | C***DESCRIPTION 10 | C 11 | C CACOS(Z) calculates the complex trigonometric arc cosine of Z. 12 | C The result is in units of radians, and the real part is in the 13 | C first or second quadrant. 14 | C***REFERENCES (NONE) 15 | C***ROUTINES CALLED CASIN 16 | C***END PROLOGUE CACOS 17 | COMPLEX Z, CASIN 18 | DATA PI2 /1.5707963267 9489661923E0/ 19 | C***FIRST EXECUTABLE STATEMENT CACOS 20 | CACOS = PI2 - CASIN (Z) 21 | C 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fnlib/cacosh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CACOSH(Z) 2 | C***BEGIN PROLOGUE CACOSH 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4C 6 | C***KEYWORDS ARC HYPERBOLIC COSINE,COMPLEX,ELEMENTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex arc hyperbolic Cosine. 9 | C***DESCRIPTION 10 | C 11 | C CACOSH(Z) calculates the complex arc hyperbolic cosine of Z. 12 | C***REFERENCES (NONE) 13 | C***ROUTINES CALLED CACOS 14 | C***END PROLOGUE CACOSH 15 | COMPLEX Z, CI, CACOS 16 | DATA CI /(0.,1.)/ 17 | C***FIRST EXECUTABLE STATEMENT CACOSH 18 | CACOSH = CI*CACOS(Z) 19 | C 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/fnlib/carg.f: -------------------------------------------------------------------------------- 1 | FUNCTION CARG(Z) 2 | C***BEGIN PROLOGUE CARG 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. A4A 6 | C***KEYWORDS ARGUMENT,COMPLEX,COMPLEX NUMBER,ELEMENTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the argument of a complex number. 9 | C***DESCRIPTION 10 | C 11 | C CARG(Z) calculates the argument of the complex number Z. Note 12 | C that CARG returns a real result. If Z = X+iY, then CARG is ATAN(Y/X), 13 | C except when both X and Y are zero, in which case the result 14 | C will be zero. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED (NONE) 17 | C***END PROLOGUE CARG 18 | COMPLEX Z 19 | C***FIRST EXECUTABLE STATEMENT CARG 20 | CARG = 0.0 21 | IF (REAL(Z).NE.0. .OR. AIMAG(Z).NE.0.) CARG = 22 | 1 ATAN2 (AIMAG(Z), REAL(Z)) 23 | C 24 | RETURN 25 | END 26 | -------------------------------------------------------------------------------- /src/src/fnlib/casinh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CASINH(Z) 2 | C***BEGIN PROLOGUE CASINH 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4C 6 | C***KEYWORDS ARC HYPERBOLIC SINE,COMPLEX,ELEMENTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex arc hyperbolic Sine. 9 | C***DESCRIPTION 10 | C 11 | C CASINH(Z) calculates the complex arc hyperbolic sine of Z. 12 | C***REFERENCES (NONE) 13 | C***ROUTINES CALLED CASIN 14 | C***END PROLOGUE CASINH 15 | COMPLEX Z, CI, CASIN 16 | DATA CI /(0.,1.)/ 17 | C***FIRST EXECUTABLE STATEMENT CASINH 18 | CASINH = -CI*CASIN (CI*Z) 19 | C 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/fnlib/catanh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CATANH(Z) 2 | C***BEGIN PROLOGUE CATANH 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4C 6 | C***KEYWORDS ARC HYPERBOLIC TANGENT,COMPLEX,ELEMENTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex arc hyperbolic Tangent. 9 | C***DESCRIPTION 10 | C 11 | C CATANH(Z) calculates the complex arc hyperbolic tangent of Z. 12 | C***REFERENCES (NONE) 13 | C***ROUTINES CALLED CATAN 14 | C***END PROLOGUE CATANH 15 | COMPLEX Z, CI, CATAN 16 | DATA CI /(0.,1.)/ 17 | C***FIRST EXECUTABLE STATEMENT CATANH 18 | CATANH = -CI*CATAN(CI*Z) 19 | C 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/fnlib/ccbrt.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CCBRT(Z) 2 | C***BEGIN PROLOGUE CCBRT 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C2 6 | C***KEYWORDS COMPLEX,CUBE ROOT,ELEMENTARY FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the complex cube root of Z. 9 | C***DESCRIPTION 10 | C 11 | C CCBRT(Z) calculates the complex cube root of Z. The principal root 12 | C for which -PI .LT. arg(Z) .LE. +PI is returned. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED CARG,CBRT 15 | C***END PROLOGUE CCBRT 16 | COMPLEX Z 17 | EXTERNAL CARG 18 | C***FIRST EXECUTABLE STATEMENT CCBRT 19 | THETA = CARG(Z) / 3.0 20 | R = CBRT (CABS(Z)) 21 | C 22 | CCBRT = CMPLX (R*COS(THETA), R*SIN(THETA)) 23 | C 24 | RETURN 25 | END 26 | -------------------------------------------------------------------------------- /src/src/fnlib/ccosh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CCOSH (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | C JUNE 2000 Changed CCOS to generic COS 4 | COMPLEX Z, CI 5 | DATA CI /(0.,1.)/ 6 | C 7 | CCOSH = COS (CI*Z) 8 | C 9 | RETURN 10 | END 11 | -------------------------------------------------------------------------------- /src/src/fnlib/cgamma.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CGAMMA(Z) 2 | C***BEGIN PROLOGUE CGAMMA 3 | C***DATE WRITTEN 770701 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C7A 6 | C***KEYWORDS COMPLETE GAMMA FUNCTION,COMPLEX,GAMMA FUNCTION, 7 | C SPECIAL FUNCTION 8 | C***AUTHOR FULLERTON, W., (LANL) 9 | C***PURPOSE Computes the Gamma function of complex argument. 10 | C***DESCRIPTION 11 | C 12 | C CGAMMA(Z) calculates the complete gamma function for COMPLEX 13 | C argument Z. This is a preliminary version that is portable 14 | C but not accurate. 15 | C***REFERENCES (NONE) 16 | C***ROUTINES CALLED CLNGAM 17 | C***END PROLOGUE CGAMMA 18 | COMPLEX Z, CLNGAM, CEXP 19 | C***FIRST EXECUTABLE STATEMENT CGAMMA 20 | CGAMMA = CEXP (CLNGAM(Z)) 21 | C 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/fnlib/clog10.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CLOG10(Z) 2 | C***BEGIN PROLOGUE CLOG10 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***REVISION HISTORY (YYMMDD) 6 | C 000601 Changed CLOG to generic LOG 7 | C***CATEGORY NO. C4B 8 | C***KEYWORDS BASE TEN,COMPLEX,ELEMENTARY FUNCTION,LOGARITHM 9 | C***AUTHOR FULLERTON, W., (LANL) 10 | C***PURPOSE Computes the principal value of the complex base 10 11 | C logarithm. 12 | C***DESCRIPTION 13 | C 14 | C CLOG10(Z) calculates the principal value of the complex common 15 | C or base 10 logarithm of Z for -PI .LT. arg(Z) .LE. +PI. 16 | C***REFERENCES (NONE) 17 | C***ROUTINES CALLED (NONE) 18 | C***END PROLOGUE CLOG10 19 | COMPLEX Z 20 | DATA ALOGE / 0.4342944819 0325182765E0 / 21 | C***FIRST EXECUTABLE STATEMENT CLOG10 22 | CLOG10 = ALOGE * LOG(Z) 23 | C 24 | RETURN 25 | END 26 | -------------------------------------------------------------------------------- /src/src/fnlib/cosdg.f: -------------------------------------------------------------------------------- 1 | FUNCTION COSDG(X) 2 | C***BEGIN PROLOGUE COSDG 3 | C***DATE WRITTEN 770601 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4A 6 | C***KEYWORDS COSINE,DEGREE,FNLIB,TRIGONOMETRIC 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the Cosine of an argument in degrees. 9 | C***DESCRIPTION 10 | C 11 | C COSDG(X) evaluates the cosine for real X in degrees. 12 | C***REFERENCES (NONE) 13 | C***ROUTINES CALLED (NONE) 14 | C***END PROLOGUE COSDG 15 | C JUNE 1977 EDITION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 16 | DATA RADDEG / .017453292519943296E0 / 17 | C 18 | C***FIRST EXECUTABLE STATEMENT COSDG 19 | COSDG = COS (RADDEG*X) 20 | C 21 | IF (AMOD(X,90.).NE.0.) RETURN 22 | N = ABS(X)/90.0 + 0.5 23 | N = MOD (N, 2) 24 | IF (N.EQ.0) COSDG = SIGN (1.0, COSDG) 25 | IF (N.EQ.1) COSDG = 0.0 26 | C 27 | RETURN 28 | END 29 | -------------------------------------------------------------------------------- /src/src/fnlib/csinh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CSINH (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | C JUNE 2000 changed CSIN to generic SIN 4 | COMPLEX Z, CI, SIN 5 | DATA CI /(0.,1.)/ 6 | C 7 | CSINH = -CI*SIN(CI*Z) 8 | C 9 | RETURN 10 | END 11 | -------------------------------------------------------------------------------- /src/src/fnlib/ctanh.f: -------------------------------------------------------------------------------- 1 | COMPLEX FUNCTION CTANH (Z) 2 | C APRIL 1977 VERSION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 3 | COMPLEX Z, CI, CTAN 4 | DATA CI /(0.,1.)/ 5 | C 6 | CTANH = -CI*CTAN(CI*Z) 7 | C 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/src/fnlib/dei.f: -------------------------------------------------------------------------------- 1 | DOUBLE PRECISION FUNCTION DEI(X) 2 | C***BEGIN PROLOGUE DEI 3 | C***DATE WRITTEN 770701 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C5 6 | C***KEYWORDS DOUBLE PRECISION,EXPONENTIAL INTEGRAL,SPECIAL FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the d.p. exponential integral EI(X). 9 | C***DESCRIPTION 10 | C 11 | C DEI(X) calculates the double precision exponential integral Ei(X) 12 | C for positive double precision argument X and the Cauchy principal 13 | C value for negative X. If principal values are used everywhere, 14 | C then for all X 15 | C 16 | C Ei(X) = -Ei(-X) or 17 | C Ei(X) = -Ei(-X). 18 | C***REFERENCES (NONE) 19 | C***ROUTINES CALLED DE1 20 | C***END PROLOGUE DEI 21 | DOUBLE PRECISION X, DE1 22 | C***FIRST EXECUTABLE STATEMENT DEI 23 | DEI = -DE1(-X) 24 | C 25 | RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/fnlib/dli.f: -------------------------------------------------------------------------------- 1 | DOUBLE PRECISION FUNCTION DLI(X) 2 | C***BEGIN PROLOGUE DLI 3 | C***DATE WRITTEN 770701 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C5 6 | C***KEYWORDS DOUBLE PRECISION,LOGARITHMIC INTEGRAL,SPECIAL FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the d.p. logarithmic integral. 9 | C***DESCRIPTION 10 | C 11 | C DLI(X) calculates the double precision logarithmic integral 12 | C for double precision argument X. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED DEI,XERROR 15 | C***END PROLOGUE DLI 16 | DOUBLE PRECISION X, DEI 17 | C***FIRST EXECUTABLE STATEMENT DLI 18 | IF (X.LE.0.D0) CALL XERROR ( 'DLI LOG INTEGRAL UNDEFINED FOR X 19 | 1 LE 0', 41, 1, 2) 20 | IF (X.EQ.1.D0) CALL XERROR ( 'DLI LOG INTEGRAL UNDEFINED FOR X 21 | 1 = 0', 40, 2, 2) 22 | C 23 | DLI = DEI (DLOG(X)) 24 | C 25 | RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/fnlib/ei.f: -------------------------------------------------------------------------------- 1 | FUNCTION EI(X) 2 | C***BEGIN PROLOGUE EI 3 | C***DATE WRITTEN 770401 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C5 6 | C***KEYWORDS EXPONENTIAL INTEGRAL,SPECIAL FUNCTION 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the exponential integral EI(X). 9 | C***DESCRIPTION 10 | C 11 | C EI(X) calculates the single precision exponential integral for 12 | C positive, single precision argument X. The Cauchy principal 13 | C value is returned for negative X. If principal values are used 14 | C everywhere, then for all X 15 | C 16 | C EI(X) = -E1(-X) 17 | C or 18 | C E1(X) = -EI(-X). 19 | C***REFERENCES (NONE) 20 | C***ROUTINES CALLED E1 21 | C***END PROLOGUE EI 22 | C***FIRST EXECUTABLE STATEMENT EI 23 | EI = -E1(-X) 24 | C 25 | RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/fnlib/r9upak.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE R9UPAK(X,Y,N) 2 | C***BEGIN PROLOGUE R9UPAK 3 | C***DATE WRITTEN 780701 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. A6B 6 | C***KEYWORDS FNLIB,UNPACK 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Unpack a floating point number X so that X=Y*2**N. 9 | C***DESCRIPTION 10 | C 11 | C Unpack floating point number X so that X = Y * 2.0**N, where 12 | C 0.5 .LE. ABS(Y) .LT. 1.0. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED (NONE) 15 | C***END PROLOGUE R9UPAK 16 | C***FIRST EXECUTABLE STATEMENT R9UPAK 17 | ABSX = ABS(X) 18 | N =0 19 | IF(X.EQ.0.0) GO TO 30 20 | C 21 | 10 IF (ABSX.GE.0.5) GO TO 20 22 | N = N - 1 23 | ABSX = ABSX*2.0 24 | GO TO 10 25 | C 26 | 20 IF (ABSX.LT.1.0) GO TO 30 27 | N=N+1 28 | ABSX = ABSX*0.5 29 | GO TO 20 30 | C 31 | 30 Y = SIGN(ABSX,X) 32 | RETURN 33 | C 34 | END 35 | -------------------------------------------------------------------------------- /src/src/fnlib/sindg.f: -------------------------------------------------------------------------------- 1 | FUNCTION SINDG(X) 2 | C***BEGIN PROLOGUE SINDG 3 | C***DATE WRITTEN 770601 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. C4A 6 | C***KEYWORDS DEGREE,FNLIB,SINE,TRIGONOMETRIC 7 | C***AUTHOR FULLERTON, W., (LANL) 8 | C***PURPOSE Computes the Sine of an argument in degrees. 9 | C***DESCRIPTION 10 | C 11 | C SINDG(X) evaluates the single precision sine of X where 12 | C X is in degrees. 13 | C***REFERENCES (NONE) 14 | C***ROUTINES CALLED (NONE) 15 | C***END PROLOGUE SINDG 16 | C JUNE 1977 EDITION. W. FULLERTON, C3, LOS ALAMOS SCIENTIFIC LAB. 17 | DATA RADDEG / .017453292519943296E0 / 18 | C 19 | C***FIRST EXECUTABLE STATEMENT SINDG 20 | SINDG = SIN (RADDEG*X) 21 | C 22 | IF (AMOD(X,90.).NE.0.) RETURN 23 | N = ABS(X)/90.0 + 0.5 24 | N = MOD (N, 2) 25 | IF (N.EQ.0) SINDG = 0. 26 | IF (N.EQ.1) SINDG = SIGN (1.0, SINDG) 27 | C 28 | RETURN 29 | END 30 | -------------------------------------------------------------------------------- /src/src/licepak/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cgeev.o chiev.o sgeev.o ssiev.o sspev.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/lindrv/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cgefs.o cgeir.o cnbco.o cnbdi.o cnbfa.o cnbfs.o cnbir.o cnbsl.o\ 7 | cpofs.o cpoir.o dgefs.o dnbco.o dnbdi.o dnbfa.o dnbfs.o dnbsl.o\ 8 | dpofs.o sgefs.o sgeir.o snbco.o snbdi.o snbfa.o snbfs.o snbir.o\ 9 | snbsl.o spofs.o spoir.o 10 | 11 | .f.o: 12 | $(FORTRAN) $(OPTS) -c $< 13 | 14 | -------------------------------------------------------------------------------- /src/src/linpakc/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cchdc.o cchdd.o cchex.o cchud.o cgbco.o cgbdi.o cgbfa.o cgbsl.o\ 7 | cgeco.o cgedi.o cgefa.o cgesl.o cgtsl.o chico.o chidi.o chifa.o\ 8 | chisl.o chpco.o chpdi.o chpfa.o chpsl.o cpbco.o cpbdi.o cpbfa.o\ 9 | cpbsl.o cpoco.o cpodi.o cpofa.o cposl.o cppco.o cppdi.o cppfa.o\ 10 | cppsl.o cptsl.o cqrdc.o cqrsl.o csico.o csidi.o csifa.o csisl.o\ 11 | cspco.o cspdi.o cspfa.o cspsl.o csvdc.o ctrco.o ctrdi.o ctrsl.o 12 | 13 | .f.o: 14 | $(FORTRAN) $(OPTS) -c $< 15 | 16 | -------------------------------------------------------------------------------- /src/src/linpakd/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dchdc.o dchdd.o dchex.o dchud.o dgbco.o dgbdi.o dgbfa.o dgbsl.o\ 7 | dgeco.o dgedi.o dgefa.o dgesl.o dgtsl.o dpbco.o dpbdi.o dpbfa.o\ 8 | dpbsl.o dpoco.o dpodi.o dpofa.o dposl.o dppco.o dppdi.o dppfa.o\ 9 | dppsl.o dptsl.o dqrdc.o dqrsl.o dsico.o dsidi.o dsifa.o dsisl.o\ 10 | dspco.o dspdi.o dspfa.o dspsl.o dsvdc.o dtrco.o dtrdi.o dtrsl.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/linpaks/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | schdc.o schdd.o schex.o schud.o sgbco.o sgbdi.o sgbfa.o sgbsl.o\ 7 | sgeco.o sgedi.o sgefa.o sgesl.o sgtsl.o spbco.o spbdi.o spbfa.o\ 8 | spbsl.o spoco.o spodi.o spofa.o sposl.o sppco.o sppdi.o sppfa.o\ 9 | sppsl.o sptsl.o sqrdc.o sqrsl.o ssico.o ssidi.o ssifa.o ssisl.o\ 10 | sspco.o sspdi.o sspfa.o sspsl.o ssvdc.o strco.o strdi.o strsl.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/lotps/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | local.o loevl.o logrd.o lolip.o lotps.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/machcon/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | d1mach.o i1mach.o r1mach.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/mxentrp/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | burg.o cosqtb.o fftbrg.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/mxentrp/cosqtb.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE COSQTB(M,TABLE) 2 | C 3 | C COSQTB GENERATES QUARTER-LENGTH COSINE TABLE 4 | C 5 | DIMENSION TABLE(2) 6 | N=2**M 7 | ND4P1=N/4+1 8 | SCL=8.0*ATAN(1.0)/FLOAT(N) 9 | DO 10 I=1,ND4P1 10 | ARG=FLOAT(I-1)*SCL 11 | 10 TABLE(I)=COS(ARG) 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/nl2sn/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | assst.o dbdog.o deflt.o dupd2.o dupdu.o fdhes.o glrit.o gqtst.o\ 7 | humit.o humsl.o itsum.o linvrt.o litvmu.o livmul.o lmstep.o lsqrt.o\ 8 | lsquar.o lsvmin.o ltsqar.o ltvmul.o lupdat.o lvmul.o mlprdp.o nl2cvp.o\ 9 | nl2it.o nl2rd.o nl2s1.o nl2sn.o oprds.o parck.o qradr.o reldst.o\ 10 | sgrad2.o slupdt.o slvmul.o smsno.o snoit.o stopx.o sumit.o sumsl.o\ 11 | vaxpy.o vdflt.o vscopy.o vvmulp.o wzbfgs.o 12 | 13 | .f.o: 14 | $(FORTRAN) $(OPTS) -c $< 15 | 16 | -------------------------------------------------------------------------------- /src/src/nl2sn/ltvmul.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE LTVMUL(N, X, L, Y) 2 | C 3 | C *** COMPUTE X = (L**T)*Y, WHERE L IS AN N X N LOWER 4 | C *** TRIANGULAR MATRIX STORED COMPACTLY BY ROWS. X AND Y MAY 5 | C *** OCCUPY THE SAME STORAGE. *** 6 | C 7 | C***REVISION HISTORY (YYMMDD) 8 | C 000330 Modified array declarations. (JEC) 9 | C 10 | INTEGER N 11 | REAL X(N), L(*), Y(N) 12 | C DIMENSION L(N*(N+1)/2) 13 | INTEGER I, IJ, I0, J 14 | REAL YI, ZERO 15 | C/6 16 | DATA ZERO/0.E+0/ 17 | C/7 18 | C PARAMETER (ZERO=0.E+0) 19 | C/ 20 | C 21 | I0 = 0 22 | DO 20 I = 1, N 23 | YI = Y(I) 24 | X(I) = ZERO 25 | DO 10 J = 1, I 26 | IJ = I0 + J 27 | X(J) = X(J) + YI*L(IJ) 28 | 10 CONTINUE 29 | I0 = I0 + I 30 | 20 CONTINUE 31 | 999 RETURN 32 | C *** LAST CARD OF LTVMUL FOLLOWS *** 33 | END 34 | -------------------------------------------------------------------------------- /src/src/nl2sn/lvmul.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE LVMUL(N, X, L, Y) 2 | C 3 | C *** COMPUTE X = L*Y, WHERE L IS AN N X N LOWER TRIANGULAR 4 | C *** MATRIX STORED COMPACTLY BY ROWS. X AND Y MAY OCCUPY THE SAME 5 | C *** STORAGE. *** 6 | C 7 | C***REVISION HISTORY (YYMMDD) 8 | C 000330 Modified array declarations. (JEC) 9 | C 10 | INTEGER N 11 | REAL X(N), L(*), Y(N) 12 | C DIMENSION L(N*(N+1)/2) 13 | INTEGER I, II, IJ, I0, J, NP1 14 | REAL T, ZERO 15 | C/6 16 | DATA ZERO/0.E+0/ 17 | C/7 18 | C PARAMETER (ZERO=0.E+0) 19 | C/ 20 | C 21 | NP1 = N + 1 22 | I0 = N*(N+1)/2 23 | DO 20 II = 1, N 24 | I = NP1 - II 25 | I0 = I0 - I 26 | T = ZERO 27 | DO 10 J = 1, I 28 | IJ = I0 + J 29 | T = T + L(IJ)*Y(J) 30 | 10 CONTINUE 31 | X(I) = T 32 | 20 CONTINUE 33 | 999 RETURN 34 | C *** LAST CARD OF LVMUL FOLLOWS *** 35 | END 36 | -------------------------------------------------------------------------------- /src/src/nl2sn/oprds.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE OPRDS(L, LS, P, S, W, Y, Z) 2 | C 3 | C *** FOR I = 1..L, SET S = S + W(I)*Y(.,I)*(Z(.,I)**T), I.E., 4 | C *** ADD W(I) TIMES THE OUTER PRODUCT OF Y(.,I) AND Z(.,I). 5 | C 6 | INTEGER L, LS, P 7 | REAL S(LS), W(L), Y(P,L), Z(P,L) 8 | C DIMENSION S(P*(P+1)/2) 9 | C 10 | INTEGER I, J, K, M 11 | REAL WK, YI, ZERO 12 | DATA ZERO/0.E+0/ 13 | C 14 | DO 30 K = 1, L 15 | WK = W(K) 16 | IF (WK .EQ. ZERO) GO TO 30 17 | M = 1 18 | DO 20 I = 1, P 19 | YI = WK * Y(I,K) 20 | DO 10 J = 1, I 21 | S(M) = S(M) + YI*Z(J,K) 22 | M = M + 1 23 | 10 CONTINUE 24 | 20 CONTINUE 25 | 30 CONTINUE 26 | C 27 | 999 RETURN 28 | C *** LAST CARD OF OPRDS FOLLOWS *** 29 | END 30 | -------------------------------------------------------------------------------- /src/src/nl2sn/reldst.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION RELDST(P, D, X, X0) 2 | C 3 | C *** COMPUTE AND RETURN RELATIVE DIFFERENCE BETWEEN X AND X0 *** 4 | C *** NL2SOL VERSION 2.2 *** 5 | C 6 | INTEGER P 7 | REAL D(P), X(P), X0(P) 8 | C/+ 9 | REAL ABS 10 | C/ 11 | INTEGER I 12 | REAL EMAX, T, XMAX, ZERO 13 | C/6 14 | DATA ZERO/0.E+0/ 15 | C/7 16 | C PARAMETER (ZERO=0.E+0) 17 | C/ 18 | C 19 | EMAX = ZERO 20 | XMAX = ZERO 21 | DO 10 I = 1, P 22 | T = ABS(D(I) * (X(I) - X0(I))) 23 | IF (EMAX .LT. T) EMAX = T 24 | T = D(I) * ( ABS(X(I)) + ABS(X0(I))) 25 | IF (XMAX .LT. T) XMAX = T 26 | 10 CONTINUE 27 | RELDST = ZERO 28 | IF (XMAX .GT. ZERO) RELDST = EMAX / XMAX 29 | 999 RETURN 30 | C *** LAST CARD OF RELDST FOLLOWS *** 31 | END 32 | -------------------------------------------------------------------------------- /src/src/nl2sn/stopx.f: -------------------------------------------------------------------------------- 1 | LOGICAL FUNCTION STOPX(IDUMMY) 2 | C *****PARAMETERS... 3 | INTEGER IDUMMY 4 | C 5 | C .................................................................. 6 | C 7 | C *****PURPOSE... 8 | C THIS FUNCTION MAY SERVE AS THE STOPX (ASYNCHRONOUS INTERRUPTION) 9 | C FUNCTION FOR THE NL2SOL (NONLINEAR LEAST-SQUARES) PACKAGE AT 10 | C THOSE INSTALLATIONS WHICH DO NOT WISH TO IMPLEMENT A 11 | C DYNAMIC STOPX. 12 | C 13 | C *****ALGORITHM NOTES... 14 | C AT INSTALLATIONS WHERE THE NL2SOL SYSTEM IS USED 15 | C INTERACTIVELY, THIS DUMMY STOPX SHOULD BE REPLACED BY A 16 | C FUNCTION THAT RETURNS .TRUE. IF AND ONLY IF THE INTERRUPT 17 | C (BREAK) KEY HAS BEEN PRESSED SINCE THE LAST CALL ON STOPX. 18 | C 19 | C .................................................................. 20 | C 21 | STOPX = .FALSE. 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/nl2sn/vaxpy.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VAXPY(P, W, A, X, Y) 2 | C 3 | C *** SET W = A*X + Y -- W, X, Y = P-VECTORS, A = SCALAR *** 4 | C 5 | INTEGER P 6 | REAL A, W(P), X(P), Y(P) 7 | C 8 | INTEGER I 9 | C 10 | DO 10 I = 1, P 11 | 10 W(I) = A*X(I) + Y(I) 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/nl2sn/vscopy.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSCOPY(P, Y, S) 2 | C 3 | C *** SET P-VECTOR Y TO SCALAR S *** 4 | C 5 | INTEGER P 6 | REAL S, Y(P) 7 | C 8 | INTEGER I 9 | C 10 | DO 10 I = 1, P 11 | 10 Y(I) = S 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/nl2sn/vvmulp.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VVMULP(N, X, Y, Z, K) 2 | C 3 | C *** SET X(I) = Y(I) * Z(I)**K, 1 .LE. I .LE. N (FOR K = 1 OR -1) *** 4 | C 5 | INTEGER N, K 6 | REAL X(N), Y(N), Z(N) 7 | INTEGER I 8 | C 9 | IF (K .GE. 0) GO TO 20 10 | DO 10 I = 1, N 11 | 10 X(I) = Y(I) / Z(I) 12 | GO TO 999 13 | C 14 | 20 DO 30 I = 1, N 15 | 30 X(I) = Y(I) * Z(I) 16 | 999 RETURN 17 | C *** LAST CARD OF VVMULP FOLLOWS *** 18 | END 19 | -------------------------------------------------------------------------------- /src/src/odrpack/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dacces.o ddiagi.o ddiags.o ddiagw.o detaf.o devfun.o devjac.o dflags.o\ 7 | dgetcp.o didts.o diniwk.o diwinf.o djacfd.o djck.o djckc.o djckf.o\ 8 | djckm.o djckz.o dmprec.o dodchk.o doddrv.o dodlm.o dodlmw.o dodmn.o\ 9 | dodpc1.o dodpc2.o dodpc3.o dodpcr.o dodpe1.o dodpe2.o dodper.o\ 10 | dodphd.o dodr.o dodrc.o dodstp.o dpack.o dpvb.o dpvd.o dsclb.o\ 11 | dscld.o dsetn.o dstore.o dunpac.o dwds.o dwinf.o dxpy.o dzero.o\ 12 | fun.o jac.o sacces.o sdiagi.o sdiags.o sdiagw.o setaf.o sevfun.o\ 13 | sevjac.o sflags.o sgetcp.o sidts.o siniwk.o siwinf.o sjacfd.o sjck.o\ 14 | sjckc.o sjckf.o sjckm.o sjckz.o smprec.o sodchk.o soddrv.o sodlm.o\ 15 | sodlmw.o sodmn.o sodpc1.o sodpc2.o sodpc3.o sodpcr.o sodpe1.o sodpe2.o\ 16 | sodper.o sodphd.o sodr.o sodrc.o sodstp.o spack.o spvb.o spvd.o\ 17 | ssclb.o sscld.o ssetn.o sstore.o sunpac.o swds.o swinf.o sxpy.o\ 18 | szero.o 19 | 20 | .f.o: 21 | $(FORTRAN) $(OPTS) -c $< 22 | 23 | -------------------------------------------------------------------------------- /src/src/pchipd/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dchfdv.o dchfev.o dchfiv.o dchfmc.o dpchce.o dpchci.o dpchcs.o\ 7 | dpchdf.o dpchfd.o dpchfe.o dpchia.o dpchic.o dpchid.o dpchim.o\ 8 | dpchmc.o dpchsp.o dpchst.o dpchsw.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/pchips/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | chfdv.o chfev.o chfiv.o chfmc.o pchce.o pchci.o pchcs.o pchdf.o\ 7 | pchdoc.o pchfd.o pchfe.o pchia.o pchic.o pchid.o pchim.o pchmc.o\ 8 | pchsp.o pchst.o pchsw.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/q1da/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | gl15t.o q1da.o q1dax.o q1db.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/quadpkd/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dea.o dqag.o dqage.o dqagi.o dqagie.o dqagp.o dqagpe.o dqags.o\ 7 | dqagse.o dqawc.o dqawce.o dqawf.o dqawfe.o dqawo.o dqawoe.o dqaws.o\ 8 | dqawse.o dqc25c.o dqc25f.o dqc25s.o dqcheb.o dqelg.o dqk15.o dqk15i.o\ 9 | dqk15w.o dqk21.o dqk31.o dqk41.o dqk51.o dqk61.o dqmomo.o dqng.o\ 10 | dqpsrt.o dqwgtc.o dqwgtf.o dqwgts.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/quadpkd/dqwgtc.f: -------------------------------------------------------------------------------- 1 | DOUBLE PRECISION FUNCTION DQWGTC(X,C,P2,P3,P4,KP) 2 | C***BEGIN PROLOGUE DQWGTC 3 | C***REFER TO DQK15W 4 | C***ROUTINES CALLED (NONE) 5 | C***REVISION DATE 830518 (YYMMDD) 6 | C***KEYWORDS CAUCHY PRINCIPAL VALUE,WEIGHT FUNCTION 7 | C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 8 | C K. U. LEUVEN 9 | C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 10 | C K. U. LEUVEN 11 | C***PURPOSE This function subprogram is used together with the 12 | C routine DQAWC and defines the WEIGHT function. 13 | C***END PROLOGUE DQWGTC 14 | C 15 | DOUBLE PRECISION C,P2,P3,P4,X 16 | INTEGER KP 17 | C***FIRST EXECUTABLE STATEMENT DQWGTC 18 | DQWGTC = 0.1D+01/(X-C) 19 | RETURN 20 | END 21 | -------------------------------------------------------------------------------- /src/src/quadpkd/dqwgtf.f: -------------------------------------------------------------------------------- 1 | DOUBLE PRECISION FUNCTION DQWGTF(X,OMEGA,P2,P3,P4,INTEGR) 2 | C***BEGIN PROLOGUE DQWGTF 3 | C***REFER TO DQK15W 4 | C***ROUTINES CALLED (NONE) 5 | C***REVISION DATE 830518 (YYMMDD) 6 | C***REVISION HISTORY (YYMMDD) 7 | C 000601 Changed DSIN/DCOS to generic SIN/COS 8 | C***KEYWORDS COS OR SIN IN WEIGHT FUNCTION 9 | C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 10 | C K. U. LEUVEN 11 | C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 12 | C K. U. LEUVEN 13 | C***PURPOSE This function subprogram is used together with the 14 | C routine DQAWF and defines the WEIGHT function. 15 | C***END PROLOGUE DQWGTF 16 | C 17 | DOUBLE PRECISION OMEGA,OMX,P2,P3,P4,X 18 | INTEGER INTEGR 19 | C***FIRST EXECUTABLE STATEMENT DQWGTF 20 | OMX = OMEGA*X 21 | GO TO(10,20),INTEGR 22 | 10 DQWGTF = COS(OMX) 23 | GO TO 30 24 | 20 DQWGTF = SIN(OMX) 25 | 30 RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/quadpks/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | ea.o qag.o qage.o qagi.o qagie.o qagp.o qagpe.o qags.o qagse.o\ 7 | qawc.o qawce.o qawf.o qawfe.o qawo.o qawoe.o qaws.o qawse.o qc25c.o\ 8 | qc25f.o qc25s.o qcheb.o qelg.o qk15.o qk15i.o qk15w.o qk21.o qk31.o\ 9 | qk41.o qk51.o qk61.o qmomo.o qng.o qpsrt.o qwgtc.o qwgtf.o qwgts.o 10 | 11 | .f.o: 12 | $(FORTRAN) $(OPTS) -c $< 13 | 14 | -------------------------------------------------------------------------------- /src/src/quadpks/qwgtc.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION QWGTC(X,C,P2,P3,P4,KP) 2 | C***BEGIN PROLOGUE QWGTC 3 | C***REFER TO QK15W 4 | C***ROUTINES CALLED (NONE) 5 | C***REVISION DATE 830518 (YYMMDD) 6 | C***KEYWORDS CAUCHY PRINCIPAL VALUE,WEIGHT FUNCTION 7 | C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 8 | C K. U. LEUVEN 9 | C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 10 | C K. U. LEUVEN 11 | C***PURPOSE This function subprogram is used together with the 12 | C routine QAWC and defines the WEIGHT function. 13 | C***END PROLOGUE QWGTC 14 | C 15 | REAL C,P2,P3,P4,X 16 | INTEGER KP 17 | C***FIRST EXECUTABLE STATEMENT QWGTC 18 | QWGTC = 0.1E+01/(X-C) 19 | RETURN 20 | END 21 | -------------------------------------------------------------------------------- /src/src/quadpks/qwgtf.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION QWGTF(X,OMEGA,P2,P3,P4,INTEGR) 2 | C***BEGIN PROLOGUE QWGTF 3 | C***REFER TO QK15W 4 | C***ROUTINES CALLED (NONE) 5 | C***REVISION DATE 830518 (YYMMDD) 6 | C***KEYWORDS COS OR SIN IN WEIGHT FUNCTION 7 | C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 8 | C K. U. LEUVEN 9 | C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 10 | C K. U. LEUVEN 11 | C***PURPOSE This function subprogram is used together with the 12 | C routine QAWF and defines the WEIGHT function. 13 | C***END PROLOGUE QWGTF 14 | C 15 | REAL OMEGA,OMX,P2,P3,P4,X 16 | INTEGER INTEGR 17 | C***FIRST EXECUTABLE STATEMENT QWGTF 18 | OMX = OMEGA*X 19 | GO TO(10,20),INTEGR 20 | 10 QWGTF = COS(OMX) 21 | GO TO 30 22 | 20 QWGTF = SIN(OMX) 23 | 30 RETURN 24 | END 25 | -------------------------------------------------------------------------------- /src/src/rv/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | rnor.o uni.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/sdassl/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | sdaini.o sdajac.o sdanrm.o sdaslv.o sdassl.o sdastp.o sdatrp.o\ 7 | sdawts.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/sdriv/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | fa.o g.o jacobn.o sdcor.o sdcst.o sdntl.o sdntp.o sdpsc.o sdpst.o\ 7 | sdriv1.o sdriv2.o sdriv3.o sdscl.o sdstp.o sdzro.o users.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/sdriv/fa.f: -------------------------------------------------------------------------------- 1 | 2 | SUBROUTINE FA(N,T,Y,A,MATDIM,ML,MU,NDE) 3 | C***BEGIN PROLOGUE FA 4 | C***REFER TO SDRIV3 5 | C 6 | C THIS IS A USER-PROVIDED ROUTINE, WHICH IS PROVIDED 7 | C HERE TO AVOID LOADER ERRORS ONLY. 8 | C 9 | C***ROUTINES CALLED NONE 10 | C***END PROLOGUE FA 11 | REAL Y(*),A(MATDIM,*) 12 | CALL XERROR('SDRIV -- FA IS A USER-SUPPLIED ROUTINE',39,1,2) 13 | RETURN 14 | END 15 | -------------------------------------------------------------------------------- /src/src/sdriv/g.f: -------------------------------------------------------------------------------- 1 | REAL FUNCTION G(N,T,Y,IROOT) 2 | C***BEGIN PROLOGUE G 3 | C***REFER TO SDRIV3 4 | C 5 | C THIS IS A USER-PROVIDED ROUTINE, WHICH IS PROVIDED 6 | C HERE TO AVOID LOADER ERRORS ONLY. 7 | C 8 | C***ROUTINES CALLED NONE 9 | C***END PROLOGUE G 10 | REAL Y(*) 11 | CALL XERROR('SDRIV -- G IS A USER-SUPPLIED ROUTINE',38,1,2) 12 | G = 1.0 13 | RETURN 14 | END 15 | -------------------------------------------------------------------------------- /src/src/sdriv/jacobn.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE JACOBN(N,T,Y,DFDY,MATDIM,ML,MU) 2 | C***BEGIN PROLOGUE JACOBN 3 | C***REFER TO SDRIV3 4 | C 5 | C THIS IS A USER-PROVIDED ROUTINE, WHICH IS PROVIDED 6 | C HERE TO AVOID LOADER ERRORS ONLY. 7 | C 8 | C***ROUTINES CALLED NONE 9 | C***END PROLOGUE JACOBN 10 | REAL Y(*),DFDY(MATDIM,*) 11 | CALL XERROR('SDRIV -- JACOBN IS A USER-SUPPLED ROUTINE',43,1,2) 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/sdriv/sdscl.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE SDSCL (HMAX,N,NQ,RMAX,H,RC,RH,YH) 2 | C***BEGIN PROLOGUE SDSCL 3 | C***REFER TO SDRIV3 4 | C This subroutine rescales the YH array whenever the step size 5 | C is changed. 6 | C***ROUTINES CALLED (NONE) 7 | C***DATE WRITTEN 790601 (YYMMDD) 8 | C***REVISION DATE 850319 (YYMMDD) 9 | C***CATEGORY NO. I1A2,I1A1B 10 | C***AUTHOR KAHANER, D. K., NATIONAL BUREAU OF STANDARDS, 11 | C SUTHERLAND, C. D., LOS ALAMOS NATIONAL LABORATORY 12 | C***END PROLOGUE SDSCL 13 | REAL H, HMAX, RC, RH, RMAX, R1, YH(N,*) 14 | C***FIRST EXECUTABLE STATEMENT SDSCL 15 | IF (H .LT. 1.E0) THEN 16 | RH = MIN(ABS(H)*RH, ABS(H)*RMAX, HMAX)/ABS(H) 17 | ELSE 18 | RH = MIN(RH, RMAX, HMAX/ABS(H)) 19 | END IF 20 | R1 = 1.E0 21 | DO 10 J = 1,NQ 22 | R1 = R1*RH 23 | DO 10 I = 1,N 24 | 10 YH(I,J+1) = YH(I,J+1)*R1 25 | H = H*RH 26 | RC = RC*RH 27 | END 28 | -------------------------------------------------------------------------------- /src/src/sdriv/users.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE USERS(Y,YH,YWT,SAVE1,SAVE2,T,H,EL,IMPL,N,NDE,IFLAG) 2 | C***BEGIN PROLOGUE USERS 3 | C***REFER TO SDRIV3 4 | C 5 | C THIS IS A USER-PROVIDED ROUTINE, WHICH IS PROVIDED 6 | C HERE TO AVOID LOADER ERRORS ONLY. 7 | C 8 | C***ROUTINES CALLED NONE 9 | C***END PROLOGUE USERS 10 | REAL Y(*),YH(*),YWT(*),SAVE1(*),SAVE2(*),T,H,EL 11 | CALL XERROR('SDRIV -- USERS IS A USER-SUPPLIED ROUTINE',42,1,2) 12 | RETURN 13 | END 14 | -------------------------------------------------------------------------------- /src/src/sglss/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | llsia.o sglss.o u11ls.o u11us.o u12ls.o u12us.o ulsia.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/slrpack/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dlinfs.o linfs.o rgm.o rwill.o ryarng.o rybar.o ryork.o wwill.o\ 7 | wyork.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/slvblk/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | dtblok.o factrb.o fcblok.o sbblok.o shiftb.o slvblk.o subbak.o\ 7 | subfor.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/snls1e/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | chkder.o dogleg.o enorm.o fdjac1.o fdjac3.o lmpar.o qform.o qrfac.o\ 7 | qrsolv.o r1mpyq.o r1updt.o rwupdt.o scov.o snls1.o snls1e.o snsq.o\ 8 | snsqe.o sos.o soseqs.o sossol.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/splp/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | closm.o fulmat.o iploc.o ivout.o la05as.o la05bs.o la05cs.o la05es.o\ 7 | mc20as.o pchngs.o pinitm.o pnnzrs.o prwpge.o prwvir.o readp.o spincw.o\ 8 | spinit.o splp.o splpce.o splpdm.o splpfe.o splpfl.o splpmn.o splpmu.o\ 9 | splpo.o splpup.o spopt.o svout.o usrmat.o writp.o 10 | 11 | .f.o: 12 | $(FORTRAN) $(OPTS) -c $< 13 | 14 | -------------------------------------------------------------------------------- /src/src/splp/closm.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE CLOSM(IPAGE) 2 | C***BEGIN PROLOGUE CLOSM 3 | C***REFER TO SPLP 4 | C 1. UNLOAD, RELEASE, OR CLOSE UNIT NUMBER IPAGEF. 5 | C 6 | C THIS IS FORTRAN 77 STANDARD FOR THE 'CLOSE' STATEMENT. 7 | C***ROUTINES CALLED XERRWV 8 | C***END PROLOGUE CLOSM 9 | C***FIRST EXECUTABLE STATEMENT CLOSM 10 | IPAGEF=IPAGE 11 | CLOSE(UNIT=IPAGEF,IOSTAT=IOS,ERR=100,STATUS='KEEP') 12 | RETURN 13 | 100 CONTINUE 14 | IOPT=1 15 | NERR=100 16 | CALL XERRWV('SPLP( ). CLOSE() HAS ERROR FLAG (I1).',37,NERR,IOPT, 17 | *1,IOS,IDUM,0,RDUM,RDUM) 18 | RETURN 19 | END 20 | -------------------------------------------------------------------------------- /src/src/splp/splpo.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE SPLPO(IPAGE,LPAGE) 2 | C 3 | C 1. OPEN UNIT NUMBER IPAGEF AS A RANDOM ACCESS FILE. 4 | C 5 | C 2. THE RECORD LENGTH IS CONSTANT=LPG. 6 | C 7 | C THIS IS FORTRAN 77 STANDARD FOR THE 'OPEN' STATEMENT. 8 | IPAGEF=IPAGE 9 | LPG =LPAGE 10 | OPEN(UNIT=IPAGEF,IOSTAT=IOS,ERR=100,STATUS='UNKNOWN', 11 | *ACCESS='DIRECT',FORM='UNFORMATTED',RECL=LPG) 12 | RETURN 13 | 100 CONTINUE 14 | IOPT=1 15 | NERR=100 16 | CALL XERRWV('SPLP( ). OPEN() HAS ERROR FLAG (I1).',36,NERR,IOPT, 17 | *1,IOS,IDUM,0,RDUM,RDUM) 18 | RETURN 19 | END 20 | -------------------------------------------------------------------------------- /src/src/sqrlss/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | sqrank.o sqrlss.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/ssort/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | csort.o isort.o ssort.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/sudsods/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cscale.o lssods.o lssuds.o ohtrol.o ohtror.o orthol.o orthor.o\ 7 | sods.o suds.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/tensbs/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | b2ink.o b2val.o b3ink.o b3val.o bknot.o btpcf.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/twodq/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | greatr.o hinitd.o hinitu.o hpacc.o hpbld.o hpdel.o hpgro.o hpins.o\ 7 | less.o lqm0.o lqm1.o tridv.o twodq.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/twodq/greatr.f: -------------------------------------------------------------------------------- 1 | LOGICAL FUNCTION GREATR(A,B,NWDS) 2 | INTEGER NWDS 3 | REAL A(NWDS), B(NWDS) 4 | GREATR= A(1) .GT. B(1) 5 | RETURN 6 | END 7 | -------------------------------------------------------------------------------- /src/src/twodq/hinitd.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE HINITD(NMAX,NWDS,N,T) 2 | C PURPOSE 3 | C THIS ROUTINE INITIALIZES THE HEAP PROGRAMS WITH T(NMAX) 4 | C POINTING TO THE TOP OF THE HEAP. 5 | C IT IS CALLED ONCE AT THE START OF EACH NEW CALCULATION. 6 | C INPUT 7 | C NMAX=MAXIMUM NUMBER OF NODES ALLOWED BY USER 8 | C NWDS=NUMBER OF WORDS PER NODE 9 | C OUTPUT 10 | C N=CURRENT NUMBER OF NODES IN HEAP = 0. 11 | C T=INTEGER ARRAY OF POINTERS TO POTENTIAL HEAP NODES. 12 | C 13 | C***REVISION HISTORY (YYMMDD) 14 | C 000330 Modified array declarations. (JEC) 15 | C 16 | INTEGER T(*) 17 | DO 1 I=1,NMAX 18 | 1 T(I)=(NMAX-I)*NWDS+1 19 | N=0 20 | RETURN 21 | END 22 | -------------------------------------------------------------------------------- /src/src/twodq/less.f: -------------------------------------------------------------------------------- 1 | LOGICAL FUNCTION LESS(A,B,NWDS) 2 | INTEGER NWDS 3 | REAL A(NWDS), B(NWDS) 4 | LESS= A(1) .LT. B(1) 5 | RETURN 6 | END 7 | -------------------------------------------------------------------------------- /src/src/uncmin/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | bakslv.o chlhsn.o choldc.o d1fcn.o d2fcn.o dfault.o dogdrv.o dogstp.o\ 7 | forslv.o fstocd.o fstofd.o grdchk.o heschk.o hookdr.o hookst.o\ 8 | hsnint.o lltslv.o lnsrch.o mvmltl.o mvmlts.o mvmltu.o optchk.o\ 9 | optdrv.o optif0.o optif9.o optstp.o qraux1.o qraux2.o qrupdt.o\ 10 | result.o sclmul.o secfac.o secunf.o sndofd.o tregup.o 11 | 12 | .f.o: 13 | $(FORTRAN) $(OPTS) -c $< 14 | 15 | -------------------------------------------------------------------------------- /src/src/uncmin/d1fcn.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE D1FCN(N,X,G) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C DUMMY ROUTINE TO PREVENT UNSATISFIED EXTERNAL DIAGNOSTIC 7 | C WHEN SPECIFIC ANALYTIC GRADIENT FUNCTION NOT SUPPLIED. 8 | C 9 | DIMENSION X(N),G(N) 10 | G(N)=G(N) 11 | X(N)=X(N) 12 | STOP 13 | END 14 | -------------------------------------------------------------------------------- /src/src/uncmin/d2fcn.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE D2FCN(NR,N,X,H) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C DUMMY ROUTINE TO PREVENT UNSATISFIED EXTERNAL DIAGNOSTIC 7 | C WHEN SPECIFIC ANALYTIC HESSIAN FUNCTION NOT SUPPLIED. 8 | C 9 | DIMENSION X(N),H(NR,1) 10 | H(NR,1)=H(NR,1) 11 | X(N)=X(N) 12 | STOP 13 | END 14 | -------------------------------------------------------------------------------- /src/src/uncmin/mvmltl.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE MVMLTL(NR,N,A,X,Y) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C COMPUTE Y=LX 7 | C WHERE L IS A LOWER TRIANGULAR MATRIX STORED IN A 8 | C 9 | C PARAMETERS 10 | C ---------- 11 | C NR --> ROW DIMENSION OF MATRIX 12 | C N --> DIMENSION OF PROBLEM 13 | C A(N,N) --> LOWER TRIANGULAR (N*N) MATRIX 14 | C X(N) --> OPERAND VECTOR 15 | C Y(N) <-- RESULT VECTOR 16 | C 17 | C NOTE 18 | C ---- 19 | C X AND Y CANNOT SHARE STORAGE 20 | C 21 | C***REVISION HISTORY (YYMMDD) 22 | C 000330 Modified array declarations. (JEC) 23 | C 24 | DIMENSION A(NR,*),X(N),Y(N) 25 | DO 30 I=1,N 26 | SUM=0. 27 | DO 10 J=1,I 28 | SUM=SUM+A(I,J)*X(J) 29 | 10 CONTINUE 30 | Y(I)=SUM 31 | 30 CONTINUE 32 | RETURN 33 | END 34 | -------------------------------------------------------------------------------- /src/src/uncmin/mvmltu.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE MVMLTU(NR,N,A,X,Y) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C COMPUTE Y=(L+)X 7 | C WHERE L IS A LOWER TRIANGULAR MATRIX STORED IN A 8 | C (L-TRANSPOSE (L+) IS TAKEN IMPLICITLY) 9 | C 10 | C PARAMETERS 11 | C ---------- 12 | C NR --> ROW DIMENSION OF MATRIX 13 | C N --> DIMENSION OF PROBLEM 14 | C A(NR,1) --> LOWER TRIANGULAR (N*N) MATRIX 15 | C X(N) --> OPERAND VECTOR 16 | C Y(N) <-- RESULT VECTOR 17 | C 18 | C NOTE 19 | C ---- 20 | C X AND Y CANNOT SHARE STORAGE 21 | C 22 | C***REVISION HISTORY (YYMMDD) 23 | C 000330 Modified array declarations. (JEC) 24 | C 25 | DIMENSION A(NR,*),X(N),Y(N) 26 | DO 30 I=1,N 27 | SUM=0. 28 | DO 10 J=I,N 29 | SUM=SUM+A(J,I)*X(J) 30 | 10 CONTINUE 31 | Y(I)=SUM 32 | 30 CONTINUE 33 | RETURN 34 | END 35 | -------------------------------------------------------------------------------- /src/src/uncmin/qraux1.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE QRAUX1(NR,N,R,I) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C INTERCHANGE ROWS I,I+1 OF THE UPPER HESSENBERG MATRIX R, 7 | C COLUMNS I TO N 8 | C 9 | C PARAMETERS 10 | C ---------- 11 | C NR --> ROW DIMENSION OF MATRIX 12 | C N --> DIMENSION OF MATRIX 13 | C R(N,N) <--> UPPER HESSENBERG MATRIX 14 | C I --> INDEX OF ROW TO INTERCHANGE (I.LT.N) 15 | C 16 | C***REVISION HISTORY (YYMMDD) 17 | C 000330 Modified array declarations. (JEC) 18 | C 19 | DIMENSION R(NR,*) 20 | DO 10 J=I,N 21 | TMP=R(I,J) 22 | R(I,J)=R(I+1,J) 23 | R(I+1,J)=TMP 24 | 10 CONTINUE 25 | RETURN 26 | END 27 | -------------------------------------------------------------------------------- /src/src/uncmin/qraux2.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE QRAUX2(NR,N,R,I,A,B) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C PRE-MULTIPLY R BY THE JACOBI ROTATION J(I,I+1,A,B) 7 | C 8 | C PARAMETERS 9 | C ---------- 10 | C NR --> ROW DIMENSION OF MATRIX 11 | C N --> DIMENSION OF MATRIX 12 | C R(N,N) <--> UPPER HESSENBERG MATRIX 13 | C I --> INDEX OF ROW 14 | C A --> SCALAR 15 | C B --> SCALAR 16 | C 17 | C***REVISION HISTORY (YYMMDD) 18 | C 000330 Modified array declarations. (JEC) 19 | C 20 | DIMENSION R(NR,*) 21 | DEN=SQRT(A*A + B*B) 22 | C=A/DEN 23 | S=B/DEN 24 | DO 10 J=I,N 25 | Y=R(I,J) 26 | Z=R(I+1,J) 27 | R(I,J)=C*Y - S*Z 28 | R(I+1,J)=S*Y + C*Z 29 | 10 CONTINUE 30 | RETURN 31 | END 32 | -------------------------------------------------------------------------------- /src/src/uncmin/sclmul.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE SCLMUL(N,S,V,Z) 2 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 | C 4 | C PURPOSE 5 | C ------- 6 | C MULTIPLY VECTOR BY SCALAR 7 | C RESULT VECTOR MAY BE OPERAND VECTOR 8 | C 9 | C PARAMETERS 10 | C ---------- 11 | C N --> DIMENSION OF VECTORS 12 | C S --> SCALAR 13 | C V(N) --> OPERAND VECTOR 14 | C Z(N) <-- RESULT VECTOR 15 | DIMENSION V(N),Z(N) 16 | DO 100 I=1,N 17 | Z(I)=S*V(I) 18 | 100 CONTINUE 19 | RETURN 20 | END 21 | -------------------------------------------------------------------------------- /src/src/vfft/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | vcosqb.o vcosqf.o vcosqi.o vcost.o vcosti.o vradb2.o vradb3.o vradb4.o\ 7 | vradb5.o vradbg.o vradf2.o vradf3.o vradf4.o vradf5.o vradfg.o\ 8 | vrfftb.o vrfftf.o vrffti.o vrftb1.o vrftf1.o vrfti1.o vsinqb.o\ 9 | vsinqf.o vsinqi.o vsint.o vsinti.o 10 | 11 | .f.o: 12 | $(FORTRAN) $(OPTS) -c $< 13 | 14 | -------------------------------------------------------------------------------- /src/src/vfft/vrfftb.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VRFFTB(M,N,R,RT,MDIMR,WSAVE) 2 | C 3 | C VRFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION R(MDIMR,N),RT(MDIMR,N),WSAVE(N+15) 6 | IF (N .EQ. 1) RETURN 7 | CALL VRFTB1 (M,N,R,RT,MDIMR,WSAVE(1),WSAVE(N+1)) 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/src/vfft/vrfftf.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VRFFTF (M,N,R,RT,MDIMR,WSAVE) 2 | C 3 | C VRFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION R(MDIMR,N) ,RT(MDIMR,N) ,WSAVE(N+15) 6 | IF (N .EQ. 1) RETURN 7 | CALL VRFTF1 (M,N,R,RT,MDIMR,WSAVE(1),WSAVE(N+1)) 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/src/vfft/vrffti.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VRFFTI (N,WSAVE) 2 | C 3 | C VRFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION WSAVE(N+15) 6 | IF (N .EQ. 1) RETURN 7 | CALL VRFTI1 (N,WSAVE(1),WSAVE(N+1)) 8 | RETURN 9 | END 10 | -------------------------------------------------------------------------------- /src/src/vhs3/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | hs3cri.o hs3crt.o p3pack.o p3unpk.o ps3di1.o pst3d1.o pst3di.o\ 7 | pstg3d.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/vhs3/p3pack.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE P3PACK(F,LDIMF,MDIMF,L,M,N,G) 2 | C 3 | C PACKAGE PSTG3D, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION F(LDIMF*MDIMF*N),G(L,M,N) 6 | C 7 | C THIS SUBROUTINE PACKS THE SUB-ARRAY F(I,J,K), I=1,...,L, 8 | C J=1,...,M, AND K=1,...,N, INTO THE ARRAY G. 9 | C 10 | DO 100 K=1,N 11 | DO 100 J=1,M 12 | DO 100 I=1,L 13 | 100 G(I,J,K)=F(LDIMF*(MDIMF*(K-1)+J-1)+I) 14 | IF=LDIMF*(MDIMF*(N-1)+M-1)+LDIMF 15 | DO 600 K=N,1,-1 16 | IF (K.EQ.N) GO TO 350 17 | DO 200 J=MDIMF,M+1,-1 18 | IF=IF-LDIMF 19 | DO 200 I=LDIMF,1,-1 20 | 200 F(IF+I)=F(LDIMF*(MDIMF*(K-1)+J-1)+I) 21 | 350 CONTINUE 22 | DO 400 J=M,1,-1 23 | IF=IF-(LDIMF-L) 24 | DO 400 I=LDIMF,L+1,-1 25 | 400 F(IF+I-L)=F(LDIMF*(MDIMF*(K-1)+J-1)+I) 26 | 600 CONTINUE 27 | RETURN 28 | END 29 | -------------------------------------------------------------------------------- /src/src/vhs3/p3unpk.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE P3UNPK(F,LDIMF,MDIMF,L,M,N,G) 2 | C 3 | C PACKAGE PSTG3D, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION F(LDIMF*MDIMF*N),G(L,M,N) 6 | C 7 | C THIS SUBROUTINE EXPANDS THE ARRAY G OF DIMENSION L X M X N INTO 8 | C THE ARRAY F OF DIMENSION LDIMF X MDIMF X N. 9 | C 10 | IF=L*M*N 11 | DO 600 K=1,N 12 | DO 300 J=1,M 13 | DO 200 I=L+1,LDIMF 14 | 200 F(LDIMF*(MDIMF*(K-1)+J-1)+I)=F(IF+I-L) 15 | 300 IF=IF+(LDIMF-L) 16 | IF (K.EQ.N) GO TO 590 17 | DO 500 J=M+1,MDIMF 18 | DO 400 I=1,LDIMF 19 | 400 F(LDIMF*(MDIMF*(K-1)+J-1)+I)=F(IF+I) 20 | 500 IF=IF+LDIMF 21 | 590 CONTINUE 22 | DO 100 J=1,M 23 | DO 100 I=1,L 24 | 100 F(LDIMF*(MDIMF*(K-1)+J-1)+I)=G(I,J,K) 25 | 600 CONTINUE 26 | RETURN 27 | END 28 | -------------------------------------------------------------------------------- /src/src/vsfft/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | vscosb.o vscosf.o vscosi.o vscosq.o vscsqi.o vsrftb.o vsrftf.o\ 7 | vsrfti.o vssinb.o vssinf.o vssini.o vssinq.o 8 | 9 | .f.o: 10 | $(FORTRAN) $(OPTS) -c $< 11 | 12 | -------------------------------------------------------------------------------- /src/src/vsfft/vscosi.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSCOSI(N,C1,C2,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C Modified by R.F. Boisvert on 6 Apr 95 --- removed vssini entry point 5 | C 6 | DIMENSION C1(N),C2(N),WSAVE(N+15) 7 | PI=PIMACH(1.0) 8 | DX=PI/(2*N) 9 | C 10 | C GENERATE A(I)+-B(I) 11 | C 12 | DO 100 I=1,N 13 | C=COS((I-1)*DX) 14 | S=SIN((I-1)*DX) 15 | C1(I)=.5*(S+C) 16 | 100 C2(I)=.5*(S-C) 17 | C 18 | C INITIALIZE VRFFTPK ROUTINE 19 | C 20 | CALL VRFFTI(N,WSAVE) 21 | RETURN 22 | END 23 | -------------------------------------------------------------------------------- /src/src/vsfft/vscosi.f.orig: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSCOSI(N,C1,C2,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | ENTRY VSSINI(N,C1,C2,WSAVE) 6 | DIMENSION C1(N),C2(N),WSAVE(N+15) 7 | PI=PIMACH(1.0) 8 | DX=PI/(2*N) 9 | C 10 | C GENERATE A(I)+-B(I) 11 | C 12 | DO 100 I=1,N 13 | C=COS((I-1)*DX) 14 | S=SIN((I-1)*DX) 15 | C1(I)=.5*(S+C) 16 | 100 C2(I)=.5*(S-C) 17 | C 18 | C INITIALIZE VRFFTPK ROUTINE 19 | C 20 | CALL VRFFTI(N,WSAVE) 21 | RETURN 22 | END 23 | -------------------------------------------------------------------------------- /src/src/vsfft/vscsqi.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSCSQI(N,C1,C2,C3,C4,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | ENTRY VSSNQI(N,C1,C2,C3,C4,WSAVE) 6 | DIMENSION C1(N),C2(N),C3(N),C4(N),WSAVE(N+15) 7 | PI=PIMACH(1.0) 8 | DX=PI/N 9 | SCALE=SQRT(.5) 10 | C 11 | C GENERATE A(I)+-B(I) 12 | C 13 | DO 100 I=1,(N-1)/2 14 | C=COS(I*DX) 15 | S=SIN(I*DX) 16 | C1(I)=.5*(S+C) 17 | 100 C2(I)=.5*(C-S) 18 | C 19 | DX=PI/(2*N) 20 | DO 200 I=1,N 21 | C=COS((I-.5)*DX) 22 | S=SIN((I-.5)*DX) 23 | C3(I)=SCALE*(C+S) 24 | 200 C4(I)=SCALE*(C-S) 25 | C 26 | C INITIALIZE VRFFTPK ROUTINE 27 | C 28 | CALL VRFFTI(N,WSAVE) 29 | RETURN 30 | END 31 | -------------------------------------------------------------------------------- /src/src/vsfft/vsrftb.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSRFTB(F,L,M,N,FT,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION F(L,N*M),FT(L,N,M),WSAVE(M+15) 6 | C 7 | C RE-ORDER INPUT 8 | C 9 | DO 120 K=1,N 10 | K1=M*(K-1)+1 11 | K2=M*K 12 | DO 100 I=1,L 13 | 100 FT(I,K,1)=F(I,K1) 14 | IF (2*(M/2) .NE. M) GO TO 120 15 | DO 110 I=1,L 16 | 110 FT(I,K,M)=F(I,K2) 17 | 120 CONTINUE 18 | DO 200 J=2,M-1,2 19 | DO 200 K=1,N 20 | K1=M*(K-1)+J 21 | K2=K1+1 22 | DO 200 I=1,L 23 | FT(I,K,J)=F(I,K1) 24 | 200 FT(I,K,J+1)=F(I,K2) 25 | C 26 | C REAL, PERIODIC TRANSFORM 27 | C 28 | CALL VRFFTB(L*N,M,FT,F,L*N,WSAVE) 29 | DO 300 J=1,M 30 | DO 300 K=1,N 31 | K1=N*(J-1)+K 32 | DO 300 I=1,L 33 | 300 F(I,K1)=FT(I,K,J) 34 | RETURN 35 | END 36 | -------------------------------------------------------------------------------- /src/src/vsfft/vsrftf.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSRFTF(F,L,M,N,FT,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION F(L,M*N),FT(L,N,M),WSAVE(M+15) 6 | C 7 | C RE-ORDER INPUT 8 | C 9 | DO 100 K=1,N 10 | DO 100 J=1,M 11 | K1=M*(K-1)+J 12 | DO 100 I=1,L 13 | 100 FT(I,K,J)=F(I,K1) 14 | C 15 | C REAL, PERIODIC TRANSFORM 16 | C 17 | CALL VRFFTF(L*N,M,FT,F,L*N,WSAVE) 18 | DO 220 K=1,N 19 | K1=N*(M-1)+K 20 | DO 200 I=1,L 21 | 200 F(I,K)=FT(I,K,1) 22 | IF (2*(M/2) .NE. M) GO TO 220 23 | DO 210 I=1,L 24 | 210 F(I,K1)=FT(I,K,M) 25 | 220 CONTINUE 26 | DO 300 K=1,N 27 | DO 300 J=2,M-1,2 28 | K1=N*(J-1)+K 29 | K2=K1+N 30 | DO 300 I=1,L 31 | F(I,K1)=FT(I,K,J) 32 | 300 F(I,K2)=FT(I,K,J+1) 33 | RETURN 34 | END 35 | -------------------------------------------------------------------------------- /src/src/vsfft/vsrfti.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSRFTI(N,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C 5 | DIMENSION WSAVE(N+15) 6 | C 7 | C INITIALIZE VRFFTPK ROUTINE 8 | C 9 | CALL VRFFTI(N,WSAVE) 10 | RETURN 11 | END 12 | -------------------------------------------------------------------------------- /src/src/vsfft/vssini.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE VSSINI(N,C1,C2,WSAVE) 2 | C 3 | C VSFFTPK, VERSION 1, AUGUST 1985 4 | C Modified by R.F. Boisvert, 6 Apr 95 --- new file, was vcosi entry point 5 | C 6 | DIMENSION C1(N),C2(N),WSAVE(N+15) 7 | PI=PIMACH(1.0) 8 | DX=PI/(2*N) 9 | C 10 | C GENERATE A(I)+-B(I) 11 | C 12 | DO 100 I=1,N 13 | C=COS((I-1)*DX) 14 | S=SIN((I-1)*DX) 15 | C1(I)=.5*(S+C) 16 | 100 C2(I)=.5*(S-C) 17 | C 18 | C INITIALIZE VRFFTPK ROUTINE 19 | C 20 | CALL VRFFTI(N,WSAVE) 21 | RETURN 22 | END 23 | -------------------------------------------------------------------------------- /src/src/xblas/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | cdcdot.o csrot.o dcdot.o isamin.o ismax.o ismin.o scopym.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/src/xerror/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | fdump.o j4save.o numxer.o xerabt.o xerclr.o xerctl.o xerdmp.o xermax.o\ 7 | xerprt.o xerror.o xerrwv.o xersav.o xgetf.o xgetua.o xgetun.o xsetf.o\ 8 | xsetua.o xsetun.o 9 | 10 | .f.o: 11 | $(FORTRAN) $(OPTS) -c $< 12 | 13 | -------------------------------------------------------------------------------- /src/src/xerror/numxer.f: -------------------------------------------------------------------------------- 1 | FUNCTION NUMXER(NERR) 2 | C***BEGIN PROLOGUE NUMXER 3 | C***REFER TO XERROR 4 | C Abstract 5 | C NUMXER returns the most recent error number, 6 | C in both NUMXER and the parameter NERR. 7 | C 8 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 9 | C Latest revision --- 7 JUNE 1978 10 | C***REFERENCES JONES R.E., KAHANER D.K., "XERROR, THE SLATEC ERROR- 11 | C HANDLING PACKAGE", SAND82-0800, SANDIA LABORATORIES, 12 | C 1982. 13 | C***ROUTINES CALLED J4SAVE 14 | C***END PROLOGUE NUMXER 15 | C***FIRST EXECUTABLE STATEMENT NUMXER 16 | NERR = J4SAVE(1,0,.FALSE.) 17 | NUMXER = NERR 18 | RETURN 19 | END 20 | -------------------------------------------------------------------------------- /src/src/xerror/xerdmp.f: -------------------------------------------------------------------------------- 1 | SUBROUTINE XERDMP 2 | C***BEGIN PROLOGUE XERDMP 3 | C***DATE WRITTEN 790801 (YYMMDD) 4 | C***REVISION DATE 820801 (YYMMDD) 5 | C***CATEGORY NO. R3C 6 | C***KEYWORDS ERROR,XERROR PACKAGE 7 | C***AUTHOR JONES, R. E., (SNLA) 8 | C***PURPOSE Prints the error tables and then clears them. 9 | C***DESCRIPTION 10 | C Abstract 11 | C XERDMP prints the error tables, then clears them. 12 | C 13 | C Written by Ron Jones, with SLATEC Common Math Library Subcommittee 14 | C Latest revision --- 7 June 1978 15 | C***REFERENCES JONES R.E., KAHANER D.K., "XERROR, THE SLATEC ERROR- 16 | C HANDLING PACKAGE", SAND82-0800, SANDIA LABORATORIES, 17 | C 1982. 18 | C***ROUTINES CALLED XERSAV 19 | C***END PROLOGUE XERDMP 20 | C***FIRST EXECUTABLE STATEMENT XERDMP 21 | CALL XERSAV(' ',0,0,0,KOUNT) 22 | RETURN 23 | END 24 | -------------------------------------------------------------------------------- /src/src/zeroin/Makefile: -------------------------------------------------------------------------------- 1 | include ../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | zeroin.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/sun.stubs/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../make.inc 2 | # 3 | # 4 | 5 | all: \ 6 | f.o fmat.o gvec.o uivp.o uvec.o 7 | 8 | .f.o: 9 | $(FORTRAN) $(OPTS) -c $< 10 | 11 | -------------------------------------------------------------------------------- /src/sun.stubs/f.f: -------------------------------------------------------------------------------- 1 | subroutine f 2 | end 3 | -------------------------------------------------------------------------------- /src/sun.stubs/fmat.f: -------------------------------------------------------------------------------- 1 | subroutine fmat 2 | end 3 | -------------------------------------------------------------------------------- /src/sun.stubs/gvec.f: -------------------------------------------------------------------------------- 1 | subroutine gvec 2 | end 3 | -------------------------------------------------------------------------------- /src/sun.stubs/uivp.f: -------------------------------------------------------------------------------- 1 | subroutine uivp 2 | end 3 | -------------------------------------------------------------------------------- /src/sun.stubs/uvec.f: -------------------------------------------------------------------------------- 1 | subroutine uvec 2 | end 3 | -------------------------------------------------------------------------------- /src/utils/Checkall: -------------------------------------------------------------------------------- 1 | # Checkall testdir compiler fflags 2 | 3 | # Runs all cmlib tests. 4 | 5 | # testdir = location of test programs (cmlib/export/test) 6 | # compiler = name of compiler 7 | # fflags = compiler flags 8 | 9 | set testdir = $1 10 | set compiler = $2 11 | set fflags = $argv[3-] 12 | 13 | if ("$testdir" == "") set testdir = /local/fs2/cmlib/export/test 14 | if ("$compiler" == "") set compiler = f77 15 | 16 | set tests = ` (cd $testdir ; ls *.f | sed -e "s/\.f//") ` 17 | 18 | foreach pgm ( $tests ) 19 | 20 | $compiler -o $pgm $fflags $testdir/$pgm.f -lcm 21 | echo 11 | $pgm 22 | rm -f $pgm 23 | 24 | end 25 | -------------------------------------------------------------------------------- /src/utils/Makefile.template.1: -------------------------------------------------------------------------------- 1 | 2 | # This makefile maintains cmlib for a specific architecture. 3 | 4 | # The maintainence is done locally, but all compilations take place 5 | # on a remote host with a designated compiler and options. The library 6 | # is then suitable for use on such remote hosts. 7 | 8 | # -------------------------------------------------------------------------- 9 | 10 | 11 | # ... Macros pertaining to remote compilation host 12 | 13 | # ARCH == type of architecture 14 | # HOST == remote host where compilations are done 15 | # COMPILER == name of the Fortran compiler on remote host 16 | # FFLAGS == flags for Fortran compiler on remote host 17 | # RANLIB == the ranlib command on the remote host 18 | # THISDIR == location of current directory on remote host 19 | # MACHCON == floating-point type from ../src/machcon 20 | # SPECIALS == sublibraries requiring special processing 21 | 22 | -------------------------------------------------------------------------------- /src/utils/Makefile.template.2: -------------------------------------------------------------------------------- 1 | 2 | SPECIALS = machcon 3 | SPECIALRECORDS = $(SPECIALS:%=timestamp/%) 4 | 5 | testall := FFLAGS = -g 6 | test := FFLAGS = -g 7 | 8 | # -------------------------------------------------------------------------- 9 | 10 | 11 | # ... Macros pertaining to CMLIB make 12 | 13 | SRCDIR = ../../src 14 | TESTDIR = ../../test 15 | SCRIPTDIR = ../../utils 16 | 17 | COMPILE = \ 18 | @echo " " ; echo "Compiling $(@F) on $(HOST) ..." ; echo " " ; \ 19 | echo "$(COMPILER) -c $(FFLAGS) $?" > Compile ; \ 20 | echo "touch $@" >> Compile ; \ 21 | rsh $(HOST) "cd $(THISDIR) ; csh -x Compile" ; \ 22 | rm Compile 23 | 24 | SUBLIBS = \ 25 | -------------------------------------------------------------------------------- /src/utils/Ranlib: -------------------------------------------------------------------------------- 1 | #! /bin/csh -f 2 | # 3 | # Ranlib host ranlib file 4 | # 5 | # Performs a ranlib operation on a file on a remote machine. 6 | # The other parameters indicate how this is to be done. 7 | # 8 | # host == the host where the ranlib is done 9 | # ranlib == the name of the ranlib command on host 10 | # file == the file on host to ranlib 11 | # 12 | 13 | set echo 14 | 15 | set ranlib = "$1" 16 | set file = $2 17 | 18 | if ("$ranlib" == "") set ranlib = ranlib 19 | 20 | $ranlib $file 21 | -------------------------------------------------------------------------------- /src/utils/Test: -------------------------------------------------------------------------------- 1 | #! /bin/csh -f 2 | 3 | # Test host compiler fflags dir 4 | 5 | # Runs a cmlib test (possibly remotely) 6 | 7 | set pgm = $1 8 | set compiler = $2 9 | set fflags = "$3" 10 | set dir = $4 11 | set input = "$5" 12 | set libname = "$6" 13 | set testdir = ../../test 14 | 15 | if ("$compiler" == "") set compiler = f77 16 | if ("$dir" == "") set dir = $cwd 17 | 18 | set arch = `../../utils/itl-arch` 19 | rm -f test.$arch.$pgm.out 20 | echo `date` | tee test.$arch.$pgm.out 21 | 22 | #if ( $libname == 'libcm.so' ) then 23 | # setenv LD_LIBRARY_PATH /itl/apps/spro-5.0/SUNWspro/lib 24 | #endif 25 | 26 | $compiler -o $pgm $fflags $testdir/$pgm.f $dir/$libname 27 | echo " "|tee -a test.$arch.$pgm.out 28 | echo " Processing test $pgm on `hostname` ... "|tee -a test.$arch.$pgm.out 29 | echo " "|tee -a test.$arch.$pgm.out 30 | echo $input | ./$pgm |tee -a test.$arch.$pgm.out 31 | rm -f $pgm.o 32 | 33 | if (! -e core) rm -f $pgm 34 | -------------------------------------------------------------------------------- /src/utils/Update: -------------------------------------------------------------------------------- 1 | #! /bin/csh -f 2 | # 3 | # Update file remotedir scriptdir host ranlib 4 | # 5 | # Used by cmlib Makefile. If .o files exist in the current directory 6 | # then they are used to update the archive named "file". Then, a 7 | # ranlib is executed on this file on the remote machine "host" using the 8 | # given "ranlib". "file" is located at "remotefile" on "host". 9 | 10 | set echo 11 | 12 | set file = $1 13 | set scriptdir = ../../utils 14 | set ranlib = "$2" 15 | 16 | $scriptdir/Upar "$file" 17 | if ( `echo $file|grep -c so` == 0 ) then 18 | $scriptdir/Ranlib "$ranlib" $file 19 | endif 20 | -------------------------------------------------------------------------------- /src/utils/Update.local: -------------------------------------------------------------------------------- 1 | #! /bin/csh -f 2 | # 3 | # Update.local file ranlib 4 | # 5 | # Used by cmlib Makefile. If .o files exist in the current directory 6 | # then they are used to update the archive named "file". Then, a 7 | # ranlib is executed on this file on the remote machine "host" using the 8 | # given "ranlib". "file" is located at "remotefile" on "host". 9 | 10 | set echo 11 | 12 | set file = $1 13 | set remotedir = $cwd 14 | set scriptdir = ../../utils 15 | set host = `hostname` 16 | set ranlib = "$2" 17 | 18 | if (`ls | egrep '\.o$' | wc -w` != 0) then 19 | $scriptdir/Upar "$host" "$remotedir" "$file" 20 | $scriptdir/Ranlib "$host" "$ranlib" $remotedir/$file 21 | endif 22 | -------------------------------------------------------------------------------- /src/utils/createmk: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This procedure creates a Makefile in the src 3 | # subdirectories that contain special source 4 | # versions for a specific library version. 5 | # (Should be run from arch/libdir directory, e.g. 6 | # IRIX64-IP27-6.5/lib_mips4) 7 | # 8 | dirs=`ls src` 9 | for dname in $dirs ; do 10 | files=`cd src/$dname;ls -m *.f|sed -e 's/\.f/\.o/g' -e 's/,//g' -e '\$,\$!s/\$/\\\/'` 11 | echo 'include ../../../../make.inc' > src/$dname/Makefile 12 | echo '#' >> src/$dname/Makefile 13 | echo '#' >> src/$dname/Makefile 14 | echo '' >> src/$dname/Makefile 15 | echo 'all: \' >> src/$dname/Makefile 16 | echo "$files" >> src/$dname/Makefile 17 | echo '' >> src/$dname/Makefile 18 | echo '.f.o: ' >> src/$dname/Makefile 19 | echo ' $(FORTRAN) $(OPTS) -c $<' >> src/$dname/Makefile 20 | echo '' >> src/$dname/Makefile 21 | done 22 | -------------------------------------------------------------------------------- /src/utils/crmkall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This procedure creates a Makefile in the sublibrary 3 | # directories to compile all the .f files 4 | # 5 | dirs=`ls src` 6 | for dname in $dirs ; do 7 | files=`cd src/$dname;ls -m *.f|sed -e 's/\.f/\.o/g' -e 's/,//g' -e '\$,\$!s/\$/\\\/'` 8 | echo 'include ../../make.inc' > src/$dname/Makefile 9 | echo '#' >> src/$dname/Makefile 10 | echo '#' >> src/$dname/Makefile 11 | echo '' >> src/$dname/Makefile 12 | echo 'all: \' >> src/$dname/Makefile 13 | echo "$files" >> src/$dname/Makefile 14 | echo '' >> src/$dname/Makefile 15 | echo '.f.o: ' >> src/$dname/Makefile 16 | echo ' $(FORTRAN) $(OPTS) -c $<' >> src/$dname/Makefile 17 | echo '' >> src/$dname/Makefile 18 | done 19 | -------------------------------------------------------------------------------- /src/utils/findspdirs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This procedure finds all the directories 3 | # that either need special src versions or NOPT 4 | # 5 | spdir="" 6 | if [ -d src ]; then 7 | dirs=`ls src` 8 | for dir in $dirs ; do 9 | if [ -d src/"$dir" ]; then 10 | spdir="$spdir"src/"$dir " 11 | fi 12 | done 13 | fi 14 | echo "$spdir" 15 | -------------------------------------------------------------------------------- /src/utils/itl-arch: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | OSNAME=`uname -s` 4 | 5 | case "$OSNAME" in 6 | 'HP-UX') 7 | HWNAME="`uname -m | awk -F/ '{print $1}'`" 8 | OSREL="`uname -r | awk -F. '{print $2}'`" 9 | ;; 10 | 11 | 'AIX') 12 | HWNAME="`uname -m | cut -c 9-`" 13 | OSREL="`uname -v`.`uname -r`" 14 | ;; 15 | 16 | 'Linux') 17 | HWNAME=`uname -m` 18 | OSREL=`uname -r | sed 's/-.*//'` 19 | ;; 20 | *) 21 | HWNAME=`uname -m` 22 | OSREL=`uname -r` 23 | esac 24 | 25 | echo $OSNAME-$HWNAME-$OSREL 26 | -------------------------------------------------------------------------------- /src/utils/mkarchdir: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [ ! -d "$1" ];then 3 | mkdir $1 4 | fi 5 | --------------------------------------------------------------------------------