dir templates for Base Directory file BiCG.c for /* BiCG.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 9748 file BiCGSTAB.c for /* BiCGSTAB.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 9662 file CG.c for /* CG.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 7165 file CGS.c for /* CGS.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 9573 file Cheby.c for /* Cheby.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 7162 file Notice for /**************************************************************** , Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories and Bellcore. , , Permission to use, copy, modify, and distribute this software , and its documentation for any purpose and without fee is hereby , granted, provided that the above copyright notice appear in all , copies and that both that the copyright notice and this , permission notice and warranty disclaimer appear in supporting , documentation, and that the names of AT&T Bell Laboratories or , Bellcore or any of their entities not be used in advertising or size 1195 file GMRES.c for /* GMRES.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 12284 file Jacobi.c for /* Jacobi.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static real c_b2 = (float)1.; size 6070 file Makefile for FC = f77 , , FFLAGS= -g -u , , libs = slapack.o sblas.o , , tester_o = Tester.o MatGen.o sspdchk.o snsychk.o \ , Utils.o \ , MatVec.o PSolve.o \ , CG.o CGREVCOM.o \ size 560 file MatGen.c for /* MatGen.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static doublereal c_b14 = 2.7182817459106; size 21747 file MatVec.c for /* MatVec.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 1767 file PSolve.c for /* PSolve.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 9866 file QMR.c for /* QMR.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 14420 file SOR.c for /* SOR.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 7609 file Tester.c for /* Tester.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 50225 file Utils.c for /* Utils.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 10835 file f2c.h for /* f2c.h -- Standard Fortran to C header file */ , , /** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed." , , - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */ , , #ifndef F2C_INCLUDE , #define F2C_INCLUDE , , typedef long int integer; size 4206 file sblas.c for /* sblas.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static real c_b100 = (float)1.; size 89107 file slapack.c for /* slapack.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Table of constant values */ , , static integer c__1 = 1; size 198998 file snsychk.c for /* snsychk.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 12582 file sspdchk.c for /* sspdchk.f -- translated by f2c (version of 20 August 1993 13:15:44). , You must link the resulting object file with the libraries: , -lf2c -lm (in that order) , */ , , #include "f2c.h" , , /* Common Block Declarations */ , , struct { size 14797 file test.data for 1.0E-7 CONVERGENCE TOLERANCE , 1.0E+1 SCALED RESIDUAL TOLERANCE , CG T PUT F FOR NO TEST. ALGORITHMS TO BE TESTED , CHEBY T PUT F FOR NO TEST. , SOR T PUT F FOR NO TEST. , BICG T PUT F FOR NO TEST. , CGS T PUT F FOR NO TEST. , BICGS T PUT F FOR NO TEST. , GMRES T PUT F FOR NO TEST. , QMR T PUT F FOR NO TEST. size 1564 file README for ======================= , SFTEMPLATES README FILE , ======================= , , , This directory contains SINGLE PRECISION code for the algorithms , discussed in the Templates book, implemented using the Reverse , Communicaiton mechanism. , , Unpack the shar file as: size 1714 file Version.c for static char junk[] = "\n@(#)LIBF77 VERSION 2.01 12 March 1993\n"; , , /* , 2.00 11 June 1980. File version.c added to library. , 2.01 31 May 1988. s_paus() flushes stderr; names of hl_* fixed , [ d]erf[c ] added , 8 Aug. 1989: #ifdefs for f2c -i2 added to s_cat.c , 29 Nov. 1989: s_cmp returns long (for f2c) , 30 Nov. 1989: arg types from f2c.h , 12 Dec. 1989: s_rnge allows long names size 1247 file backspace.c for #include "f2c.h" , #include "fio.h" , #ifdef KR_headers , integer f_back(a) alist *a; , #else , integer f_back(alist *a) , #endif , { unit *b; , int i, n, ndec; , long x; size 1341 file close.c for #include "f2c.h" , #include "fio.h" , #ifdef KR_headers , integer f_clos(a) cllist *a; , #else , #undef abs , #undef min , #undef max , #include "stdlib.h" , #ifdef NON_UNIX_STDIO size 1362 file dfe.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , , y_rsk(Void) , { , if(f__curunit->uend || f__curunit->url <= f__recpos , || f__curunit->url == 1) return 0; , do { , getc(f__cf); size 2903 file dolio.c for #include "f2c.h" , , #ifdef __cplusplus , extern "C" { , #endif , #ifdef KR_headers , extern int (*f__lioproc)(); , , integer do_lio(type,number,ptr,len) ftnint *number,*type; char *ptr; ftnlen len; , #else size 404 file due.c for #include "f2c.h" , #include "fio.h" , , #ifdef KR_headers , c_due(a) cilist *a; , #else , c_due(cilist *a) , #endif , { , if(!f__init) f_init(); size 1430 file endfile.c for #include "f2c.h" , #include "fio.h" , #include "sys/types.h" , #include "rawio.h" , , #ifdef KR_headers , extern char *strcpy(); , #else , #undef abs , #undef min size 3370 file err.c for #ifndef NON_UNIX_STDIO , #include "sys/types.h" , #include "sys/stat.h" , #endif , #include "f2c.h" , #include "fio.h" , #include "fmt.h" /* for struct syl */ , #include "rawio.h" /* for fcntl.h, fdopen */ , #ifdef NON_UNIX_STDIO , #ifdef KR_headers size 6262 file f2ch.add for /* If you are using a C++ compiler, append the following to f2c.h , for compiling libF77 and libI77. */ , , #ifdef __cplusplus , extern "C" { , extern int abort_(void); , extern double c_abs(complex *); , extern void c_cos(complex *, complex *); , extern void c_div(complex *, complex *, complex *); , extern void c_exp(complex *, complex *); size 6056 file fio.h for #include "stdio.h" , #include "errno.h" , #ifndef NULL , /* ANSI C */ , #include "stddef.h" , #endif , , #ifndef SEEK_SET , #define SEEK_SET 0 , #define SEEK_CUR 1 size 2309 file fmt.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #define skip(s) while(*s==' ') s++ , #ifdef interdata , #define SYLMX 300 , #endif , #ifdef pdp11 , #define SYLMX 300 , #endif size 7869 file fmt.h for struct f__syl , { int op,p1,p2,p3; , }; , #define RET1 1 , #define REVERT 2 , #define GOTO 3 , #define X 4 , #define SLASH 5 , #define STACK 6 , #define I 7 size 1649 file fmtlib.c for /* @(#)fmtlib.c 1.2 */ , #define MAXINTLENGTH 23 , #ifdef KR_headers , char *f__icvt(value,ndigit,sign, base) long value; int *ndigit,*sign; , register int base; , #else , char *f__icvt(long value, int *ndigit, int *sign, int base) , #endif , { static char buf[MAXINTLENGTH+1]; , register int i; size 582 file fp.h for #define FMAX 40 , #define EXPMAXDIGS 8 , #define EXPMAX 99999999 , /* FMAX = max number of nonzero digits passed to atof() */ , /* EXPMAX = 10^EXPMAXDIGS - 1 = largest allowed exponent absolute value */ , , #include "local.h" , , /* MAXFRACDIGS and MAXINTDIGS are for wrt_F -- bounds (not necessarily , tight) on the maximum number of digits to the right and left of size 613 file iio.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , extern char *f__icptr; , char *f__icend; , extern icilist *f__svic; , int f__icnum; , extern int f__hiwater; , z_getc(Void) , { size 2287 file ilnw.c for #include "f2c.h" , #include "fio.h" , #include "lio.h" , extern char *f__icptr; , extern char *f__icend; , extern icilist *f__svic; , extern int f__icnum; , #ifdef KR_headers , extern int z_putc(); , #else size 1049 file inquire.c for #include "f2c.h" , #include "fio.h" , #ifdef KR_headers , integer f_inqu(a) inlist *a; , #else , #ifdef MSDOS , #undef abs , #undef min , #undef max , #include "string.h" size 2536 file libI77.xsum for Notice 1211689a 1195 , README 140275a4 6531 , Version.c e5d880dd 7661 , backspace.c 14a32c39 1341 , close.c 1467fa93 1362 , dfe.c 3c6b216 2903 , dolio.c 17595b24 404 , due.c 1bbe319b 1430 , endfile.c f266a8f6 3370 , err.c f411968b 6262 size 868 file lio.h for /* copy of ftypes from the compiler */ , /* variable types , * numeric assumptions: , * int < reals < complexes , * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX , */ , , /* 0-10 retain their old (pre LOGICAL*1, etc.) */ , /* values to allow mixing old and new objects. */ , size 1550 file local.h for size 1 file lread.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #include "lio.h" , #include "ctype.h" , #include "fp.h" , , extern char *f__fmtbuf; , #ifdef KR_headers , extern double atof(); size 10998 file lwrite.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #include "lio.h" , ftnint L_len; , , #ifdef KR_headers , t_putc(c) , #else , t_putc(int c) size 3943 file makefile for .SUFFIXES: .c .o , CC = gcc , SHELL = /bin/sh , CFLAGS = -O , , # compile, then strip unnecessary symbols , .c.o: , $(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c , ld -r -x -o $*.xxx $*.o , mv $*.xxx $*.o size 3097 file open.c for #include "sys/types.h" , #include "sys/stat.h" , #include "f2c.h" , #include "fio.h" , #include "string.h" , #include "rawio.h" , , #ifdef KR_headers , extern char *malloc(), *mktemp(); , extern integer f_clos(); size 4356 file rawio.h for #ifdef KR_headers , extern FILE *fdopen(); , #else , #ifdef MSDOS , #include "io.h" , #define close _close , #define creat _creat , #define open _open , #define read _read , #define write _write size 807 file rdfmt.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #include "fp.h" , , extern int f__cursor; , #ifdef KR_headers , extern double atof(); , #else , #undef abs size 8356 file rewind.c for #include "f2c.h" , #include "fio.h" , #ifdef KR_headers , integer f_rew(a) alist *a; , #else , integer f_rew(alist *a) , #endif , { , unit *b; , if(a->aunit>=MXUNIT || a->aunit<0) size 408 file rsfe.c for /* read sequential formatted external */ , #include "f2c.h" , #include "fio.h" , #include "fmt.h" , , xrd_SL(Void) , { int ch; , if(!f__curunit->uend) , while((ch=getc(f__cf))!='\n' && ch!=EOF); , f__cursor=f__recpos=0; size 1299 file rsli.c for #include "f2c.h" , #include "fio.h" , #include "lio.h" , #include "fmt.h" /* for f__doend */ , , extern flag f__lquit; , extern int f__lcount; , extern char *f__icptr; , extern char *f__icend; , extern icilist *f__svic; size 1688 file rsne.c for #include "f2c.h" , #include "fio.h" , #include "lio.h" , , #define MAX_NL_CACHE 3 /* maximum number of namelist hash tables to cache */ , #define MAXDIM 20 /* maximum number of subscripts */ , , struct dimen { , ftnlen extent; , ftnlen curval; size 10597 file sfe.c for /* sequential formatted external common routines*/ , #include "f2c.h" , #include "fio.h" , , extern char *f__fmtbuf; , , integer e_rsfe(Void) , { int n; , n=en_fio(); , if (f__cf == stdout) size 638 file sue.c for #include "f2c.h" , #include "fio.h" , extern uiolen f__reclen; , long f__recloc; , , #ifdef KR_headers , c_sue(a) cilist *a; , #else , c_sue(cilist *a) , #endif size 1740 file typesize.c for #include "f2c.h" , , ftnlen f__typesize[] = { 0, 0, sizeof(shortint), sizeof(integer), , sizeof(real), sizeof(doublereal), , sizeof(complex), sizeof(doublecomplex), , sizeof(logical), sizeof(char) }; size 200 file uio.c for #include "f2c.h" , #include "fio.h" , uiolen f__reclen; , , #ifdef KR_headers , do_us(number,ptr,len) ftnint *number; char *ptr; ftnlen len; , #else , do_us(ftnint *number, char *ptr, ftnlen len) , #endif , { size 1265 file util.c for #ifndef NON_UNIX_STDIO , #include "sys/types.h" , #include "sys/stat.h" , #endif , #include "f2c.h" , #include "fio.h" , , VOID , #ifdef KR_headers , g_char(a,alen,b) char *a,*b; ftnlen alen; size 1354 file wref.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #include "fp.h" , #ifndef VAX , #include "ctype.h" , #endif , , #ifndef KR_headers , #undef abs size 4028 file wrtfmt.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , extern int f__cursor; , #ifdef KR_headers , extern char *f__icvt(); , #else , extern char *f__icvt(long, int*, int*, int); , #endif , int f__hiwater; size 8023 file wsfe.c for /*write sequential formatted external*/ , #include "f2c.h" , #include "fio.h" , #include "fmt.h" , extern int f__hiwater; , , #ifdef KR_headers , x_putc(c) , #else , x_putc(int c) size 1581 file wsle.c for #include "f2c.h" , #include "fio.h" , #include "fmt.h" , #include "lio.h" , , #ifdef KR_headers , integer s_wsle(a) cilist *a; , #else , integer s_wsle(cilist *a) , #endif size 611 file wsne.c for #include "f2c.h" , #include "fio.h" , #include "lio.h" , , integer , #ifdef KR_headers , s_wsne(a) cilist *a; , #else , s_wsne(cilist *a) , #endif size 438 file xwsne.c for #include "f2c.h" , #include "fio.h" , #include "lio.h" , #include "fmt.h" , , static VOID , nl_donewrec(Void) , { , (*f__donewrec)(); , PUT(' '); size 1080 file abort_.c for #include "stdio.h" , #include "f2c.h" , , #ifdef KR_headers , extern VOID sig_die(); , , int abort_() , #else , extern void sig_die(char*,int); , size 239 file c_abs.c for #include "f2c.h" , , #ifdef KR_headers , extern double f__cabs(); , , double c_abs(z) complex *z; , #else , extern double f__cabs(double, double); , , double c_abs(complex *z) size 205 file c_cos.c for #include "f2c.h" , , #ifdef KR_headers , extern double sin(), cos(), sinh(), cosh(); , , VOID c_cos(r, z) complex *r, *z; , #else , #undef abs , #include "math.h" , size 260 file c_div.c for #include "f2c.h" , , #ifdef KR_headers , extern VOID sig_die(); , VOID c_div(c, a, b) , complex *a, *b, *c; , #else , extern void sig_die(char*,int); , void c_div(complex *c, complex *a, complex *b) , #endif size 665 file c_exp.c for #include "f2c.h" , , #ifdef KR_headers , extern double exp(), cos(), sin(); , , VOID c_exp(r, z) complex *r, *z; , #else , #undef abs , #include "math.h" , size 270 file c_log.c for #include "f2c.h" , , #ifdef KR_headers , extern double log(), f__cabs(), atan2(); , VOID c_log(r, z) complex *r, *z; , #else , #undef abs , #include "math.h" , extern double f__cabs(double, double); , size 292 file c_sin.c for #include "f2c.h" , , #ifdef KR_headers , extern double sin(), cos(), sinh(), cosh(); , , VOID c_sin(r, z) complex *r, *z; , #else , #undef abs , #include "math.h" , size 258 file c_sqrt.c for #include "f2c.h" , , #ifdef KR_headers , extern double sqrt(), f__cabs(); , , VOID c_sqrt(r, z) complex *r, *z; , #else , #undef abs , #include "math.h" , extern double f__cabs(double, double); size 505 file cabs.c for #ifdef KR_headers , extern double sqrt(); , double f__cabs(real, imag) double real, imag; , #else , #undef abs , #include "math.h" , double f__cabs(double real, double imag) , #endif , { , double temp; size 427 file d_abs.c for #include "f2c.h" , , #ifdef KR_headers , double d_abs(x) doublereal *x; , #else , double d_abs(doublereal *x) , #endif , { , if(*x >= 0) , return(*x); size 151 file d_acos.c for #include "f2c.h" , , #ifdef KR_headers , double acos(); , double d_acos(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_acos(doublereal *x) , #endif size 178 file d_asin.c for #include "f2c.h" , , #ifdef KR_headers , double asin(); , double d_asin(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_asin(doublereal *x) , #endif size 178 file d_atan.c for #include "f2c.h" , , #ifdef KR_headers , double atan(); , double d_atan(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_atan(doublereal *x) , #endif size 178 file d_atn2.c for #include "f2c.h" , , #ifdef KR_headers , double atan2(); , double d_atn2(x,y) doublereal *x, *y; , #else , #undef abs , #include "math.h" , double d_atn2(doublereal *x, doublereal *y) , #endif size 204 file d_cnjg.c for #include "f2c.h" , , VOID , #ifdef KR_headers , d_cnjg(r, z) doublecomplex *r, *z; , #else , d_cnjg(doublecomplex *r, doublecomplex *z) , #endif , { , r->r = z->r; size 165 file d_cos.c for #include "f2c.h" , , #ifdef KR_headers , double cos(); , double d_cos(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_cos(doublereal *x) , #endif size 174 file d_cosh.c for #include "f2c.h" , , #ifdef KR_headers , double cosh(); , double d_cosh(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_cosh(doublereal *x) , #endif size 178 file d_dim.c for #include "f2c.h" , , #ifdef KR_headers , double d_dim(a,b) doublereal *a, *b; , #else , double d_dim(doublereal *a, doublereal *b) , #endif , { , return( *a > *b ? *a - *b : 0); , } size 165 file d_exp.c for #include "f2c.h" , , #ifdef KR_headers , double exp(); , double d_exp(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_exp(doublereal *x) , #endif size 174 file d_imag.c for #include "f2c.h" , , #ifdef KR_headers , double d_imag(z) doublecomplex *z; , #else , double d_imag(doublecomplex *z) , #endif , { , return(z->i); , } size 134 file d_int.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , double d_int(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_int(doublereal *x) , #endif size 202 file d_lg10.c for #include "f2c.h" , , #define log10e 0.43429448190325182765 , , #ifdef KR_headers , double log(); , double d_lg10(x) doublereal *x; , #else , #undef abs , #include "math.h" size 224 file d_log.c for #include "f2c.h" , , #ifdef KR_headers , double log(); , double d_log(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_log(doublereal *x) , #endif size 174 file d_mod.c for #include "f2c.h" , , #ifdef KR_headers , #ifdef IEEE_drem , double drem(); , #else , double floor(); , #endif , double d_mod(x,y) doublereal *x, *y; , #else size 621 file d_nint.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , double d_nint(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_nint(doublereal *x) , #endif size 214 file d_prod.c for #include "f2c.h" , , #ifdef KR_headers , double d_prod(x,y) real *x, *y; , #else , double d_prod(real *x, real *y) , #endif , { , return( (*x) * (*y) ); , } size 140 file d_sign.c for #include "f2c.h" , , #ifdef KR_headers , double d_sign(a,b) doublereal *a, *b; , #else , double d_sign(doublereal *a, doublereal *b) , #endif , { , double x; , x = (*a >= 0 ? *a : - *a); size 199 file d_sin.c for #include "f2c.h" , , #ifdef KR_headers , double sin(); , double d_sin(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_sin(doublereal *x) , #endif size 174 file d_sinh.c for #include "f2c.h" , , #ifdef KR_headers , double sinh(); , double d_sinh(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_sinh(doublereal *x) , #endif size 178 file d_sqrt.c for #include "f2c.h" , , #ifdef KR_headers , double sqrt(); , double d_sqrt(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_sqrt(doublereal *x) , #endif size 178 file d_tan.c for #include "f2c.h" , , #ifdef KR_headers , double tan(); , double d_tan(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_tan(doublereal *x) , #endif size 174 file d_tanh.c for #include "f2c.h" , , #ifdef KR_headers , double tanh(); , double d_tanh(x) doublereal *x; , #else , #undef abs , #include "math.h" , double d_tanh(doublereal *x) , #endif size 178 file derf_.c for #include "f2c.h" , , #ifdef KR_headers , double erf(); , double derf_(x) doublereal *x; , #else , extern double erf(double); , double derf_(doublereal *x) , #endif , { size 172 file derfc_.c for #include "f2c.h" , , #ifdef KR_headers , extern double erfc(); , , double derfc_(x) doublereal *x; , #else , extern double erfc(double); , , double derfc_(doublereal *x) size 186 file ef1asc_.c for /* EFL support routine to copy string b to string a */ , , #include "f2c.h" , , , #define M ( (long) (sizeof(long) - 1) ) , #define EVEN(x) ( ( (x)+ M) & (~M) ) , , #ifdef KR_headers , extern VOID s_copy(); size 453 file ef1cmc_.c for /* EFL support routine to compare two character strings */ , , #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , integer ef1cmc_(a, la, b, lb) ftnint *a, *b; ftnlen *la, *lb; , #else , extern integer s_cmp(char*,char*,ftnlen,ftnlen); , integer ef1cmc_(ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb) size 360 file erf_.c for #include "f2c.h" , , #ifdef KR_headers , double erf(); , double erf_(x) real *x; , #else , extern double erf(double); , double erf_(real *x) , #endif , { size 158 file erfc_.c for #include "f2c.h" , , #ifdef KR_headers , double erfc(); , double erfc_(x) real *x; , #else , extern double erfc(double); , double erfc_(real *x) , #endif , { size 163 file getarg_.c for #include "f2c.h" , , /* , * subroutine getarg(k, c) , * returns the kth unix command argument in fortran character , * variable argument c , */ , , #ifdef KR_headers , VOID getarg_(n, s, ls) ftnint *n; register char *s; ftnlen ls; size 495 file getenv_.c for #include "f2c.h" , , /* , * getenv - f77 subroutine to return environment variables , * , * called by: , * call getenv (ENV_NAME, char_var) , * where: , * ENV_NAME is the name of an environment variable , * char_var is a character variable which will receive size 975 file h_abs.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_abs(x) shortint *x; , #else , shortint h_abs(shortint *x) , #endif , { , if(*x >= 0) , return(*x); size 151 file h_dim.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_dim(a,b) shortint *a, *b; , #else , shortint h_dim(shortint *a, shortint *b) , #endif , { , return( *a > *b ? *a - *b : 0); , } size 163 file h_dnnt.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , shortint h_dnnt(x) doublereal *x; , #else , #undef abs , #include "math.h" , shortint h_dnnt(doublereal *x) , #endif size 218 file h_indx.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_indx(a, b, la, lb) char *a, *b; ftnlen la, lb; , #else , shortint h_indx(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { , ftnlen i, n; , char *s, *t, *bend; size 375 file h_len.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_len(s, n) char *s; ftnlen n; , #else , shortint h_len(char *s, ftnlen n) , #endif , { , return(n); , } size 138 file h_mod.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_mod(a,b) short *a, *b; , #else , shortint h_mod(short *a, short *b) , #endif , { , return( *a % *b); , } size 140 file h_nint.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , shortint h_nint(x) real *x; , #else , #undef abs , #include "math.h" , shortint h_nint(real *x) , #endif size 206 file h_sign.c for #include "f2c.h" , , #ifdef KR_headers , shortint h_sign(a,b) shortint *a, *b; , #else , shortint h_sign(shortint *a, shortint *b) , #endif , { , shortint x; , x = (*a >= 0 ? *a : - *a); size 199 file hl_ge.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , shortlogical hl_ge(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , shortlogical hl_ge(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 279 file hl_gt.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , shortlogical hl_gt(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , shortlogical hl_gt(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 278 file hl_le.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , shortlogical hl_le(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , shortlogical hl_le(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 279 file hl_lt.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , shortlogical hl_lt(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , shortlogical hl_lt(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 278 file i_abs.c for #include "f2c.h" , , #ifdef KR_headers , integer i_abs(x) integer *x; , #else , integer i_abs(integer *x) , #endif , { , if(*x >= 0) , return(*x); size 147 file i_dim.c for #include "f2c.h" , , #ifdef KR_headers , integer i_dim(a,b) integer *a, *b; , #else , integer i_dim(integer *a, integer *b) , #endif , { , return( *a > *b ? *a - *b : 0); , } size 158 file i_dnnt.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , integer i_dnnt(x) doublereal *x; , #else , #undef abs , #include "math.h" , integer i_dnnt(doublereal *x) , #endif size 216 file i_indx.c for #include "f2c.h" , , #ifdef KR_headers , integer i_indx(a, b, la, lb) char *a, *b; ftnlen la, lb; , #else , integer i_indx(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { , ftnlen i, n; , char *s, *t, *bend; size 363 file i_len.c for #include "f2c.h" , , #ifdef KR_headers , integer i_len(s, n) char *s; ftnlen n; , #else , integer i_len(char *s, ftnlen n) , #endif , { , return(n); , } size 136 file i_mod.c for #include "f2c.h" , , #ifdef KR_headers , integer i_mod(a,b) integer *a, *b; , #else , integer i_mod(integer *a, integer *b) , #endif , { , return( *a % *b); , } size 144 file i_nint.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , integer i_nint(x) real *x; , #else , #undef abs , #include "math.h" , integer i_nint(real *x) , #endif size 204 file i_sign.c for #include "f2c.h" , , #ifdef KR_headers , integer i_sign(a,b) integer *a, *b; , #else , integer i_sign(integer *a, integer *b) , #endif , { , integer x; , x = (*a >= 0 ? *a : - *a); size 193 file iargc_.c for #include "f2c.h" , , #ifdef KR_headers , ftnint iargc_() , #else , ftnint iargc_(void) , #endif , { , extern int xargc; , return ( xargc - 1 ); size 129 file l_ge.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , logical l_ge(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , logical l_ge(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 267 file l_gt.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , logical l_gt(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , logical l_gt(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 266 file l_le.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , logical l_le(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , logical l_le(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 267 file l_lt.c for #include "f2c.h" , , #ifdef KR_headers , extern integer s_cmp(); , logical l_lt(a,b,la,lb) char *a, *b; ftnlen la, lb; , #else , extern integer s_cmp(char *, char *, ftnlen, ftnlen); , logical l_lt(char *a, char *b, ftnlen la, ftnlen lb) , #endif , { size 266 file libF77.xsum for Notice 1211689a 1195 , README 1b1001bf 3633 , Version.c fe780238 1247 , abort_.c eaf90dc0 239 , c_abs.c ecce7a47 205 , c_cos.c f2338a46 260 , c_div.c f780c50e 665 , c_exp.c e1b005d5 270 , c_log.c 4050533 292 , c_sin.c f19855c9 258 size 2518 file main.c for /* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */ , , #include "stdio.h" , #include "signal.h" , , #ifndef SIGIOT , #define SIGIOT SIGABRT , #endif , , #ifndef KR_headers size 1969 file pow_ci.c for #include "f2c.h" , , #ifdef KR_headers , VOID pow_ci(p, a, b) /* p = a**b */ , complex *p, *a; integer *b; , #else , extern void pow_zi(doublecomplex*, doublecomplex*, integer*); , void pow_ci(complex *p, complex *a, integer *b) /* p = a**b */ , #endif , { size 345 file pow_dd.c for #include "f2c.h" , , #ifdef KR_headers , double pow(); , double pow_dd(ap, bp) doublereal *ap, *bp; , #else , #undef abs , #include "math.h" , double pow_dd(doublereal *ap, doublereal *bp) , #endif size 209 file pow_di.c for #include "f2c.h" , , #ifdef KR_headers , double pow_di(ap, bp) doublereal *ap; integer *bp; , #else , double pow_di(doublereal *ap, integer *bp) , #endif , { , double pow, x; , integer n; size 360 file pow_hh.c for #include "f2c.h" , , #ifdef KR_headers , shortint pow_hh(ap, bp) shortint *ap, *bp; , #else , shortint pow_hh(shortint *ap, shortint *bp) , #endif , { , shortint pow, x, n; , size 401 file pow_ii.c for #include "f2c.h" , , #ifdef KR_headers , integer pow_ii(ap, bp) integer *ap, *bp; , #else , integer pow_ii(integer *ap, integer *bp) , #endif , { , integer pow, x, n; , size 395 file pow_qq.c for #include "f2c.h" , , #ifdef KR_headers , longint pow_qq(ap, bp) longint *ap, *bp; , #else , longint pow_qq(longint *ap, longint *bp) , #endif , { , longint pow, x, n; , size 395 file pow_ri.c for #include "f2c.h" , , #ifdef KR_headers , double pow_ri(ap, bp) real *ap; integer *bp; , #else , double pow_ri(real *ap, integer *bp) , #endif , { , double pow, x; , integer n; size 347 file pow_zi.c for #include "f2c.h" , , #ifdef KR_headers , VOID pow_zi(p, a, b) /* p = a**b */ , doublecomplex *p, *a; integer *b; , #else , extern void z_div(doublecomplex*, doublecomplex*, doublecomplex*); , void pow_zi(doublecomplex *p, doublecomplex *a, integer *b) /* p = a**b */ , #endif , { size 694 file pow_zz.c for #include "f2c.h" , , #ifdef KR_headers , double log(), exp(), cos(), sin(), atan2(), f__cabs(); , VOID pow_zz(r,a,b) doublecomplex *r, *a, *b; , #else , #undef abs , #include "math.h" , extern double f__cabs(double,double); , void pow_zz(doublecomplex *r, doublecomplex *a, doublecomplex *b) size 482 file r_abs.c for #include "f2c.h" , , #ifdef KR_headers , double r_abs(x) real *x; , #else , double r_abs(real *x) , #endif , { , if(*x >= 0) , return(*x); size 139 file r_acos.c for #include "f2c.h" , , #ifdef KR_headers , double acos(); , double r_acos(x) real *x; , #else , #undef abs , #include "math.h" , double r_acos(real *x) , #endif size 166 file r_asin.c for #include "f2c.h" , , #ifdef KR_headers , double asin(); , double r_asin(x) real *x; , #else , #undef abs , #include "math.h" , double r_asin(real *x) , #endif size 166 file r_atan.c for #include "f2c.h" , , #ifdef KR_headers , double atan(); , double r_atan(x) real *x; , #else , #undef abs , #include "math.h" , double r_atan(real *x) , #endif size 166 file r_atn2.c for #include "f2c.h" , , #ifdef KR_headers , double atan2(); , double r_atn2(x,y) real *x, *y; , #else , #undef abs , #include "math.h" , double r_atn2(real *x, real *y) , #endif size 186 file r_cnjg.c for #include "f2c.h" , , #ifdef KR_headers , VOID r_cnjg(r, z) complex *r, *z; , #else , VOID r_cnjg(complex *r, complex *z) , #endif , { , r->r = z->r; , r->i = - z->i; size 151 file r_cos.c for #include "f2c.h" , , #ifdef KR_headers , double cos(); , double r_cos(x) real *x; , #else , #undef abs , #include "math.h" , double r_cos(real *x) , #endif size 162 file r_cosh.c for #include "f2c.h" , , #ifdef KR_headers , double cosh(); , double r_cosh(x) real *x; , #else , #undef abs , #include "math.h" , double r_cosh(real *x) , #endif size 166 file r_dim.c for #include "f2c.h" , , #ifdef KR_headers , double r_dim(a,b) real *a, *b; , #else , double r_dim(real *a, real *b) , #endif , { , return( *a > *b ? *a - *b : 0); , } size 147 file r_exp.c for #include "f2c.h" , , #ifdef KR_headers , double exp(); , double r_exp(x) real *x; , #else , #undef abs , #include "math.h" , double r_exp(real *x) , #endif size 162 file r_imag.c for #include "f2c.h" , , #ifdef KR_headers , double r_imag(z) complex *z; , #else , double r_imag(complex *z) , #endif , { , return(z->i); , } size 122 file r_int.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , double r_int(x) real *x; , #else , #undef abs , #include "math.h" , double r_int(real *x) , #endif size 190 file r_lg10.c for #include "f2c.h" , , #define log10e 0.43429448190325182765 , , #ifdef KR_headers , double log(); , double r_lg10(x) real *x; , #else , #undef abs , #include "math.h" size 212 file r_log.c for #include "f2c.h" , , #ifdef KR_headers , double log(); , double r_log(x) real *x; , #else , #undef abs , #include "math.h" , double r_log(real *x) , #endif size 162 file r_mod.c for #include "f2c.h" , , #ifdef KR_headers , #ifdef IEEE_drem , double drem(); , #else , double floor(); , #endif , double r_mod(x,y) real *x, *y; , #else size 611 file r_nint.c for #include "f2c.h" , , #ifdef KR_headers , double floor(); , double r_nint(x) real *x; , #else , #undef abs , #include "math.h" , double r_nint(real *x) , #endif size 202 file r_sign.c for #include "f2c.h" , , #ifdef KR_headers , double r_sign(a,b) real *a, *b; , #else , double r_sign(real *a, real *b) , #endif , { , double x; , x = (*a >= 0 ? *a : - *a); size 181 file r_sin.c for #include "f2c.h" , , #ifdef KR_headers , double sin(); , double r_sin(x) real *x; , #else , #undef abs , #include "math.h" , double r_sin(real *x) , #endif size 162 file r_sinh.c for #include "f2c.h" , , #ifdef KR_headers , double sinh(); , double r_sinh(x) real *x; , #else , #undef abs , #include "math.h" , double r_sinh(real *x) , #endif size 166 file r_sqrt.c for #include "f2c.h" , , #ifdef KR_headers , double sqrt(); , double r_sqrt(x) real *x; , #else , #undef abs , #include "math.h" , double r_sqrt(real *x) , #endif size 166 file r_tan.c for #include "f2c.h" , , #ifdef KR_headers , double tan(); , double r_tan(x) real *x; , #else , #undef abs , #include "math.h" , double r_tan(real *x) , #endif size 162 file r_tanh.c for #include "f2c.h" , , #ifdef KR_headers , double tanh(); , double r_tanh(x) real *x; , #else , #undef abs , #include "math.h" , double r_tanh(real *x) , #endif size 166 file s_cat.c for #include "f2c.h" , , #ifdef KR_headers , VOID s_cat(lp, rpp, rnp, np, ll) char *lp, *rpp[]; ftnlen rnp[], *np, ll; , #else , VOID s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll) , #endif , { , ftnlen i, n, nc; , char *f__rp; size 413 file s_cmp.c for #include "f2c.h" , , /* compare two strings */ , , #ifdef KR_headers , integer s_cmp(a, b, la, lb) register char *a, *b; ftnlen la, lb; , #else , integer s_cmp(register char *a, register char *b, ftnlen la, ftnlen lb) , #endif , { size 609 file s_copy.c for #include "f2c.h" , , /* assign strings: a = b */ , , #ifdef KR_headers , VOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb; , #else , void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb) , #endif , { size 397 file z_abs.c for #include "f2c.h" , , #ifdef KR_headers , double f__cabs(); , double z_abs(z) doublecomplex *z; , #else , double f__cabs(double, double); , double z_abs(doublecomplex *z) , #endif , { size 201 file s_paus.c for #include "stdio.h" , #include "f2c.h" , #define PAUSESIG 15 , , #ifdef KR_headers , #define Void /* void */ , #define Int /* int */ , #else , #define Void void , #define Int int size 1150 file s_rnge.c for #include "stdio.h" , #include "f2c.h" , , /* called when a subscript is out of range */ , , #ifdef KR_headers , extern VOID sig_die(); , integer s_rnge(varn, offset, procn, line) char *varn, *procn; ftnint offset, line; , #else , extern VOID sig_die(char*,int); size 680 file s_stop.c for #include "stdio.h" , #include "f2c.h" , , #ifdef KR_headers , extern void f_exit(); , VOID s_stop(s, n) char *s; ftnlen n; , #else , #undef abs , #include "stdlib.h" , #ifdef __cplusplus size 465 file sig_die.c for #include "stdio.h" , #include "signal.h" , , #ifndef SIGIOT , #define SIGIOT SIGABRT , #endif , , #ifdef KR_headers , void sig_die(s, kill) register char *s; int kill; , #else size 546 file signal_.c for #include "f2c.h" , , #ifdef KR_headers , typedef int (*sig_type)(); , extern sig_type signal(); , , ftnint signal_(sigp, proc) integer *sigp; sig_type proc; , #else , #include "signal.h" , typedef void (*sig_type)(int); size 327 file system_.c for /* f77 interface to system routine */ , , #include "f2c.h" , , #ifdef KR_headers , system_(s, n) register char *s; ftnlen n; , #else , #undef abs , #include "stdlib.h" , system_(register char *s, ftnlen n) size 374 file z_cos.c for #include "f2c.h" , , #ifdef KR_headers , double sin(), cos(), sinh(), cosh(); , VOID z_cos(r, z) doublecomplex *r, *z; , #else , #undef abs , #include "math.h" , void z_cos(doublecomplex *r, doublecomplex *z) , #endif size 269 file z_div.c for #include "f2c.h" , , #ifdef KR_headers , extern void sig_die(); , VOID z_div(c, a, b) doublecomplex *a, *b, *c; , #else , extern void sig_die(char*, int); , void z_div(doublecomplex *c, doublecomplex *a, doublecomplex *b) , #endif , { size 675 file z_exp.c for #include "f2c.h" , , #ifdef KR_headers , double exp(), cos(), sin(); , VOID z_exp(r, z) doublecomplex *r, *z; , #else , #undef abs , #include "math.h" , void z_exp(doublecomplex *r, doublecomplex *z) , #endif size 278 file z_log.c for #include "f2c.h" , , #ifdef KR_headers , double log(), f__cabs(), atan2(); , VOID z_log(r, z) doublecomplex *r, *z; , #else , #undef abs , #include "math.h" , extern double f__cabs(double, double); , void z_log(doublecomplex *r, doublecomplex *z) size 305 file z_sin.c for #include "f2c.h" , , #ifdef KR_headers , double sin(), cos(), sinh(), cosh(); , VOID z_sin(r, z) doublecomplex *r, *z; , #else , #undef abs , #include "math.h" , void z_sin(doublecomplex *r, doublecomplex *z) , #endif size 267 file z_sqrt.c for #include "f2c.h" , , #ifdef KR_headers , double sqrt(), f__cabs(); , VOID z_sqrt(r, z) doublecomplex *r, *z; , #else , #undef abs , #include "math.h" , extern double f__cabs(double, double); , void z_sqrt(doublecomplex *r, doublecomplex *z) size 492 file BiCG.f for * , SUBROUTINE BICG( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ MATVECTRANS, PSOLVE, PSOLVETRANS, INFO ) , * , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative size 8109 file BiCGREVCOM.f for * , SUBROUTINE BICGREVCOM( N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative size 10373 file BiCGSTAB.f for * , SUBROUTINE BICGSTAB( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ PSOLVE, INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 6987 file BiCGSTABREVCOM.f for * , SUBROUTINE BICGSTABREVCOM(N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 11714 file CG.f for * , SUBROUTINE CG( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ PSOLVE, INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 5861 file CGREVCOM.f for * , SUBROUTINE CGREVCOM( N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 8143 file CGS.f for * , SUBROUTINE CGS( N, B, X, WORK, LDW, ITER, RESID, MATVEC, PSOLVE, , $ INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 6841 file CGSREVCOM.f for * , SUBROUTINE CGSREVCOM(N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 11578 file Cheby.f for * , SUBROUTINE CHEBY( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ PSOLVE, INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 6448 file ChebyREVCOM.f for * , SUBROUTINE CHEBYREVCOM( N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 8147 file GMRES.f for * , SUBROUTINE GMRES( N, B, X, RESTRT, WORK, LDW, WORK2, LDW2, , $ ITER, RESID, MATVEC, PSOLVE, INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 6401 file GMRESREVCOM.f for * , SUBROUTINE GMRESREVCOM(N, B, X, RESTRT, WORK, LDW, WORK2, , $ LDW2, ITER, RESID, INFO, NDX1, NDX2, SCLR1, , $ SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative size 15783 file Jacobi.f for * , SUBROUTINE JACOBI( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 5620 file QMR.f for * , SUBROUTINE QMR( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ MATVECTRANS, PSOLVEQ, PSOLVETRANSQ, INFO ) , * , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative size 9617 file JacobiREVCOM.f for * , SUBROUTINE JACOBIREVCOM(N, B, X, WORK, LDW, ITER, RESID, , $ INFO, NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 7227 file MatGen.f for * , * This file contains routines for forming matrices that result from , * a 5- or 7-point discretization of elliptic PDEs with Dirichlet , * boundary conditions, and a consistent mass matrix "Wathen". , * , * GEN57PT and GETSTEN are from SPARSEKIT. They actually form the , * row compressed matrix. , * , * COEFF provides the functions for computing the coefficients , * of the PDE. size 18899 file MatVec.f for * , SUBROUTINE MATVEC( ALPHA, X, BETA, Y ) , * , * This MatVec routine assumes the matrix is in dense format, , * and uses the BLAS SGEMV. , * , * .. Scalar Arguments .. , REAL ALPHA, BETA , * .. , * .. Array Arguments .. size 1601 file PSolve.f for * , * This file contains the preconditioner solve routines: , * , * PSOLVE and PSOLVETRANS call the appropriate solver: , * , * PSOLVENONE and PSOLVENONETRANS for using no preconditioning. , * , * PSOLVEJAC and PSOLVEJACTRANS for Jacobi preconditioning. , * , * Also included are the solvers for QMR which require left and right size 7328 file QMRREVCOM.f for * , SUBROUTINE QMRREVCOM(N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative size 15379 file SOR.f for * , SUBROUTINE SOR( N, B, X, WORK, LDW, ITER, RESID, MATVEC, , $ BACKSOLVE, INFO ) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 6483 file SORREVCOM.f for * , SUBROUTINE SORREVCOM(N, B, X, WORK, LDW, ITER, RESID, INFO, , $ NDX1, NDX2, SCLR1, SCLR2, IJOB) , * , * -- Iterative template routine -- , * Univ. of Tennessee and Oak Ridge National Laboratory , * October 1, 1993 , * Details of this algorithm are described in "Templates for the , * Solution of Linear Systems: Building Blocks for Iterative , * Methods", Barrett, Berry, Chan, Demmel, Donato, Dongarra, size 8609 file STOPTEST2.f for * , SUBROUTINE STOPTEST2( N, R, B, BNRM2, RESID, TOL, INFO ) , * , * .. Scalar Arguments .. , INTEGER N, INFO , REAL RESID, TOL, BNRM2 , * .. , * .. Array Arguments .. , REAL R( * ), B( * ) , * .. size 1840 file Tester.f for * , PROGRAM TEMPLATESTESTER , * , * Test program for the SINGLE PRECISION iterative templates. , * , * The program must be driven by a short data file. The first 18 records , * of the file are read using list-directed input, the last 16 records , * are read using the format ( A6, L2 ). An annotated example of a data , * file s a follows: , * size 25480 file Utils.f for * , * This file contains routines used by Jacobi, SOR, and Chebyshev: , * , * Jacobi/SOR: , * , * MATSPLIT calls specific matrix splitting routine , * JACSPLIT , * SORSPLIT , * BACKSOLVE , * size 7171 file sblas.f for * , * This file contains the single precision fortran BLAS routines needed , * by the Templates. Therefore, if you can link to a BLAS library, this , * file is not needed. , * , subroutine saxpy(n,sa,sx,incx,sy,incy) , c , c constant times a vector plus a vector. , c uses unrolled loop for increments equal to one. , c jack dongarra, linpack, 3/11/78. size 102471 file slapack.f for * , * The routines in this file are from LAPACK. SSYEV is used by the , * Chebyshev method for computing the extremal eigenvalues of the , * matrix. All the other routines in this file support this routine. , * If you can link to the LAPACK library, this file is not needed. , * , SUBROUTINE SSYEV( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO ) , * , * -- LAPACK driver routine (version 1.1) -- , * Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., size 184522 file snsychk.f for * , SUBROUTINE SNSYCHK( X, LDX, B, X0, WORK, LDW, PFORM, MATVEC, , $ MATVECTRANS, PSOLVE, PSOLVETRANS, PSOLVEQ, , $ PSOLVETRANSQ, BACKSOLVE, TOL, SCALEDTOL, , $ LTEST, NSYRES, NUMTESTS, NUMSUSP, CRITERR ) , * , * .. Scalar Arguments .. , INTEGER LDW, LDX, NUMTESTS, NUMSUSP, CRITERR , REAL TOL, SCALEDTOL , LOGICAL NSYRES size 8716 file sspdchk.f for * , SUBROUTINE SSPDCHK( X, LDX, B, X0, WORK, LDW, PFORM, MATVEC, , $ MATVECTRANS, PSOLVE, PSOLVETRANS, PSOLVEQ, , $ PSOLVETRANSQ, BACKSOLVE, TOL, SCALEDTOL, , $ LTEST, SPDRES, NUMTESTS, NUMSUSP, CRITERR ) , * , * .. Scalar Arguments .. , INTEGER LDW, LDX, NUMTESTS, NUMSUSP, CRITERR , REAL TOL, SCALEDTOL , LOGICAL SPDRES size 10728 file sutils.f for * This file contains various routines needed by the tester for generating , * the test matrices. They are all copied from the LAPACK test suite, , * so if you can link to this tester, this file is not needed. , * , REAL FUNCTION SLARAN( ISEED ) , * , * -- LAPACK auxiliary routine (version 1.1) -- , * Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., , * Courant Institute, Argonne National Lab, and Rice University , * February 29, 1992 size 2849 file test.results for , DETAILS OF ITERATIVE TEMPLATES TEST: , , Univ. of Tennessee and Oak Ridge National Laboratory , October 1, 1993 , Details of these algorithms are described in "Templates , for the Solution of Linear Systems: Building Blocks for , Iterative Methods", Barrett, Berry, Chan, Demmel, Donato, , Dongarra, Eijkhout, Pozo, Romine, and van der Vorst, , SIAM Publications, 1993. size 7206