Part of H. D. Knoble's Collection of Fortran Algorithms. hdk at NOpsu dot SPAMedu, 14 July 2006 FILEID BRIEF DESCRIPTION append.for Standard Fortran 77 program to append (or create) a file. ArrayConstructor Examples of Array Constructors and Reshape AutomaticArray.f90 Illustrates how to use/allocate automatic arrays. bsrch.for Knuth's Binary Search algorithm. BubbleSort.for Simple Bubble Sort Algorithm byterand.for State-of-the-art Quasi-random number generator/sampler. cmxdhe.for Diagnalization of a Complex Hermetian Matrix. combenum.for Enumerate Combinations of an N-Vector. compare.txt Sample program to binary compare two files. CountCols.f90 Counts colums of each data input line. counties.dat data file for exqsortc.for and exhash.for. cpolydr.for Finds the Zeros of a complex polynomial. data.inp Sample input file for ReverseEndian.f90 datesub.f90 F90 version of Datesub by Alan Miller. F-Compatible. datesub.for Date Arithmetic with correct refereed date routines. deblank.f90 Example by James Giles of removing blanks from a character string. direct.f90 Direct Access example to preformat and read a DIRECT file. DPKindExample.f90 How to declare and use Real or Double Precision variables and constants. dyn7.f90 Dynamic Allocation of Arrays interactive test program. dyng.f90 Allocate a global array by Michael Metcalf. F-Compatible. dynmax.f90 Illustrates how to allocate the maximum possible DP array for this pltform. eigtest.dat Sample data for eigtest.for. eigtest.for Certification of Algorithm 343. eigtest.out Output from compiling/running eigtest.for on eigtest.dat. endian.f90 Tells whether computer binaries are Big or Little Endian. endian2.f90 Shorter alternative version of endian.f90 . enter.f90 Illustrates how to read a number and detect Enter key. enter.for Illustrates how to read a number and detect Enter key. eps.f90 Tolerant or Fuzzy comparisons, Floor/Ceil, Round functions. eps.for Tolerant or Fuzzy comparisons, Floor/Ceil, Round functions. example1.doc Word File Explanation of example1.f90 example1.txt Text File Explanation of example1.f90 examplel.f90 Example of drastic significance loss. exchrows.f90 Example illustrating how to exchange rows of a matrix. exhash.for Sample driver for Hashing using Brent's Hashing. exinv1.for Sample driver for Matrix Solution using MOLAR package. existing.dat ASCII input file required by prepend.f90 exminv.for Sample driver for Matrix Inverse using LINV3F IMSL routine. exqsortc.for Sample driver for QSORT of Character array. extfloor.for Sample driver for Tolerant Floor Function. farray1.f90 Sample Fortran 95 function that returns an array; code #1. farray2.f90 Sample Fortran 95 function that returns an array; code #2. farray3.f90 Sample Fortran 95 function that returns an array; code #3. farray4.f90 Allocatable array allocated in Subroutine passed to Main. FloatingPoint.txt Short lecture on Floating-Point Arithmetic and Significance Loss. fuzzloop.for Sample driver for real valued fuzzy do loop. gamma.for Gamma and Log Gamma function. gauss.for Gaussian Quadrature example. ginv.f90 Generalized Inverse from CACM 9(5):381-387 (May, 1966) by Rust, et al. hash.for Brent's Hashing Algorithm. hashord.for Steve Wharten's Hashing Algorithm. ieee2ibm.for Subprogram to convert IEEE floating-point binary to IBM. ieor.for Exclusive OR function. intcat.f90 Illustrates concatenatination of integers to chararacter strings ('a'//n//'b')by James Giles iso_varying_string.f95 Rich Townsend's Iso Varying Length String Module and sample driver. KahnSum.f90 Illustrates and compares Kahn's Summation Algorithm by James Giles KahnSum.f90 James Giles' companion prose to KahnSum.f90. KindExample.f90 An example of how to use KIND by Michael Metcalf. knuths.for Knuth's Sample of first K records of N records. LongString.f90 Example of how to split a string across two lines of F90 code. loopnest.f90 Run-time variable number of nested DO loops. lsfit.for Least Squares Fit example. lsrch.for Linear Search example. machparm.f90 Determine Some Floating-Point Machine Parameters. machparm.for Determine Some Floating-Point Machine Parameters. MathConstants.f95 Illustrates how to make a module with DP math constants in it. MathModuleDemo.f95 Illustrates how to handle math (DP) constants and functions within a module. MatrixMultOperator.f90 Illustrative F95 Example by Michael Metcalf and Jos R Bergervoet. MxoutDemo.f90 Real Square Matrix Print Demo nan.f90 Illustrates testing for NaNs. nonsqu.for Generate the first N non-square numbers. OptionalArgs.f90 Example of using Fortran 90 Optional Subprogram Arguments. PackExample.f90 Pick specific elements of an array using Pack intrinsic. PackPick.f90 Pick elements of an array with certain properties using PACK intrinsic. permenum.for Enumerate Permutations of an N-Vector. perspec.for Yates Borden's subroutine generate 3-point perspective. prepend.dat ASCII input file required by prepend.f90 prepend.f90 Illustrates how to read new data such that it is prepend to existing file. primes.f90 Interactive example by James Van Buskirk primes.for Pedagogical program to find the first five prime numbers. primesbench.f90 Primes Benchmark Example by James Van Buskirk and David Frank. PrivateModExample.f90 Why use general PIVATE statement by James Van Buskirk purdtest.dat Sample data for PURDTEST.FOR. purdtest.for Subroutine Purdy Test Program. purdy.for Subroutine Purdy, ACM Algorithm 536. QorDPrecision.f90 Illustrates how to us Quad Precision if compiler supports it; DP otherwise. qpnote.for Quadruple Division note. qsortc.for T.O.M.S. Algorithm 402, Quick Sort(Character). Bill Verity qsorti.for T.O.M.S. Algorithm 402, Quick Sort(Integer), Bill Verity RecLen.f90 Shows how to use the Inquire function to compute record length of I/O list. RemoveCh.f90 Shows how to remove occurrence(s) of a character from a C String or a String. Reshape3D.f90 Illustrates how to reshape a 3D matrix via TRANSPOSE and RESHAPE. ReshapeDemo.f90 Demonstrates the Reshape Intrinsic. ReverseEndian.f90 Shows how to reverse an input file's Endian by reversing bytes in its words. ReverseVectorValues.f90 David Frank's Example of Array Constructor and use of Stride to reverse Vector elements. scale2.for Fuzzy Scaling routine. search.for Sample driver to time four searching algorithms. SelIntKind.f90 Example of using Double Length Integers. SpacingDemo.f90 Example of how to use Intrinsic Procedure Spacing to test for relative equality of reals. stream.f90 Stream Input routine and sample driver. strings.f90 David Frank's string functions (as a module). strip.for Strips blanks from strings, Left, Right, or Both. substr.for Substring function example. testdumach.f90 Tests F90 code for computing Intrinsic Epsilon and compares same. testsort.f90 Illustrates use of an Array-Valued function (SORT). ticks.for Fuzzy Tick Marks for graphs. tree.for Knuth's Algorithm for Binary Tree search/traversal. ucaseCP.f90 Convert lower case letters to upper case, by Clive Page. ucaseRM.f90 Convert lower case string to uppercse by Richard Main ulcaseJA.f90 Convert a string's case, by John Appleyard. vchin.f90 Shows how to read formatted varying length ASCII records. VectorSubscripts.f90 Examples of using Vector subscripts with/without strides. w77stuff.zip Watfor77 documentation and example files. weibull.for Weibull Distribution parameter computations. weibull.inp Sample data for Weibull.for.