C      ALGORITHM 620, COLLECTED ALGORITHMS FROM ACM.
C      THIS WORK PUBLISHED IN TRANSACTIONS ON MATHEMATICAL SOFTWARE,
C      VOL. 10, NO. 4, P.359

         REFERENCES AND KEYWORDS FOR ACM-CALGO ALGORITHMS

       Prepared Oct. 11, 1984 and modified Mar. 1, 1986 by
         J. R. Rice & R. J. Hanson

       Revised July 27, 1989 by Tim Hopkins and David Morse

       Revised June 9, 1992 and August 4, 1994 by Robert Renka

       Annual updates will be made without comment

This file contains compressed references for the set of algorithms
contained in Collected Algorithms From ACM.  Algorithms 1-492 were
published in Communications of the ACM.  With one exception, Algor-
ithms 493-701 appeared in ACM Transactions on Mathematical Software.
The exception is Algorithm 568, which was published in ACM Transac-
tions on Programming Languages and Systems.  Algorithm numbers 171
and 172 are not included because no algorithm with those numbers was
published.

The entry for each algorithm consists of either four or five records
depending on whether there have been any published remarks.  Lines
are restricted to 80 characters, and records requiring more than one
line include continuation lines which are distinguished by a + in
the first column.  Only the first record and continuation lines begin
in character column one.  Any mathematical notation used within the
algorithm title and any accents in an author's name are indicated as
defined in TEX.  Also, all letters in the title which must remain
capitalized in a printed version of the reference are enclosed in
braces.

The first record specifies the algorithm number, journal in which the
algorithm was published, beginning page number, ending page number (or
0 if there is only one page), volume number, issue number, month and
year of publication, modified SHARE classification, and language (F =
Fortran, F90 = Fortran 90, A60 = Algol 60, PAS = Pascal, PLI = PL1, M =
Matlab, L = Lisp, R = Ratfor, N = None) in which the algorithm was
implemented.  Some of the later algorithms have the associated gams
classification as the last field.  The second and third records contain
the authors' names and the title of the algorithm, respectively.  The
fourth record contains keywords separated by semicolons, and the fifth
record, if any, describes published remarks associated with the
algorithm.  Each remark, if any, is terminated by a semicolon, and
includes the following fields, separated by commas:  the type (Remark
or Certification), the journal in which the remark was published, the
page range (a single page number or a pair of numbers separated by --),
the volume number, the issue number, the month, the year, and the
author.  As an example, the following entry is for algorithm 487:

487    cacm  703  704 17 12  December 1974 s14   F
 J. Pomeranz;
 Exact Cumulative Distribution of the {K}olmogorov-{S}mirnov Statistic for
+ Small Samples
 goodness-of-fit testing;k-s statistic;k-s test;Kolmogorov-Smirnov test;
 R,toms,111,2,1,March,1976,J. Pomeranz;
+R,toms,285--294,3,3,September,1977,R. Kallman;

The first line should be interpreted as 'ACM CALGO Algorithm 487 appeared
in Comm. ACM, Volume 17, Number 12, December 1974, pages 703-704'.  The
algorithm was implemented in Fortran, and the SHARE classification is S14.
The title spans two lines and contains two characters which must remain
in upper case.  The second remark appeared as a Remark in ACM TOMS, Volume
3, Number 3, September 1977, pages 285-294.  The author is R. Kallman.

==============================================================================
1      cacm   74    0  3  2  February 1960  d1 A60
 R. J. Herbold;
 Quad {I}
 obsolete;numerical integration;quadrature;
2      cacm   74    0  3  2  February 1960  c5 A60
 J. Wegstein;
 Rootfinder
 obsolete;secant method;function zeros;
 C,cacm,354,3,6,June,1960,H. C. {Thacher Jr.};
+R,cacm,475,3,8,August,1960,H. C. {Thacher Jr.};
+R,cacm,153,4,3,March,1961,J. H. Wilkinson;
3      cacm   74   75  3  2  February 1960  c2 A60
 A. A. Grau;
 Solution of Polynomial Equation by {Bairstow}-{Hitchcock} Method
 Bairstow's method;polynomial zeros;
 C,cacm,354,3,6,June,1960,H. C. {Thacher Jr.};
+C,cacm,105,4,2,February,1961,J. S. Vandergraft;
+R,cacm,153,4,3,March,1961,J. H. Wilkinson;
+C,cacm,181,4,4,April,1961,J. Herndon;
4      cacm  174    0  3  3     March 1960  c5 A60
 S. Gorn;
 Bisection Routine
 bisection method;function zeros;
 C,cacm,153--154,4,3,March,1961,P. J. Rader;
5      cacm  240    0  3  4     April 1960 s18 A60
 D. S. Clarke;
 {Bessel} Function ${I}$ Series Expansion
 Bessel function;series expansion;
6      cacm  240    0  3  4     April 1960 s18 A60
 D. S. Clarke;
 {Bessel} Function ${I}$ Asymptotic Expansion
 asymptotic expansion;Bessel function;
7      cacm  240    0  3  4     April 1960  a1 A60
 R. Claussen;
 {Euclidian} Algorithm
 obsolete;Euclidian algorithm;greatest common divisor;
8      cacm  318    0  3  5       May 1960  c6 A60
 P. Naur;
 {Euler} Summation
 Euler summation;Euler transformation;infinite series;
 C,cacm,663,6,11,November,1963,H. C. {Thacher Jr.};
9      cacm  318    0  3  5       May 1960  d2 A60
 P. Naur;
 {Runge}-{Kutta} Integration
 ordinary differential equations;Runge-Kutta method;
 C,cacm,273,9,4,April,1966,H. C. {Thacher Jr.};
10     cacm  353    0  3  6      June 1960 s22 A60
 G. M. Galler;
 Evaluation of the {Chebyshev} Polynomial ${T}_n({X})$ by Recursion
 obsolete;Chebyshev polynomial;function evaluation;polynomial evaluation;
 C,cacm,181,4,4,April,1961,J. Herndon;
11     cacm  353    0  3  6      June 1960 s15 A60
 G. M. Galler;
 Evaluation of the {Hermite} Polynomial ${H}_n({X})$ by Recursion
 obsolete;Hermite polynomial;function evaluation;polynomial evaluation;
12     cacm  353    0  3  6      June 1960 s22 A60
 G. M. Galler;
 Evaluation of the {Laguerre} Polynomial ${L}_n({X})$ by Recursion
 obsolete;Laguerre polynomial;function evaluation;polynomial evaluation;
13     cacm  353    0  3  6      June 1960 s16 A60
 G. M. Galler;
 Evaluation of the {Legendre} Polynomial ${P}_n({X})$ by Recursion
 obsolete;Legendre polynomial;function evaluation;polynomial evaluation;
 C,cacm,105,4,2,February,1961,P. J. Rader and H. C. {Thacher Jr.};
+C,cacm,181,4,4,April,1961,J. Herndon;
14     cacm  406    0  3  7      July 1960 s13 A60
 A. Beam;
 Complex Exponential Integral
 complex exponential integral;continued fraction;
15     cacm  475    0  3  8    August 1960  c5 A60
 H. C. {Thacher Jr.};
 Rootfinder {II}
 obsolete;function zeros;fixed point;successive substitution;
 C,cacm,475,3,8,August,1960,H. C. {Thacher Jr.};
+R,cacm,602,3,11,November,1960,G. E. Forsythe and J. G. Herriot;
+R,cacm,153,4,3,March,1961,J. H. Wilkinson;
16     cacm  507  508  3  9 September 1960  f4 A60
 G. E. Forsythe;
 {Crout} with Pivoting
 obsolete;Crout reduction;linear system;simultaneous linear equations;
 R,cacm,540,3,10,October,1960,G. E. Forsythe;
+R,cacm,154,4,3,March,1961,H. C. {Thacher Jr.};
17     cacm  508    0  3  9 September 1960  f4 A60
 C. F. Sprague III;
 {TRDIAG}
 linear system;simultaneous linear equations;tridiagonal matrix;
+tridiagonal system;
18     cacm  508    0  3  9 September 1960  e1 A60
 R. W. Floyd;
 Rational Interpolation by Continued Fractions
 continued fraction;interpolation;rational interpolation;
 C,cacm,437,5,8,August,1962,H. C. {Thacher Jr.};
19     cacm  540    0  3 10   October 1960 s03 A60
 R. R. Kenyon;
 Binomial Coefficients
 binomial coefficients;
 R,cacm,347,5,6,June,1962,B. Steck;
+C,cacm,438,5,8,August,1962,R. George;
20     cacm  540    0  3 10   October 1960 s13 A60
 S. Peavy;
 Real Exponential Integral
 exponential integral;
 R,cacm,105,4,2,February,1961,S. Peavy;
+C,cacm,182,4,4,April,1961,W. J. Alexander and H. C. {Thacher Jr.};
21     cacm  600    0  3 11  November 1960 s17 A60
 W. B{\"{o}}rsch-Supan;
 {Bessel} Function for a Set of Integer Orders
 Bessel function;
 C,cacm,219,8,4,April,1965,J. Stafford;
22     cacm  600  601  3 11  November 1960 s17 A60
 H. Oser;
 {Riccati}-{Bessel} Functions of First and Second Kind
 Riccati-Bessel function;
 C,cacm,448,13,7,July,1970,T. A. Bray;
23     cacm  601    0  3 11  November 1960  m1 A60
 W. Feurzeig;
 Math Sort
 sorting;
 C,cacm,238,4,5,May,1961,R. W. Ranshaw;
24     cacm  602    0  3 11  November 1960  f4 A60
 B. Leavenworth;
 Solution of Tri-Diagonal Linear Equations
 obsolete;linear system;simultaneous linear equations;tridiagonal matrix;
+tridiagonal system;
25     cacm  602    0  3 11  November 1960  c5 A60
 B. Leavenworth;
 Real Zeros of An Arbitrary Function
 obsolete;function zeros;Muller's method;
 R,cacm,153,4,3,March,1961,J. H. Wilkinson;
+R,cacm,154,4,3,March,1961,R. M. Collinge;
26     cacm  603    0  3 11  November 1960  c5 A60
 J. G. Herriot;
 Rootfinder {III}
 function zeros;regula falsi;
 R,cacm,153,4,3,March,1961,J. H. Wilkinson;
27     cacm  603  604  3 11  November 1960   h A60
 R. Silver;
 Assignment
 assignment problem;operations research;optimization;
 C,cacm,618,6,10,October,1963,A. Newhouse;
+C,cacm,739,6,12,December,1963,R. D. Witty;
28     cacm  604    0  3 11  November 1960  e2 A60
 J. G. Mackinney;
 Least Squares Fit by Orthogonal Polynomials
 curve approximation;curve fitting;least squares solution;
+orthogonal polynomials;
 R,cacm,544,4,12,December,1961,D. B. McMillan;
+R,cacm,293,10,5,May,1967,G. J. Makinson;
29     cacm  604    0  3 11  November 1960  c1 A60
 J. G. Mackinney;
 Polynomial Transformer
 linear translation;polynomial coefficients;
30     cacm  643    0  3 12  December 1960  c2 A60
 K. W. Ellenberger;
 Numerical Solution of the Polynomial Equation
 Bairstow's method;function zeros;Newton's method;polynomial zeros;
 C,cacm,238,4,5,May,1961,W. J. Alexander;
+C,cacm,50,5,1,January,1962,K. J. Cohen;
+C,cacm,293,10,5,May,1967,J. J. Kohfeld;
+R,toms,183--184,11,2,June,1985,M. Novotny;
31     cacm  105    0  4  2  February 1961 s14 A60
 R. M. Collinge;
 Gamma Function
 obsolete;gamma function;
 C,cacm,605,5,12,December,1962,P. G. Behrenz;
+C,cacm,38,6,1,January,1963,P. G. Behrenz;
32     cacm  106    0  4  2  February 1961  d1 A60
 R. D. Freeman Jr.;
 Multint
 Gaussian integration;Gaussian quadrature;multiple integration;
+numerical integration;quadrature;
 C,cacm,69,6,2,February,1963,H. C. {Thacher Jr.};
+R,cacm,826,11,12,December,1968,K. S. K{\"{o}}lbig;
33     cacm  106    0  4  2  February 1961 s03 A60
 M. F. Lipp;
 Factorial
 obsolete;factorial;recursion;
34     cacm  106    0  4  2  February 1961 s14 A60
 M. F. Lipp;
 Gamma Function
 obsolete;gamma function;
 R,cacm,391,5,7,July,1962,M. L. Johnson and W. Sangren;
+R,cacm,685--686,9,9,September,1966,M. C. Pike and I. D. Hill;
35     cacm  151    0  4  3     March 1961  a1 A60
 T. C. Wood;
 {SIEVE}
 obsolete;sieve of Eratostehenes;factoring integers;
 C,cacm,209,5,4,April,1962,P. J. Brown;
+C,cacm,438,5,8,August,1962,J. S. Hillmore;
+R,cacm,570,10,9,September,1967,B. A. Chartres;
36     cacm  151    0  4  3     March 1961 s22 A60
 A. J. Gianni;
 {Tchebycheff}
 Chebyshev polynomial;function evaluation;polynomial evaluation;
37     cacm  151    0  4  3     March 1961  e2 A60
 K. A. Brons;
 Telescope 1
 economization;polynomial approximation;
 C,cacm,438,5,8,August,1962,H. C. {Thacher Jr.};
+C,cacm,445,6,8,August,1963,J. F. Bridges;
38     cacm  151  152  4  3     March 1961  e2 A60
 K. A. Brons;
 Telescope 2
 economization;polynomial approximation;
 C,cacm,445,6,8,August,1963,J. F. Bridges;
39     cacm  152    0  4  3     March 1961  g2 A60
 P. Sassouni;
 Correlation Coefficients with Matrix Multiplication
 correlation coefficients;standard deviation;
40     cacm  152  153  4  3     March 1961   h A60
 B. Leavenworth;
 Critical Path Scheduling
 critical path;critical path scheduling;job scheduling;operations research;
 C,cacm,392,4,9,September,1961,N. P. Alexander;
+C,cacm,513,5,10,October,1962,L. Hellberg;
+C,cacm,349,7,6,June,1964,I. A. Hoffman;
41     cacm  176    0  4  4     April 1961  f3 A60
 J. G. Solomon;
 Evaluation of Determinant
 obsolete;determinant;
 R,cacm,144,7,3,March,1964,L. J. Rotenberg;
+R,cacm,520,6,9,September,1963,B. H. Freed;
+C,cacm,686,9,9,September,1966,A. Bergson;
42     cacm  176    0  4  4     April 1961  f1 A60
 T. C. Wood;
 {INVERT}
 obsolete;matrix inversion;
 C,cacm,498,4,11,November,1961,A. W. Knapp and P. Shaman;
+R,cacm,38,6,1,January,1963,P. Naur;
+R,cacm,445,6,8,August,1963,P. Naur;
43     cacm  176  177  4  4     April 1961  f4 A60
 H. C. {Thacher Jr.};
 {Crout} with Pivoting {II}
 Crout reduction;linear system;simultaneous linear equations;
 C,cacm,182,4,4,April,1961,H. C. {Thacher Jr.};
+C,cacm,445--446,6,8,August,1963,C. Domingo and F. Rodriguez-Gil;
44     cacm  177  178  4  4     April 1961 s17 A60
 M. E. Wojcicki;
 {Bessel} Functions Computed Recursively
 Bessel function;
45     cacm  178    0  4  4     April 1961   z A60
 P. Z. Ingerman;
 {INTEREST}
 interest;loan repayment;
 C,cacm,520--521,6,9,September,1963,C. B. Wright;
46     cacm  178    0  4  4     April 1961  b3 A60
 J. R. Herndon;
 Exponential of a Complex Number
 obsolete;complex function;
 C,cacm,347,5,6,June,1962,A. P. Relph;
47     cacm  178  179  4  4     April 1961 s16 A60
 J. R. Herndon;
 Associated {Legendre} Functions of the First Kind for Real or Imaginary
+ Arguments
 associated Legendre function of the first kind;
 C,cacm,446,6,8,August,1963,R. George;
+C,cacm,635--636,12,11,November,1969,S. M. Cobb;
48     cacm  179    0  4  4     April 1961  b3 A60
 J. R. Herndon;
 Logarithm of a Complex Number
 obsolete;complex function;
 C,cacm,347,5,6,June,1962,A. P. Relph;
+R,cacm,391,5,7,July,1962,M. L. Johnson and W. Sangren;
+R,cacm,485,7,8,August,1964,D. S. Collens;
49     cacm  179    0  4  4     April 1961 s17 A60
 J. R. Herndon;
 Spherical {Neumann} Function
 spherical Neumann function;
 R,toms,295,4,3,September,1978,J. P. Coleman;
50     cacm  179    0  4  4     April 1961  f1 A60
 J. R. Herndon;
 Inverse of a Finite Segment of the {Hilbert} Matrix
 Hilbert matrix;matrix inversion;
 C,cacm,50,5,1,January,1962,B. Randell;
+R,cacm,38--39,6,1,January,1963,P. Naur;
51     cacm  180    0  4  4     April 1961  f1 A60
 J. R. Herndon;
 Adjust Inverse of a Matrix when an Element is Perturbed
 matrix inversion;matrix perturbation;
 C,cacm,391,5,7,July,1962,R. George;
52     cacm  180    0  4  4     April 1961  f1 A60
 J. R. Herndon;
 A Set of Test Matrices
 eigenvalues;matrix inversion;test matrix;
 C,cacm,339,4,8,August,1961,H. E. Gilbert;
+R,cacm,498,4,11,November,1961,G. H. Dubary;
+C,cacm,438,5,8,August,1962,J. S. Hillmore;
+R,cacm,39,6,1,January,1963,P. Naur;
+R,cacm,446,6,8,August,1963,P. Naur;
53     cacm  180    0  4  4     April 1961  b4 A60
 J. R. Herndon;
 ${N}{\rm th}$ Roots of a Complex Number
 complex function;complex roots;
 R,cacm,322,4,7,July,1961,C. W. {Nestor Jr.};
54     cacm  180    0  4  4     April 1961 s14 A60
 J. R. Herndon;
 Gamma Function for Range 1 to 2
 obsolete;gamma function;
 R,cacm,685--686,9,9,September,1966,M. C. Pike and I. D. Hill;
55     cacm  180    0  4  4     April 1961 s21 A60
 J. R. Herndon;
 Complete Elliptic Integral of The First Kind
 obsolete;complete elliptic integral of the first kind;
 C,cacm,166--167,6,4,April,1963,H. C. {Thacher jr.};
56     cacm  180  181  4  4     April 1961 s21 A60
 J. R. Herndon;
 Complete Elliptic Integral of The Second Kind
 obsolete;complete elliptic integral of the second kind;
 C,cacm,12,9,1,January,1966,G. M. Larssen;
57     cacm  181    0  4  4     April 1961 s19 A60
 J. R. Herndon;
 Ber or Bei Function
 bei function;ber function;
 C,cacm,392,5,7,July,1962,A. P. Relph;
+C,cacm,438,5,8,August,1962,H. C. {Thacher Jr.};
58     cacm  236    0  4  5       May 1961  f1 A60
 D. Cohen;
 Matrix Inversion
 obsolete;matrix inversion;
 C,cacm,347,5,6,June,1962,R. A. Conger;
+C,cacm,438,5,8,August,1962,G. Struble;
+C,cacm,438--439,5,8,August,1962,R. George;
+R,cacm,606,5,12,December,1962,P. G. Behrenz;
59     cacm  236  237  4  5       May 1961  c2 A60
 E. H. Bareiss; M. A. Fisherkeller;
 Zeros of a Real Polynomial by Resultant Procedure
 polynomial zeros;resultant method;
60     cacm  255    0  4  5       May 1961  d1 A60
 F. L. Bauer;
 {Romberg} Integration
 extrapolation to the limit;numerical integration;quadrature;
+Romberg integration;Romberg quadrature;
 C,cacm,168,5,3,March,1962,H. C. {Thacher Jr.};
+C,cacm,281,5,5,May,1962,K. H. Buchner;
+R,cacm,420--421,7,7,July,1964,G. C. {Thacher Jr.};
61     cacm  319  320  4  7      July 1961  a1 A60
 A. Gibb;
 Procedures For Range Arithmetic
 obsolete;interval arithmetic;
62     cacm  320  321  4  7      July 1961 s16 A60
 J. R. Herndon;
 A Set of Associate {Legendre} Polynomials of The Second Kind
 associated Legendre function of the second kind;
 R,cacm,544,4,12,December,1961,J. R. Herndon;
63     cacm  321    0  4  7      July 1961  m1 A60
 C. A. R. Hoare;
 Partition
 obsolete;sorting;
 C,cacm,439,5,8,August,1962,J. S. Hillmore;
+C,cacm,446,6,8,August,1963,B. Randell and L. J. Russel;
64     cacm  321    0  4  7      July 1961  m1 A60
 C. A. R. Hoare;
 Quicksort
 obsolete;sorting;
 C,cacm,439,5,8,August,1962,J. S. Hillmore;
+C,cacm,446,6,8,August,1963,B. Randell and L. J. Russel;
+R,cacm,143--152,17,3,March,1974,R. Loser;
65     cacm  321  322  4  7      July 1961  m1 A60
 C. A. R. Hoare;
 Find
 obsolete;sorting;
 C,cacm,439,5,8,August,1962,J. S. Hillmore;
+C,cacm,446,6,8,August,1963,B. Randell and L. J. Russel;
66     cacm  322    0  4  7      July 1961  f1 A60
 J. Caffrey;
 {INVRS}
 matrix inversion;positive definite matrix;square root method;
 C,cacm,50,5,1,January,1962,B. Randell and C. G. Brayden;
+C,cacm,348,5,6,June,1962,J. Caffrey;
67     cacm  322    0  4  7      July 1961  f1 A60
 J. Caffrey;
 {CRAM}
 symmetric matrix;
 C,cacm,348,5,6,June,1962,A. P. Relph;
68     cacm  339    0  4  8    August 1961  a1 A60
 H. C. Rice;
 Augmentation
 obsolete;augment;
 C,cacm,498,4,11,November,1961,L. M. Breed;
69     cacm  392    0  4  9 September 1961   h A60
 B. H. Mayoh;
 Chain Tracing
 chain tracing;transitive relation;Turing machine;
70     cacm  497    0  4 11  November 1961  e1 A60
 C. D. Mifsud;
 Interpolation by {Aitken}
 Aitken's iteration;interpolation;Lagrange interpolating polynomial;
 C,cacm,392,5,7,July,1962,A. P. Relph;
71     cacm  497    0  4 11  November 1961  g6 A60
 R. R. Coveyou; J. G. Sullivan;
 Permutation
 obsolete;permutation generation;permutations;
 C,cacm,209,5,4,April,1962,J. E. L. Peck and G. F. Schrack;
+C,cacm,209,5,4,April,1962,P. J. Brown;
+C,cacm,439,5,8,August,1962,J. S. Hillmore;
72     cacm  498    0  4 11  November 1961  a1 A60
 L. Hellerman; S. Ogden;
 Composition Generator
 obsolete;composition generation;compositions;
 C,cacm,439,5,8,August,1962,D. M. Collinson;
73     cacm  543    0  4 12  December 1961 s21 A60
 D. K. Jefferson;
 Incomplete Elliptic Integrals
 elliptic integral;incomplete elliptic integral;
+incomplete elliptic integral of the first kind;
+incomplete elliptic integral of the second kind;
 C,cacm,544,4,12,December,1961,D. C. Kriebel;
+R,cacm,514,5,10,October,1962,D. K. Jefferson;
+C,cacm,69,6,2,February,1963,N. A. Meyer;
+C,cacm,167,6,4,April,1963,R. P. van de Riet;
74     cacm   47    0  5  1   January 1962  e2 A60
 J. E. L. Peck;
 Curve Fitting with Constraints
 curve approximation;curve fitting;least squares solution;
 C,cacm,316,6,6,June,1963,K. Isoda;
75     cacm   48    0  5  1   January 1962  c2 A60
 J. E. L. Peck;
 Factors
 linear factors;polynomial zeros;rational roots;
 C,cacm,392,5,7,July,1962,A. P. Relph;
+C,cacm,439,5,8,August,1962,J. S. Hillmore;
76     cacm   48   50  5  1   January 1962  m1 A60
 I. Flores;
 Sorting Procedures
 obsolete;sorting;
 R,cacm,348,5,6,June,1962,B. Randell;
77     cacm   96    0  5  2  February 1962  e1 A60
 P. E. Hennion;
 Interpolation Differentiation and Integration
 di-parabolic approximation;interpolation;numerical differentiation;
+numerical integration;quadrature;
 C,cacm,348,5,6,June,1962,V. E. Whittier;
+R,cacm,446--447,6,8,August,1963,P. E. Hennion;
+R,cacm,663,6,11,November,1963,P. E. Hennion;
78     cacm   97    0  5  2  February 1962  c2 A60
 C. Perry;
 Rational Roots of Polynomials with Integer Coefficients
 linear factors;polynomial zeros;rational roots;
 C,cacm,168,5,3,March,1962,M. H. Halstead;
+R,cacm,440,5,8,August,1962,D. M. Collinson;
79     cacm   97    0  5  2  February 1962  d4 A60
 T. P. Giammo;
 Difference Expression Coefficients
 Lagrange interpolation;numerical differentiation;
 C,cacm,104,6,3,March,1963,E. S. Clark;
80     cacm  166    0  5  3     March 1962 s14 A60
 W. Holsten;
 Reciprocal Gamma Function of Real Argument
 obsolete;gamma function;
 R,cacm,685--686,9,9,September,1966,M. C. Pike and I. D. Hill;
81     cacm  166  167  5  3     March 1962  g7 A60
 B. H. Mayoh;
 Economising a Sequence 1
 sequence economisation;subset generation;
82     cacm  167    0  5  3     March 1962  g7 A60
 B. H. Mayoh;
 Economising a Sequence 2
 sequence economisation;subset generation;
83     cacm  167  168  5  3     March 1962   h A60
 B. H. Mayoh;
 Optimal Classification of Objects
 classification of objects;operations research;optimization;
84     cacm  208    0  5  4     April 1962  d1 A60
 P. E. Hennion;
 {Simpson}'s Integration
 obsolete;quadrature;Simpson's rule;
 C,cacm,392,5,7,July,1962,A. P. Relph;
+R,cacm,440,5,8,August,1962,R. George;
+C,cacm,557,5,11,November,1962,P. G. Behnrenz;
85     cacm  208    0  5  4     April 1962  f2 A60
 T. G. Evans;
 {Jacobi}
 eigenvalues;eigenvectors;Jacobi method;
 C,cacm,440,5,8,August,1962,J. S. Hillmore;
+C,cacm,447--448,6,8,August,1963,P. Naur;
86     cacm  208  209  5  4     April 1962  g6 A60
 J. E. L. Peck; G. F. Schrack;
 Permute
 obsolete;permutations;
 C,cacm,440,5,8,August,1962,D. M. Collinson;
87     cacm  209    0  5  4     April 1962  g6 A60
 J. R. Howell;
 Permutation Generator
 obsolete;permutation generation;
 C,cacm,440,5,8,August,1962,D. M. Collinson;
+C,cacm,514,5,10,October,1962,G. F. Schrack and M. Shimrat;
+R,cacm,452--453,10,7,July,1967,R. J. Ord-Smith;
88     cacm  280    0  5  5       May 1962 s20 A60
 J. L. Cundiff;
 Evaluation of Asymptotic Expression for the {Fresnel} Sine and Cosine Integrals
 obsolete;Fresnel integrals;
 R,cacm,618,6,10,October,1963,M. D. Gray;
89     cacm  280    0  5  5       May 1962 s20 A60
 J. L. Cundiff;
 Evaluation of the {Fresnel} Sine Integral
 obsolete;Fresnel integrals;
 R,cacm,618,6,10,October,1963,M. D. Gray;
90     cacm  281    0  5  5       May 1962 s20 A60
 J. L. Cundiff;
 Evaluation of the {Fresnel} Cosine Integral
 obsolete;Fresnel integrals;
 R,cacm,618,6,10,October,1963,M. D. Gray;
91     cacm  281    0  5  5       May 1962  e2 A60
 A. Newhouse;
 {Chebyshev} Curve-Fit
 obsolete;Chebyshev curve fitting;
 C,cacm,167,6,4,April,1963,R. P. Hale;
+R,cacm,296,7,5,May,1964,P. Naur;
+C,cacm,803,10,12,December,1967,J. Boothroyd;
92     cacm  286    0  5  5       May 1962  f4 A60
 D. J. Roek;
 Simultaneous System of Equations and Matrix Inversion Routine
 obsolete;linear system;simultaneous linear equations;matrix inversion;
93     cacm  344    0  5  6      June 1962  a1 A60
 M. H. Perstein;
 General Order Arithmetic
 obsolete;general order arithmetic;
 C,cacm,514,5,10,October,1962,R. George;
94     cacm  344    0  5  6      June 1962  g6 A60
 J. Kurtzberg;
 Combination
 combination generation;combinations;
 C,cacm,557,5,11,November,1962,R. W. May;
+C,cacm,606,5,12,December,1962,R. E. Grench;
95     cacm  344    0  5  6      June 1962  a1 A60
 F. Stockmal;
 Generation of Partitions in Part-Count Form
 obsolete;partition generation;
96     cacm  344  345  5  6      June 1962   h A60
 R. W. Floyd;
 Ancestor
 ancestor;boolean matrix;parent;
 C,cacm,104--105,6,3,March,1963,H. C. {Thacher Jr.};
97     cacm  345    0  5  6      June 1962   h A60
 R. W. Floyd;
 Shortest Path
 network;shortest path;
98     cacm  345    0  5  6      June 1962  d1 A60
 J. L. Pfaltz;
 Evaluation of Definite Complex Line Integrals
 complex integral;line integral;numerical integration;quadrature;
99     cacm  345  346  5  6      June 1962  a1 A60
 S. J. Garland; A. W. Knapp;
 Evaluation of {Jacobi} Symbol
 obsolete;Jacobi symbol;
 R,cacm,557,5,11,November,1962,R. W. May;
100    cacm  346    0  5  6      June 1962  o2 A60
 P. J. Kiviat;
 Add Item to Chain-Linked List
 data structure;linked list;list operation;
101    cacm  346    0  5  6      June 1962  o2 A60
 P. J. Kiviat;
 Remove Item From Chain-Linked List
 data structure;linked list;list operation;
102    cacm  346    0  5  6      June 1962  g6 A60
 G. F. Schrack; M. Shimrat;
 Permutation in Lexicographical Order
 obsolete;permutations;lexicographical order;
 R,cacm,452--453,10,7,July,1967,R. J. Ord-Smith;
103    cacm  347    0  5  6      June 1962  d1 A60
 G. F. Kuncir;
 {Simpson}'s Rule Integrator
 numerical integration;quadrature;Simpson's rule;
104    cacm  387    0  5  7      July 1962  f2 A60
 H. Rutishauser;
 Reduction to {Jacobi}
 obsolete;banded matrix;tridiagonal matrix;
105    cacm  387  388  5  7      July 1962  c2 A60
 F. L. Bauer; J. Stoer;
 {Newton} {Maehly}
 Newton-Maehly method;polynomial zeros;
 C,cacm,389,6,7,July,1963,J. Kondo;
106    cacm  388    0  5  7      July 1962  b4 A60
 M. L. Johnson; W. Sangren;
 Complex Number to a Real Power
 complex function;real powers;
 R,cacm,557,5,11,November,1962,G. W. {Erwin Jr.};
107    cacm  388    0  5  7      July 1962  f4 A60
 J. W. Counts;
 {Gauss}'s Method
 obsolete;linear system;simultaneous linear equations;
 R,cacm,39,6,1,January,1963,P. Naur;
+R,cacm,445,6,8,August,1963,P. Naur;
108    cacm  388    0  5  7      July 1962 s13 A60
 Y. A. Kruglyak; D. R. Whitman;
 Definite Exponential Integrals {A}
 exponential integral;recurrence relation;recursion formula;
 C,cacm,393,5,7,July,1962,Y. A. Kruglyak and D. R. Whitman;
109    cacm  388  389  5  7      July 1962 s13 A60
 Y. A. Kruglyak; D. R. Whitman;
 Definite Exponential Integrals {B}
 exponential integral;recurrence relation;recursion formula;
 C,cacm,393,5,7,July,1962,Y. A. Kruglyak and D. R. Whitman;
110    cacm  389  390  5  7      July 1962 s22 A60
 Y. A. Kruglyak; D. R. Whitman;
 Quantum Mechanical Integrals of {Slater}-Type Orbitals
 quantum mechanical integral;Slater-type orbitals;
 C,cacm,393,5,7,July,1962,Y. A. Kruglyak and D. R. Whitman;
111    cacm  390  391  5  7      July 1962 s22 A60
 Y. A. Kruglyak; D. R. Whitman;
 Molecular-Orbital Calculation of Molecular Interactions
 molecular interactions;molecular-orbital calculation;
112    cacm  434    0  5  8    August 1962   z A60
 M. Shimrat;
 Position of Point Relative to Polygon
 simple closed polygon;
 C,cacm,606,5,12,December,1962,R. Hacker;
113    cacm  434    0  5  8    August 1962  m1 A60
 R. W. Floyd;
 Treesort
 obsolete;sorting;
114    cacm  434    0  5  8    August 1962  a1 A60
 F. Stockmal;
 Generation of Partitions with Constraints
 obsolete;permutation generation;
115    cacm  434  435  5  8    August 1962  g6 A60
 H. F. Trotter;
 Perm
 permutation generation;permutations;transposition;
 C,cacm,514,5,10,October,1962,G. F. Schrack;
+C,cacm,606,5,12,December,1962,E. S. Phillips;
116    cacm  435    0  5  8    August 1962  a2 A60
 R. L. Smith;
 Complex Division
 complex arithmetic;complex division;
117    cacm  435    0  5  8    August 1962   z A60
 D. M. Collinson;
 Magic Square (Even Order)
 magic square;
 C,cacm,440,5,8,August,1962,D. M. Collinson;
+C,cacm,39--40,6,1,January,1963,P. Naur;
+C,cacm,105,6,3,March,1963,K. M. Bosworth;
118    cacm  436    0  5  8    August 1962   z A60
 D. M. Collinson;
 Magic Square (Odd Order)
 magic square;
 C,cacm,440,5,8,August,1962,D. M. Collinson;
+C,cacm,606,5,12,December,1962,H. C. {Thacher Jr.};
+C,cacm,39--40,6,1,January,1963,P. Naur;
+C,cacm,105,6,3,March,1963,K. M. Bosworth;
119    cacm  436  437  5  8    August 1962   h A60
 B. Eisenman; M. Shapiro;
 Evaluation of a {Pert} Network
 network;network evaluation;Pert network;Pert network evaluation;
 C,cacm,330,8,5,May,1965,L. S. Coles;
120    cacm  437    0  5  8    August 1962  f1 A60
 R. George;
 Matrix Inversion {II}
 obsolete;matrix inversion;
 C,cacm,40,6,1,January,1963,P. Naur;
+R,cacm,445,6,8,August,1963,P. Naur;
121    cacm  482    0  5  9 September 1962  g5 A60
 D. Shafer;
 Normdev
 obsolete;normal random deviate;
 C,cacm,556,8,9,September,1965,M. C. Pike;
122    cacm  482  483  5  9 September 1962  f2 A60
 G. F. Dietzel;
 Tridiagonal Matrix
 obsolete;symmetric matrix;tridiagonal matrix;
 C,cacm,144--145,7,3,March,1964,P. Naur;
123    cacm  483    0  5  9 September 1962 s15 A60
 M. Crawford; R. Techo;
 Real Error Function ${\rm erf}(x)$
 obsolete;error function;
 C,cacm,316,6,6,June,1963,H. C. {Thacher Jr.};
+R,cacm,618,6,10,October,1963,D. Ibbetson;
+R,cacm,145,7,3,March,1964,S. P. Barton and J. F. Wagner;
+R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
124    cacm  483    0  5  9 September 1962 s17 A60
 L. J. Schaefer;
 {Hankel} Function
 Hankel function;
 C,cacm,790--791,8,12,December,1965,G. A. Reilly;
125    cacm  510  511  5 10   October 1962  d1 A60
 H. Rutishauser;
 Weightcoeff
 Gaussian coefficients;Gaussian integration;Gaussian quadrature;
+numerical integration;qd-algorithm;quadrature;
126    cacm  511    0  5 10   October 1962  f4 A60
 J. W. Counts;
 {Gauss}' Method
 obsolete;linear system;simultaneous linear equations;
127    cacm  511  513  5 10   October 1962  f5 A60
 P. J. Walsh;
 Ortho
 approximation;orthogonalization;
 C,cacm,122,13,2,February,1970,I. Barrodale;
128    cacm  513    0  5 10   October 1962  c6 A60
 M. Wells;
 Summation of {Fourier} Series
 Fourier series;Fourier series summation;function approximation;
+trigonometric series;
 R,cacm,421,7,7,July,1964,H. C. {Thacher Jr.};
129    cacm  550  551  5 11  November 1962  e4 A60
 V. W. Whitley;
 Minifun
 obsolete;function minimization;
 R,cacm,521,6,9,September,1963,E. J. Wasscher;
130    cacm  551    0  5 11  November 1962  g6 A60
 B. C. Eaves;
 Permute
 obsolete;permutation generation;
 R,cacm,452--453,10,7,July,1967,R. J. Ord-Smith;
131    cacm  551    0  5 11  November 1962  c1 A60
 V. H. Smith; M. L. Allen;
 Coefficient Determination
 coefficient determination;power series;power series quotient;
132    cacm  551  553  5 11  November 1962 s22 A60
 J. C. Browne;
 Quantum Mechanical Integrals Over all {Slater}-Type Integrals
 quantum mechanical integral;Slater-type integral;
133    cacm  553    0  5 10   October 1962  g5 A60
 P. G. Behrenz;
 Random
 obsolete;random number generator;uniform distribution;
 C,cacm,606,5,12,December,1962,P. G. Behrenz;
+R,cacm,105,6,3,March,1963,D. L. Laughlin;
+C,cacm,167,6,4,April,1963,J. H. {Poole Jr.};
134    cacm  553    0  5 11  November 1962  c1 A60
 H. C. Fettis;
 Exponential of Series
 obsolete;power series exponentiation;
 C,cacm,390,6,7,July,1963,H. C. {Thacher Jr.};
135    cacm  553  555  5 11  November 1962  f4 A60
 W. M. McKeeman;
 {Crout} with Equilibration and Iteration
 Crout reduction;equilibration;linear system;simultaneous linear equations;
 C,cacm,557,5,11,November,1962,W. M. McKeeman;
+R,cacm,421,7,7,July,1964,W. H. McKeeman;
+R,cacm,104,8,2,February,1965,L. P. Meissner;
136    cacm  555    0  5 11  November 1962   z A60
 M. Wells;
 Enlargement of a Group
 obsolete;group computations;
137    cacm  555    0  5 11  November 1962  o2 A60
 D. M. Dahm; M. Wells;
 Nesting of For Statement {I}
 obsolete;programming languages;
138    cacm  555  556  5 11  November 1962  o2 A60
 D. M. Dahm; M. Wells;
 Nesting of For Statement {II}
 obsolete;programming languages;
139    cacm  556    0  5 11  November 1962  a1 A60
 J. E. L. Peck;
 Solutions of the {Diophantine} Equation
 obsolete;linear Diophantine equations;
 C,cacm,170--171,8,3,March,1965,H. J. Bowlden;
140    cacm  556    0  5 11  November 1962  f1 A60
 P. Z. Ingerman;
 Matrix Inversion
 obsolete;matrix inversion;
 C,cacm,448,6,8,August,1963,R. George;
141    cacm  556    0  5 11  November 1962   h A60
 P. Z. Ingerman;
 Path Matrix
 boolean matrix;network;
142    cacm  603    0  5 12  December 1962  g2 A60
 W. L. Hafley; J. S. Lewis;
 Triangular Regression
 correlation matrix;multiple regression;
143    cacm  604    0  5 12  December 1962  m1 A60
 A. F. {Kaupe Jr.};
 Treesort 1
 sorting;tree sort;
144    cacm  604    0  5 12  December 1962  m1 A60
 A. F. {Kaupe Jr.};
 Treesort 2
 sorting;tree sort;
145    cacm  604    0  5 12  December 1962  d1 A60
 W. M. McKeeman;
 Adaptive Numerical Integration by {Simpson}'s Rule
 adaptive integration;adaptive quadrature;numerical integration;quadrature;
+Simpson's rule;
 C,cacm,167--168,6,4,April,1963,W. M. McKeeman;
+R,cacm,171,8,3,March,1965,M. C. Pike;
146    cacm  604  605  5 12  December 1962  d1 A60
 W. M. McKeeman;
 Multiple Integration
 multiple integration;numerical integration;quadrature;
 C,cacm,296,7,5,May,1964,N. Wirth;
147    cacm  605    0  5 12  December 1962 s14 A60
 D. Amit;
 {PSIF}
 gamma function;logarithmic derivative;psi function;recurrence relation;
+recursion formula;
 C,cacm,168,6,4,April,1963,H. C. {Thacher Jr.};
+C,cacm,691--692,12,12,December,1969,R. G. Parsons;
148    cacm  605    0  5 12  December 1962   z A60
 D. M. Collinson;
 Term of Magic Square
 magic square;
 C,cacm,168,6,4,April,1963,D. Thoro;
+C,cacm,168,6,4,April,1963,J. N. R. Narnewt;
149    cacm  605    0  5 12  December 1962 s21 A60
 J. N. Merner;
 Complete Elliptic Integral
 obsolete;complete elliptic integral;
 C,cacm,166--167,6,4,April,1963,H. C. {Thacher jr.};
+R,toms,95,4,1,March,1978,O. Skovgaard;
150    cacm   67   68  6  2  February 1963  f1 A60
 H. Rutishauser;
 {SYMINV}2
 matrix inversion;symmetric matrix;
 R,cacm,390,6,7,July,1963,A. {Evans Jr.};
+R,cacm,390,6,7,July,1963,H. Rutishauser;
+C,cacm,148,7,3,March,1964,P. Naur;
151    cacm   68    0  6  2  February 1963  m1 A60
 H. F. Walter;
 Location of a Vector in a Lexicographically Ordered List
 lexicographic ordering;searching;
152    cacm   68    0  6  2  February 1963  g6 A60
 J. Hopley;
 {NEXCOM}
 combination generation;combinations;
 R,cacm,385,6,7,July,1963,J. Hopley;
153    cacm   68    0  6  2  February 1963   h A60
 F. L. Bauer;
 {GOMORY}
 obsolete;integer programming;linear programming;
 C,cacm,449,6,8,August,1963,B. Lefkowitz and D. A. D'Esopo;
154    cacm  103    0  6  3     March 1963  g6 A60
 C. J. Mifsud;
 Combination in Lexicographical Order
 combination generation;combinations;lexicographic order;
 C,cacm,449,6,8,August,1963,K. M. Bosworth;
155    cacm  103    0  6  3     March 1963  g6 A60
 C. J. Mifsud;
 Combination in Any Order
 combination generation;combinations;
 C,cacm,449,6,8,August,1963,K. M. Bosworth;
156    cacm  103    0  6  3     March 1963  g6 A60
 C. J. Mifsud;
 Algebra of Sets
 algebra of sets;combinations;
 C,cacm,450,6,8,August,1963,K. M. Bosworth;
157    cacm  103    0  6  3     March 1963  c6 A60
 C. J. Mifsud;
 {Fourier} Series Approximation
 Fourier series;Fourier series approximation;function approximation;
+trigonometric series;
 R,cacm,521--522,6,9,September,1963,R. George;
+R,cacm,618,6,10,October,1963,G. R. Schubert;
158    cacm  104    0  6  3     March 1963  c1 A60
 H. E. Fettis;
 Exponentiation of Series
 coefficient determination;power series;power series exponentiation;
 C,cacm,390,6,7,July,1963,H. C. {Thacher Jr.};
+C,cacm,522,6,9,September,1963,J. D. Lawrence;
159    cacm  104    0  6  3     March 1963  f3 A60
 D. W. Digby;
 Determinant
 obsolete;determinant;
 C,cacm,739,6,12,December,1963,A. Lapidus;
160    cacm  161    0  6  4     April 1963  g6 A60
 M. L. Wolfson; H. V. Wright;
 Combinatorial of ${M}$ Things Taken ${N}$ at a Time
 combinations;
 C,cacm,450,6,8,August,1963,D. Thoro;
+C,cacm,618,6,10,October,1963,R. F. Blakely;
161    cacm  161    0  6  4     April 1963  g6 A60
 H. V. Wright; M. L. Wolfson;
 Combinatorial of ${M}$ Things Taken One at a Time, Two at a Time, Up to ${N}$
+ at a Time
 combinations;
 C,cacm,450,6,8,August,1963,D. Thoro;
+C,cacm,619,6,10,October,1963,D. H. Collins;
162    cacm  161    0  6  4     April 1963  j6 A60
 F. G. Stockton;
 {XYMOVE} Plotting
 incremental plotter;plot;
 C,cacm,450,6,8,August,1963,W. E. Fletcher;
+R,cacm,482,7,8,August,1964,D. K. Cavin;
163    cacm  161  162  6  4     April 1963 s17 A60
 H. E. Fettis;
 Modified {Hankel} Function
 modified Hankel function;
 C,cacm,522,6,9,September,1963,H. C. {Thacher Jr.};
164    cacm  162  163  6  4     April 1963  e2 A60
 R. E. Clark; R. N. Kubik; L. P. Phillips;
 Orthogonal Polynomial Least Squares Surface Fit
 least squares solution;orthogonal polynomials;surface approximation;
+surface fitting;
 C,cacm,450,6,8,August,1963,C. U. Bitterli;
165    cacm  163  164  6  4     April 1963 s21 A60
 H. C. {Thacher Jr.};
 Complete Elliptic Integrals
 complete elliptic integral;complete elliptic integral of the first kind;
+complete elliptic integral of the second kind;elliptic integral;
 C,cacm,38,12,1,January,1969,I. Farkas;
166    cacm  164    0  6  4     April 1963  f1 A60
 R. D. Rodman;
 {MonteCarlo}
 matrix inversion;Monte Carlo;
 R,cacm,523,6,9,September,1963,R. D. Rodman;
167    cacm  164  165  6  4     April 1963  e1 A60
 W. Kahan; I. Farkas;
 Calculation of Confluent Divided Differences
 confluent divided differences;divided differences;
 C,cacm,523,6,9,September,1963,H. C. {Thacher Jr.};
168    cacm  165    0  6  4     April 1963  e1 A60
 W. Kahan; I. Farkas;
 {Newton} Interpolation with Backward Divided Differences
 backward divided differences;Newton interpolation;
 C,cacm,523,6,9,September,1963,H. C. {Thacher Jr.};
169    cacm  165    0  6  4     April 1963  e1 A60
 W. Kahan; I. Farkas;
 {Newton} Interpolation with Forward Divided Differences
 forward divided differences;Newton interpolation;
 C,cacm,523,6,9,September,1963,H. C. {Thacher Jr.};
170    cacm  165  166  6  4     April 1963  f3 A60
 P. E. Hennion;
 Reduction of a Matrix Containing Polynomial Elements
 determinant;polynomial elements;
 R,cacm,450,6,8,August,1963,P. E. Hennion;
+C,cacm,421,7,7,July,1964,K. B. Priebe;
173    cacm  311    0  6  6      June 1963  k2 A60
 O. H\'{a}jek;
 {ASSIGN}
 array assignment;relocation;
 C,cacm,619,6,10,October,1963,R. S. Scowen;
+C,cacm,619,6,10,October,1963,Z. Filsak and L. Vrchoveck{\'{a}};
174    cacm  311  312  6  6      June 1963  c2 A60
 A. Gibb;
 A Posteriori Bounds on a Zero of a Polynomial
 polynomial zeros;range arithmetic;
175    cacm  312  313  6  6      June 1963  m1 A60
 C. J. Shaw; T. N. Trimble;
 Shuttle Sort
 shuttle sort;sorting;
 C,cacm,619,6,10,October,1963,G. R. Schubert;
+R,cacm,739,6,12,December,1963,O. C. Juelich;
+R,cacm,296,7,5,May,1964,O. C. Juelich;
176    cacm  313    0  6  6      June 1963  e2 A60
 T. D. Arthurs;
 Least Squares Surface Fit
 least squares solution;surface approximation;surface fitting;
 R,cacm,1073,15,12,December,1972,E. Schuegraf;
177    cacm  313    0  6  6      June 1963  e2 A60
 M. J. Synge;
 Least Squares Solution with Constraints
 least squares solution;surface approximation;surface fitting;
 R,cacm,390,6,7,July,1963,M. J. Synge;
178    cacm  313  314  6  6      June 1963  e4 A60
 A. F. {Kaupe Jr.};
 Direct Search
 direct search;function minimization;searching;
 R,cacm,684--685,9,9,September,1966,M. Bell and M. C. Pike;
+R,cacm,498,11,7,July,1968,R. De Vogelaere;
+R,cacm,637--638,12,11,November,1969,F. K. Tomlin and L. B. Smith;
+R,cacm,638,12,11,November,1969,L. B. Smith;
179    cacm  314    0  6  6      June 1963 s14 A60
 O. G. Ludwig;
 Incomplete Beta Ratio
 beta function;beta function ratio;incomplete beta function ratio;
 R,cacm,375--376,10,6,June,1967,M. C. Pike and I. D. Hill;
+R,cacm,156--157,17,3,March,1974,N. E. Bosten and E. L. Battiste;
+R,toms,207--208,2,2,June,1976,
+M. C. Pike and J. SooHoo and N. E. Bosten and T. J. Aird;
180    cacm  314  315  6  6      June 1963 s15 A60
 H. C. {Thacher Jr.};
 Error Function -- Large $x$
 obsolete;error function;
 R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
181    cacm  315    0  6  6      June 1963 s15 A60
 H. C. {Thacher Jr.};
 Complimentary Error Function -- Large $x$
 obsolete;complementary error function;
 C,cacm,702,7,12,December,1964,I. Clausen and L. Hansson;
+R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
182    cacm  315    0  6  6      June 1963  d1 A60
 W. M. McKeeman; L. Tesler;
 Nonrecursive Adaptive Integration
 adaptive integration;adaptive quadrature;numerical integration;quadrature;
+Simpson's rule;
 C,cacm,244,7,4,April,1964,H. S. Butler;
183    cacm  315  316  6  6      June 1963  f2 A60
 H. R. Schwarz;
 Reduction of a Symmetric Bandmatrix to Triple Diagonal Form
 band matrix;matrix reduction;symmetric matrix;tridiagonal matrix;
184    cacm  386    0  6  7      July 1963 s22 A60
 A. Colker;
 {Erlang} Probability for Curve Fitting
 curve fitting;Erlang probability function;
185    cacm  386    0  6  7      July 1963 s15 A60
 A. Colker;
 Normal Probability for Curve Fitting
 curve fitting;error function;normal distribution;
186    cacm  386  387  6  7      July 1963  a2 A60
 R. P. {van de Riet};
 Complex Arithmetic
 complex arithmetic;
187    cacm  387    0  6  7      July 1963  e1 A60
 R. P. {van de Riet};
 Differences and Derivatives
 numerical differentiation;
188    cacm  387    0  6  7      July 1963  e3 A60
 F. Rodriguez-Gil;
 Smoothing 1.
 smoothing;
189    cacm  387    0  6  7      July 1963  e3 A60
 F. Rodriguez-Gil;
 Smoothing 2.
 smoothing;
190    cacm  388    0  6  7      July 1963  b4 A60
 A. P. Relph;
 Complex Power
 complex function;complex powers;
191    cacm  388  389  6  7      July 1963 s22 A60
 A. P. Relph;
 Hypergeometric
 hypergeometric function;
 C,cacm,244,7,4,April,1964,H. C. {Thacher Jr.};
+R,cacm,589--590,17,10,October,1974,H. Kopperlaar;
192    cacm  388    0  6  7      July 1963 s22 A60
 A. P. Relph;
 Confluent Hypergeometric
 confluent hypergeometric function;
 C,cacm,244,7,4,April,1964,H. C. {Thacher Jr.};
193    cacm  388    0  6  7      July 1963  c1 A60
 H. E. Fettis;
 Reversion of Series
 coefficient determination;power series;power series reversion;
 C,cacm,745,6,12,December,1963,H. C. {Thacher Jr.};
194    cacm  441    0  6  8    August 1963  d2 A60
 C. Domingo;
 {ZERSOL}
 ordinary differential equations;Runge-Kutta method;
195    cacm  441    0  6  8    August 1963  f4 A60
 D. H. Thurnau;
 {BANDSOLVE}
 band matrix;linear system;simultaneous linear equations;
 R,cacm,1074,15,12,December,1972,E. Schuegraf;
196    cacm  442  443  6  8    August 1963  c5 A60
 R. D. Rodman;
 {Muller}'s Method for Finding Roots of an Arbitrary Function
 function zeros;Muller's method;
 C,cacm,12--14,11,1,January,1968,V. W. Whitley;
197    cacm  443    0  6  8    August 1963  f1 A60
 M. Wells;
 Matrix Division
 matrix division;symmetric matrix;positive definite matrix;
 C,cacm,148,7,3,March,1964,M. Wells;
198    cacm  443  444  6  8    August 1963  d1 A60
 W. M. McKeeman;
 Adaptive Integration and Multiple Integration
 multiple integration;Newton-Cotes formula;numerical integration;quadrature;
199    cacm  444    0  6  8    August 1963   z A60
 R. G. Tantzen;
 Conversions Between Calendar Date and {Julian} Day Number
 calendar;Gregorian calendar;Julian day number;
 C,cacm,661,7,11,November,1964,D. K. Oppenheim;
200    cacm  444    0  6  8    August 1963  g5 A60
 R. George;
 Normal Random
 obsolete;normal random deviate;
 C,cacm,556,8,9,September,1965,M. C. Pike;
201    cacm  445    0  6  8    August 1963  m1 A60
 J. Boothroyd;
 Shellsort
 shell sort;sorting;
 C,cacm,349,7,6,June,1964,M. A. Batty;
+R,cacm,373--374,13,6,June,1970,J. P. Chandler and W. C. Harrison;
+R,cacm,143--152,17,3,March,1974,R. Loser;
202    cacm  517    0  6  9 September 1963  g6 A60
 M-K. Shen;
 Generation of Permutations in Lexicographical Order
 obsolete;permutation generation;
 C,cacm,556,8,9,September,1965,R. W. Elliot;
+R,cacm,452--453,10,7,July,1967,R. J. Ord-Smith;
203    cacm  517  519  6  9 September 1963  e4 A60
 E. J. Wasscher;
 {STEEP}1
 function minimization;method of steepest descent;
 C,cacm,585,7,10,October,1964,P. Wallack;
+C,cacm,171,8,3,March,1965,J. M. Varah;
204    cacm  519    0  6  9 September 1963  e4 A60
 E. J. Wasscher;
 {STEEP}2
 function minimization;method of steepest descent;
205    cacm  519    0  6  9 September 1963  e4 A60
 J. G. A. Haubrich;
 {ATIVE}
 function minimization;method of steepest descent;
 R,cacm,171,8,3,March,1965,E. J. Wasscher;
206    cacm  519    0  6  9 September 1963  b1 A60
 M. Konda;
 Arccossin
 arccosine;arcsine;inverse cosine;inverse sine;inverse trigonometric function;
 R,cacm,104--105,8,2,February,1965,H. J. Bowlden;
207    cacm  615    0  6 10   October 1963  m1 A60
 J. Boothroyd;
 Stringsort
 sorting;string sort;
 C,cacm,585,7,10,October,1964,C. R. Blair;
+R,cacm,143--152,17,3,March,1974,R. Loser;
208    cacm  615  616  6 10   October 1963  g1 A60
 W. T. {Foreman Jr.};
 Discrete Convolution
 discrete convolution;probability distribution;sum of random variables;
209    cacm  616    0  6 10   October 1963 s15 A60
 D. Ibbetson;
 {Gauss}
 obsolete;normal distribution;
 C,cacm,148,7,3,March,1964,G. W. Gladfelter;
+C,cacm,482,7,8,August,1964,M. C. Pike;
+R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
210    cacm  616    0  6 10   October 1963  e1 A60
 G. R. Schubert;
 {Lagrangian} Interpolation
 obsolete;Lagrange interpolating polynomial;
 C,cacm,619,6,10,October,1963,T. A. Dwyer;
211    cacm  617    0  6 10   October 1963  e1 A60
 G. R. Schubert;
 {Hermite} Interpolation
 Hermite interpolation;interpolation;
212    cacm  617    0  6 10   October 1963  g1 A60
 M. D. Gray;
 Frequency Distribution
 frequency distribution;
213    cacm  617    0  6 10   October 1963 s20 A60
 M. D. Gray;
 {Fresnel} Integrals
 obsolete;Fresnel integrals;
 C,cacm,661,7,11,November,1964,M. Gray;
214    cacm  662    0  6 11  November 1963 s18 A60
 J. M. S. Sim{\~{o}}es Pereira;
 $q$-{Bessel} Functions ${I}_n (t)$
 q-Bessel function;series expansion;
 R,cacm,349,7,6,June,1964,J. M. S. Sim{\~{o}}es Pereira;
215    cacm  662    0  6 11  November 1963  c6 A60
 H. C. {Thacher Jr.};
 {Shanks}
 e(k) transforms;epsilon algorithm;
 C,cacm,297,7,5,May,1964,L. Schumaker;
216    cacm  663    0  6 11  November 1963  e3 A60
 R. George;
 Smooth
 smoothing;
217    cacm  737    0  6 12  December 1963   h A60
 W. A. Briggs;
 Minimum Excess Cost Curve
 critical path scheduling;network evaluation;network flow;Pert network;
+Pert network evaluation;
 R,cacm,573,11,8,August,1968,J. F. Muth;
218    cacm  737  738  6 12  December 1963  d2 A60
 P. M. Lukehard;
 {Kutta} {Merson}
 ordinary differential equations;Kutta-Merson method;
 C,cacm,585--586,7,10,October,1964,K. B. Priebe;
+R,cacm,273,9,4,April,1966,G. Bayer;
219    cacm  738  739  6 12  December 1963   h A60
 R. H. Kase;
 Topological Ordering for {Pert} Networks
 Pert network;topological ordering;
 R,toms,303,3,3,September,1977,D. Tenney;
220    cacm  739    0  6 12  December 1963  f4 A60
 P. W. Shantz;
 {Gauss}-{Seidel}
 Gauss-Seidel iteration;linear system;simultaneous linear equations;
 R,cacm,349,7,6,June,1964,A. P. Batson and N. Wirth;
221    cacm  143    0  7  3     March 1964 s14 A60
 W. Gautschi;
 Gamma Function
 obsolete;gamma function;
 C,cacm,586,7,10,October,1964,V-K. McCombs;
+R,cacm,685--686,9,9,September,1966,M. C. Pike and I. D. Hill;
222    cacm  143  144  7  3     March 1964 s14 A60
 W. Gautschi;
 Incomplete Beta Function Ratios
 beta function;beta function ratio;incomplete beta function ratio;
 C,cacm,244,7,4,April,1964,W. Gautschi;
223    cacm  243    0  7  4     April 1964  a1 A60
 M. Shimrat;
 Prime Twins
 obsolete;prime number generation;twin primes;
224    cacm  243  244  7  4     April 1964  f3 A60
 L. T. Rotenberg;
 Evaluation of Determinant
 determinant;triangularization;
 C,cacm,702,7,12,December,1964,V. Hasselblad and J. Rulifson;
225    cacm  295    0  7  5       May 1964 s14 A60
 S. J. Cyvin; B. N. Cyvin;
 Gamma Function with Controlled Accuracy
 obsolete;gamma function;
 C,cacm,586,7,10,October,1964,T. A. Bray;
226    cacm  295    0  7  5       May 1964 s15 A60
 S. J. Vyvin;
 Normal Distribution Function
 obsolete;normal distribution;
 R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
227    cacm  295    0  7  5       May 1964 s22 A60
 S. J. Cyvin;
 {Chebyshev} Polynomial Coefficients
 Chebyshev polynomial;polynomial coefficients;
228    cacm  295  296  7  5       May 1964 s18 A60
 J. M. S. Sim{\~{o}}es Pereira;
 ${Q}$-{Bessel} Functions $\bar{{I}}_{n} (t)$
 q-Bessel function;series expansion;
229    cacm  296    0  7  5       May 1964  b1 A60
 J. C. Morelock;
 Elementary Functions by Continued Fractions
 continued fraction;Pade table;
 C,cacm,692,12,12,December,1969,T. A. Bray;
230    cacm  347    0  7  6      June 1964  f1 A60
 J. Boothroyd;
 Matrix Permutation
 matrix permutation;pivoting;
231    cacm  347    0  7  6      June 1964  f1 A60
 J. Boothroyd;
 Matrix Inversion
 complete pivoting;Gaussian elimination;matrix inversion;pivoting;
 R,cacm,220,8,4,April,1965,M. Ferring;
232    cacm  347  348  7  6      June 1964  m1 A60
 J. W. J. Williams;
 Heapsort
 heap sort;sorting;
233    cacm  348  349  7  6      June 1964  d1 A60
 F. Olynyk;
 {Simpson}'s Rule for Multiple Integration
 multiple integration;numerical integration;quadrature;Simpson's rule;
 R,cacm,512,13,8,August,1970,L. G. Proll;
234    cacm  420    0  7  7      July 1964 s23 A60
 J. M. S. Sim{\~{o}}es Pereira;
 {Poisson}-{Charlier} Polynomials
 function evaluation;Poisson-Charlier polynomials;polynomial evaluation;
 R,cacm,105,8,2,February,1965,P. A. Samet;
235    cacm  420    0  7  7      July 1964  g6 A60
 R. Durstenfeld;
 Random Permutation
 permutation generation;permutations;random permutations;
 R,cacm,445,8,7,July,1965,M. C. Pike;
236    cacm  479  480  7  8    August 1964 s17 A60
 W. Grautschi;
 {Bessel} Functions of the First Kind
 Bessel function;
 C,cacm,105--106,8,2,February,1965,W. Gautschi;
+R,toms,282--284,1,3,September,1975,O. Skovgaard;
237    cacm  481    0  7  8    August 1964  a1 A60
 J. E. L. Peck;
 Greatest Common Divisor
 obsolete;greatest common divisor;Euclidian algorithm;
 C,cacm,702,7,12,December,1964,T. A. Bray;
238    cacm  481    0  7  8    August 1964  f4 A60
 C. M. Reeves;
 Conjugate Gradient Method
 conjugate gradient method;linear system;simultaneous linear equations;
239    cacm  481  482  7  8    August 1964  i5 A60
 W. M. McKeeman;
 Free Field Read
 free format input;input;input procedure;
240    cacm  546    0  7  9 September 1964   z A60
 E. Dorrer;
 Coordinates On An Ellipsoid
 ellipsoid;geodesic;
241    cacm  546    0  7  9 September 1964  b1 A60
 K. W. Mills;
 Arctangent
 arctangent;complex argument;complex function;inverse tangent;
+inverse trigonometric function;
242    cacm  585    0  7 10   October 1964  g6 A60
 T. W. Sag;
 Permutations of a Set With Repetitions
 permutation generation;permutations;
243    cacm  660    0  7 11  November 1964  b3 A60
 D. S. Collens;
 Logarithm of a Complex Number
 complex function;complex logarithm;
 C,cacm,279,8,5,May,1965,J. Boothroyd;
244    cacm  660  661  7 11  November 1964 s20 A60
 H. Lotsch;
 {Fresnel} Integrals
 Fresnel cosine integral;Fresnel integral;Fresnel sine integral;
245    cacm  701    0  7 12  December 1964  m1 A60
 R. W. Floyd;
 Treesort 3
 sorting;tree sort;
 C,cacm,445,8,7,July,1965,P. S. Abrams;
+C,cacm,371--373,13,6,June,1970,R. L. London;
+R,cacm,143--152,17,3,March,1974,R. Loser;
246    cacm  701    0  7 12  December 1964   z A60
 J. Boothroyd;
 Graycode
 Gray code;
 C,cacm,382,8,6,June,1965,W. D. Allen;
+R,toms,285,1,3,September,1975,J. Misra;
+R,toms,441--443,11,4,December,1985,M. C. Er;
247    cacm  701    0  7 12  December 1964  g5 A60
 J. H. Halton; G. B. Smith;
 Radical-Inverse Quasi-Random Point Sequence
 pseudo-random point generator;pseudo-random points;
248    cacm  103  104  8  2  February 1965   h A60
 W. A. Briggs;
 Netflow
 obsolete;network flow;
 R,cacm,633,11,9,September,1968,
+J. H. Henderson and R. M. Knapp and M. E. Volberding;
+R,cacm,633,11,9,September,1968,T. A. Bray and C. Witzgall;
249    cacm  104    0  8  2  February 1965  i5 A60
 N. E. Wirth;
 Outreal ${N}$
 free format output;output;output procedure;
250    cacm  104    0  8  2  February 1965  g6 A60
 B. N. Boonstra;
 Inverse Permutation
 inverse permutation;permutations;
 R,cacm,670,8,11,November,1965,C. W. Medlock;
251    cacm  169  170  8  3     March 1965  e4 A60
 M. Wells;
 Function Minimisation
 function minimization;
 C,cacm,686--687,9,9,September,1966,R. Fletcher;
+R,cacm,512--513,12,9,September,1969,P. A. Hamilton and J. Boothroyd;
+R,cacm,358,14,5,May,1971,F. R. House;
252    cacm  217    0  8  4     April 1965   z A60
 J. H. Gunn;
 Vector Coupling or {Clebsch}-{Gordan} Coefficients
 Clebsch-Gordan coefficients;vector coupling;
253    cacm  217  218  8  4     April 1965  f2 A60
 P. A. Businger;
 Eigenvalues of a Real Symmetric Matrix by the {QR} Method
 obsolete;eigenvalues;symmetric matrix;qr-algorithm;
 C,cacm,376,10,6,June,1967,J. H. Welsch;
254    cacm  218  219  8  4     April 1965  f2 A60
 P. A. Businger;
 Eigenvalues and Eigenvectors of a Real Symmetric Matrix by the {QR} Method
 eigenvalues;eigenvectors;qr-algorithm;symmetric matrix;
 C,cacm,376--377,10,6,June,1967,J. H. Welsch;
255    cacm  279    0  8  5       May 1965  c6 A60
 L. Teijelo;
 Computation of {Fourier} Coefficients
 Filon's method;Fourier coefficients;function approximation;
+trigonometric series;
 C,cacm,636,12,11,November,1969,G. Hall and V. A. Ray;
256    cacm  379  380  8  6      June 1965  c2 A60
 A. A. Grau;
 Modified {Graeffe} Method
 Graeffe method;polynomial zeros;
 R,cacm,687,9,9,September,1966,G. Stern;
257    cacm  381    0  8  6      June 1965  d1 A60
 R. N. Kubik;
 {Havie} Integrator
 Havie integration;numerical integration;quadrature;
 C,cacm,795,9,11,November,1966,K. Hillstrom;
+C,cacm,871,9,12,December,1966,I. Farkas;
258    cacm  381  382  8  6      June 1965   h A60
 G. Bayer;
 Transport
 obsolete;network flow;
 R,cacm,445,8,7,July,1965,G. Bayer;
+C,cacm,453,10,7,July,1967,L. S. Sims;
259    cacm  488  492  8  8    August 1965 s16 A60
 W. Grautschi;
 {Legendre} Functions for Arguments Larger than One
 associated Legendre function of the first kind;
 R,toms,204--205,3,2,June,1977,J. K. M. Jansen;
260    cacm  492    0  8  8    August 1965   z A60
 J. H. Gunn;
 6-$j$ Symbols
 6-j symbols;
261    cacm  492  493  8  8    August 1965   z A60
 J. H. Gunn;
 9-$j$ Symbols
 9-j symbols;
262    cacm  493    0  8  8    August 1965  a1 A60
 J. K. S. McKay;
 Number of Restricted Partitions of ${N}$
 obsolete;partition generation;
263    cacm  493    0  8  8    August 1965  a1 A60
 J. K. S. McKay;
 Partition Generator
 obsolete;partition generation;
263A   cacm  601  602  8 10   October 1965  a1 A60
 H. Langmaack;
 Gomory 1
 obsolete;partition generation;
 C,cacm,326,13,5,May,1970,L. G. Proll;
264    cacm  493    0  8  8    August 1965   h A60
 J. K. S. McKay;
 Map of Partitions into Integers
 dual method;integer programming;linear programming;
264A   cacm  602  604  8 10   October 1965  e1 A60
 J. Stafford;
 Interpolation in a Table
 interpolation;Neville's algorithm;table interpolation;
265    cacm  604  605  8 10   October 1965  l2 A60
 N. Wirth;
 Find Precedence Functions
 compiling;precedence function;precedence grammar;
266    cacm  605  606  8 10   October 1965  g5 A60
 M. C. Pike; I. D. Hill;
 Pseudo-Random Numbers
 pseudo-random number;pseudo-random number generator;random number;
+random number generator;uniform distribution;
 R,cacm,687,9,9,September,1966,L. Hansson;
+R,cacm,687,9,9,September,1966,M. C. Pike and I. D. Hill;
+C,cacm,1072--1073,15,12,December,1972,W. L. Sullins;
267    cacm  606    0  8 10   October 1965  g5 A60
 M. C. Pike;
 Random Normal Deviate
 normal distribution;pseudo-random number;pseudo-random number generator;
+random normal deviate;random number;random number generator;
268    cacm  667  668  8 11  November 1965  o2 A60
 W. M. McKeeman;
 {Algol} 60 Reference Language Editor
 symbol manipulation;
 R,cacm,407,12,7,July,1969,G. Sauer;
269    cacm  668    0  8 11  November 1965  f3 A60
 J. Pfann; J. Straka;
 Determinant Evaluation
 determinant;Gaussian elimination;triangularization;
 C,cacm,686,9,9,September,1966,A. Bergson;
270    cacm  668  669  8 11  November 1965  f2 A60
 A. Newhouse;
 Finding Eigenvalues by {Gaussian} Elimination
 eigenvalues;eigenvectors;Gaussian elimination;
271    cacm  669  670  8 11  November 1965  m1 A60
 R. S. Scowen;
 Quickersort
 obsolete;sorting;
 C,cacm,354,9,5,May,1966,C. R. Blair;
+R,cacm,143--152,17,3,March,1974,R. Loser;
272    cacm  789  790  8 12  December 1965 s15 A60
 M. D. MacLaren;
 Procedure for the Normal Distribution Functions
 obsolete;normal distribution;
 R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
+R,cacm,498,11,7,July,1968,M. D. MacLaren;
273    cacm   11    0  9  1   January 1966  c1 A60
 H. C. {Thacher Jr.};
 {SERREV}
 coefficient determination;power series;transcendental equations;
274    cacm   11   12  9  1   January 1966  f1 A60
 J. Boothroyd;
 Generation of {Hilbert} Derived Test Matrix
 Hilbert matrix;test matrix;
 R,cacm,407--408,12,7,July,1969,J. Boothroyd;
275    cacm   85    0  9  2  February 1966  e2 A60
 G. R. Deily;
 Exponential Curve Fit
 curve approximation;curve fitting;exponential curve approximation;
+exponential curve fitting;exponential least squares solution;
+least squares solution;
276    cacm   85   86  9  2  February 1966  e2 A60
 G. R. Deily;
 Constrained Exponential Curve Fit
 constrained curve approximation;constrained curve fitting;
+constrained least squares solution;curve approximation;curve fitting;
+exponential constrained curve approximation;
+exponential constrained curve fitting;
+exponential constrained least squares solution;exponential curve approximation;
+exponential curve fitting;exponential least squares solution;
+least squares solution;
277    cacm   86   87  9  2  February 1966  c6 A60
 L. B. Smith;
 Computation of {Chebyshev} Series Coefficients
 Chebyshev coefficients;function approximation;
278    cacm   88    0  9  2  February 1966  j6 A60
 P. Lloyd;
 Graph Plotter
 obsolete;printer plotting;
279    cacm  270    0  9  4     April 1966  d1 A60
 F. R. A. Hopgood; C. Litherland;
 {Chebyshev} Quadrature
 Chebyshev integration;Chebyshev polynomial;Chebyshev quadrature;
+numerical integration;quadrature;
 R,cacm,434,9,6,June,1966,F. R. A. Hopgood and C. Litherland;
+C,cacm,294,10,5,May,1967,K. Hillstrom;
+R,cacm,666,10,10,October,1967,K. Hillstrom;
280    cacm  271    0  9  4     April 1966  d1 A60
 J. H. Welsch;
 Abscissas and Weights for {Gregory} Quadrature
 Gregory quadrature;numerical integration;quadrature;quadrature abscissae;
+quadrature coefficients;
281    cacm  271  272  9  4     April 1966  d1 A60
 J. H. Welsch;
 Abscissas and Weights for {Romberg} Quadrature
 numerical integration;quadrature;quadrature abscissae;quadrature coefficients;
+Romberg integration;Romberg quadrature;
 R,cacm,188,10,3,March,1967,J. Boothroyd;
282    cacm  272    0  9  4     April 1966 s22 A60
 W. Gautschi;
 Derivatives of $e^x /x$, $\cos(x)/x$ and $\sin(x)/x$
 derivative;differentiation;numerical differentiation;
 R,cacm,53--54,13,1,January,1970,W. Gautschi and B. J. Klein;
283    cacm  273    0  9  4     April 1966  c2 A60
 I. O. Kerner;
 Simultaneous Displacement of Polynomial Roots if Real and Simple
 polynomial zeros;
284    cacm  326    0  9  5       May 1966  k2 A60
 W. Fletcher;
 Interchange of Two Blocks of Data
 data interchange;relocation;
 R,toms,392--393,2,4,December,1976,M. R. Ito;
285    cacm  326  328  9  5       May 1966   h A60
 T. J. Aird;
 The Mutual Primal-Dual Method
 dual problem;linear programming;mutual primal-dual simplex method;
+primal problem;
 C,cacm,453,10,7,July,1967,H. Sp{\"{a}}th;
286    cacm  433  434  9  6      June 1966   h A60
 J. E. L. Peck; M. R. Williams;
 Examination Scheduling
 examination scheduling problem;graph;graph partitioning;map coloring problem;
 R,cacm,795,9,11,November,1966,R. Williams;
287    cacm  513    0  9  7      July 1966  f1 A60
 W. A. Blenkinship;
 Matrix Triangulation with Integer Arithmetic
 integer matrix;matrix triangularization;
288    cacm  514    0  9  7      July 1966  f4 A60
 W. A. Blenkinship;
 Solution of Simultaneous Linear {Diophantine} Equations
 linear system;simultaneous linear Diophantine equations;
289    cacm  514  518  9  7      July 1966  g1 A60
 I. D. Hill; M. C. Pike;
 Confidence Interval For a Ratio
 confidence interval;confidence interval for a ratio;
290    cacm  683  684  9  9 September 1966  f4 A60
 J. Boothroyd;
 Linear Equations Exact Solutions
 integer matrix;linear system;simultaneous linear equations;
291    cacm  684    0  9  9 September 1966 s14 A60
 M. C. Pike; I. D. Hill;
 Logarithm of Gamma Function
 gamma function;
 R,cacm,685--686,9,9,September,1966,M. C. Pike and I. D. Hill;
+R,cacm,14,11,1,January,1968,M. R. Hoare;
292    cacm  793  795  9 11  November 1966 s22 A60
 W. Gautschi;
 Regular {Coulomb} Wave Functions
 Coulomb wave function;regular Coulomb wave function;wave function;
 R,cacm,278--279,12,5,May,1969,K. S. K{\"{o}}lbig;
+R,cacm,280,12,5,May,1969,W. Gautschi;
+R,cacm,573,13,9,September,1970,W. J. Cody and K. Paciorek;
293    cacm  869  871  9 12  December 1966   h A60
 G. Bayer;
 Transportation Problem
 linear programming;transportation problem;
 C,cacm,453,10,7,July,1967,L. S. Sims;
+R,cacm,271--272,11,4,April,1968,G. Bayer;
294    cacm   40    0 10  1   January 1967  g5 A60
 W. M. Strome;
 Uniform Random
 multiplicative congruential method;pseudo-random number;
+pseudo-random number generator;random number;random number generator;
+uniform distribution;
295    cacm   87    0 10  2  February 1967  e2 A60
 H. Sp{\"{a}}th;
 Exponential Curve Fit
 curve approximation;curve fitting;exponential curve approximation;
+exponential curve fitting;exponential least squares solution;
+least squares solution;
296    cacm   87   88 10  2  February 1967  e2 A60
 G. J. Makinson;
 Generalized Least Squares Fit by Orthogonal Polynomials
 curve approximation;curve fitting;least squares solution;
+orthogonal polynomials;
 R,cacm,377,10,6,June,1967,G. J. Makinson;
+C,cacm,636--637,12,11,November,1969,W. T. Watson;
297    cacm  181  182 10  3     March 1967  f2 A60
 J. Boothroyd;
 Eigenvalues and Eigenvectors of the Symmetric System $({\bf A}-\lambda
+ {\bf B}){\bf X} = {\bf 0}$
 eigenvalues;eigenvectors;positive definite matrix;symmetric matrix;
+symmetric system;
298    cacm  182    0 10  3     March 1967  f1 A60
 H. Sp{\"{a}}th;
 Determination of the Square Root of a Positive Definite Matrix
 matrix square root;positive definite matrix;symmetric matrix;
 C,cacm,325--326,12,6,June,1969,B. J. Duke;
299    cacm  243  244 10  4     April 1967 s15 A60
 I. D. Hill; M. C. Pike;
 Chi-Squared Integral
 chi-squared integral;chi-squared test;
 C,cacm,271,11,4,April,1968,W. M. O'Brien and J. Wood;
+R,toms,393--395,2,4,December,1976,M. el Lozy;
+R,toms,185,11,2,June,1985,I. D. Hill and M. C. Pike;
300    cacm  244  245 10  4     April 1967 s22 A60
 J. H. Gunn;
 {Coulomb} Wave Functions
 Coulomb wave function;wave function;
 C,cacm,279--280,12,5,May,1969,K. S. K{\"{o}}lbig;
+R,cacm,692,12,12,December,1969,K. S. K{\"{o}}lbig;
+R,cacm,308--309,16,5,May,1973,H. Vos;
301    cacm  291  292 10  5       May 1967 s20 A60
 G. Bond; M. L. V. Pitteway;
 Airy Function
 Airy function;
 R,cacm,453,10,7,July,1967,M. L. V. Pitteway;
302    cacm  292  293 10  5       May 1967  k2 A60
 J. Boothroyd;
 Transpose Vector Stored Array
 array operation;array transposition;
 C,cacm,326,12,6,June,1969,I. D. G. MacLeod;
303    cacm  373  374 10  6      June 1967  d1 A60
 L. J. Gallaher;
 An Adaptive Quadrature Procedure with Random Panel Sizes
 adaptive integration;adaptive quadrature;numerical integration;quadrature;
+random number;Simpson's rule;
304    cacm  374  375 10  6      June 1967 s15 A60
 I. D. Hill; S. A. Joyce;
 Normal Curve Integral
 normal curve integral;
 R,cacm,377--378,10,6,June,1967,I. D. Hill and S. A. Joyce;
+C,cacm,271,11,4,April,1968,A. Bergson;
+R,cacm,565--566,12,10,October,1969,A. G. Adams;
+R,cacm,624,13,10,October,1970,B. Holmgren;
305    cacm  450    0 10  7      July 1967  c1 A60
 P. Bratley; J. K. S. McKay;
 Symmetric Polynomials
 schur function;symmetric polynomials;symmetric sum;unitary symmetric function;
 R,cacm,272,11,4,April,1968,J. K. S. McKay;
306    cacm  450  451 10  7      July 1967  g6 A60
 P. Bratley;
 Permutations with Repetitions
 permutation generation;permutations;
307    cacm  451  452 10  7      July 1967  a1 A60
 J. K. S. McKay;
 Symmetric Group Characters
 obsolete;group computations;
 R,cacm,14,11,1,January,1968,J. K. S. McKay;
308    cacm  452    0 10  7      July 1967  g6 A60
 R. J. Ord-Smith;
 Generation of Permutations in Pseudolexicographic Order
 lexicographic generation;lexicographic order;permutation generation;
+permutations;pseudo-lexicographic order;
 R,cacm,638,12,11,November,1969,R. J. Ord-Smith;
309    cacm  511  512 10  8    August 1967 s14 A60
 A. M. S. Filho; G. Schwachheim;
 Gamma Function with Arbitrary Precision
 gamma function;Stirling series;
310    cacm  569    0 10  9 September 1967  a1 A60
 B. A. Chartres;
 Prime Number Generator 1
 obsolete;prime number generation;
 R,cacm,570,10,9,September,1967,B. A. Chartres;
+C,cacm,192,13,3,March,1970,D. G. Rapp and L. D. Scott;
311    cacm  570    0 10  9 September 1967  a1 A60
 B. A. Chartres;
 Prime Number Generator 2
 obsolete;prime number generation;
 R,cacm,570,10,9,September,1967,B. A. Chartres;
312    cacm  665    0 10 10   October 1967  a2 A60
 P. Friedland;
 Absolute Value and Square Root of a Complex Number
 absolute value;complex function;square root;
313    cacm  666    0 10 10   October 1967  a1 A60
 P. Bratley; J. K. S. McKay;
 Multi-Dimensional Partition Generator
 obsolete;partition generation;
314    cacm  726    0 10 11  November 1967  c5 A60
 D. B. Dulley; M. L. V. Pitteway;
 Finding a Solution of ${N}$ Functional Equations in ${N}$ Unknowns
 inverse interpolation;nonlinear equations;nonlinear systems;
 R,cacm,38--39,12,1,January,1969,J. Vandergraft and C. Mesztenyi;
315    cacm  726  728 10 11  November 1967  e4 A60
 H. Sp{\"{a}}th;
 The Damped {Taylor}'s Series Method for Minimizing a Sum of Squares and for
+ Solving Systems of Nonlinear Equations
 least squares approximation;Newton's method;nonlinear equations;
+nonlinear systems;
 R,cacm,513,12,9,September,1969,G. Silverman;
316    cacm  728  729 10 11  November 1967  c5 A60
 K. M. Brown;
 Solution of Simultaneous Nonlinear Equations
 nonlinear equations;nonlinear systems;Taylor series;
 R,cacm,493,14,7,July,1971,W. J. Raduchel;
317    cacm  729    0 10 11  November 1967  g6 A60
 C. L. Robinson;
 Permutation
 obsolete;permutations;
318    cacm  801  803 10 12  December 1967  e2 A60
 J. Boothroyd;
 {Chebyschev} Curve-Fit (Revised)
 Chebyshev curve approximation;Chebyshev curve fitting;Chebyshev polynomial;
+curve approximation;curve fitting;polynomial approximation;
319    cacm   12    0 11  1   January 1968  f1 A60
 D. R. Green;
 Triangular Factors of Modified Matrices
 matrix decomposition;matrix factors;matrix modifier;matrix perturbation;
+triangular factorization;
320    cacm  114  115 11  2  February 1968  c6 A60
 D. B. Hunter;
 Harmonic Analysis for Symmetrically Distributed Data
 cosine series;curve fitting;function approximation;harmonic analysis;
+sine series;trigonometric series;
321    cacm  115  116 11  2  February 1968 s14 A60
 J. Morris;
 $t$-Test Probabilities
 distribution function;Student's t-statistic;t-test;
 R,cacm,124,13,2,February,1970,G. W. Hill and M. Loughhead;
322    cacm  116  117 11  2  February 1968 s14 A60
 E. Dorrer;
 ${F}$-Distribution
 Fisher's f-distribution;Student's t-distribution;
 C,cacm,39,12,1,January,1969,J. B. F. Field;
+R,cacm,117,14,2,February,1971,H. Tolman;
323    cacm  117    0 11  2  February 1968  g6 A60
 R. J. Ord-Smith;
 Generation of Permutations in Lexicographic Order
 lexicographic generation;lexicographic order;permutation generation;
+permutations;
 C,cacm,512,12,9,September,1969,I. M. Leitch;
+R,cacm,577--578,16,9,September,1973,M. K. Roy;
324    cacm  117  118 11  2  February 1968   h A60
 G. Bayer;
 Maxflow
 linear programming;maximum flow;network;network flow;
 R,cacm,309,16,5,May,1973,G. Bayer;
325    cacm  118    0 11  2  February 1968  f1 A60
 G. Zielke;
 Adjustment of the Inverse of a Symmetric Matrix When Two Symmetric Elements
+ are Changed
 matrix inversion;matrix modification;matrix perturbation;symmetric matrix;
326    cacm  269  270 11  4     April 1968  c2 A60
 T. R. F. Nonweiler;
 Roots of Low-Order Polynomial Equations
 biquadratic equation roots;cubic equation roots;polynomial zeros;
+quadratic equation roots;
327    cacm  270  271 11  4     April 1968 s22 A60
 K. S. K{\"{o}}lbig;
 Dilogarithm
 dilogarithm function;
328    cacm  428  430 11  6      June 1968  f4 A60
 R. H. Bartels; G. H. Golub;
 {Chebyshev} Solution to An Overdetermined Linear System
 Chebyshev solutions;exchange algorithm;simultaneous linear equations;
+over-determined linear system;simultaneous linear equations;
 C,cacm,326,12,6,June,1969,N. L. Schryer;
329    cacm  430    0 11  6      June 1968  g6 A60
 R. R. Fenichel;
 Distributed of Indistinguishable Objects Into Distinguishable Slots
 combinations;distribution numbers;object distributions;
 R,cacm,187,12,3,March,1969,M. Gray;
330    cacm  431  432 11  6      June 1968  g1 A60
 I. Oliver;
 Factorial Analysis of Variance
 factorial variance analysis;variance;
331    cacm  432  436 11  6      June 1968  d1 A60
 W. Gautschi;
 {Gaussian} Quadrature Formulas
 Gaussian integration;Gaussian quadrature;numerical integration;
+orthogonal polynomials;quadrature;weight function;
 R,cacm,280--281,12,5,May,1969,I. D. Hill;
+R,cacm,512,13,8,August,1970,W. R. {Wise Jr.};
332    cacm  436  437 11  6      June 1968 s22   F
 B. F. W. Witte;
 {Jacobi} Polynomials
 function evaluation;Jacobi polynomials;orthogonal polynomials;
+polynomial evaluation;three-term recurrences;
 R,cacm,449,13,7,July,1970,A. H. J. Sale;
+R,cacm,116--117,18,2,February,1975,O. Skovgaard;
333    cacm  437  440 11  6      June 1968   h A60
 R. C. Salazar; S. K. Sen;
 Minit Algorithm For Linear Programming
 dual problem;dual simplex method;linear programming;primal problem;
 R,cacm,408,12,7,July,1969,D. K. Messham;
+R,cacm,50,14,1,January,1971,\AA. Kolm and T. Dahlstrand;
+R,cacm,310,16,5,May,1973,B. Holmgren and D. Obradovic and A. Kolm;
+R,cacm,310,16,5,May,1973,D. Obradovic;
334    cacm  498    0 11  7      July 1968  g5 A60
 J. R. Bell;
 Normal Random Deviates
 normal distribution;pseudo-random number;pseudo-random number generator;
+random normal deviate;random number;random number generator;
 R,cacm,281,12,5,May,1969,R. Knop;
+R,toms,89,8,1,March,1982,A. E. Tracht;
335    cacm  567  573 11  8    August 1968  i5 A60
 R. de Vogelaere;
 A Set of Basic Input-Output Procedures
 input;input procedure;output;output procedure;
336    cacm  631  632 11  9 September 1968   h A60
 T. A. Bray; C. Witzgall;
 Netflow
 capacitated network;linear programming;minimum-cost flow;network flow;
 R,cacm,192,13,3,March,1970,T. A. Bray and C. Witzgall;
337    cacm  633    0 11  9 September 1968  c1 A60
 W. Pankiewicz;
 Calculation of a Polynomial and Its Derivative Values by {Horner} Scheme
 function evaluation;Horner's scheme;polynomial derivative;
+polynomial evaluation;
 R,cacm,39,12,1,January,1969,O. K. Smith;
338    cacm  773  776 11 11  November 1968  c6 A60
 R. C. Singleton;
 {Algol} Procedures For the Fast {Fourier} Transform
 complex Fourier transform;fast Fourier transform;Fourier series;
+harmonic analysis;multivariate Fourier transform;orthogonal polynomials;
+orthogonal transformation;spectral analysis;
339    cacm  776  779 11 11  November 1968  c6 A60
 R. C. Singleton;
 An {Algol} Procedure for the Fast {Fourier} Transform with Arbitrary Factors
 complex Fourier transform;fast Fourier transform;Fourier series;
+harmonic analysis;multivariate Fourier transform;orthogonal polynomials;
+orthogonal transformation;spectral analysis;
 R,cacm,187,12,3,March,1969,R. C. Singleton;
340    cacm  779  782 11 11  November 1968  c2 A60
 A. Noltemeier;
 Roots of Polynomials by a Root-Squaring and Resultant Routine
 Graeffe method;polynomial zeros;resultant method;root-squaring operations;
+subresultant procedure;
 R,cacm,281,12,5,May,1969,A. Noltemeier;
341    cacm  782    0 11 11  November 1968   h A60
 J. L. Byrne; L. G. Proll;
 Solution of Linear Programs in 0-1 Variables by Implicit Enumeration
 linear programming;partial enumeration;zero-one variable;
 R,cacm,692,12,12,December,1969,L. G. Proll;
+R,cacm,263,13,4,April,1970,M. M. Guignard;
342    cacm  819  820 11 12  December 1968  g5 A60
 R. H. Snow;
 Generator of Random Numbers Satisfying the {Poisson} Distribution
 Monte Carlo;Poisson distribution;pseudo-random number;
+pseudo-random number generator;random number;random number generator;
+random poisson deviate;
343    cacm  820  826 11 12  December 1968  f2   F
 J. Grad; M. A. Brebner;
 Eigenvalues and Eigenvectors of a Real Generator Matrix
 eigenvalues;eigenvectors;Householder's method;inverse iteration;latent roots;
+latent vectors;qr-algorithm;
 C,cacm,122--124,13,2,February,1970,H. D. Knoble;
+R,cacm,694--695,13,11,November,1970,W. Knight and W. Mersereau;
+R,cacm,466,15,6,June,1972,H. Niessner;
344    cacm   37   38 12  1   January 1969 s14   F
 D. A. Levine;
 {Student}'s $t$-Distribution
 Student's t-distribution;t-test;
 R,cacm,124,13,2,February,1970,G. W. Hill and M. Loughhead;
+R,cacm,449,13,7,July,1970,A. H. J. Sale;
345    cacm  179  184 12  3     March 1969  c6 A60
 R. C. Singleton;
 An {Algol} Convolution Procedure Based on the Fast {Fourier} Transform
 autocorrelation;autocovariance;complex Fourier transform;convolution;
+cross-correlation;digital filtering;fast Fourier transform;Fourier series;
+harmonic analysis;multivariate Fourier transform;orthogonal polynomials;
+orthogonal transformation;spectral analysis;
 R,cacm,566,12,10,October,1969,R. C. Singleton;
346    cacm  184  185 12  3     March 1969 s14 A60
 J. Morris;
 ${F}$-Test Probabilities
 f-test;Fisher test;Snedecor f-statistic;
 R,toms,288--289,14,3,September,1988,R. S. Cormack and I. D. Hill;
347    cacm  185  187 12  3     March 1969  m1 A60/F
 R. C. Singleton;
 An Efficient Algorithm for Sorting with Minimal Storage
 minimal storage sorting;sorting;
 R,cacm,54,13,1,January,1970,R. Griffin and K. A. Redish;
+R,cacm,624,13,10,October,1970,R. Peto;
+R,toms,290--299,2,3,September,1976,R. Loeser;
348    cacm  212  213 12  4     April 1969  f1 A60
 R. R. Climpel;
 Matrix Scaling by Integer Programming
 integer programming;mathematical programming;matrix condition;matrix scaling;
349    cacm  213  214 12  4     April 1969 s14 A60
 A. T. de Medeiros; G. Schwachheim;
 Polygamma Functions with Arbitrary Precision
 digamma function;pentagamma function;polygamma function;psi function;
+tetragamma function;trigamma function;
 C,toms,380--381,1,4,December,1975,J-G. Lewis;
350    cacm  275  278 12  5       May 1969   h A60
 R. H. Bartels; G. H. Golub;
 Simplex Method Procedure Employing ${LU}$ Decomposition
 linear programming;lu decomposition;simplex method;
351    cacm  324  325 12  6      June 1969  d1   F
 G. Fairweather;
 Modified {Romberg} Quadrature
 numerical integration;quadrature;Romberg integration;Romberg quadrature;
 R,cacm,263,13,4,April,1970,N. D. Cook;
+R,cacm,374--375,13,6,June,1970,G. C. Wallick;
+R,cacm,449,13,7,July,1970,A. H. J. Sale;
352    cacm  399  407 12  7      July 1969 s22   F
 D. S. Clemm;
 Characteristic Values and Associated Solutions of {Mathieu}'s Differential
+ Equation
 characteristic value;Mathieu function;Mathieu's differential equation;
+periodic solution;radial solution;
 R,cacm,750,13,12,December,1970,A. H. J. Sale;
+R,cacm,1074,15,12,December,1972,M. J. Frisch;
353    cacm  457  458 12  8    August 1969  d1   F
 S. M. Chase; L. D. Fosdick;
 {Filon} Quadrature
 Filon integration;Filon quadrature;Fourier coefficients;Fourier series;
+numerical integration;quadrature;
 R,cacm,263,13,4,April,1970,B. Einarsson;
354    cacm  511    0 12  9 September 1969   h A60
 M. D. McIlroy;
 Generator of Spanning Trees
 graph;spanning tree;tree;
355    cacm  562    0 12 10   October 1969   z A60
 J. M. S. Sim{\~{o}}es Pereira;
 An Algorithm for Generating {Ising} Configuration
 Ising problem;zero-one sequences;
356    cacm  563    0 12 10   October 1969  a1 A60
 R. C. Singleton;
 A Prime Number Generator Using the Treesort Principle
 obsolete;prime number generation;
357    cacm  563  564 12 10   October 1969  a1 A60
 R. C. Singleton;
 An Efficient Prime Number Generator
 obsolete;prime number generation;
 R,cacm,489,16,8,August,1973,R. M. DeMorgan;
358    cacm  564  565 12 10   October 1969  f1   F
 P. A. Businger; G. H. Golub;
 Singular Value Decomposition of a Complex Matrix
 least squares solution;matrix decomposition;pseudo inverse;singular values;
359    cacm  631  632 12 11  November 1969  g1   F
 J. R. Howell;
 Factorial Analysis of Variance
 factorial variance analysis;variance;
 R,cacm,449,13,7,July,1970,A. H. J. Sale;
360    cacm  632  633 12 11  November 1969   h A60
 R. B. Dial;
 Shortest-Path Forest with Topological Ordering
 directed graph;network;shortest path;topological ordering;tree;
361    cacm  634    0 12 11  November 1969  g6 A60
 B. Shriver; P. J. Eberlein; R. D. Dixon;
 Permanent Function of a Square Matrix {I} and {II}
 matrix operation;permanent function;
 R,cacm,376,13,6,June,1970,B. Shriver and P. J. Eberlain and R. D. Dixon;
362    cacm  634  635 12 11  November 1969  g6 A60
 J. M. Robson;
 Generation of Random Permutations
 permutations;random permutations;transposition;
363    cacm  635    0 12 11  November 1969 s15 A60
 W. Gautschi;
 Complex Error Function
 error function for complex argument;Voigt function;
 C,cacm,465--466,15,6,June,1972,K. S. K{\"{o}}lbig;
364    cacm  685  686 12 12  December 1969   z A60
 R. G. Herriot;
 Coloring Polygonal Regions
 coloring planar surfaces;coloring polygonal regions;drawing pictures;
+shading enclosed regions;
365    cacm  686  687 12 12  December 1969  c5   F
 H. Bach;
 Complex Root Finding
 complex function zeros;complex relaxation method;downhill method;
366    cacm  687  688 12 12  December 1969  g2 A60
 P. J. Claringbold;
 Regression Using Certain Direct Product Matrices
 analysis of covariance;analysis of variance;experimental design;
+projection operator;regression analysis;
367    cacm  688  691 12 12  December 1969  g2 A60
 P. J. Claringbold;
 Analysis of Variance for Balanced Experiments
 analysis of covariance;analysis of variance;balanced experiment;
+experimental design;interblock estimate;intrablock estimate;missing data;
+regression analysis;
368    cacm   47   49 13  1   January 1970  d5 A60
 H. Stenfest;
 Numerical Inversion of {Laplace} Transforms
 obsolete;Laplace transform inversion;
 R,cacm,624,13,10,October,1970,H. Stehfest;
369    cacm   49    0 13  1   January 1970  g5 A60
 H. E. Schaffer;
 Generator of Random Numbers Satisfying the {Poisson} Distribution
 Poisson distribution;pseudo-random number;pseudo-random number generator;
+random number;random number generator;random Poisson deviate;
370    cacm   49   52 13  1   January 1970  g5   F
 E. L. Butler;
 General Random Number Generator
 pseudo-random number;pseudo-random number generator;random number;
+random number generator;transformation method;
 R,cacm,467--468,15,6,June,1972,L. G. Proll;
371    cacm   52    0 13  1   January 1970  a1 A60
 J. K. S. McKay;
 Partitions in Natural Order
 obsolete;partition generation;
372    cacm   52    0 13  1   January 1970  a1 A60
 K. B. Dunham;
 An Algorithm to Produce Complex Primes {CSIEVE}
 obsolete;prime number generation;
 R,cacm,695,13,11,November,1970,P. Bratley;
373    cacm  120    0 13  2  February 1970  a1 A60
 J. S. White;
 Number of Doubly Restricted Partitions
 obsolete;partition generation;
374    cacm  120    0 13  2  February 1970  a1 A60
 J. S. White;
 Restricted Partition Generator
 obsolete;partition generation;
375    cacm  120  121 13  2  February 1970  e2 A60
 H. Sp{\"{a}}th;
 Fitting Data to One Exponential
 curve approximation;curve fitting;exponential curve approximation;
+exponential curve fitting;exponential least squares solution;
+least squares solution;nonlinear least squares;
376    cacm  121  122 13  2  February 1970  e2 A60
 H. Sp{\"{a}}th;
 Least Squares Fit by $f(x)={A} \cos ({Bx}+{C})$
 approximation;cosine curve approximation;cosine curve fitting;
+cosine least squares solution;curve approximation;curve fitting;
+least squares solution;nonlinear least squares;trigonometric curve;
+trigonometric curve fitting;trigonometric least squares solution;
377    cacm  191  192 13  3     March 1970  r2 A60
 J. L. Levine;
 Symbolic Expansion of Algebraic Expressions
 algebra;algebraic distribution;algebraic multiplication;distribution algorithm;
+multiplication algorithm;polynomial distribution;polynomial expansion;
+product algorithm;symbolic algebra;symbolic multiplication;
378    cacm  259  260 13  4     April 1970  c5 A60
 W. Pankiewicz;
 Discretized {Newton}-like Method for Solving a System of Simultaneous
+ Nonlinear Equations
 Newton's method;nonlinear equations;nonlinear systems;
379    cacm  260  263 13  4     April 1970  d1   F
 J. N. Lyness;
 Squank ({Simpson} Quadrature Used Adaptively-Noise Killed)
 adaptive integration;adaptive quadrature;automatic integration;
+automatic quadrature;numerical integration;quadrature;round-off error control;
+Simpson's rule;
 C,cacm,1073,15,12,December,1972,P. Hallet and E. Mund;
380    cacm  324  326 13  5       May 1970  f1   F
 S. Laflin; M. A. Brebner;
 In-Situ Transposition of a Rectangular Matrix
 matrix transposition;rectangular matrix;
 R,cacm,327,13,5,May,1970,R. Lachenmaier;
+C,cacm,49,15,1,January,1972,I. D. G. MacLeod;
381    cacm  326    0 13  5       May 1970  g5 A60
 R. E. Knop;
 Random Vectors Uniform In Solid Angle
 Monte Carlo;pseudo-random number;pseudo-random number generator;random number;
+random number generator;random vector;
 R,cacm,468,15,6,June,1972,G. F. Schrack;
382    cacm  368    0 13  6      June 1970  g6 A60
 P. J. Chase;
 Combinations of ${M}$ Out of ${N}$ Objects
 combinations;permutations;
 R,cacm,376,13,6,June,1970,P. J. Chase;
383    cacm  368  369 13  6      June 1970  g6 A60
 P. J. Chase;
 Permutations of a Set with Repetitions
 permutations;
 R,cacm,376,13,6,June,1970,P. J. Chase;
384    cacm  369  371 13  6      June 1970  f2   F
 G. W. Stewart;
 Eigenvalues and Eigenvectors of a Real Symmetric Matrix
 eigenvalues;eigenvectors;qr-algorithm;real symmetric matrix;
 R,cacm,750,13,12,December,1970,G. W. Stewart;
385    cacm  446  447 13  7      July 1970 s13   F
 K. A. Paciorek;
 Exponential Integral ${E}_i (x)$
 exponential integral;rational Chebyshev approximation;
 C,cacm,448--449,13,7,July,1970,E. W. Ng;
+R,cacm,750,13,12,December,1970,K. A. Redish;
+R,cacm,1074,15,12,December,1972,M. J. Frisch;
386    cacm  447  448 13  7      July 1970  a1   F
 G. H. Bradley;
 Greatest Common Divisor of $n$ Integers and Multipliers
 obsolete;greatest common divisor;Euclidian algorithm;
 C,cacm,257,16,4,April,1973,L. C. Ragland and D. I. Good;
387    cacm  509  510 13  8    August 1970  e4 A60
 K. Fielding;
 Function Minimization and Linear Search
 function minimization;relative minimum;
388    cacm  510  511 13  8    August 1970 s22 A60
 H. H{\"{u}}bner; H. Kremer; K. O. Linn; W. Schwering;
 {Rad}{\-}e{\-}macher Function
 Rademacher function;
389    cacm  511    0 13  8    August 1970 s22 A60
 H. H{\"{u}}bner; H. Kremer; K. O. Linn; W. Schwering;
 Binary Ordered {Walsh} Functions
 binary ordered Walsh function;Walsh function;
390    cacm  511  512 13  8    August 1970 s22 A60
 H. H{\"{u}}bner; H. Kremer; K. O. Linn; W. Schwering;
 Sequency Ordered {Walsh} Functions
 sequency ordered Walsh function;Walsh function;
391    cacm  512    0 13  8    August 1970   z A60
 J. McKay;
 Unitary Symmetric Polynomials
 symmetric polynomials;unitary symmetric polynomials;
 R,cacm,49,15,1,January,1972,G. F. Schrack;
392    cacm  567  570 13  9 September 1970  d3   F
 R. R. Smith; D. McCall;
 Systems of Hyperbolic P.D.E.
 extrapolation;hyperbolic p.d.e.;partial differential equations;
+quasilinear p.d.e.;
 R,cacm,1074,15,12,December,1972,M. J. Frisch;
393    cacm  570    0 13  9 September 1970  c6 A60
 S. K. Abdali;
 Special Series Summation with Arbitrary Precision
 approximation;arbitrary precision;function evaluation;series summation;
 R,cacm,468--469,15,6,June,1972,A. H. J. Sale;
394    cacm  571  572 13  9 September 1970   h A60
 R. B. Dial;
 Decision Table Translation
 decision table;decision table translation;
 R,cacm,1074,15,12,December,1972,D. R. T. Marshall;
395    cacm  617  619 13 10   October 1970 s14 A60
 G. W. Hill;
 {Student}'s $f$-Distribution
 Student's t-distribution;t-test;
 R,toms,238--239,5,2,June,1979,M. el Lozy;
+R,toms,247--249,7,2,June,1981,G. W. Hill;
396    cacm  619  620 13 10   October 1970 s14 A60
 G. W. Hill;
 {Student}'s $f$-Quantiles
 asymptotic approximation;quantile;Student's t-distribution;t-test;
 R,toms,238--239,5,2,June,1979,M. el Lozy;
+R,toms,250--251,7,2,June,1981,G. W. Hill;
397    cacm  620  621 13 10   October 1970   h A60
 S. K. Chang; A. Gill;
 An Integer Programming Problem
 change-making problem;integer programming;
 R,cacm,469,15,6,June,1972,S. C. Johnson and B. W. Kernighan;
398    cacm  621    0 13 10   October 1970   z A60
 R. A Stone;
 Tableless Date Conversion
 calendar;date;
 R,cacm,918,15,10,October,1972,J. D. Robertson;
399    cacm  621  622 13 10   October 1970   h A60
 J. J. Sepp{\"{a}}nen;
 Spanning Tree
 graph;spanning tree;tree;
400    cacm  622  624 13 10   October 1970  d1   F
 G. C. Wallick;
 Modified {Havie} Integration
 Havie integration;numerical integration;quadrature;Romberg integration;
+Romberg quadrature;
 R,cacm,324,17,6,June,1974,R. Piessens;
401    cacm  693    0 13 11  November 1970  a1 A60
 P. Bratley;
 An Improved Algorithm to Produce Complex Primes
 obsolete;prime number generation;plot;
 R,cacm,695,13,11,November,1970,P. Bratley;
402    cacm  693  694 13 11  November 1970  m1 A60
 M. H. van Emden;
 Increasing the Efficiency of Quicksort
 quicksort;sorting;
 R,cacm,311,16,5,May,1973,R. E. Wheeler;
+R,cacm,143--152,17,3,March,1974,R. Lose;
403    cacm   48    0 14  1   January 1971  a1   F
 M. W. Coleman; M. S. Taylor;
 Circular Integer Partitioning
 obsolete;partition generation;
404    cacm   48   49 14  1   January 1971 s14   F
 C. W. {Lucas Jr.}; C. W. Terrill;
 Complex Gamma Function
 complex gamma function;gamma function;poles of gamma function;
+recursion formula;reflection formula;Stirling's asymptotic series;
 R,cacm,489,16,8,August,1973,G. Andrejkov{\'{a}} and J. Vinar;
405    cacm  113  117 14  2  February 1971  f2 A60
 A. M. Dell; R. L. Weil; G. L. Thompson;
 Roots of Matrix Pencils: The Generalized Eigenvalue Problem
 eigenvalues;matrix roots;pencil roots;
 R,cacm,1075,15,12,December,1972,R. M. Heiberger;
406    cacm  180  184 14  3     March 1971  f4   F
 J. A. Howell;
 Exact Solution of Linear Equations Using Residue Arithmetic
 adjoint matrix;determinant;Gaussian elimination;linear system;matrix inversion;
+modulus;residue arithmetic;simultaneous linear equations;
 R,cacm,311,16,5,May,1973,J. A. Howell;
407    cacm  185  190 14  3     March 1971  d2   F
 G. W. Gear;
 {DIFSUB} for Solution of Ordinary Differential Equations
 ordinary differential equations;multistep method;predictor-corrector method;
+stiff differential equations;
 C,cacm,448,16,7,July,1973,P. J. Nikdai;
408    cacm  265  273 14  4     April 1971  f4   F
 J. M. McNamee;
 A Sparse Matrix Package (Part {I})
 sparse matrix;
 R,cacm,311,16,5,May,1973,A. H. J. Sale;
+R,cacm,578,16,9,September,1973,E. E. Lawrence;
+R,toms,303,3,3,September,1977,P. Sipala;
+R,toms,295,4,3,September,1978,F. Gustavson;
+R,toms,456--457,6,3,September,1980,
+U. Harms and H. Kollakowski and G. M{\"{o}}ller;
409    cacm  355  356 14  5       May 1971  e2 A60
 H. Schmitt;
 Discrete {Chebychev} Curve Fit
 approximation;Chebyshev approximation;Chebyshev curve fitting;
+Chebyshev polynomial;curve approximation;curve fitting;exchange algorithm;
+polynomial approximation;Remez algorithm;
410    cacm  357  358 14  5       May 1971  m1   F
 J. M. Chambers;
 Partial Sorting
 order statistics;partial sorting;sorting;
411    cacm  491  492 14  7      July 1971   h A60
 D. G. McVitie; L. B. Wilson;
 Three Procedures for the Stable Marriage Problem
 assignment problem;assignment procedure;combinatorics;discrete mathematics;
+operations research;stable marriage problem;university entrance;
412    cacm  492  493 14  7      July 1971  j6 A60
 J. {\v{C}}erm{\'{a}}k;
 Graph Plotter
 lineprinter plot;plot;
 R,cacm,489--490,16,8,August,1973,R. P. Watkins;
413    cacm  669  675 14 10   October 1971  c5   F
 J. N. Lyness; G. Sande;
 {ENTCAF} and {ENTCRE}: Evaluation of Normalized {Taylor} Coefficients of an
+ Analytic Function
 Cauchy integral;complex arithmetic;complex function zeros;complex variable;
+fast Fourier transform;function zeros;interpolation;numerical differentiation;
+numerical integration;Taylor coefficients;Taylor series;
414    cacm  737  746 14 11  November 1971  e2 A60
 G. H. Golub; L. B. Smith;
 {Chebyshev} Approximation of Continuous Functions by a {Chebyshev} System of
+ Functions
 approximation;Chebyshev approximation;Chebyshev curve fitting;
+Chebyshev polynomial;curve approximation;curve fitting;Remez algorithm;
415    cacm  805  806 14 12  December 1971   h A60
 F. Bourgeous; J. C. Lassalle;
 Algorithm for the Assignment Problem (Rectangular Matrices)
 assignment problem;operations research;optimization;rectangular matrix;
416    cacm  806  807 14 12  December 1971  e1 A60
 S-{\AA}. Gustafson;
 Rapid Computation of Coefficients of Interpolation Formulas
 divided differences;Newton interpolation;
417    cacm  807    0 14 12  December 1971  d1 A60
 S-A. Gustafson;
 Rapid Computation of Weights of Interpolatory Quadrature Rules
 divided differences;numerical integration;numerical integration coefficients;
+quadrature;quadrature coefficients;
418    cacm   47   48 15  1   January 1972  d1   F
 B. Einarsson;
 Calculation of {Fourier} Integrals
 extrapolation;Filon integration;Filon quadrature;Fourier coefficients;
+Fourier integral;Fourier series;numerical integration;quadrature;
+Richardson extrapolation;spline approximation;spline quadrature;
 R,cacm,469,15,6,June,1972,B. Einarsson;
+R,cacm,324,17,6,June,1974,R. Piessens;
419    cacm   97   99 15  2  February 1972  c2   F
 M. A. Jenkins; J. F. Traub;
 Zeros of a Complex Polynomial
 polynomial zeros;roots;roots of a polynomial;zeros of a polynomial;
 R,cacm,157,17,3,March,1974,D. H. Withers;
420    cacm  100  103 15  2  February 1972  j6   F
 H. Williamson;
 Hidden-Line Plotting Program
 hidden-line plot;plot;surface plot;
 R,cacm,448,16,7,July,1973,I. D. G. MacLeod and A. M. Collins;
+R,cacm,578--579,16,9,September,1973,H. Williamson;
+R,cacm,324,17,6,June,1974,B. Graither;
+R,cacm,324--325,17,6,June,1974,T. M. R. Ellis;
+R,cacm,706,17,12,December,1974,T. M. R. Ellis;
421    cacm  271  272 15  4     April 1972 s14   F
 H. Kuki;
 Complex Gamma Function with Error Control
 complex gamma function;complex loggamma function;gamma function;
+loggamma function;
422    cacm  273  274 15  4     April 1972   h   F
 V. K. M. Whitney;
 Minimal Spanning Tree
 graph;maximal spanning tree;minimal spanning tree;spanning tree;tree;
 R,cacm,448,16,7,July,1973,B. W. Kerninghan;
423    cacm  274    0 15  4     April 1972  f4   F
 C. B. Moler;
 Linear Equation Solver
 Gaussian elimination;linear system;simultaneous linear equations;
+triangular matrix;triangularization;
424    cacm  353  355 15  5       May 1972  d1   F
 W. M. Gentleman;
 {Clenshaw}-{Curtis} Quadrature
 Chebyshev series;Clenshaw-Curtis integration;Clenshaw-Curtis quadrature;
+cosine transform;fast Fourier transform;numerical integration;quadrature;
 R,cacm,490,16,8,August,1973,A. J. Good;
+R,toms,240,5,2,June,1979,K. O. Geddes;
425    cacm  355  357 15  5       May 1972  g5   F
 R. L. Hurst; R. E. Knop;
 Generation of Random Correlated Normal Variables
 Gaussian density;Gaussian distribution;Monte Carlo;normal density;
+normal distribution;pseudo-random number;pseudo-random number generator;
+random number;random number generator;
 R,cacm,325,17,6,June,1974,R. L. Page;
426    cacm  357  358 15  5       May 1972  m1 A60
 C. Bron;
 Merge Sort Algorithm
 merge;sorting;
 R,cacm,706,17,12,December,1974,C. Bron;
+R,toms,290--299,2,3,September,1976,R. Loeser;
427    cacm  358  360 15  5       May 1972  d1   F
 P. Linz;
 {Fourier} Cosine Integral
 adaptive integration;adaptive quadrature;Filon integration;Filon quadrature;
+Fourier coefficients;Fourier integral;numerical integration;quadrature;
428    cacm  360  362 15  5       May 1972   z A60
 J. M. Yohe;
 {Hu}-{Tucker} Minimum Redundancy Alphabetic Coding Method
 coding theory;Hu-Tucker method;information theory;minimum redundancy coding;
 R,cacm,490,16,8,August,1973,J. G. Byrne;
429    cacm  776  777 15  8    August 1972  c2   F
 W. Squire;
 Localization of the Roots of a Polynomial
 polynomial zeros;Routh-Hurwitz criterion;
 R,cacm,490,16,8,August,1973,E. J. Williams;
+R,cacm,579,16,9,September,1973,H. B. Driessen and E. W. LeM. Hunt;
430    cacm  777  778 15  8    August 1972   h A60
 P. W. {Purdom Jr.}; E. F. Moore;
 Immediate Predominators in a Directed Graph
 articulation;connectivity;directed graph;graph theory;immediate predominator;
+optimizing compiler;predominator;program optimization;shortest path;
431    cacm  818  820 15  9 September 1972   h   F
 A. Ravindran;
 A Computer Routine for Quadratic and Linear Programming Problems
 complementary problem;Lemke's algorithm;linear programming;
+quadratic programming;simplex method;
 R,cacm,157,17,3,March,1974,A. Ravindran;
+R,cacm,590,17,10,October,1974,L. G. Proll;
432    cacm  820  826 15  9 September 1972  f4   F
 R. H. Bartels; G. W. Stewart;
 Solution of the Matrix Equation ${\bf {A}}x + x{\bf {B}} = {\bf {C}}$
 linear system;qr-algorithm;schur reduction;simultaneous linear equations;
433    cacm  914  918 15 10   October 1972  e2   F
 H. Akima;
 Interpolation and Smooth Curve Fitting Based on Local Procedures
 curve approximation;curve fitting;interpolation;
+piecewise polynomial approximation;polynomial;polynomial approximation;
+smooth curve fitting;
 R,toms,208,2,2,June,1976,M. R. Anderson;
434    cacm  991  992 15 11  November 1972  g2   F
 D. L. March;
 Exact Probabilities for ${R \times C}$ Contingency Tables
 contingency table;test of significance;
 R,cacm,326,17,6,June,1974,D. M. Boulton;
+R,cacm,117--118,18,2,February,1975,T. W. Hancock;
+R,toms,108,2,1,March,1976,D. M. Boulton;
435    cacm  993  995 15 11  November 1972 s14   F
 W. Fullerton;
 Modified Incomplete Gamma Function
 chi-square distribution function;incomplete gamma function;
+modified incomplete gamma function;Poisson distribution;
 R,toms,296--304,4,3,September,1978,A. Y. Schoene;
436    cacm 1070    0 15 12  December 1972  d1   F
 W. R. Boland;
 Product Type Trapezoidal Integration
 numerical integration;product type quadrature;trapezoid rule;
+trapezoidal integration;
437    cacm 1070 1071 15 12  December 1972  d1   F
 W. R. Boland;
 Product Type {Simpson}'s Integration
 numerical integration;product type quadrature;Simpson's rule;
438    cacm 1071    0 15  6      June 1972  d1   F
 E. N. Houstis; W. F. Mitchell; J. R. Rice;
 Product Type Two-point {Gauss}-{Legendre}-{Simpson}'s Integration
 Gaussian integration;Gaussian quadrature;numerical integration;
+product type quadrature;Simpson's rule;
439    cacm 1072    0 15 12  December 1972  d1   F
 W. R. Boland;
 Product Type Three-point {Gauss}-{Le}{\-}gendre-{Simp}{\-}son's Integration
 Gaussian integration;Gaussian quadrature;numerical integration;
+product type quadrature;Simpson's rule;
440    cacm   49   50 16  1   January 1973  d1 A60
 L. J. Gallaher;
 A Multidimensional {Monte} {Carlo} Quadrature with Adaptive Stratified Sampling
 adaptive integration;adaptive quadrature;Monte Carlo quadrature;
+multiple integration;numerical integration;sequential stratification;
+stratified sampling;
441    cacm   51    0 16  1   January 1973  g5   F
 R. E. Knop;
 Random Deviates from the Dipole Distribution
 Cauchy distribution;dipole distribution;Monte Carlo;probability density;
+probability distribution;pseudo-random number;pseudo-random number generator;
+random number;random number generator;
442    cacm   51   52 16  1   January 1973 s14 A60
 G. W. Hill; A. W. Davis;
 Normal Deviate
 normal distribution inverse;probit transform;
443    cacm  123  124 16  2  February 1973  c5   F
 F. N. Fritsch; R. E. Shafer; W. P. Gowley;
 Solution of the Transcendental Equation $w e^w = x$
 solution of transcendental equation;
 R,cacm,225,17,4,April,1974,B. Einarsson;
444    cacm  183  185 16  3     March 1973   z PLI
 R. A. Wagner;
 An Algorithm for Extracting Phrases in a Space-Optimal Fashion
 information retrieval;text compression;
445    cacm  185  186 16  3     March 1973   z A60
 S-K. Chang;
 Binary Pattern Reconstruction from Projections
 data compression;image reconstruction;pattern reconstruction;
+picture processing;
 R,cacm,186,16,3,March,1973,J. Lau;
446    cacm  254  256 16  4     April 1973  c1   F
 R. Broucke;
 Ten Subroutines for the Manipulation of {Chebyshev} Series
 approximation;Chebyshev series;curve fitting;differentiation;integration;
 R,cacm,276,18,5,May,1975,R. Piessens and I. Mertens;
447    cacm  372  378 16  6      June 1973   h A60
 J. Hopcroft; R. Tarjan;
 Efficient Algorithms for Graph Manipulation
 graph;graph manipulation;
448    cacm  379    0 16  6      June 1973  a1   F
 T. Beyer; D. F. Swinehart;
 Number of Multiply-Restricted Partitions
 obsolete;partition generation;
449    cacm  445  447 16  7      July 1973   h   F
 F. Fiala;
 Solution of Linear Programming Problems in 0-1 Variables
 linear programming;zero-one variable;
450    cacm  482  483 16  8    August 1973  e4   F
 M. MacHura; A. Mulawa;
 {Rosenbrock} Function Minimization
 direct search;function minimization;Rosenbrock's method;
 R,cacm,470,17,8,August,1974,A. Bulthell;
+R,cacm,590--591,17,10,October,1974,J. Klemes and J. Klemsa;
+R,toms,300--301,2,3,September,1976,A. M. Davies;
451    cacm  483  485 16  8    August 1973  g1   F
 R. B. Goldstein;
 Chi-Square Quantiles
 asymptotic approximation;chi-square deviate;chi-square statistic;
+normal deviate;
 C,cacm,116,18,2,February,1975,W. Knight;
452    cacm  485    0 16  8    August 1973  g6   F
 C. N. Liu; D. T. Tang;
 Enumerating Combinations of $m$ Out of $n$ Objects
 combinations;permutations;
453    cacm  486  487 16  8    August 1973  d1   F
 R. Diessens;
 {Gaussian} Quadrature Formulas for {Bromwich}'s Integral
 Bromwich's integral;complex integration;Gaussian integration;
+Gaussian quadrature;numerical integration;
+numerical inversion of the Laplace transform;quadrature;
454    cacm  487  489 16  8    August 1973  e4   F
 J. A. Richardson; J. L. Kuester;
 The Complex Method for Constrained Optimization
 Box's algorithm;constrained optimization;optimization;sequential search;
 R,cacm,471,17,8,August,1974,K. D. Shere;
455    cacm  571  572 16  9 September 1973   z A60
 D. B. Hunter; J. M. Williams;
 Analysis of Skew Representations of the Symmetric Group
 binary model;lattice permutation;outer product;partition;skew representation;
+symmetric group;Young diagram;
456    cacm  572  574 16  9 September 1973   h   F
 Z. Fence;
 Routing Problem
 Hamiltonian circuit;routing problem;shortest path;traveling salesman problem;
 R,cacm,706,17,12,December,1974,G. Tesch and Z. Fencl;
457    cacm  575  577 16  9 September 1973   h A60
 C. Bron; J. Kerbosch;
 Finding All Cliques of an Undirected Graph
 backtracking algorithm;branch and bound technique;cliques;clusters;
+maximal complete subgraphs;
458    cacm  629  631 16 10   October 1973  e2   F
 P. D. Robers; S. S. Robers;
 Discrete Linear $L_1$ Approximation by Interval Linear Programming
 approximation;discrete approximation;interval linear programming;
+linear programming;
459    cacm  632  633 16 10   October 1973   h A60
 M. M. Syslo;
 The Elementary Circuits of a Graph
 circuit search algorithm;graph;Pato search algorithm;searching;
 R,cacm,119,18,2,February,1975,M. M. Syslo;
460    cacm  633  635 16 10   October 1973  d3   F
 P. E. Saylor; . D. Sebastian;
 Calculation of Optimum Parameters for Alternating Direction Implicit Procedures
 adi;alternating-direction-implicit;elliptic difference equations;
+optimum parameters;partial differential equations;
461    cacm  635  637 16 10   October 1973  d2   F
 F. J. Burkowski; W. D. Hoskins;
 Cubic Spline Solutions to a Class of Functional Differential Equations
 boundary value problem;ordinary differential equations;spline approximation;
462    cacm  638    0 16 10   October 1973 s15   F
 T. G. Donnelly;
 Bivariate Normal Distribution
 bivariate;frequency distribution;normal Gaussian;
463    cacm  639  640 16 10   October 1973  j6   F
 C. R. Lewart;
 Algorithms {SCALE}1, {SCALE}2, and {SCALE}3 for Determination of Scales on
+ Computer Generated Plots
 plot;scaling for plotting;
464    cacm  689    0 16 11  November 1973  f2 A60
 C. H. Reinsch;
 Eigenvalues of a Real Symmetric Tridiagonal Matrix
 eigenvalues;qr-algorithm;symmetric matrix;tridiagonal matrix;
465    cacm  690    0 16 11  November 1973 s14 A60
 G. W. Hill;
 {Student}'s $t$ Frequency
 Student's t-distribution;t-test;
466    cacm  690  691 16 11  November 1973  g6 PLI
 G. Ehrlich;
 Four Combinatorial Algorithms
 combinations;permutations;
467    cacm  692  694 16 11  November 1973  f1   F
 N. Brenner;
 Matrix Transposition in Place
 matrix transposition;permutations;primitive roots;rectangular matrix;
 R,toms,520,5,4,December,1979,B. L. Leathers;
468    cacm  694  699 16 11  November 1973  d1   F
 T. N. L. Patterson;
 Algorithm for Automatic Numerical Integration Over a Finite Interval
 automatic integration;automatic quadrature;Gaussian integration;
+Gaussian quadrature;numerical integration;quadrature;
469    cacm  699    0 16 11  November 1973  a1 A60
 C. Lam; J. McKay;
 Arithmetic Over a Finite Field
 obsolete;general arithmetic;field computations;
470    cacm  760  761 16 12  December 1973  f4   F
 M. Kubicek;
 Linear Systems with Almost Tridiagonal Matrix
 almost tridiagonal matrix;linear system;simultaneous linear equations;
+sparse matrix;
471    cacm  761  763 16 12  December 1973 s13 A60
 W. Gautschi;
 Exponential Integrals
 continued fraction;exponential integral;recurrence relation;
+recursive computation;
472    cacm  763  768 16 12  December 1973  e1 A60
 J. G. Herriot; C. H. Reinsch;
 Procedures for Natural Spline Interpolation
 approximation;cubic natural spline;interpolation;natural spline;
+spline approximation;
473    cacm   25    0 17  1   January 1974  c6   F
 R. Piessens;
 Computation of {Legendre} Series Coefficients
 Chebyshev series;function approximation;Legendre series;
474    cacm   26   31 17  1   January 1974  e2   F
 H. Akima;
 Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures
 bivariate interpolation;interpolation;smooth surface fitting;
+surface approximation;surface fitting;
 R,toms,241,5,2,June,1979,M. R. Anderson;
475    cacm  152  155 17  3     March 1974  j6   F
 T. Wright;
 Visible Surface Plotting Program
 computer graphics;contour surface;hidden line problem;plot;
 R,cacm,202,18,4,April,1975,L. W. Frederick;
+R,cacm,276--277,18,5,May,1975,R. G. Mashburn;
+R,cacm,277,18,5,May,1975,C. J. Doran;
+C,toms,381--382,1,4,December,1975,G. E. Bromage;
+R,toms,109--110,2,1,March,1976,L. D. Duta;
+R,toms,521--523,5,4,December,1979,
+A. C. M. van Swieten and J. Th. M. de Hosson;
476    cacm  220  223 17  4     April 1974  e2   F
 A. K. Cline;
 Six Subprograms for Curve Fitting Using Splines Under Tension
 contouring;curve approximation;curve fitting;interpolation;
+piecewise polynomial approximation;
477    cacm  224  225 17  4     April 1974  g7 A60
 G. Ehrlich;
 Generator of Set-Partitions to Exactly ${R}$ Subsets
 partition;permutations;subset generation;
478    cacm  319  320 17  6      June 1974  f4   F
 I. Barrodale; F. D. K. Roberts;
 Solution of an Overdetermined System of Equations in the ${L_1}$ Norm
 linear programming;l1 approximation;l1 norm;over-determined linear system;
+simplex method;
 R,cacm,277,18,5,May,1975,F. N. Fritsch and A. C. Hindmarsh;
479    cacm  321  323 17  6      June 1974   z   F
 R. L. Page;
 A Minimal Spanning Tree Clustering Method
 clustering;feature selection;minimal spanning tree;pattern recognition;
+spanning tree;tree;
 R,cacm,119,18,2,February,1975,H. S. Magnuski;
+R,toms,110--111,2,1,March,1976,G. M. White and S. Goudreau and J. L. Legros;
480    cacm  463  467 17  8    August 1974  e1 A60
 T. Lyche; L. L. Schumaker;
 Procedures for Computing Smoothing and Interpolating Natural Splines
 approximation;interpolation;natural spline;spline smoothing;
481    cacm  467  469 17  8    August 1974   h   F
 K. C. Crandall;
 Arrow to Precedence Network Transformation
 critical path;network;precedence networks;
482    cacm  470    0 17  8    August 1974  g7 A60
 J. McKay; E. Regener;
 Transitivity Sets
 orbit;sets;transitivity;
483    cacm  520  523 17  9 September 1974  j6   F
 S. L. Watkins;
 Masked Three-Dimensional Plot Program with Rotations
 plot;surface plot;surface rotation;three-dimensional plot;
 R,toms,285,1,3,September,1975,R. Feinstein;
484    cacm  524  526 17  9 September 1974 s17   F
 K. H. Burrell;
 Evaluation of the Modified {Bessel} Functions $K_0(z)$ and $K_1(z)$ for
+ Complex Arguments
 Bessel function;Hankel function;modified Bessel function;
485    cacm  526  530 17  9 September 1974  e2   F
 H. D. Eidson; L. L. Schumaker;
 Computation of $g$-Splines via a Factorization Method
 approximation;curve approximation;curve fitting;
+piecewise polynomial approximation;spline approximation;
486    cacm  587  589 17 10   October 1974  d5 A60
 F. Veillon;
 Numerical Inversion of {Laplace} Transform
 Laplace transform inversion;
 R,toms,395--396,2,4,December,1976,H. Koppelaar and P. Molenaar;
+R,toms,111,3,1,March,1977,F. Veillon;
+R,toms,354,10,3,September,1984,R. Piessens;
487    cacm  703  704 17 12  December 1974 s14   F
 J. Pomeranz;
 Exact Cumulative Distribution of the {Kolmogorov}-{Smirnov} Statistic for
+ Small Samples
 goodness-of-fit testing;k-s statistic;k-s test;Kolmogorov-Smirnov test;
 R,toms,111,2,1,March,1976,J. Pomeranz;
+R,toms,285--294,3,3,September,1977,R. Kallman;
488    cacm  704  706 17 12  December 1974  g5   F
 R. P. Brent;
 A {Gaussian} Pseudo-Random Number Generator
 Gaussian distribution;normal distribution;pseudo-random number;
+pseudo-random number generator;random number;random number generator;
489    cacm  173    0 18  3     March 1975  m1 A60
 R. W. Floyd; R. L. Rivest;
 The Algorithm {SELECT} -- for Finding the $i{\rm th}$ Smallest of $n$ Elements
 medians;quantile;selection;
 R,toms,301--304,2,3,September,1976,T. Brown;
490    cacm  200  202 18  4     April 1975 s22   F
 E. S. Grinsberg; D. Zaborowski;
 The Dilogarithm Function of a Real Argument
 dilogarithm;
 R,toms,112,2,1,March,1976,R. Morris;
491    cacm  275  276 18  5       May 1975   h PLI
 N. E. Gibbs;
 Basic Cycle Generation
 basic cycle;fundamental cycle;graph;spanning tree;vertex adjacency matrix;
492    cacm  310    0 18  6      June 1975   h PLI
 N. E. Gibbs;
 Generation of All the Cycles of a Graph from a Set of Basic Cycles
 basic cycle;cycle;graph;
493    toms  178  189  1  2      June 1975  c2   F F1a1
 M. A. Jenkins;
 Zeros of a Real Polynomial
 polynomial zeros;
494    toms  261  263  1  3 September 1975  d3   F I2a1a
 R. F. Sincovec; N. K. Madsen;
 {PDEONE} Solution of Systems of Partial Differential Equations
 partial differential equations;method of lines;ordinary differential equations;
495    toms  264  270  1  3 September 1975  f4   F D9a2
 I. Barrodale; C. Phillips;
 Solution of an Overdetermined System of Linear Equations in the {Chebyshev}
+ Norm
 Chebyshev solution;linear system;linear programming;simplex method;
496    toms  271  281  1  3 September 1975  f2   F D4b4
 L. Kaufman;
 The {LZ} Algorithm to Solve the Generalized Eigenvalue Problem for Complex
+ Matrices
 eigenvalues;generalized eigenvalue problem;
 R,toms,396,2,4,December,1976,L. C. Kaufman;
497    toms  369  371  1  4  December 1975  d2   F I1a1a
 K. W. Neves;
 Automatic Integration of Functional Differential Equations
 functional differential equations;numerical integration;
+one-step and multistep methods;
498    toms  372  379  1  4  December 1975 s17   F C10d
 P. J. Prince;
 Airy Functions using {Chebyshev} Series Approximations
 Airy function;Chebyshev series approximation;Chebyshev coefficients;
+asymptotic expansion;Taylor expansion;
 R,toms,404--405,7,3,September,1981,M. Razaz and J. L. Schonfelder;
499    toms   82   86  2  1     March 1976   z   F I2b4
 W. Kinsner; E. D. Torre;
 An Efficient Scanning Technique
 pattern recognition;partial differential equations;finite differences;
+Laplace's equation;
500    toms   87   94  2  1     March 1976  e4   F G1b1b
 D. F. Shanno; K. H. Phua;
 Minimization of Unconstrained Multivariate Functions
 minimization;optimization;
 R,toms,112,3,1,March,1977,C. Dunham;
+R,toms,618--622,6,4,December,1980,D. F. Shanno and P. H. Phua;
501    toms   95   97  2  1     March 1976  e2   F K2
 J. C. Simpson;
 {FORTRAN} Translation of Algorithm 409 Discrete {Chebyshev} Curve Fit
 approximation;polynomial approximation;exchange algorithm;
+Chebyshev approximation;polynomial approximation;
 R,toms,95,4,1,March,1978,F. Futrell;
502    toms   98  107  2  1     March 1976  c5   F F2
 M. Kub{\'{\i}}\v{c}ek;
 Dependence of Solution of Nonlinear Systems on a Parameter
 nonlinear equations;differentiation with respect to a parameter;
+one-parameter embedding;dependence on parameter;
503    toms  196  199  2  2      June 1976  d5   F I3
 K. Atkinson;
 An Automatic Program for {Fredholm} Integral Equations for the Second Kind
 linear integral equations;Nystrom method;
504    toms  200  203  2  2      June 1976  d2   F I1a1a
 L. F. Shampine; H. A. Watts;
 {GERK}: Global Error Estimation for Ordinary Differential Equations
 ordinary differential equations;initial value problems;global error estimation;
+Runge-Kutta-Fehlberg method;
505    toms  204  206  2  2      June 1976 s20   F N6a2a
 W. Janko;
 A List Insertion Sort for Keys with Arbitrary Key Distribution
 sorting;searching;linked lists;data structure;list operation;
506    toms  275  280  2  3 September 1976  f2   F D4c2b
 G. W. Stewart;
 {HQR}3 and {EXCHNG}: {FORTRAN} Subroutines for Calculating and Ordering the
+ Eigenvalues of a Real Upper {Hessenberg} Matrix
 eigenvalues;qr-algorithm;
 R,toms,219--220,8,2,June,1982,D. S. Flamm and R. A. Walker;
507    toms  281  289  2  3 September 1976  e1 A60 E1a
 J. G. Herriot; C. H. Reinsch;
 Procedures for Quintic Natural Spline Interpolation
 approximation;interpolation;spline approximation;quintic natural spline;
 R,toms,334,8,3,September,1982,R. J. Hanson;
508    toms  375  377  2  4  December 1976  f1   F D2e
 H. L. {Crane Jr.}; N. F. Gibbs; W. G. {Poole Jr.}; P. K. Stockmeyer;
 Matrix Bandwidth and Profile Reduction
 bandwidth reduction;profile reduction;sparse matrix;
 R,toms,221,8,2,June,1982,J. G. Lewis;
509    toms  378  387  2  4  December 1976  f1   F D2e
 N. E. Gibbs;
 A Hybrid Profile Reduction Algorithm
 bandwidth reduction;King algorithm;profile reduction;sparse matrix;
+approximation;
 R,toms,221,8,2,June,1982,J. G. Lewis;
510    toms  388  391  2  4  December 1976  e2   F K4
 D. G. Wilson;
 Piecewise Linear Approximations to Tabulated Data
 piecewise linear function;
511    toms   93   95  3  1     March 1977 s18 NSF C10a3
 D. E. Amos; S. L. Daniel; M. K. Weston;
 {CDC} 6600 Subroutines {IBESS} and {JBESS} for {Bessel} Functions
+ ${I}_{\nu}(x)$, ${J}_{\nu}(x)$, $\nu \ge O$ $x \ge O$
 Bessel function of the first kind;modified function;airy function;
+uniform asymptotic expansion;
 R,toms,411,4,4,December,1978,D. E. Amos;
512    toms   96  103  3  1     March 1977  f4   F D2b2
 A. Benson; D. J. Evans;
 A Normalized Algorithm for the Solution of Positive Definite Symmetric
+ Quindiagonal Systems of Linear Equations
 linear function;normalized solution;periodic quindiagonal;
+symmetric positive definite;
513    toms  104  110  3  1     March 1977  f1   F D1b3
 E. G. Cate; D. W. Twigg;
 Analysis of In-Situ Transposition
 transposition in place;matrix transposition;permutation;
 R,toms,520,5,4,December,1979,B. L. Leathers;
514    toms  175  178  3  2      June 1977  e2 A60 E1a
 T. M. R. Ellis; D. H. McLain;
 A New Method of Cubic Curve Fitting Using Local Data
 interpolation;cubic splines;spline approximation;
515    toms  180  182  3  2      June 1977  g6   F B
 B. P. Buckles; M. Lybanon;
 Generation of a Vector from the Lexicographical Index
 Combinations;
 R,toms,15:2,33,2,June,2007,D. F. Crouse;
516    toms  183  185  3  2      June 1977  f2   F L4b1b
 J. W. McKean; T. A. {Ryan Jr.};
 An Algorithm for Obtaining Confidence Intervals and Point Estimates Based on
+ Ranks in the Two-Sample Location Problem
 confidence interval;Illinois method;point estimate;regula falsi;
+Wilcoxon-Mann-Whitney rank test;
517    toms  186  203  3  2      June 1977  f2   F D4c2b
 S. P. Chan; R. Feldman; B. N. Parlett;
 A Program for Computing the Conditions Numbers of Matrix Eigenvalues Without
+ Computer Eigenvector
 eigenvalues;condition number;
518    toms  279  284  3  3 September 1977 s14   F C10b1
 G. W. Hill;
 Incomplete {Bessel} Function ${I}_0$: The von {Mises} Distribution
 incomplete Bessel function;von Mises distribution;
519    toms  285  294  3  3 September 1977 s14   F L5a1u
 R. Kallman;
 Three Algorithms for Computing {Kolmogorov}-{Smirnov} Probabilities with
+ Arbitrary Boundaries and Certification of Algorithm 487
 Kolmogorov-Smirnov probabilities;
520    toms  295  300  3  3 September 1977   h   F G2c5
 J. Weglarz; J. Blazewicz; W. Cellary; R. Slowinski;
 An Automatic Revised Simplex Method for Constrained Resource Network Scheduling
 resource allocation;linear programming;
521    toms  301  302  3  3 September 1977 s15   F C8a
 W. Gautschi;
 Repeated Integrals of the Coerror Function
 integral of the coerror function;Miller's recurrence algorithm;
522    toms  404  410  3  4  December 1977  f4   F D2a1
 S. Cabay; T. P. L. Lam;
 {ESOLVE:} Congruence Techniques for the Exact Solution of Integer Systems of
+ Linear Equations
 symbolic and algebraic manipulation;linear system;congruence techniques;
523    toms  411  412  3  4  December 1977   z   F P
 W. F. Eddy;
 {CONVEX:} A New Convex Hull Algorithm for Planar Sets
 partitioning;sorting;
524    toms   71   81  4  1     March 1978  a1   F A3c
 R. P. Brent;
 {MP:} A {FORTRAN} Multiple-Precision Arithmetic Package
 multiple precision;extended precision;floating arithmetic;elementary function;
+Euler's constant;gamma function;Bessel function;exponential integral;
+logarithmic integral;Bernoulli numbers;zeta function;
 R,toms,518--519,5,4,December,1979,R. P. Brent;
525    toms   82   94  4  1     March 1978  e2   F K1a1a1
 J. R. Rice;
 {ADAPT:} Adaptive Smooth Curve Fitting
 spline approximation;adaptive curve fitting;Hermite interpolation;
526    toms  160  164  4  2      June 1978  e1   F E2b
 H. Akima;
 Bivariate Interpolation and Smooth Surface Fitting for Irregularly
+ Distributed Data Points
 bivariate interpolation;piecewise polynomial interpolation;
 R,toms,242--243,5,2,June,1979,H. Akima;
+R,toms,186--187,11,2,June,1985, A. Preusser;
527    toms  165  176  4  2      June 1978  d3   F I2b1a2
 R. E. Bank;
 A {FORTRAN} Implementation of the Generalized Marching Algorithm
 marching algorithms;block tridiagonal matrix;
+elliptic partial differential equations;
528    toms  177  188  4  2      June 1978   z   F R1
 P. A. Fox; A. D. Hall; N. L. Schryer;
 Framework for a Portable Library
 portability;mathematical software libraries;error handling;
+storage management;memory allocation;machine dependencies;
 R,toms,524,5,4,December,1979,P. Fox;
+R,toms,123--126,25,1,March,1999,D. M. Gay and E. Grosse;
529    toms  189  192  4  2      June 1978  f1   F D2e
 I. S. Duff; J. K. Reid;
 Permutations to Block Triangular Form
 symmetric permutations;block triangular form;depth first search algorithm;
+sparse matrix;
530    toms  286  289  4  3 September 1978  f2   F D4a1
 R. C. Ward; L. J. Gray;
 An Algorithm for Computing the Eigensystem of Skew-Symmetric Matrices and a
+ Class of Symmetric Matrices
 eigenvalues;eigenvectors;skew-symmetric matrix;symmetric matrix;
+matrix with constant diagonal;
531    toms  290  294  4  3 September 1978  j6   F Q
 W. {Van Snyder};
 Contour Plotting
 contour plotting;
532    toms  388  390  4  4  December 1978   z   F A3a
 W. Miller; D. Spooner;
 Software for Roundoff Analysis
 automatic roundoff analysis;numerical stability;numerical linear algebra;
533    toms  391  398  4  4  December 1978  f4   F D2a4
 A. H. Sherman;
 {NSPIV:} A {FORTRAN} Subroutine for Sparse {Gaussian} Elimination with Partial
+ Pivoting
 sparse matrix;sparse matrix;simultaneous linear equations;
+partial pivoting algorithms;
534    toms  399  403  4  4  December 1978  d2   F I1a2
 J. M. Teneller; T. A. Bickart; Z. Picel;
 {STINT}: {ST}iff (differential equations) {INT}egrator
 stiff differential equations;stiffly stable methods;
+composite multistep methods;cyclic methods;numerical integration;
+ordinary differential equations;initial value problems;multistep formulas;
+numerical integration program;
535    toms  404  410  4  4  December 1978  f2   F D4b4
 B. S. Garbow;
 The {QZ} Algorithm to Solve the Generalized Eigenvalue Problem for Complex
+ Matrices
 eigenvalues;generalized eigenvalue problem;
 R,toms,402,8,4,December,1982,B. S. Garbow;
+R,toms,476,10,4,December,1984,B. S. Garbow;
536    toms  108  111  5  1     March 1979   z   F B
 H. D. Knoble;
 An Efficient One-Way Enciphering Algorithm
 one-way security transformation;password;encipher;decipher;
+multiprecision integer arithmetic;
537    toms  112  117  5  1     March 1979 s22   F C17
 W. R. Leeb;
 Characteristic Values of {Mathieu}'s Differential Equations
 Mathieu's differential equation;wave equation;characteristic values;
+eigenvalues;separation constants;Mathieu function;ordinary Mathieu function;
+modified Mathieu function;elliptic cylinder function;
+hyperbolic cylinder function;
538    toms  118  125  5  1     March 1979  f2   F D4b1
 P. J. Nikolai;
 Eigenvectors and Eigenvalues of Real Generalized Symmetric Matrices by
+ Simultaneous Iteration
 eigenvalues;eigenvectors;sparse matrix;diagonal matrix;simultaneous iteration;
539    toms  324  325  5  3 September 1979  f1   F D1a
 C. L. Lawson; R. J. Hanson; D. R. Kincaid; F. T. Krogh;
 Basic Linear Algebraic Subprograms for {FORTRAN} Usage
 linear algebra;utilities;
 R,toms,403--404,8,4,December,1982,D. S. Dodson and R. G. Grimes;
+R,toms,140,9,1,March,1983,D. S. Dodson;
540    toms  326  351  5  3 September 1979  d3   F I2a1a
 N. K. Madsen; R. F. Sincovec;
 {PDECOL:} General Collocation Software for Partial Differential Equations
 collocation methods;partial differential equations;numerical software;
+method of lines;
 R,toms,343--344,18,3,September,1992,T. R. Hopkins;
541    toms  352  364  5  3 September 1979  d3   F I2b1a1a
 P. N. Swarztrauber; R. A. Sweet;
 Efficient {FORTRAN} Subprograms for the Solution of Separable Elliptic
+ Partial Differential Equations
 elliptic partial differential equations;software;linear systems;
 C,toms,365--371,5,3,September,1979,M. Steuerwalt;
542    toms  482  489  5  4  December 1979 s14   F C7e
 W. Gautschi;
 Incomplete Gamma Functions
 computation of incomplete gamma function;Taylor's series;continued fractions;
543    toms  490  493  5  4  December 1979  d3   F I2b1a1a
 E. N. Houstis; T. S. Papatheodorou;
 {FFT}9: Fast Solution of {Helmholtz}-Type Partial Differential Equations
 fast Fourier transform;fast Helmholtz solver;fast Poisson solver;
544    toms  494  499  5  4  December 1979  f4   F D9b1
 R. H. Wampler;
 {L2A} and {L2B} Weighted Least Squares Solutions by Modified {Gram}-{Schmidt}
+ with Iterative Refinement
 covariance matrix;curve fitting;iterative refinement;least squares solution;
+linear constraints;overdetermined system of equations;regression;
+underdetermined system of equations;
545    toms  500  517  5  4  December 1979  c6   F J1a1
 D. Fraser;
 An Optimized Mass Storage {FFT}
 multidimensional fft;fast Fourier transform;fft;mass storage fft;
+mass store sorting;optimal sorting;
546    toms   88   91  6  1     March 1980  f4   F D2a2
 C. de Boor; R. Weiss;
 {SOLVEBLOK}
 almost block diagonal systems;Gaussian elimination;spline approximation;
+ordinary differential equations;
547    toms   92  103  6  1     March 1980  e3   F E1a
 C. S. Duris;
 {FORTRAN} Routines For Discrete Cubic Spline Interpolation and Smoothing
 discrete splines;discrete cubic splines;discrete natural splines;interpolation;
+smoothing;
548    toms  104  111  6  1     March 1980   h   F G2b
 G. Carpaneto; P. Toth;
 Solution of the Assignment Problem
 assignment problem;Hungarian algorithm;
549    toms  112  120  6  1     March 1980 s21   F C15
 U. Eckhardt;
 {Weierstrass}' Elliptic Functions
 Weierstrass' elliptic function;
550    toms  121  130  6  1     March 1980   z   F P
 A. M. Messner; G. Q. Taylor;
 Solid Polyhedron Measures
 polyhedron;graphics;numerical integration;
551    toms  228  230  6  2      June 1980  f4   F D9a3
 N. N. Abdelmalek;
 A {FORTRAN} Subroutine for the ${L_1}$ Solution of Overdetermined Systems of
+ Linear Equations
 overdetermined system of linear equations;
+discrete linear l(sub 1) approximation;linear programming;
+duel simplex algorithm;triangular decomposition;
552    toms  231  235  6  2      June 1980  f4   F D9a3
 I. Barrodale; F. D. K. Roberts;
 Solution of the Constrained ${L_1}$ Linear Approximation Problem
 constrained l(sub 1) approximation;linear programming;simplex method;
553    toms  236  239  6  2      June 1980  d3   F I1a1a
 J. G. Verwer;
 {M3RK:} An Explicit Time Integrator for Semidiscrete Parabolic Equations
 parabolic partial differential equations;semidiscretization;
+explicit time integrator;
554    toms  240  251  6  2      June 1980  c5   F F2
 J. J. Mor{\'{e}}; M. Y. Cosnard;
 {BRENTM:} A {FORTRAN} Subroutine for the Numerical Solution of Systems of
+ Nonlinear Equations
 nonlinear equations;numerical solution;Brent's method;
555    toms  252  259  6  2      June 1980  c5   F F2
 L. T. Watson; D. Fenner;
 {Chow}-{Yorke} Algorithm for Fixed Points or Zeros of {$C^2$} Maps
 fixed point;zero;nonlinear systems;homotopy method;continuation method;
+parameterized nonlinear systems;zero curve of a homotopy map;
+fixed points of nonlinear systems;zeros of nonlinear systems;
556    toms  420  428  6  3 September 1980 s13   F C5
 D. E. Amos;
 Exponential Integrals
 exponential integral;Miller algorithm;confluent hypergeometric function;
 R,toms,525,9,4,December,1983,D. E. Amos;
557    toms  429    0  6  3 September 1980   h   F G2a1
 J. L. Arthur; A. Ravindran;
 {PAGP} A Partitioning Algorithm for (Linear) Goal Programming Problems
 goal program;multiple objective optimization;constraint partitioning;
+simplex method;
558    toms  430  431  6  3 September 1980   h   F G2c5
 T-Y. Cheung;
 A Program for the Multifacility Location Problem with Rectilinear Distance by
+ the Minimum-cut Approach
 multifacility;optimal location;rectilinear distance;minimum cut;
559    toms  432  436  6  3 September 1980  e4   F G2e1
 J. T. Betts;
 The Stationary Point of a Quadratic Function Subject to Linear Constraints
 quadratic programming;orthogonal decomposition;
560    toms  437  443  6  3 September 1980  f2   F D4c5
 B. K{\aa}gstr{\"{o}}m; A. Ruhe;
 {JNF:} An Algorithm for Numerical Computation of the {Jordan} Normal Form of a
+ Complex Matrix
 Jordan normal form;canonical form;eigenvalues;eigenvectors;principal vectors;
+block diagonal form;
561    toms  444  449  6  3 September 1980   z   F N4
 D. A. Kahamer;
 {FORTRAN} Implementation of Heap Programs for Efficient Table Maintenance
 heap;table maintenance;
562    toms  450  455  6  3 September 1980   h   F G2d1
 U. Pape;
 Shortest Path Lengths
 shortest path;shortest route problem;
 R,toms,260,9,2,June,1983,U. Pape;
563    toms  609  614  6  4  December 1980  f4   F D9b3
 R. H. Bartels; A. R. Conn;
 A Program for Linearly Constrained Discrete ${L_1}$ Problems
 numerical analysis;overdetermined linear systems;linear constraints;
+discrete l(sub 1) approximation;
564    toms  615  617  6  4  December 1980   z   F K3
 H. L. Hoffman; D. A. Shier;
 A Test Problem Generator for Discrete Linear ${L_1}$ Approximation Problems
 l(sub 1) approximation;least absolute deviation;problem generator;test data;
565    toms  126  135  7  1     March 1981  d3   F I2a1b
 D. K. Melgaard; R. F. Sincovec;
 {PDETWO}\slash{PSETM}\slash{GEARB}: Solution for Systems of Two-Dimensional 
+ Nonlinear Partial Differential Equations
 partial differential equations;method of lines;finite differences;
+ordinary differential equations;
566    toms  136  140  7  1     March 1981  c5   F F3
 J. J. Mor{\'{e}}; B. S. Garbow; K. E. Hillstrom;
 {FORTRAN} Subroutines for Testing Unconstrained Optimization Software
 performance testing;systems of nonlinear equations;nonlinear least squares;
+unconstrained minimization;optimization software;
 R,toms,282--285,20,3,September,1994,V. Z. Averbukh and S. Figueroa and
+ T. Schlick;
567    toms  141  146  7  1     March 1981  a1   F A3d
 D. W. Lozier; J. M. Smith;
 Extended Range Arithmetic and Normalized {Legendre} Polynomials
 angular momentum;extended-range arithmetic;Legendre polynomials;overflow;
+underflow;
568    topl  162  167  3  2      June 1981   z   R Z
 D. R. Hanson;
 {PDS} -- A Portable Directory System
 file directory system;Unix;ratfor;
569    toms  223  229  7  2      June 1981  d2   F I1b2
 U. Ascher; J. Christiansen; R. D. Russell;
 {COLSYS}: Collocation Software for Boundary Value {ODE}'s
 ordinary differential equations;boundary-value problems;collocation;
+boundary spline;mesh selection;error estimates;damped Newton's method;
+general-purpose code;
 R,toms,283--284,12,3,September,1986,J. Fr. Hake;
570    toms  230  232  7  2      June 1981  f2   F D4a7
 W. J. Stewart; A. Jennings;
 {LOPSI}: A Simultaneous Iteration Algorithm for Real Matrices
 eigenvalues;eigenvectors;simultaneous iteration;real nonsymmetric matrix;
+sparse matrix;
571    toms  233  238  7  2      June 1981 s14   F C10b
 G. W. Hill;
 Statistics for Von {Mises}' and {Fisher}'s Distribution of Directions: ${I_1(x)
+/I_0(x)}$ ${I_{1.5}(x)/I_{.5}(x)}$
 direction statistics;von Mises distribution;Fisher distribution;
+modified Bessel function ratio;continued fraction;function inversion;
+Newton-Raphson methods;
572    toms  239  246  7  2      June 1981  d3   F I2b1a1b
 D. P. O'Leary; O. Widlund;
 Solution of the {Helmholtz} Equation for the {Dirichlet} Problem on General
+ Bounded Three Dimensional Regions
 Helmholtz equation;capacitance matrix;fast Poisson solver;conjugate gradients;
573    toms  369  383  7  3 September 1981  e4   F K1b1a1
 J. E. {Dennis Jr.}; D. M. Gay; R. E. Welsch;
 {NL}2{SOL} -- An Adaptive Nonlinear Least-Squares Algorithm
 unconstrained optimization;nonlinear least squares;nonlinear regression;
+quasi-Newton methods;secant methods;
 R,toms,139,9,1,March,1983,D. M. Gay;
574    toms  384  386  7  3 September 1981  e1   F E1a
 D. F. McAllister; J. A. Roulier;
 Shape-Preserving Osculatory Quadratic Splines
 polynomial interpolation;osculation;shape preserving;convexity preserving;
+monotonicity preserving;bernstein polynomial;
575    toms  387  390  7  3 September 1981  f1   F D2e
 S. Duff;
 Permutations for a Zero-Free Diagonal
 nonsymmetric permutations;maximum transversal;maximum assignment;
+block triangular form;sparse matrix;
576    toms  391  397  7  3 September 1981  f4   F D2a1
 I. Barrodale; G. F. Stuart;
 A {FORTRAN} Program for Solving ${\bf A}x=b$
 simultaneous linear equations;Gaussian elimination;new pivoting strategy;
577    toms  398  403  7  3 September 1981 s21   F C14
 B. C. Carlson; E. M. Notis;
 Algorithms for Incomplete Elliptic Integrals
 elliptic integral;logarithms;inverse circular function;
+inverse hyperbolic function;r-function;
578    toms  537  541  7  4  December 1981  f4   F D2a1
 J. J. Ducroz; S. M. Nugent; J. K. Reid; D. B. Taylor;
 Solution of Real Linear Equations in a Paged Virtual Store
 Gaussian elimination;paged virtual store;
579    toms  542  547  7  4  December 1981  d4   F K4
 B. Fornberg;
 {CPSC:} Complex Power Series Coefficients
 numerical differentiation;Taylor series coefficients;analytic function;
580    toms  548  549  7  4  December 1981  f5   F D7c
 A. Buckley;
 {QRUP}: A Set of {FORTRAN} Routines for Updating {QR} Factorizations
 matrix factorization;orthogonalization;
 R,toms,405,8,4,December,1982,A. Buckley;
581    toms   84   88  8  1     March 1982  f1   F D6
 T. F. Chan;
 An Improved Algorithm for Computing the Singular Value Decomposition
 singular value decomposition;
582    toms  190  194  8  2      June 1982  f4   F D2e
 J. G. Lewis;
 The {Gibbs}-{Poole}-{Stockmeyer} and {Gibbs}-{King} Algorithms for Reordering
+ Sparse Matrices
 matrix bandwidth;matrix profile;matrix wavefront;banded matrix;
+Gibbs-Poole-Stockmeyer algorithm;Gibbs-King algorithm;
583    toms  195  209  8  2      June 1982  g2   F D9a1
 C. C. Paige; M. A. Saunders;
 {LSQR}: Sparse Linear Equations and Least-Square Problems
 analysis of variance;conjugate-gradient method;least squares solution;
+simultaneous linear equations;regression;sparse matrix;
584    toms  210  218  8  2      June 1982  d1   F H2b2a1
 D. P. Laurie;
 {CUBTRI} -- Automatic Cubature Over a Triangle
 quadrature rule;
 R,toms,71,12,1,March,1986,R. S. Hanson;
585    toms  290  301  8  3 September 1982  e1   F A7
 C. Brezinski;
 A Subroutine for the General Interpolation and Extrapolation Problems
 convergence acceleration;extrapolation;interpolation;
+least squares approximation;Neville-Aitken scheme;
586    toms  302  322  8  3 September 1982  f4   F D2b4
 D. R. Kincaid; J. R. Respess; D. M. Young; R. G. Grimes;
 {ITPACK} 2{C}: A {FORTRAN} Package for Solving Large Sparse Linear Systems by
+ Adaptive Accelerated Iterative Methods
 iterative methods;numerical software;sparse matrix;
587    toms  323  333  8  3 September 1982  f4   F D9b1
 R. J. Hanson; K. H. Haskell;
 Two Algorithms for the Linearly Constrained Least Squares Problem
 linear least squares solution;equality constraints;inequality constraints;
+nonnegativity constraints;inconsistent constraints;covariance matrix;
 R,toms,257--261,15,3,September,1989,V. Dadurkevicius;
588    toms  369  370  8  4  December 1982   z   F C10f
 W. L. Anderson;
 Fast {Hankel} Transforms Using Related and Lagged Convolutions
 Hankel transforms of integer order;Bessel function of the first kind;
+convolution integral;linear digital filters;
589    toms  371  375  8  4  December 1982  f2   F D2a4
 J. J. Dongarra;
 {SICEDR}: A {FORTRAN} Subroutine for Improving the Accuracy of Computed
+ Matrix Eigenvalues
 matrix eigensystems;iterative method;eigensystem improvement;
590    toms  376  382  8  4  December 1982  f2   F D4c1b3
 P. Van Dooren;
 {DSUBSP} AND {EXCHQZ}: {FORTRAN} Subroutines for Computing Deflating
+ Subspaces With Specified Spectrum
 generalized eigenvalue;qz algorithm;
 R,toms,207,10,2,June,1984,
+P. Hr. Petkov and N. D. Christov and M. M. Konstantinov;
591    toms  383  401  8  4  December 1982  g2   F L7d
 W. J. Hemmerle;
 A Comprehensive Matrix-Free Algorithm for Analysis of Variance
 linear models;analysis of variance;unbalanced data;missing cells;estimation;
+hypothesis testing;storage-efficient algorithm;iterative improvement;
+balanced data operators;algebraic-model specification;rank computations;
+g-inverse solution;
592    toms   98  116  9  1     March 1983  e2   F E1a
 P. W. Gaffney;
 A {FORTRAN} Subroutine for Computing the Optimal Estimate of $f(x)$
 optimal estimation;optimal interpolation;perfect splines;
593    toms  117  124  9  1     March 1983  d3   F I2b1a1b
 W. Proskurowski;
 A Package for the {Helmholtz} Equation in Nonrectangular Planar Regions
 Helmholtz equation;capacitance matrix;fast Poisson solvers;conjugate gradients;
+software package;
594    toms  125  130  9  1     March 1983   z   F A3a
 J. L. Larson; M. F. Pasternak; J. A. Wisniewski;
 Software for Relative Error Analysis
 round-off analysis;relative errors;numerical stability;
595    toms  131  138  9  1     March 1983   h   F P
 S. Martello;
 An Enumerative Algorithm for Finding {Hamiltonian} Circuits in a Directed Graph
 Hamiltonian circuit;depth-first search;
596    toms  236  241  9  2      June 1983  d2   F F2
 W. C. Rheibolt; J. V. Burkardt;
 A Program for a Locally Parametrized Continuation Process
 equilibrium problems;underdetermined systems of equations;
+solution manifolds of parameterized equations;continuation methods;
+local parameterization;limit point computation;
597    toms  242  245  9  2      June 1983 s17   F C10b3
 W. J. Cody;
 Sequence of Modified {Bessel} Functions of the First Kind
 Bessel function;
598    toms  246  254  9  2      June 1983  f2   F D8
 G. J. Davis;
 An Algorithm to Compute Solvents of the Matrix Equation ${AX}^2+{BX}+
+{C}=0$
 matrix equations;solvent;Newton's method;qz algorithm;
599    toms  255  257  9  2      June 1983  g5   F L6a7
 J. H. Ahrens; K. D. Kohrt; U. Dieter;
 Sampling From Gamma and {Poisson} Distributions
 gamma distribution;Poisson distribution;random numbers;
+acceptance-rejection method;simulation;
600    toms  258  259  9  2      June 1983  e2   F E1a
 J. G. Herriot; C. H. Reinsch;
 Translation of Algorithm 507. Procedures for Quintic Natural Spline
+ Interpolation
 approximation;interpolation;spline approximation;quintic natural spline;
601    toms  344  345  9  3 September 1983  f1   F D1b5
 J. M. McNamee;
 A Sparse Matrix Package -- Part {II}: Special Cases
 sparse matrix;
602    toms  355  357  9  3 September 1983  c6   F A7
 T. Fessler; W. F. Ford; D. A. Smith;
 {HURRY}: An Acceleration Algorithm for Scalar Sequences and Series
 acceleration of convergence;transformation of divergent series;
+Levin's 'u' transform;
603    toms  376  380  9  3 September 1983  f4   F D2a2
 J. C. Diaz; G. Fairweather; P. Keast;
 {COLROW} and {ARCECO}: {FORTRAN} Packages for Solving Almost Block Diagonal
+ Linear Systems by Modified Alternate Row and Column Elimination
 almost block and diagonal systems;Gaussian elimination;
+alternate row and column elimination;two-point boundary-value problems;
 R,toms,196,14,2,June,1988,J. C. Diaz and G. Fairweather and P. Keast;
604    toms  381  383  9  3 September 1983  c1   F K2
 F. W. Sauer;
 A {FORTRAN} Program for the Calculation of an Extremal Polynomial
 Remes algorithm;extremal polynomial;Richardson iteration;
605    toms  391  394  9  4  December 1983   z   F S2
 T. R. Hopkins;
 {PBASIC} -- A Verifier Program for {ANSI} Minimal Basic
 verifiers;standard conformance;basic programming language;
606    toms  418  426  9  4  December 1983   z   F R4
 P. W. Gaffney; J. W. Wooten; K. A. Kessel; W. R. McKinney;
 {NITPACK} -- An Interactive Tree Package
 expert systems;menu-driven applications;computer-aided instruction techniques;
607    toms  427  440  9  4  December 1983   z   F N4
 W. {Van Snyder}; R. J. Hanson;
 Text Exchange System: A Transportable System for Management and Exchange of
+ Programs and Other Text
 text exchange;text management;text organization;text distribution;
+text maintenance;
608    toms  461  466  9  4  December 1983   h   F G2b
 D. H. West;
 Approximate Solution of the Quadratic Assignment Problem
 assignment problem;quadratic assignment;heuristic algorithms;
+operations research;
609    toms  480  493  9  4  December 1983 s13   F C10f
 D. E. Amos;
 A Portable {FORTRAN} Subroutine for the {Bickley} Functions ${Ki}_n(x)$
 exponential integrals;Bickley functions;integral of Bessel function;
+Bessel function;
610    toms  494  502  9  4  December 1983 s14   F C7c
 D. E. Amos;
 A Portable {FORTRAN} Subroutine for the Derivation of the Psi Function
 psi functions;gamma function;derivatives of the gamma function;
611    toms  503  524  9  4  December 1983  e4   F G1b1b
 D. M. Gay;
 Subroutines for Unconstrained Minimization Using a Model\slash
+ Trust-Region Approach
 trust regions;quasi-Newton;bfgs secant update;finite differences;
+reverse communication;
612    toms   17   22 10  1     March 1984  d1   F H2b2a1
 E. de Doncker; I. Robinson;
 {TRIEX}: Integration Over a {TRI}angle Using Nonlinear {EX}trapolation
 quadrature rule;two dimensional integration;singular integrands;
+epsilon algorithm;
613    toms  108  111 10  1     March 1984   h   F G2d2
 R. E. Haymond; J. P. Jarvis; D. R. Shier;
 Minimum Spanning Tree for Moderate Integer Weights
 minimum spanning tree;shortest connection network;
614    toms  140  160 10  2      June 1984  d1   F H2a1a1
 K. Sikorski; F. Stenger; J. Schwing;
 A {FORTRAN} Subroutine for Integration in ${H}_p$ Spaces
 quadrature rule;optimal quadrature rule;singular integrands;
615    toms  202  206 10  2      June 1984  g2   F L8c3
 R. D. Armstrong; P. O. Beck; M. T. Kung;
 The Best Subset of Parameters in Least Absolute Value Regression
 regression;least absolute value;
616    toms  265  270 10  3 September 1984  g1   F L4a1b1
 J. F. Monahan;
 Fast Computation of the {Hodges}-{Lehman} Location Estimator
 Hodges-Lehmann location estimator;statistical computations;
617    toms  317  324 10  3 September 1984  e4   F F2
 F. Aluff-Pentini; V. Parisi; F. Zirill.;
 {DAFNE}: A Differential-Equations Algorithm for Nonlinear Equations
 nonlinear equations;ordinary differential equations;
618    toms  346  347 10  3 September 1984  f4   F F3
 T. F. Coleman; B. S. Garbow; J. J. Mor\'{e};
 {FORTRAN} Subroutines for Estimating sparse {Jacobian} Matrices
 numerical differentiation;Jacobian matrix;sparse matrix;
+nonlinear systems;graph theory;
619    toms  348  353 10  3 September 1984  d5   F J3
 R. Piessans; R. Huysmans;
 Automatic Numerical Inversion of the {Laplace} Transform
 Laplace transform inversion;epsilon algorithm;
620    toms  359  360 10  4  December 1984   z   N Z
 J. R. Rice; R. J. Hanson;
 References and Keywords for {\it {Collected} {Algorithms} from {ACM}}
 data;keywords;references;Collected Algorithms from ACM;
 R,toms,305--307,11,3,September,1985,D. E. Hamilton;
+R,toms,401--403,16,4,December,1990,T. R. Hopkins and D. R. Morse;
621    toms  378  396 10  4  December 1984  d3   F I2a1b
 B. P. Sommeijer; P. J. van der Houven;
 Software with Low Storage Requirements for Two-Dimensional Nonlinear
+ Parabolic Differential Equations
 partial differential equations;parabolic differential equations;
622    toms  410  416 10  4  December 1984   z   F Z
 J. R. Rice; C. Ribbens; W. A. Ward;
 A Simple Macroprocessor
 macro processor;portablility;
 R,toms,336--340,24,3,September,1998,S. A. Levin;
623    toms  437  439 10  4  December 1984  e1   F E2b
 R. J. Renka;
 Interpolation on the Surface of a Sphere
 bivariate interpolation;interpolation;scattered data fitting;
+spherical surface;
624    toms  440  442 10  4  December 1984  e1   F E2b
 R. J. Renka;
 Triangulation and Interpolation at Arbitrarily Distributed Points in the Plane
 bivariate interpolation;interpolation;scattered data fitting;
625    toms  453  462 10  4  December 1984  j6   F I2b4
 J. R. Rice;
 A Two-Dimensional Domain processor
 domain processor;Laplace's equation;rectangular domains;
626    toms  473  475 10  4  December 1984  j6   F Q
 A. Preusser;
 {TRICP}: A Contour Plot Program for Triangular Meshes
 bivariate interpolation;contour plotting;polynomial elements;
627    toms   58   65 11  1     March 1985  d5   F I3
 J. M. Bownds; L. Applebaum;
 A {FORTRAN} Subroutine for Solving {Volterra} Integral Equations
 Chebyshev approximation;initial value problems;linear integral equations;
+stiff differential equations;Volterra integral equations;
628    toms   66   78 11  1     March 1985  r2   F C3b
 F. Winkler; B. Buchberger;
 An Algorithm for Constructing Canonical Bases of Polynomial Ideals
 algebra;Gr{\"{o}}bner bases;symbolic algebra;
629    toms   85   96 11  2      June 1985  d5   F I2b1a1b
 K. E. Atkinson;
 An Integral Equation Program for {Laplace}'s Equation in Three Dimensions
 Laplace's equation;linear integral equations;three dimensions;
630    toms  103  119 11  2      June 1985  e4   F G1b1a
 A. Buckley; A. Lenir;
 {BBVSCG} -- A Variable-Storage Algorithm for Function Minimization
 conjugate gradient method;quasi-Newton methods;optimization;
+unconstrained minimization;
 R,toms,262--274,15,3,September,1989,A. Buckley;
631    toms  120  134 11  2      June 1985  c5   F F1b
 V. Norton;
 Finding a Bracketed Zero by {Larkin}'s Method of Rational Interpolation
 function zeros;Larkin's method;rational interpolation;
 R,toms,72,12,1,March,1986,V. Norton;
632    toms  135  140 11  2      June 1985   h   F G2c3
 S. Martello; P. Toth;
 A Program for the $0-1$ Multiple Knapsack Problem
 branch and bound technique;multiple objective optimization;
+knapsack algorithm;zero-one variable;
633    toms  170  182 11  2      June 1985  f4   F L8f
 R. C. Ward; G. J. Davis; V. E. Kane;
 An Algorithm for Linear Dependency Analysis of Multivariate Data
 correlation matrix;factor analysis;linear dependence;
+statistical computations;
634    toms  218  228 11  3 September 1985  e2   F K1a1b
 R. H. Bartels; J. J. Jezioranski;
 {CONSTR} and {EVAL}: Routines for Fitting Multinomials in a Least-Squares Sense
 least squares solution;interpolation;orthogonal polynomials;
+surface approximation;surface fitting;
635    toms  242  249 11  3 September 1985  f4   F D9b2
 R. L. Streit;
 An Algorithm for the Solution of Systems of Complex Linear Equations in the
+ ${L_\infty}$ Norm with Constraints on the Unknowns
 approximation;Chebyshev solutions;complex variable;linear constraints;
+overdetermined linear systems;
636    toms  378    0 11  4  December 1985  f1   F G4f
 T. F. Coleman; B. S. Garbow; J. J. Mor\'{e};
 {FORTRAN} Subroutines for Estimating Sparse {Hessian} Matrices
 graph theory;numerical differentiation;nonlinear equations;sparse matrix;
637    toms  413  415 11  4  December 1985  d3   F I2b1a3
 E. N. Houstis; W. F. Mitchell; J. R. Rice;
 {GENCOL}: Collocation on General Domains with Bicubic {Hermite} Polynomials
 collocation methods;elliptic partial differential equations;
638    toms  416  418 11  4  December 1985  d3   F I2b1a3
 E. N. Houstis; W. F. Mitchell; J. R. Rice;
 {INTCOL} and {HERMCOL}: Collocation on Rectangular Domains with Bicubic
+ {Hermite} Polynomials
 collocation methods;elliptic partial differential equations;
+Hermite bicubic elements;rectangular domains;
639    toms   24   25 12  1     March 1986  d1   F H2a3a1
 J. Lyness; G. Hines;
 To Integrate Some Infinite Oscillating Tails
 Euler transformation;infinite integration;periodic function;
+quadrature rule;
 R,toms,285--300,28,3,September,2002,T. R. Hopkins;
640    toms   26   33 12  1     March 1986  f2   F G3
 A. J. Lamb;
 Efficient Calculation of Frequency Response Matrices from State Space Models
 eigenvalues;frequency response;Hessenberg systems;
641    toms  149    0 12  2      June 1986  f4   F D2a1
 J. Springer;
 Exact Solution of General Systems of Linear Equations
 adjoint matrix;congruence techniques;determinant;least squares equations;
+linear system;matrix inversion;modulus;residue arithmetic;
+simultaneous linear equations;
642    toms  150  153 12  2      June 1986  g2   F K5
 M. F. Hutchinson;
 A Fast Procedure for Calculating Minimum Cross-Validation Cubic Smoothing
+ Splines
 banded matrix;discrete cubic splines;smoothing splines;
+generalized cross validation;
643    toms  154  161 12  2      June 1986  g2   F L9b
 C. R. Menta; N. R. Patel;
 {FEXACT}: A {FORTRAN} Subroutine for {Fisher}'s Exact Test on Unordered
+ $r\times c$ Contingency Tables
 graph theory;network;spanning tree;
 R,toms,484--488,19,4,December,1993,D. B. Clarkson and Y. Fan and H. Joe;
644    toms  265  273 12  3 September 1986 s19   F C10a4
 D. E. Amos;
 A Portable Package for {Bessel} Functions of a Complex Argument and
+ Non-Negative Order
 Bessel function;complex Airy function;complex Bessel function;
+log gamma function;
 R,toms,404,16,4,December,1990,D. E. Amos;
+R,toms,388--393,21,4,December,1995,D. E. Amos;
+R,toms,28-3,33,4,August,2007,M. Kodama;
645    toms  274  277 12  3 September 1986  f1   F D9c
 J. C. Nash; R. L. C. Wang;
 Subroutines for Testing Programs that Compute the Generalized Inverse of a
+ Matrix
 generalized inverses;linear least squares solution;test problems;
646    toms  278  282 12  3 September 1986  f2   F D4b1
 C. R. Crawford;
 {PDFIND}: A Routine to Find a Positive Definite Linear Combination of Two
+ Real Symmetric Matrices
 banded matrix;eigenvalues;generalized eigenvalue problem;sparse matrix;
647    toms  362  376 12  4  December 1986  d1   F H2c
 B. L. Fox;
 Implementation and Relative Efficiency of Quasirandom Sequence Generators
 global optimization;multiple integration;numerical integration;quadrature;
+random numbers;simulation;
648    toms   28   34 13  1     March 1987  d2   F I1c
 W. H. Enright; J. D. Pryce;
 {NSDTST} and {STDTST}: Routines for Assessing the Performance of Initial
+ Value Solvers
 ordinary differential equations;stiff differential equations;testing;
649    toms   97  107 13  1     March 1987  d1   F J1a3
 G. Guinta; A. Murli;
 A Package for Computing Trigonometric {Fourier} Coefficients Based on
+ {Lyness}'s Algorithm
 Fourier coefficients;Fourier series;function approximation;
+trigonometric series;
650    toms  138  151 13  2      June 1987  b4   F C2
 K. C. Johnson;
 Efficient Square Root Implementation on the 68000
 microprocessor;square root;
651    toms  235  249 13  3 September 1987  d3   F I2b1a1a
 R. F. Boisvert;
 Algorithm {HFFT}: High-Order Fast-Direct Solution of {Helmholtz} Equation 
+ in Three Dimensions
 fast Fourier transform;fast Helmholtz solver;fast Poisson solver;
+finite differences;HODIE method;
652    toms  281  310 13  3 September 1987  c5   F F2
 L. T. Watson; S. C. Billups; A. P. Morgan;
 {HOMPACK}: A Suite of Codes for Globally Convergent Homotopy Algorithms
 Chow-Yorke algorithm;continuation method;fixed point;
+fixed points of nonlinear systems;
+homotopy method;nonlinear systems;zeros of nonlinear systems;
653    toms  311  317 13  3 September 1987  f1   F D1a
 R. J. Hanson; F. T. Krogh;
 Translation of {Algorithm} 539: {PC-BLAS} Basic Linear Algebra Subprograms
+ for {FORTRAN} Usage with the {INTEL}8087 80287 Numeric Data Processor
 microprocessor;linear algebra;utilities;
654    toms  318  319 13  3 September 1987 s14   F C7e
 A. R. DiDonato; A. H. {Morris Jr.};
 {FORTRAN} Subroutines for Computing the Incomplete Gamma Function Ratios and
+ their Inverse
 chi-square distribution function;incomplete gamma function;
+inverse gamma function;
655    toms  399  415 13  4  December 1987  d1   F H2c
 S. Elhay; J. Kautsky;
 {IQPACK}: {FORTRAN} Subroutines for the Weights of Interpolatory Quadratures
 automatic integration;automatic quadrature;interpolatory quadrature;
+quadrature;quadrature coefficients;Gaussian quadrature;
+Gaussian integration;numerical integration;
656    toms   18   32 14  1     March 1988  f1   F D1
 J. J. Dongarra; J. {Du Croz}; S. Hammarling; R. J. Hanson;
 An Extended Set of Basic Linear Algebra Subprograms: Model Implementation
+ and Test Programs
 linear algebra;utilities;
657    toms   42   44 14  1     March 1988  j6   F Q
 G. Sewell;
 Software for Plotting Contour Surfaces of a Function of Three Variables
 contour plotting;contour surface;surface plot;three-dimensional plot;
 R,toms,109,16,1,March,1990,G. Sewell;
658    toms   61   67 14  1     March 1988  d2   F I1a1b
 J. R. Leis; M. A. Kramer;
 {ODESSA}: An Ordinary Differential Equation Solver with Explicit Simultaneous
+ Sensitivity Analysis
 ordinary differential equations;initial value problems;
+stiff differential equations;sensitivity analysis;
659    toms   88  100 14  1     March 1988  g5   F G2i
 P. Bratley; B. L. Fox;
 Implementing {Sobol}'s Quasirandom Sequence Generator
 random number generator;global optimization;integration;
 R,toms,49--57,29,1,March,2003,S. Joe and F. Y. Kuo;
660    toms  149  150 14  2     June 1988  e2    F E2b
 R. J. Renka;
 {QSHEP2D}: Quadratic {Shepard} Method for Bivariate Interpolation of
+ Scattered Data
 bivariate interpolation;scattered data fitting;smooth surface fitting;
+searching;
661    toms  151  152 14  2     June 1988  e2    F E2b
 R. J. Renka;
 {QSHEP3D}: Quadratic {Shepard} Method for Trivariate Interpolation of
+ Scattered Data
 interpolation;scattered data fitting;smooth surface fitting;searching;
662    toms  171  176 14  2      June 1988  d5   F J3
 B. S. Garbow; G. Giunta; J. N. Lyness; A. Murli;
 A {FORTRAN} Software Package for the Numerical Inversion of the {Laplace}
+ Transform Based on {Weeks}' Method
 Laplace transform inversion;Laguerre polynomial;Cauchy integral;
+numerical differentiation;Taylor series;
 R,toms,405--406,16,4,December,1990,B. S. Garbow and J. N. Lyness;
663    toms  177  195 14  2      June 1988  f1 NSF D1a
 M. Louter-Nool;
 Translation of {Algorithm} 539: Basic Linear Algebra Subprograms for
+ {FORTRAN} Usage in {FORTRAN} 200 for the {Cyber} 205
 linear algebra;utilities;
664    toms  257  260 14  3 September 1988  f4   F D2a2
 G. Schrauf;
 A {Gauss} Algorithm to Solve Systems with Large Banded Matrices Using Random
+ Access Disk Storage
 linear systems;Gaussian elimination;banded matrix;sparse matrix;
665    toms  303  311 14  4  December 1988  a1   F R1
 W. J. Cody;
 {MACHAR}: A Subroutine to Dynamically Determine Machine Parameters
 floating arithmetic;machine dependencies;portability;
666    toms  330  336 14  4  December 1988  c5   F F2
 M. N. Vrahatis;
 {CHABIS}: A Mathematical Software Package for Locating and Evaluating
+ Roots of Systems of Nonlinear Equations
 systems of nonlinear equations;roots;bisection method;
667    toms  366  380 14  4  December 1988  e4   F G1b1a
 F. Aluffi-Pentini; V. Parisi; F. Zirilli;
 {SIGMA}: A Stochastic-Integration Global Minimization Algorithm
 global optimization;minimization;
668    toms  397  398 14  4  December 1988  g5   F L6a8
 V. Kachitvichyanukul; B. W. Schmeiser;
 {H2PEC}: Sampling from the Hypergeometric Distribution
 random number generator;hypergeometric distribution;
+acceptance-rejection method;compositions;Monte Carlo;simulation;
669    toms   29   30 15  1  March    1989  d2   F I1a1a
 J. R. Cash;
 {BRK45}: A {FORTRAN} Subroutine for Solving First-Order Systems of
+ Nonstiff Initial Value Problems for Ordinary Differential Equations
 initial value problems;ordinary differential equations;
+Runge-Kutta method;
 R,toms,424--426,17,3,September,1991,D. J. Higham;
670    toms   31   40 15  1  March    1989  d2   F I1a1a
 R. W. Brankin; I. Gladwell; J. R. Dormand; P. J. Prince; W. L. Seward;
 A {Runge}-{Kutta}-{Nystr\"om} Code
 initial value problems;ordinary differential equations;
+Runge-Kutta method;Runge-Kutta-Nystrom method;
671    toms   79   89 15  1  March    1989  j6   F Q
 A. Preusser;
 {FARB-E-2D}: Fill Area with Bicubics on Rectangles -- A Contour Plot Program
 bivariate interpolation;contour plotting;Hermite bicubic elements;
+surface plot;
672    toms  137  143 15  2  June     1989  d1   F H2c
 T. N. L. Patterson;
 Generation of Interpolatory Quadrature Rules of the Highest Degree of
+ Precision with Preassigned Nodes for General Weight Functions
 automatic integration;automatic quadrature;Gaussian integration;integration;
+interpolatory quadrature;optimal quadrature rule;quadrature;
673    toms  158  167 15  2  June     1989  m2 PAS N
 J. S. Vitter;
 Dynamic {Huffman} Coding
 Huffman codes;information theory;network;
 R,toms,10:1--10:1,42,1,February,2016,A. Novoselsky and E. Kagan;
674    toms  381  396 14  4  December 1988  f1   F D1b2
 N. J. Higham;
 {FORTRAN} Codes for Estimating the One-Norm of a Real or Complex Matrix,
+ with Applications to Condition Estimation
 condition number;linear algebra;L1 norm;matrix condition;
675    toms  243  256 15  3 September 1989  g2   F L10a2e
 M. Vanbegin; P. Van Dooren; M. Verhaegen;
 {FORTRAN} Subroutines for Computing the Square Root Covariance Filter and
+ Square Root Information Filter in Dense or {Hessenberg} Forms
 covariance matrix;Kalman filter;linear digital filters;
+statistical computations;
676    toms  348  364 15  4  December 1989  g2   F K1b1a2
 P. T. Boggs; J. R. Donaldson; R. H. Byrd; R. B. Schnabel;
 {ODRPACK}: Software for Weighted Orthogonal Distance Regression
 estimation;nonlinear regression;orthogonal distance regression;
+overdetermined systems of equations;regression;
677    toms  365  374 15  4  December 1989  e2   F E2b
 G. Casciola;
 ${C}^1$ Surface Interpolation
 bivariate interpolation;interpolation;scattered data fitting;
+smooth surface fitting;surface fitting;
678    toms  394  397 15  4  December 1989  g5   F L6a2
 V. Kachitvichyanukul; B. W. Schmeiser;
 {BTPEC}: Sampling from the Binomial Distribution
 acceptance-rejection method;binomial distribution;compositions;
+Monte Carlo;random number generator;
679    toms   18   28 16  1     March 1990  f1   F D1b
 J. J. Dongarra; J. Du Croz; S. Hammarling; I. Duff;
 A Set of Level 3 Basic Linear Algebra Subprograms
 linear algebra;utilities;
680    toms   47    0 16  1     March 1990 s15   F C8a
 G. P. M. Poppe; C. M. J. Wijers;
 Evaluation of the Complex Error Function
 error function for complex argument;recursive computation;Voigt function;
681    toms  152  157 16  2      June 1990  c5   F F2
 R. B. Kearfott; M. Novoa III;
 {INTBIS}, a Portable Interval {Newton}/Bisection Package
 bisection method;constrained optimization;global optimization;
+interval arithmetic;nonlinear equations;nonlinear systems;
+Newton's method;optimization;roots;
682    toms  158  168 16  2      June 1990  d5   F J3
 A. Murli; M. Rizzardi;
 {Talbot}'s Method for the {Laplace} Inversion Problem
 Laplace transform inversion;trapezoidal integration;trapezoid rule;
683    toms  178  182 16  2      June 1990 s13   F C5
 D. E. Amos;
 A Portable {FORTRAN} Subroutine for Exponential Integrals of a Complex Argument
 complex exponential integral;confluent hypergeometric function;
+exponential integral;Miller algorithm;
684    toms  253  257 16  3 September 1990  e2   F E2b
 A. Preusser;
 ${C}^1$- and ${C}^2$- Interpolation on Triangles with Quintic and Nonic
+ Bivariate Polynomials
 bivariate interpolation;Hermite polynomial;interpolation;
+scattered data fitting;smooth surface fitting;surface fitting;
685    toms  325  351 16  4  December 1990  d3   F I2b1a1a
 L. Kaufman; D. D. Warner;
 A Program for Solving Separable Elliptic Equations
 elliptic partial differential equations;rectangular domains;
+spline approximation;
686    toms  369  377 16  4  December 1990  f5   F D7c
 L. Reichel; W. B. Gragg;
 {FORTRAN} Subroutines for Updating the {QR} Decomposition
 matrix factorization;orthogonalization;QR-algorithm;
687    toms    1   10 17  1     March 1991  d2   F I1c
 C. A. Addison; W. H. Enright; P. W. Gaffney; I. Gladwell; P. M. Hanson;
 A Decision Tree for the Numerical Solution of Initial Value Ordinary
+ Differential Equations
 expert systems;initial value problems;menu-driven applications;
+ordinary differential equations;
688    toms  153  166 17  2      June 1991  d3   F I2a1a
 P. Keast; P. H. Muir;
 {EPDCOL}: A More Efficient {PDECOL} Code
 collocation;method of lines;partial differential equations;
689    toms  167  177 17  2      June 1991  d5   F I3
 J. G. Blom; H. Brunner;
 Discretized Collocation and Iterated Collocation for Nonlinear
+ {Volterra} Integral Equations of the Second Kind
 collocation;integral equations;Volterra integral equations;
690    toms  178  206 17  2      June 1991  d3   F I2
 M. Berzins; P. M. Dew;
 {Chebyshev} Polynomial Software for Elliptic-Parabolic Systems of {PDE}s
 Chebyshev polynomial;elliptic partial differential equations;method of lines;
+parabolic differential equations;partial differential equations;
691    toms  218  232 17  2      June 1991  d1   F H2a
 P. Favati; G. Lotti; F. Romani;
 Improving {QUADPACK} Automatic Integration Routines
 integration;interpolatory quadrature;quadrature;
692    toms  264  272 17  2      June 1991  f1   F D1
 D. S. Dodson; R. G. Grimes; J. G. Lewis;
 Model Implementation and Test Package for the Sparse Basic Linear
+ Algebra Subprograms
 linear algebra;linear systems;matrix operation;sparse matrix;utilities;
693    toms  273  283 17  2      June 1991  a1   F A3
 D. M. Smith;
 A {FORTRAN} Package for Floating-point Multiple-precision Arithmetic
 elementary function;extended precision;floating arithmetic;
694    toms  289  305 17  3 September 1991  f1   M D1b1
 N. J. Higham;
 A Collection of Test Matrices in {MATLAB}
 linear algebra;matrix operation;test matrix;test problems;
695    toms  306  312 17  3 September 1991  f1   F D2b1
 E. Eskow; R. B. Schnabel;
 Software for a New Modified {Cholesky} Factorization
 linear algebra;matrix decomposition;matrix factorization;
+triangular decomposition;triangular factorization;
696    toms  335  340 17  3 September 1991  f2   F D4a
 G. Schrauf;
 An Inverse {Rayleigh} Iteration for Complex Band Matrices
 band matrix;banded matrix;eigenvalues;eigenvectors;inverse iteration;
+matrix eigensystems;
697    toms  367    0 17  3 September 1991  e2   F E1a
 H. Akima;
 Univariate Interpolation that Has the Accuracy of a Third-Degree
+ Polynomial
 cubic splines;curve fitting;interpolation;piecewise polynomial interpolation;
698    toms  452  456 17  4  December 1991  d1   F H2b1a1
 J. Berntsen; T. O. Espelid; A. Genz;
 {DCUHRE}: An Adaptive Multidimensional Integration Routine for a Vector
+ of Integrals
 adaptive integration;adaptive quadrature;integration;multiple integration;
+quadrature;
699    toms  457  461 17  4  December 1991  d1   F H2a1a1
 F. T. Krogh; W. {Van Snyder};
 A New Representation of {Patterson}'s Quadrature Formulae
 gaussian quadrature;integration;multiple quadrature;quadrature;
700    toms  500  501 17  4  December 1991  d2   F I1b3
 P. B. Bailey; B. S. Garbow; H. G. Kaper; A. Zettl;
 A {FORTRAN} Software Package for {Sturm}-{Liouville} Problems
 boundary value problem;eigenvalues;ordinary differential equations;
 C,toms,481--490,17,4,December,1991,M. Marletta;
701    toms  519  532 17  4  December 1991  f4   F D9a
 P. Alfeld; D. J. Eyre;
 {GOLIATH} -- A Software System for the Exact Analysis of Rectangular
+ Rank-Deficient Sparse Rational Linear Systems
 linear algebra;linear dependence;linear systems;rank computations;
+residue arithmetic;
702    toms   46   70 18  1     March 1992  e4   F G1b1c
 T. Schlick; A. Fogelson;
 {TNPACK} -- A Truncated {Newton} Minimization Package for Large-Scale
+ Problems:  I.  Algorithm and Usage
 nonlinear optimization;preconditioned conjugate gradient;sparse matrices;
+truncated Newton methods;
 R,toms,108--122,25,1,March,1999,D. Xie and T. Schlick;
703    toms  156  158 18  2      June 1992  d2   F I1a2
 J. R. Cash; S. Considine;
 {MEBDF}:  A {FORTRAN} Subroutine for Solving First-Order Systems of Stiff
+ Initial Value Problems for Ordinary Differential Equations
 A-stability;modified extended backward differentiation formulae;
+stiff initial value problems;
704    toms  205  210 18  2      June 1992  f4   F D2a
 F. Majaess; P. Keast; G. Fairweather; K. R. Bennett;
 {ABDPACK} and {ABBPACK} -- {FORTRAN} Programs for the Solution of Almost
+ Block Diagonal Linear Systems Arising in Spline Collocation at {G}aussian
+ Points with Monomial Basis Functions
 almost block diagonal systems;alternate column and row pivoting;
+implicit Runge-Kutta methods;monomial spline basis;multiple shooting;
+spline collocation at Gaussian points;
705    toms  232  238 18  2      June 1992  f1   F D8
 J. D. Gardiner; M. R. Wette; A. J. Laub; J. J. Amato; C. B. Moler;
 A {FORTRAN}-77 Software Package for Solving the {Sylvester} Matrix
+ Equation ${AXB^T}+{CXD^T}={E}$
 conditioning;linear systems;Sylvester equation;
 R,toms,372--375,28,3,September,2002,T. R. Hopkins;
706    toms  329  342 18  3 September 1992  d1   F H2b2a1 
 J. Berntsen; T. O. Espelid;
 {DCUTRI}: An Algorithm for Adaptive Cubature Over a Collection of Triangles
 automatic integration;cubature rules;error estimation;null rules;symmetry;
+triangular regions;adaptive quadrature;
 R,toms,334--335,24,3,September,1998,T. O. Espelid;
707    toms  345  349 18  3 September 1992 s22   F C11 
 M. Nardin; W. F. Perger; A. Bhalla;
 {CONHYP}: A Numerical Evaluator of the Confluent Hypergeometric Function for
+ Complex Arguments of Large Magnitudes
 special functions;evaluator;
708    toms  360  373 18  3 September 1992 s14   F C7f
 A. R. {DiDonato}; A. H. {Morris, Jr.};
 Significant Digit Computation of the Incomplete Beta Function Ratios
 continued fractions;f-distribution;minimax approximations;
 C,toms,393--397,20,3,September,1994,B. W. Brown and L. B. Levy;
709    toms  375  391 18  4  December 1992   z   F G4f
 A. G. Buckley;
 Testing Algorithm Implementations
 algorithm testing;optimization;
710    toms  392  400 18  4  December 1992  f2   F D4a2
 J. J. Dongarra; G. A. Geist; C. H. Romine;
 {FORTRAN} Subroutines for Computing the Eigenvalues and Eigenvectors of a
+ General Matrix by Reduction to General Tridiagonal Form
 condensed form;nonsymmetric;
711    toms  414  448 18  4  December 1992  e4 NSF G1b1b
 S. G. Nash; A. Sofer;
 {BTN}: Software for Parallel Unconstrained Optimization
 conjugate gradient method;nonlinear optimization;parallel computing;
+truncated newton method;
712    toms  454  455 18  4  December 1992  g5   F L6a14
 J. L. Leva;
 A Normal Random Number Generator
 gaussian distribution;normal distribution;pseudorandom numbers;
+ratio of uniform deviates;
713    toms  456  469 18  4  December 1992 s17   F C10
 R. F. Boisvert; B. V. Saunders;
 Portable Vectorized Software for {Bessel} Function Evaluation
 hyperbolic bessel function;modified bessel function;order zero and one;
714    toms    1   21 19  1     March 1993   s   F C2 
 W. J. Cody;
 {CELEFUNT}: A Portable Test Package for Complex Elementary Functions
 performance evaluation;
715    toms   22   32 19  1     March 1993   s   F C 
 W. J. Cody;
 {SPECFUN}: A Portable {FORTRAN} Package of Special Function Routines and Test
+ Drivers
 bessel function;error function;exponential integrals;gamma functions;
 R,toms,258,22,2,June,1996,D. T. Price;
716    toms   81   94 19  1     March 1993  e2   F E1
 R. J. Renka;
 {TSPACK}: Tension Spline Curve-Fitting Package
 convexity preserving;cubic spline;exponential spline;interpolation;
+monotonicity preserving;parametric curve;piecewise polynomial;shape preserving;
+smoothing;spline under tension;tension factor;
 R,toms,95--96,25,1,March,1999,F. J. Testa and R. J. Renka;
717    toms  109  130 19  1     March 1993  g2   F L8e1b
 D. S. Bunch; D. M. Gay; R. E. Welsch;
 Subroutines for Maximum Likelihood and Quasi-Likelihood Estimation of
+ Parameters in Nonlinear Regression Models
 exponential family;generalized linear models;glim;quasi-newton;
+influential data;multinomial probit;probabilistic choice models;
+regression diagnostics;simple bound;trust region;
718    toms  224  232 19  2      June 1993  f2   F D4
 G. Miminis; M. Reid;
 A {FORTRAN} Subroutine to Solve the Eigenvalue Allocation Problem for
+ Single-Input Systems
 deflation;numerical efficiency;pole placement;
719    toms  288  319 19  3 September 1993  a1   F A3 
 D. H. Bailey;
 Multiprecision Translation and Execution of {FORTRAN} Programs
 multiprecision computation;multiprecision arithmetic;
720    toms  320  332 19  3 September 1993  d1   F H2b2a1
 J. Berntsen; R. Cools; T. O. Espelid;
 An Algorithm for Adaptive Cubature Over a Collection of 3-Dimensional
+ Simplices
 automatic integration;cubature rules;error estimation;null rules;symmetry;
+tetrahedrons;
721    toms  391  406 19  3 September 1993  d2   F C17
 R. B. Shirts;
 {MTIEU1} and {MTIEU2}: Two Subroutines to Compute Eigenvalues and Solutions to
+ Mathieu's Differential Equation for Noninteger and Integer Order
 floquet solutions;ordinary differential equations;
722    toms  443  451 19  4  December 1993  a1   C A3
 W. J. Cody; J. T. Coonen;
 Functions to Support the {IEEE} Standard for Binary Floating-Point Arithmetic
 copysign;finite;isnan;logb;manipulative functions;nextafter;scalb;
723    toms  452  456 19  4  December 1993 s20   F C8b 
 W. {Van Snyder};
 Fresnel Integrals
 special functions;
 R,toms,498--500,22,4,December,1996,W. {Van Snyder};
+R,toms,617,26,4,December,2000,S. Anderson;
724    toms  481  483 19  4  December 1993 s14   F L5a2f
 R. W. Abernathy; R. P. Smith;
 Program to Calculate ${F}$-Percentiles
 distribution function;f-distribution;cumulative distribution function;cdf;
+newtons method;root finding method;taylor series;
725    toms  470  480 18  4  December 1992 s15   F L5b1n
 Z. Drezner;
 Computation of the Multivariate Normal Integral
 multivariate normal probability;
726    toms   21   62 20  1     March 1994  d1   F C3a,H2c
 W. Gautschi;
 {ORTHPOL} -- {A} Package of Routines for Generating Orthogonal Polynomials
+ and Gauss-Type Quadrature Rules
 Gauss-type quadrature rules;orthogonal polynomials;
 R,toms,355,24,3,September,1998,W. Gautschi;
727    toms  100  102 20  1     March 1994  g1   C L4a1b1
 S. Hashem; B. Schmeiser;
 Quantile Estimation Using Overlapping Batch Statistics
 aggregation;autocorrelation;monte carlo;stochastic simulation;time series;
728    toms  120  123 20  1     March 1994  e4   F G2e1,G4f
 P. H. Calamai; L. N. Vicente;
 {FORTRAN} Subroutines for Generating Quadratic Bilevel Programming Test
+ Problems
 bilevel programming;quadratic separable programs;test problems;
729    toms  256  273 18  3 September 1992  f4   F D2a,D2b
 P. C. Hansen; T. F. Chan;
 {FORTRAN} Subroutines for General {Toeplitz} Systems
 condition estimation;levinson's algorithm;toeplitz systems;
730    toms  292  307 18  3 September 1992  f2   F D4c2b
 G. S. Ammar; L. Reichel; D. C. Sorensen;
 An Implementaion of a Divide and Conquer Algorithm for the Unitary
+ Eigenproblem
 divide and conquer;unitary eigenvalue problem;
731    toms  194  214 20  2      June 1994  d3   F I2a1a
 J. G. Blom; P. A. Zegeling;
 A Moving-Grid Interface for Systems of One-Dimensional Time-Dependent
+ Partial Differential Equations
 Lagrangian methods;method of lines;moving grids;
+partial differential equations;time-dependent problems
732    toms  247  261 20  3 September 1994  d3   F I2b1a1b,I2b1a3
 P. F. Cummins; G. K. Vallis;
 Solvers for Self-Adjoint Elliptic Problems in Irregular Two-Dimensional
+ Domains
 capacitance iteration;capacitance matrix;elliptic equations;
+fast poisson solvers;greens function;
733    toms  262  281 20  3 September 1994  d2   F G3
 D. Kraft;
 {TOMP}: {FORTRAN} Modules for Optimal Control Calculations
 boundary value problems;manipulators;optimal control;robotics;shooting method;
734    toms  354  372 20  3 September 1994  e4 F90 G1b1a,G1b1b
 A. G. Buckley;
 A {Fortran} 90 Code for Unconstrained Nonlinear Minimization
 conversion;limited memory;new features;nonlinear optimization;quasi-newton;
 C,toms,351--354,24,3,September,1998,T. R. Hopkins;
735    toms  398  412 20  3 September 1994   z   M J,L10a3
 C. Taswell; K. C. {McGill};
 Wavelet Transform Algorithms for Finite-Duration Discrete-Time Signals
 multiresolution analysis;signal processing;waveform analysis;
736    toms  427  435 20  4  December 1994 s21   F C14,P
 C. F. Dunkl; D. E. Ramirez;
 Hyperelliptic Integrals and the Surface Measure of Ellipsoids
 elliptic integral;expected radius;lauricellas hypergeometric function;
+surface measure;
737    toms  447  459 20  4  December 1994  a1   F A5
 R. B. Kearfott; M. Dawande; K. Du; C. Hu;
 {INTLIB}: {A} Portable {FORTRAN} 77 Interval Standard-Function Library
 blas;interval arithmetic;operator overloading;fortran 90;
738    toms  494  495 20  4  December 1994  g5   F H2c,G2i,G4f
 P. Bratley; B. L. Fox; H. Niederreiter;
 Programs to Generate {Niederreiter}'s Low-Discrepancy Sequences
 quasi-monte carlo;quasirandom sequences;
739    toms  518  530 20  4  December 1994  e4   F G1b1a,G1b1b,G1b1c
 T. Chow; E. Eskow; R. Schnabel;
 A Software Package for Unconstrained Optimization Using Tensor Methods
 higher-order method;
740    toms   18   19 21  1     March 1995  f4   F D2b1b,D2b4
 M. T. Jones; P. E. Plassmann;
 {FORTRAN} Subroutines to Compute Improved Incomplete {Cholesky} 
+Factorizations
 incomplete factorization;preconditioners;sparse matrices;
741    toms   20   25 21  1     March 1995  f4   F D9a1
 R. D. Ray;
 Least-Squares Solution of a Linear, Bordered, Block-Diagonal System of
+ Equations
 sparse systems;
742    toms   98  110 21  1     March 1995  e4   F K1a2a,K5,L8g,L8h
 I. C. Demetriou;
 {L2CXFT}: {A} {FORTRAN} Subroutine for Least-Squares Data Fitting with
+ Nonnegative Second Divided Differences
 b-splines;convex approximation;
743    toms  172  181 21  2      June 1995  c5   F C19
 D. A. Barry; S. J. Barry; P. J. {Cullingan-Hensley};
 {WAPR}: A {FORTRAN} Routine for Calculating Real Values of the {$W$}-Function
 iterative improvement scheme
744    toms  194  213 21  2      June 1995  e4   L G2h3b2,G2i
 F. M. Rabinowitz;
 A Stochastic Algorithm for Global Optimization with Constraints
 constrained optimization;stochastic optimization;test functions;
745    toms  221  232 21  3 September 1995  s15  F C19
 M. Goano;
 Computation of the Complete and Incomplete {Fermi}-{Dirac} Integral
 asymptotic expansions;confluent hypergeometric functions;
+convergence acceleration;e[k] transforms;epsilon algorithm;
+euler transformation;incomplete gamma function;levins u transform;
+riemanns zeta function;
746    toms  233  266 21  3 September 1995  r2   F H1,S1,O
 M. Dobmann; M. Liepelt; K. Schittkowski;
 {PCOMP}: {A} {FORTRAN} Code for Automatic Differentiation
 forward accumulation;reverse accumulation;
 R,toms,352--362,26,3,September,2000,M. Liepelt and K. Schittkowski;
747    toms  299  326 21  3 September 1995  f2   F D4,G3
 G. Miminis; H. Roth;
 A {FORTRAN} Subroutine to Solve the Eigenvalue Assignment Problem for Multiiput
+ Systems Using State Feedback
 deflation;double steps;numerical efficiency;pole assignment;
748    toms  327  344 21  3 September 1995  c5   F F1b
 G. E. Alefeld; F. A. Porta; Y. Shi;
 Enclosing Zeros of Continuous Functions
 asymptotic efficiency index;enclosing method;inverse cubic interpolation;
+quadratic interpolation;simple root;
749    toms  372  378 21  4  December 1995  c6   F J1a3
 B. G. Sherlock; D. M. Munro;
 Fast Discrete Cosine Transform
 data compression;fast transform;
750    toms  410  415 21  4  December 1995   h   F G2c5
 G. Carpento; M. {Dell}'{Amico}; P. Toth;
 {CDT}: {A} Subroutine for the Exact Solution of Large-Scale, Asymmetric
+ Traveling Salesman Problems
 assignment problem;branch and bound;reduction procedure;subtour elimination;
751    toms    1    8 22  1     March 1996  e2   F P
 R. J. Renka;
 {TRIPACK}: Constrained Two-Dimensional {Delauney} Triangulation Package
 constrained Delauney triangulation;interpolation;
 R,toms,97--98,25,1,March,1999,R. J. Renka;
752    toms    9   17 22  1     March 1996  e2   F E2b,K1a1b,K1a2a,K5
 R. J. Renka;
 {SRFPACK}: Software for Scattered Data Fitting with a Constrained Surface 
+ under Tension
 interpolation;scattered data fitting;smoothing;surface under tension;
 R,toms,99--100,25,1,March,1999,R. J. Renka;
753    toms   24   29 22  1     March 1996  f1   F D1b4,D2a,D2b
 P. E. Buis; W. R. Dyksen;
 {TENPACK}: A {LAPACK}-Based Library for the Computer Manipulation of 
+ Tensor Products
 LAPACK;parallel;tensor product;vector;
754    toms  104  118 22  1     March 1996   h   F G2c4,G2c5
 M. G. C. Resende; P. M. Pardalos; Y. Li;
 {FORTRAN} Subroutines for Approximate Solution of Dense Quadratic Assignment 
+ Problems Using {GRASP}
 combinatorial optimization;GRASP;local search;quadratic assignment problem;
755    toms  131  167 22  2      June 1996  r2   C H1,O,S1
 Griewank, A.; Juedes, D.; Utke, J.;
 {ADOL-C}: A Package for the Automatic Differentiation of Algorithms Written in 
+ {C/C++}
 automatic differentiation; chain rule;forward mode; gradients;Hessians;
+overloading;reverse mode;Taylor coefficients;
756    toms  168  186 22  2      June 1996  d2   M I2b4,P
 Driscoll, T. A.;
 A {Matlab} Toolbox for {Schwarz-Christoffel} Mapping
 numerical conformal mapping;Schwarz-Christoffel transformation;
757    toms  288  301 22  3 September 1996  s22  F C10d,C10e,C10f,C19
 Macleod, A. J.;
 {MISCFUN}, A Software Package to Compute Uncommon Special Functions
 Chebyshev polynomials;special functions;
758    toms  302  328 22  3 September 1996  d3   F I2a1b
 Blom, J. G.; Trompert, R. A.; Verwer, J. G.;
 {VLUGR2}: A Vectorizable Adaptive-Grid Solver for {PDEs} in {2D}
 adaptive-grid methods;iterative solvers;method of lines;
+nonsymmetric sparse linear systems;partial differential equations;vectorization;
759    toms  329  347 22  3 September 1996  d3   F I2a1b
 Blom, J. G.; Verwer, J. G.;
 {VLUGR3}: A Vectorizable Adaptive-Grid Solver for {PDEs} in {3D} --- Part 
+ {II}. Code Description
 adaptive-grid methods;iterative solvers;method of lines;
+nonsymmetric sparse linear systems;partial differential equations;vectorization;
760    toms  357  361 22  3 September 1996  e2   F E2a
 Akima, H.;
 Rectangular-Grid-Data Surface Fitting that Has the Accuracy of a Bicubic 
+ Polynomial
 bivariate interpolation;cubic polynomial;interpolation;local interpolation;
761    toms  362  371 22  3 September 1996  e2   F E2b
 Akima, H.;
 Scattered-Data Surface Fitting that Has the Accuracy of a Cubic Polynomial
 bivariate interpolation;interpolation;local interpolation;
 R,toms,383--385,24,4,December,1998,R. J. Renka and R. Brown;
+R,toms,46--48,26,1,March,2000,F. {De Tisi} and A. Valtulina;
762    toms  372  382 22  3 September 1996  g1   F L5a1e,L5a1l,L5a1w
 Brown, B. W.; Levy, L. B.; Lovato, J.; Russell, K.; Spears, F. M.;
 {LLDRLF}, Log-Likelihood and Some Derivatives for {Log-F} Models
 accelerated failure;log-F distribution;log-likelihood;
763    toms  385  392 22  4  December 1996  a1 F90 A5
 R. B. Kearfott;
 INTERVAL\_ARITHMETIC: A Fortran 90 Module for an Interval Data Type
 interval arithmetic;operator overloading;portability;
764    toms    1   15 23  1     March 1997  d1 CPP H2b2a1
 R. Cools; D. Laurie; L. Pluym;
 Cubpack++: A {C++} Package for Automatic Two-Dimensional Cubature
 automatic integration;planar regions;
765    toms   81   90 23  1     March 1997  e4   F G1b1a,G1b1b,G1b1c
 A. Bouaricha;
 {STENMIN:} A Software Package for Large, Sparse Unconstrained Optimization 
+ Using Tensor Methods
 large-scale optimization;rank-deficient matrices;
766    toms   91  110 23  1     March 1997  c1   F90 K4
 S. Cabay; A. R. Jones; G. Labahn;
 Experiments with a Weakly Stable Algorithm for Computing {Pad\'{e}}-{Hermite} 
+ and Simultaneous {Pad\'{e}} Approximants
 hankel matrix;numerical stability;sylvester matrix;toeplitz matrix;
767    toms  111  129 23  1     March 1997  f1   F D1b7,C3b
 A. J. Geurts; C. Praagman;
 A {Fortran} 77 Package for Column Reduction of Polynomial Matrices
 unimodular;
768    toms  174  195 23  2      June 1997  e4   F F2,K1b1a1
 Bouaricha, A.; Schnabel, R. B.;
 {TENSOLVE}: A Software Package for Solving Systems of Nonlinear Equations and 
+ Nonlinear Least-squares Problems Using Tensor Methods
 rank-deficient matrices;
769    toms  196  208 23  2      June 1997   h   F G2b
 Pardalos, P. M.; Pitsoulis, L. S.; Resende, M. G. C.;
 {Fortran} Subroutines for Approximate Solution  of Sparse Quadratic Assignment 
+ Problems Using {GRASP}
 combinatorial optimization;local search;
 R,toms,349--351,29,3,September,2003,T. Hopkins;
770    toms  252  254 23  2      June 1997  e1   F E1a
 Costantini, P.;
 {BVSPIS}---A Package for Computing Boundary-Valued Shape-Preserving 
+ Interpolating Splines
 Berstein-Bezier polynomials;dynamic programming;spline interpolation;
771    toms  402  415 23  3 September 1997  d2 F90 I1a1a
 R. W. Brankin; I. Gladwell;
 rksuite\_90: {Fortran} 90 Software for Ordinary Differential Equation 
+ Initial-Value Problems
 complex;recursion;
772    toms  416  434 23  3 September 1997  e2   F P
 R. J. Renka;
 {STRIPACK}: {Delaunay} Triangulation and {Voronoi} Diagram on the Surface of a 
+ Sphere
 Dirichlet tessellation;Thiessen regions;
773    toms  435  442 23  3 September 1997  e2   F E2b,K5
 R. J. Renka;
 {SSRFPACK}: Interpolation of Scattered Data on the Surface of a Sphere with a 
+ Surface under Tension
 scattered data fitting;smoothing;triangle-based interpolation;
774    toms  448  450 23  3 September 1997  e4   F G4f,G2h1a
 F. Facchinei; J. Judice; J. Soares;
 {Fortran} Subroutines for Generating Box-Constrained Optimization Problems
 nonlinear programming test problems;test problem generation;
775    toms  453  493 23  4  December 1997  d2   F I1b3
 L. Greenberg; M. Marletta;
 The Code {SLEUTH} for Solving Fourth-Order {Sturm} {Liouville} Problems
 eigenvalues;
776    toms  494  513 23  4  December 1997  f2   F D4a2,D4a7
 Z. Bai; G. W. Stewart;
 {SRRIT}: A {Fortran} Subroutine to Calculate the Dominant Invariant Subspace 
+ of a Nonsymmetric Matrix
 nonsymmetric eigenvalue problem;project method;
777    toms  514  549 23  4  December 1997  c5   F90 F2
 L. T. Watson; M. Sosonkina; R. C. Melville; A. P. Morgan; H. F. Walker;
 {HOMPACK90}: A Suite of {Fortran} 90 Codes for Globally Convergent Homotopy 
+ Algorithms
 Chow-Yorke algorithm;curve tracking;fixed point;
778    toms  550  560 23  4  December 1997  e4   F G1b1b,G2h1a2
 C. Zhu; R. H. Byrd; P. Lu; J. Nocedal;
 {L-BFGS-B}: {Fortran} Subroutines for Large-Scale Bound-Constrained 
+ Optimization
 limited-memory method;nonlinear optimization;variable metric method;
+R,toms,7:1--7:4,38,1,November,2011,Jos\'e Luis Morales and Jorge Nocedal;
779    toms    1   12 24  1     March 1998 s13   F C19
 Macleod, A. J.;
 {Fermi-Dirac} Functions of Order -1/2, 1/2, 3/2, 5/2
 Chebyshev polynomials;collocation;floating-point arithmetic;
780    toms  102  106 24  1     March 1998  g5 F90 L6a5
 Hamilton, K. G.;
 Exponential Pseudorandom Distribution
 exponential distribution;random numbers;pseudorandom numbers;
781    toms  184  189 24  2      June 1998  j6   C P,Q
 Breinholt, G.; Schierz, C.; Krueger, H.;
 Generating {Hilbert's} Space-Filling Curve by Recursion
 fass curves;
782    toms  254  257 24  2      June 1998  f5   F D5
 Bischof, C. H.; Quintana-Ort\'{\i}, G.;
 Codes for Rank-Revealing {QR} Factorizations of Dense Matrices
 block algorithm;numerical rank;
783    toms  261  267 24  3 September 1998  e2   C P
 Peters, J.;
 {Pcp2Nurb} -- Smooth Free-Form Surfacing with Linearly Trimmed
+ Bicubic {B}-Splines
 arbitrary patch layout;arbitrary surface topology;
+biquadratic tensor-product B-splines;matlab;NURBS;planar-cut polyhedron;
784    toms  303  316 24  3 September 1998  f1   F D1b
 K\aagstr\"{o}m, B.; Ling, P.; {Van Loan}, C.;
 {GEMM}-Based Level 3 {BLAS}: Portability and Optimization Issues
 blocked algorithms;matrix-matrix kernels;memory hierarchy;parallelization;
+vectorization;
785    toms  317  333 24  3 September 1998  d2   F P
 Hu, C.;
 A Software Package for Computing {Schwarz}-{Christoffel} Conformal 
+ Transformation for Doubly Connected Polygonal Regions
 accessory parameters;numerical conformal mapping;system of nonlinear equations;
786    toms  359  367 24  4  December 1998  a2 F90 A4c
 Smith, D. M.;
 Multiple Precision Complex Arithmetic and Functions
 accuracy;floating point;function evaluation;mathematical library;
+portable software;
787    toms  386  394 24  4  December 1998   h   F G2d,P
 Resende, M. C. G.; Feo, T. A.; Smith, S. H.;
 {Fortran} Subroutines for Approximate Solution of Maximum Independent Set 
+ Problems Using {GRASP}
 combinatorial optimization;local search;maximum clique;
788    toms  395  417 24  4  December 1998  d5   F I2b1a1b
 Atkinson, K.; Jeon, Y.;
 Automatic Boundary Integral Equation Programs for the Planar
+ {Laplace} Equation
 numerical integral equation;
789    toms   58   69 25  1     March 1999  d2 F90 I1b3
 J. D. Pryce;
 {SLTSTPAK}: A Test Package for {Sturm}-{Liouville} Solvers
 Sturm-Liouville problems;test-problem collection;testing software;
790    toms   70   73 25  1     March 1999  e1   F E2b
 R. J. Renka;
 {CSHEP2D}: Cubic {Shepard} Method for Bivariate Interpolation of 
+ Scattered Data
 surface fitting;
791    toms   74   77 25  1     March 1999  e1   F E2b
 R. J. Renka; R. Brown;
 {TSHEP2D}: Cosine Series {Shepard} Method for Bivariate Interpolation of 
+ Scattered Data
 surface fitting;
792    toms   78   94 25  1     March 1999  e1   F E2b
 R. J. Renka; R. Brown;
 Accuracy Tests of {ACM} Algorithms for Interpolation of Scattered Data in 
+ the Plane
 Delaunay triangulation;Shepard method;surface fitting;
793    toms  213  239 25  2      June 1999  d1   F H2c
 W. Gautschi;
 {GQRAT} --- {Gauss} Quadrature for Rational Functions
 construction of quadrature rules;generalized Fermi-Dirac integrals;
+generalized Bose Einstein integrals;
794    toms  240  250 25  2      June 1999 s17   F J,C10f
 T. Wieder;
 Numerical {Hankel} Transform by the {Fortran} Program {HANKEL}
 bessel function;
795    toms  251  276 25  2      June 1999  c2 Ada F2
 J. Verschelde;
 {PHC}pack: A General-Purpose Solver for Polynomial Systems by Homotopy 
+ Continuation
 Bernsteins theorem;Bezout number;enumerative geometry;
+mixed volume;polyhedral homotopy;root count;Schubert calculus;start system;
796    toms  306  315 25  3 September 1999  d5   F J3
 L. D'Amore; G. Laccetti; A. Murli;
 A {Fortran} Software Package for the Numerical Inversion of the {Laplace} 
+ Transform Based on a {Fourier} Series Method
 automatic stopping criterion;
797    toms  341  352 25  3 September 1999   h   F G2b
 C. C. Ribeiro; M. G. C. Resende;
 {Fortran} Subroutines for Approximate Solution of Graph Planarization Problems 
+ Using {GRASP}
 automatic graph drawing;combinatorial optimization;local search;
798    toms  353  366 25  3 September 1999  e1 CPP E2b
 M. W. Berry; K. S. Minser;
 High-Dimensional Interpolation Using the Modified {Shepard} Method
 multivariate interpolation;netCDF file format;
799    toms   19   45 26  1     March 2000  r2   F H1
 A. Griewank; A. Walther;
 Revolve: An Implementation of Checkpointing for the Reverse or Adjoint Mode of 
+ Computational Differentiation
 reverse mode;
800    toms   49   77 26  1     March 2000  f2   F D4a2
 P. Benner; R. Byers; E. Barth;
 {Fortran 77} Subroutines for Computing the Eigenvalues of Hamiltonian Matrices 
+ {I}: The Square-Reduced Method
801    toms  176  200 26  1     March 2000  c5 F90 F2
 S. M. Wise; A. J. Sommese; L. T. Watson;
 {POLSYS\_PLP}: A Partitioned Linear Product Homotopy Code for Solving 
+ Polynomial Systems of Equations
 Chow-Yorke algorithm;curve tracking;fixed point;globally convergent;
+m-homogeneous;probability-one;
802    toms  201  219 26  1     March 2000  g5   C L6b
 W. H\"{o}rmann;
 An Automatic Generator for Bivariate Log-Concave Distributions
 rejection method;universal generator;
803    toms  310  319 26  2      June 2000   z AWK S1
 W. A. {Ward, Jr.};
 A Simpler Macro Processor
 awk;portable;simple;
804    toms  408  414 26  3 September 2000 s22 CPP C17
 Alhargan, F. A.;
 Subroutines for the computation of Mathieu functions of integer orders
 mathieu differential equation;mathieu characteristic numbers;
+mathieu characteristic determinant;mathieu coefficients;hill's determinant;
+wave equation;elliptic coordinates;
805    toms  415  435 26  3 September 2000  f1   C D
 Kolda, T. G.; O'Leary, D. P.;
 Computation and Uses of the Semidiscrete Matrix Decomposition
 singular value decomposition;semidiscrete decomposition;
+latent semantic indexing;compression;
806    toms  436  461 26  3 September 2000  g5   C L6a21
 Mascagni, M.; Srinivasan, A.;
 SPRNG: A Scalable Library for Pseudorandom Number Generation
 parallel random-number generators;random-number software;
+linear congruential generator;lagged-fibonacci generator;random-number tests;
807    toms  602  616 26  4  December 2000  f1   F D4c1b3
 C. H. Bischof; B. Lang; X. Sun;
 The {SBR} Toolbox -- Software for Successive Band Reduction
 symmetric matrices;tridiagonalization;blocked householder transformations;
808    toms   58   65 27  1     March 2001  g2   M L10c
 T. Schneider; A. Neumaier;
 {ARFIT} --- A {Matlab} Package for the Estimation of Parameters and Eigenmodes 
+ of Multivariate Autoregressive Models
 confidence intervals;least squares;model identification;order selection;
+parameter estimation;principal oscillation pattern;
809    toms   83   91 27  1     March 2001  f4   F D2b4,D2e
 J. L. Morales; J. Nocedal;
 {PREQN}: Fortran 77 Subroutines for Preconditioning the Conjugate Gradient 
+ Method
 quasi-newton method;hessian-free newton method;limited memory method;
810    toms  143  192 27  2      June 2001  d2   F I1b3
 P. B. Bailey; W. N. Everitt; A. Zettl;
 The {SLEIGN2} {Sturm}-{Liouville} Code
 eigenvalue computation;coupled boundary conditions;
811    toms  193  213 27  2      June 2001  e4   F G2h2b,K2
 L. Luksan; J. Vlcek;
 {NDA}: Algorithms for Nondifferentiable Optimization
 minimax optimization;discrete Chebyshev approximation;
+sequential quadratic programming methods;variable metric methods;
+general linear constraints;
812    toms  267  296 27  2      June 2001  c2 CPP C3b
 Y-F. Tsai; R. T. Farouki;
 {BPOLY}: An Object-Oriented Library of Numerical Algorithms for Polynomials in 
+ {Bernstein} Form
 Bernstein basis;polynomial algorithms;numerical stability;
813    toms  340  349 27  3 September 2001  e4   F G2h3
 E. G. Birgin; J. M. Martinez; M. Raydan;
 {SPG}--Software for Convex-Constrained Optimization
 bound constrained problems;large-scale problems;nonmonotone line search;
+projected gradients;spectral gradient methods;
814    toms  377  387 27  4  December 2001  a1 F90 A3c/C7a/C7b/C7e/C7f
 D. M. Smith;
 {Fortran} 90 Software for Floating-Point Multiple Arithmetic, {Gamma} and 
+ Related Functions
 accuracy;function evaluation;
815    toms  456  464 27  4  December 2001   h   F G2c2
 P. Festa; P. M. Pardalos; M. G. C. Resende;
 {Fortran} Subroutines for Computing Approximate Solutions of Feedback Set 
+ Problems Using {GRASP}
 combinatorical optimization;graph bipartization;local search;
+R,toms,166--168,32,1,March,2006,B. Hasselman;
816    toms   75  100 28  1     March 2002  d1 CPP H2b2a1
 I. Robinson; M. Hill;
 r2d2lri: an Algorithm for Automatic Two-Dimensional Cubature
 automatic integration;sidi transformation;lattice rules;non-adaptive;
+two-dimensional integration;
817    toms  101  132 28  1     March 2002  d3 CPP I2b4
 E. Bertolazzi; G. Manzini;
 {P2MESH}: Generic Object-Oriented Interface Between {2-D} Unstructured Meshes 
+ and {FEM/FVM-Based PDE} Solvers
 finite element; finite volume; object-oriented programming;
818    toms  268  283 28  2      June 2002  f1 F90 D1
 I. S. Duff; C. V\"{o}mel;
 A Reference Model Implementation of the Sparse {BLAS} in {Fortran} 95
 iterative linear solvers;programming standard;sparse data structure;
+unstructured sparse matrices;
819    toms  325  336 28  3 September 2002 s20   F C10d
 A. Gil; J. Segura; N. M. Temme;
 {AIZ, BIZ}: Two {Fortran} 77 Routines for the Computation of Complex {Airy} 
+ Functions
 complex values;gauss quadrature;
820    toms  337  353 28  3 September 2002   z CPP K4/Z
 S. E. Ferrando; L. A. Kolasa; N. Kova\v{c}evi\'{c};
 A Flexible Implementation of Matching Pursuit for {Gabor} Functions on the 
+ Interval
 adaptive signal processing;gabor analysis;
821    toms  354  371 28  3 September 2002   z F90  S/Z
 R. J. Hanson; C. P. Breshears; H. A. Gabb;
 A {Fortran} Interface to {POSIX} Threads
 scientific computing;symmetric multi-processor;mathematical software;Pthreads;
822    toms  436  447 28  4  December 2002 s20   F C10d
 A. Gil; J. Segura; N. M. Temme;
 GIZ, HIZ: Two {Fortran} 77 routines for the computation of complex {Scorer} 
+ functions
 airy function;numerical quadrature;
823    toms   95  109 29  2      June 2003  g5   F H2c/L6b21/N8
 H. S. Hong; F. J. Hickernell;
 Implementing Scrambled Digital Sequences
 digital net;scrambling;
824    toms  287  296 29  3 September 2003  d1 F90 H2a1a1/H2b1a1/H2b2a1
 R. Cools; A. Haegemans;
 CUBPACK: A Package for Automatic Cubature; Framework Description
 automatic integration;quadrature;
825    toms  309  325 29  3 September 2003  c5   C F1b
 S. Shellman; K. Sikorski;
 A Deep-Cut Bisection Envelope Algorithm for Fixed Points
 economics;game theory;nonlinear partial differential equations;
826    toms  326  336 29  3 September 2003  f2   F D4c2b
 M. R. Fahey;
 Parallel Eigenvalue Routine for Complex {Hessenberg} Matrices
 parallel programming;parallel QR algorithm;schur decomposition;scalapack;
827    toms  337  348 29  3 September 2003  f2   M D4a3/D4a7/D4b3/D6
 J. Baglama; D. Calvetti; L. Reichel;
 irbleigs: A {MATLAB} Program for Computing a Few Eigenpairs of a Large Sparse 
+ {Hermitian} Matrix
 block lanczos method;eigenvalue computation;generalized eigenproblem;
+singular values;polynomial acceleration;
828    toms  458  468 29  4  December 2003  e1   F E1c
 R. J. Renka;
 {DNSPLIN1}: Discrete Nonlinear Spline Interpolation
 sobolev gradient;minimum energy curve;nonlinear spline;
829    toms  469  480 29  4  December 2003  e4   C G4f
 M. Gaviano; D. E. Kvasov; D. Lera; Y. D. Sergeyev;
 Software for Generation of Classes of Test Functions with Known Local and 
+ Global Minima for Global Optimization
 test problems generation;
830    toms   86   94 30  1     March 2004  f1 F90 D1b10
 R. J. Hanson; T. R. Hopkins;
 Another Visit With Standard and Modified Givens Transformations and A Remark 
+ On Algorithm 539
 BLAS;Givens rotation;linear algebra;
831    toms  159  164 30  2      June 2004 s18   f C10b
 A. Gil; J. Segura; N. M. Temme;
 Modified {Bessel} Functions of Imaginary Order and Positive Argument
 numerical quadrature;asymptotic expansions;
832    toms  196  199 30  2      June 2004  f4   c/m D1b3/D1b9/D2a4
 T. A. Davis;
 {UMFPACK} --- an Unsymmetric-Pattern Multifrontal Method
 sparse nonsymmetric matrices;linear equations;ordering method;
833    toms  200  211 30  2      June 2004  e1   f E2b
 R. J. Renka;
 {CSRFPACK} --- Interpolation of Scattered Data with a $C^1$ 
+ Convexity-preserving Surface
 convexity-preserving interpolation;data-dependent triangulation;
+scattered data fitting;
834    toms  212  217 30  2      June 2004  j6   c Q
 R. J. Renka;
 glsurf --- An Interactive Surface Plotting Program using {OpenGL}
 contour plot;
835    toms  218  236 30  2      June 2004  c2   m F1a1
 Z. Zeng;
 {MultRoot} --- A {Matlab} Package for Computing Polynomial Roots and 
+ Multiplicities
 multiple root;multiple zero;multiplicity identification;root-finding;
836    toms  377  380 30  3 September 2004  f4   M D2e
 T. A. Davis; J. R. Gilbert; S. I. Larimore; E. G. Ng;
 {COLAMD}, a Column Approximate Minimum Degree Ordering Algorithm
 linear equations;ordering methods;sparse nonsymmetric matrices;
837    toms  381  388 30  3 September 2004  f4   f D2e
 P. Amestoy; T. A. Davis; I. Duff;
 {AMD}, an Approximate Minimum Degree Ordering Algorithm
 linear equations;ordering methods;sparse matrices;
838    toms  491  501 30  4  December 2004 s20 F90 C10d
 B. R. Fabijonas;
 {Airy} Functions
 asymptotic functions;differential equations;error analysis;real airy functions;
+complex airy functions;zeros;
839    toms  502  516 30  4  December 2004  d3  Py I2b4/K6c
 R. C. Kirby;
 {FIAT}, A New Paradigm for Computing Finite Element Basis Functions
 finite elements;high order methods;linear algebra;
840    toms  149  165 31  1     March 2005  d1   M I2b4/K6c/C18
 J. P. Boyd;
 Computation of Grid Points, Quadrature Weights and Derivatives for Spectral 
+ Element Methods Using Prolate Spheroidal Wave Functions --- Prolate Elements
 prolate element method;prolate spheroidal wave functions;p-finite elements;
841    toms  166  185 31  1     March 2005  f2   F D4c1b2
 G. W. Howell; N. Diaa;
 {BHESS}: {Gaussian} Reduction to a Similar Banded {Hessenberg} Form
 Gaussian similarity transformations;matrix eigenvalues;spectra;cache efficient;
+Sylvester equation;
842    toms  228  238 31  2      June 2005  f4   F D3a4/D3c4
 V. Frayss\'{e}; L. Giraud; S. Gratton; J. Langou;
 A Set of {GMRES} Routines for Real and Complex Arithmetics on High Performance 
+ Computers
 Linear systems;Krylov methods;Reverse communication;Distributed memory;
843    toms  239  251 31  2      June 2005  d2   m I2b4/P
 T. A. Driscoll;
 Improvements to the {Schwarz-Christoffel Toolbox} for {MATLAB}
 conformal mapping;Laplace equation;polygons;
844    toms  252  269 31  2      June 2005  f1   m D
 M. W. Berry; S. A. Pulatova; G. W. Stewart;
 Computing Sparse Reduced-Rank Approximations to Sparse Matrices
 sparse approximations;gram-schmidt algorithm;
845    toms  270  279 31  2      June 2005  f2   m D4b1
 J. H. Money; Q. Ye;
 {EIGIFP}: A {MATLAB} Program for Solving Large Symmetric Generalized 
+ Eigenvalue Problems
 krylov subspace method;preconditioning;
846    toms  555  560 31  4  December 2005  c2 CPP P/F2
 T. Gao; T. Y. Li; M. Wu;
 {MixedVol}: A Software Package for Mixed Volume Computation
 semimixed structure;support;polynomial system;
847    toms  561  579 31  4  December 2005  e1   m E2b
 A. Klimke; B. Wohlmuth;
 {spinterp}: Piecewise Multilinear Hierarchical Sparse Grid Interpolation in 
+ {MATLAB}
 multivariate interpolation;smolyak algorithm;
848    toms  580  586 31  4  December 2005  c5   C F2
 S. Shellman; K. Sikorski;
 A Recursive Fixed Point Algorithm for the Infinity-Norm Case
 economics;game theory;non-linear partial differential equations;
849    toms  587  591 31  4  December 2005  f4   C D2b1b
 T. A. Davis;
 A Concise Sparse {Cholesky} Factorization Package
 linear equations;sparse matrices;
850    toms  102  112 32  1     March 2006 s17 F90 C16
 A. Gil; J. Segura; N. M. Temme;
 Real parabolic cylinder functions {$U(a,x)$, $V(a,x)$}
 numerical quadrature;asymptotic expansions;
851    toms  113  137 32  1     March 2006  e4   F G1b1a
 W. W. Hager; H. Zhang;
 {CG\_DESCENT}, a conjugate gradient method with guaranteed descent
 convergence;line search;unconstrained optimization;wolfe condition;
852    toms  138  156 32  1     March 2006  e4   C F2/G4d
 L. Granvilliers; F. Benhamou;
 {RealPaver}: an interval solver using constraint satisfaction techniques
 interval arithmetic;nonlinear system;local consistency;interval newton;
853    toms  157  165 32  1     March 2006  e4   F D9a1/D9b1
 L. Foster; R. Kommu;
 An efficient algorithm for solving rank-deficient least squares problems
 QR factorization;
854    toms  352  373 32  2      June 2006  f2   F D4a2
 P. Benner; D. Kressner;
 Fortran 77 Subroutines for Computing the Eigenvalues of {Hamiltonian} Matrices 
+ {II}
 algebraic Riccati equation;invariant subspaces;skew-Hamiltonian matrix;
+symplectic QR decomposition;
855    toms  472  484 32  3 September 2006 s22 CPP C17
 F. A. Alhargan;
 Subroutines for the Computation of {Mathieu} Characteristic Numbers and their 
+ General Orders
 Mathieu functions;Mathieu differential equations;
+Mathieu characteristic determinant;Hill's determinant;wave equation;
+elliptic coordinates;
856    toms  485  507 32  3 September 2006  e4 CPP G1b2/G2h1b
 G. A. Gray; T. G. Kolda;
 {APPSPACK 4.0}: Asynchronous Parallel Pattern Search for Derivative-Free 
+ Optimization
 unconstrained optimization;bound-constrained optimization;
857    toms  561  579 32  4  December 2006  c5 F90 F2
 H.-J. Su; J. M. McCarthy; M. Sosonkina; L. T. Watson;
 {POLSYS GLP}: A Parallel General Linear Product Homotopy Code for Solving 
+ Polynomial Systems of Equations
 chow-york algorithm;curve tracking;fixed point;globally convergent;
+probability-one;
858    toms  580  596 32  4  December 2006  d1   M C10a3/H2a3
 J. {Van Deun}; R. Cools;
 Computing Infinite Range Integrals of an Arbitrary Product of {Bessel} 
+ Functions
 quadrature;
859    toms  597  608 32  4  December 2006  f4 F90 D2a4
 P. Amodio; G. Romanazzi;
 {BABDCR}: a {Fortran} 90 package for the Solution of Bordered {ABD} Linear 
+ Systems
 cyclic reduction;bordered almost block diagonal matrices;
860    toms  609  621 32  4  December 2006  j6   M P
 E. N. Gon\c{c}alves; R. Palhares; R. H. C. Takahashi; R. C. Mesquita;
 {SimpleS}: An Extension of {Freudenthal's} Simplex Subdivision
 mesh generation;
861    toms  622  634 32  4  December 2006 s22 F90 C17
 D. Erricolo;
 {Fortran} 90 Subroutines for Computing the Expansion Coefficients of {Mathieu} 
+ Functions using {Blanch's} Algorithm
 special function;validation;
862    toms  635  653 32  4  December 2006  f1   M D1b/N4
 B. W. Bader; T. G. Kolda;
 {MATLAB} Tensor Classes for Fast Algorithm Prototyping
 higher-order tensors;multilinear algebra;N-way arrays;
863    toms    6   19 33  1  March    2007  e3   F
 I. C. Demetrio;
 {L2WPMA}, a {Fortran} 77 Package for Weighted Least Squares Piecewise 
+ Monotonic Data Approximation
 data smoothing; divided difference; dynamic programming;fitting;histogram;
+image processing;isotonic regression;Lagrange multipliers;peak finding;
+pound/dollar exchange rate;signal processing;spline;turning point;
864    toms    7   12 33  1  March    2007   h   C
 S. Martello; D. Pisingery; D. Vigo; E. {den Boef}; J. Korst;
 Algorithms for General and Robot-Packable Variants of the Three-Dimensional 
+ Bin Packing Problem
 exact algorithm;constraint programming;branch-and-bound;
865    toms    8    5 33  1  March    2007  f4 F90
 F. G. Gustavson; J. K. Reid; J. Wasniewski;
 {Fortran} 95 Subroutines for {Cholesky} Factorization in Blocked Hybrid Format
 real symmetric matrices;positive definite matrices;
+Cholesky factorization and solution;recursive algorithm;
+novel packed matrix data structures;linear systems of equations;BLAS;
866    toms   14   18 33  2  June     2007  d3   M
 H. C. Elman; A. Ramage; D. J. Silvester;
 {IFISS}, a {Matlab} Toolbox for Modelling Incompressible Flow
 finite elements;iterative solvers;stabilization;
867    toms   20   30 33  3  August   2007  d1   F
 N. H. F. Beebe; J. S. Ball;
 {QUADLOG} --- A Package of Routines for Generating Gauss-Related Quadrature 
+ for Two Classes of Logarithmic Weight Functions
 EISPACK pythag() function;gama-function testing;Gauss-Chebyshev quadrature;
+Gauss-Jacobi quadrature;Gauss-Laguerre quadrature;Gauss-Legendre quadrature;
+Gauss-type quadrature;logarithmic integrals;machine-epsilon testing;
+Maple symbolic algebra system;Mehler quadrature;orthogonal polynomials;
+psi-function testing;software portability;software testing;
868    toms   21   21 33  3  August   2007  d1   M
 T. O. Espelid;
 Globally Doubly Adaptive Quadrature - Reliable {Matlab} Codes
 error estimation;Newton-Cotes rules;software testing;
869    toms   27   12 33  4  August   2007  g2 F90
 J. W. Zwolak; P. T. Boggs; L. T. Watson;
 {ODRPACK95}: A Weighted Orthogonal Distance Regression Code with Bound 
+ Constraints
 measurement error models;nonlinear least squares; simple bounds;
870    toms    4   28 34  1  August   2008   z CPP
 L. Linardakis; N. Chrisochoides;
 A Static Geometric Medial Axis Domain Decomposition in {2D} Euclidean} Space
 parallel mesh generation;delaunay triangulation;
871    toms    5   20 34  1  January  2008  a1 CPP
 W. Schreppers; A. Cuyt;
 A {C/C++} Precompiler for the Auto Generation of Multiprecision Programs
 conversion;floating-point;
872    toms    6   20 34  1  January  2008   z CPP
 A. N. Chernikov; N. P. Chrisochoides;
 Parallel 2D Constrained {Delaunay} Mesh Generation
 delaunay triangulation;parallel refinement;
873    toms   11   28 34  2  March    2008  e4   M
 M. Rojas; S. A. Santos; D. C. Sorensen;
 {MATLAB} Software for Large-Scale Trust-Region Subproblems and Regularization
 ARPACK;constrained quadratic optimization;Lanczos method;
874    toms   15   28 34  3  May      2008  d3   F
 R. Wang; P. Keast; P. H. Muir;
 {BACOLR}---Spatial and Temporal Error Control Software for {PDEs} based on 
+ High rder Adaptive Collocation
 adaptive method of lines;1-d PDEs;Runge-Kutta methods;
+differential-algebraic equations;spatial error control;
875    toms   16   20 34  3  May      2008  e4   M
 S. J. Benson; Y. Ye;
 {DSDP5}---Software for Semidefinite Programming
 linear matrix inequalities;conic programming;interior-point methods;
+dual scaling algorithm;
876    toms   21   20 34  4  July     2008  d5   M
 K. E. Atkinson; L. F. Shampine;
 {Solving Fredholm Integral Equations of the Second Kind in Matlab}
 numerical solution;
877    toms   22   21 34  4  July     2008 s20 F90
 M. Kodama;
 {A Subroutine Package for Cylindrical Functions of Complex Order and 
+ Nonnegative Argument}
 numerical calculation;
878    toms    6   11 35  1      July 2008  g1   M
 K. Jonasson;
 {Exact VARMA likelihood and its gradient for complete and incomplete data with 
+ Matlab}
 Exact likelihood function;missing values;ARMA;
+vector autoregressive moving average model;
879    toms    7   11 35  1      July 2008  f2   F
 C-R. Lee; G. W. Stewart;
 {EIGENTEST---a test matrix generator for large-scale eigenproblems}
 Eigensystem;test matrix generation;
880    toms    8   13 35  1      July 2008  f2 F90
 O. A. Marques; C. Voemel; J. W. Demmel; B. N. Parlett;
 {A testing infrastructure for symmetric tridiagonal eigensolvers}
 eigenvalues;
881    toms   13   12 35  2      July 2008  f4   F
 V. Frayss\'{e}; L. Giraud; S. Gratton;
 {A Set of Flexible GMRES Routines for Real and Complex Arithmetics on 
+ High-Performance Computers}
 linear systems;flexible Krylov methods;PGMRES;reverse communication;
+high-performance computing;distributed memory;
882    toms   14   21 35  2      July 2008  d1   M
 J. {van Deun}; K. Deckers; A. Bultheel; J. A. C. Weideman  ;
 {Near-Best Fixed Pole Rational Interpolation with Applications in Spectral 
+ Methods}
 quadrature;
883    toms   15   13 35  2      July 2008  e4   M
 H. Waki; S. Kim; M. Kojima; M. Muramatsu; H. Sugimoto;
 {SparsePOP---A Sparse Semidefinite Programming Relaxation of Polynomial 
+ Optimization Problems}
 global optimization;sparsity;sum-of-squares optimization;
884    toms   16   11 35  2      July 2008  d3   M
 V. Dom\'{\i}nguez; F-J. Sayas;
 {A Simple Matlab Implementation of the Argyris Element}
 finite elements;
885    toms   20   10 35  3   October 2008 s15   C
 J. M. Linhart;
 Computing the Logarithm of the Normal Distribution
 logarithm of the standard normal distribution;error function;normal integral;
886    toms   21   11 35  3   October 2008  e1   F
 M. Caliari; S. Marchi; M. Vianello;
 {Padua2D}---{Lagrange} Interpolation at {Padua} Points on Bivariate Domains
 Bivariate Lagrange interpolation;bivariate Chebychev orthogonal basis;
887    toms   22   14 35  3   October 2008  f1   M
 Y. Chen; T. A. Davis; W. W. Hager; S. Rajamanickam;
 {CHOLMOD}, Supernodal Sparse {Cholesky} Factorization and Update/Downdate
 linear equations;sparse matrices;
888    toms   23   23 35  3   October 2008  c6   M
 J. B. Drake; P. Worley; E. {D'Azevedo};
 Spherical Harmonic Transform Algorithms
 spectral transform methods;fluid dynamics;geophysical flow;
+high performance computing;
889    toms   24   20 35  3   October 2008  e3 CPP
 F. Cazals; M. Pouget;
 Jet\_fitting\_3:---A Generic {C++} Package for Estimating the Differential 
+ Properties on Sampled Surfaces via Polynomial Fitting
 computational geometry;C++ design;differential geometry;interpolation;
+numerical linear algebra;
890    toms   29   16 35  4  February 2009  e4   M
 E. {van den Berg}; M. P. Friedlander; G. Hennenfent; F. J. Herrmann; R. Saab;
+ \"{O}. Yilmaz;
 {Sparco}: A Testing Framework for Sparse Reconstruction
 compressed sensing;sparse recovery;linear operators;
891    toms    5   12 36  1     March 2009   z F90
 J. K. Reid; J. A. Scott;
 A {Fortran} Virtual Memory System
 out-of-core;direct access files;
892    toms    6    7 36  1     March 2009  m2 F90
 K. Jonasson;
 {DISPMODULE}, a {Fortran} 95 Module for Pretty-printing Matrices
 matrix printing;output utilities;array programming language;
893    toms    7    8 36  1     March 2009  e2   M
 R. J. Renka;
 {TSPACK}: Tension Spline Package for Curve Design and Data Fitting
 Convexity preserving;cubic spline;exponential spline;interpolation;
+monotonicity preserving;parametric curve;piecewise polynomial;
+shape preserving;smoothing;spline under tension;tension factor;
894    toms   12   20 36  2     March 2009  f1 F90
 S. Koikari;
 On a Block {Schur--Parlett} Algorithm for $\varphi$-functions Based on the 
+ sep-inverse Estimate
 exponential integrators;matrix functions;
895    toms   15   20 36  3      July 2009   s MPL
 F. Backeljauw; A. Cuyt;
 A continued fractions package for special functions
 CAS software;maple;
896    toms   16   29 36  3      July 2009  e4   F
 L. Luk{\v s}an; C. Matonoha; J. Vl{\v c}ek;
 {LSA}: {Algorithms} for large-scale optimization
 large-scale nonsmooth optimization;large-scale nonlinear least squares;
+large-scale nonlinear minimax;large-scale systems of nonlinear equations;
+sparse problems;partially separable problems;limited-memory methods;
+discrete newton methods;quasi-newton methods;primal interior-point methods;
897    toms   17   24 36  3      July 2009  e4 F90
 Jian He; L. T. Watson; M. Sosonkina;
 {VTDIRECT95}: {Serial} and parallel codes for the global optimization algorithm 
+ direct
 DIRECT;data structures;parallel schemes;checkpointing;
898    toms    9   14 37  1   January 2010  f1   C
 Martin Albrecht; Gregory Bard; William Hart;
 Efficient Multiplication of Dense Matrices over $GF(2)$
 GF(2);matrix;linear algebra;Strassen;greasing;
899    toms   10   15 37  1   January 2010  e1   M
 Scott A. Sarra;
 The Matlab Postprocessing Toolkit
 Pseudospectral methods;Gibbs phenomenon;
900    toms   11   16 37  1   January 2010  g2 F90
 German A. Torres;
 A Discrete Time Kalman Filter Package for Large Scale Problems
 data assimilation;
901    toms   12   11 37  1   January 2010  d2   M
 Dimitrios S. Vlachos; T. Simos;
 {LMEF}: A Program for the Construction of Linear Multistep Methods with 
+ Exponential Fitting for the Numerical Solution of Ordinary Differential 
+ Equations
 backward differentiation formulas;
902    toms   22   39 37  2     April 2010  E4   M
 Anil V. Rao; David A. Benson; Christopher Darby; Michael A. Patterson;
+ Camila  Francolin; Ilyssa Sanders; Geoffrey T. Huntington;
 {GPOPS}, {A} {MATLAB} Software for Solving Multiple-Phase Optimal Control 
+ Problems Using the {Gauss} Pseudospectral Method
 dynamic optimization;nonlinear optimization;otimal control;
+nonlinear programming;phases;
903    toms   23   24 37  2     April 2010  d2   F
 Elena Celledoni; Antonella Zanna;
 {FRB}--{Fortran} routines for the exact computation of free rigid body motions
 rigid body;jacobi elliptic integrals;splitting methods;sttitude rotation;
904    toms   33    4 37  3 September 2010  f2   F
 Robert Granat; Bo K{\aa}gstr\"{o}m;
 The SCASY Library -- Parallel Solvers for Sylvester-Type Matrix Equations with 
+ Applications in Condition Estimation, Part II. 
 parallel computing;parallel algorithms;eigenvalue problems;
+Sylvester matrix equations;
905    toms   34   20 37  3 September 2010  e1 F95
 Thacker, William I.; Zhang, Jingwei; Watson, Layne T.; Birch, Jeffrey B.;
+ Iyer, Manjula A.; Berry, Michael W.;
 {SHEPPACK}: Modified {Shepard} Algorithm for Interpolation of Scattered 
+ Multivariate Data
 M-estimation;RIPPLE;Shepard's  algorithm;
906    toms   35   17 37  3 September 2010  d1 CPP
 Tiancheng Li ; Ian Robinson;
 {elrint3d} : A Three-Dimensional Nonadaptive Automatic Cubature Routine Using 
+ a Sequence of Embedded Lattice Rules
 automatic cubature routine;2^s-copy lattice augmentation sequence;seed lattice;
+index of merit;trigonometric degree of precision;
907    toms   36   17 37  3 September 2010  f4   M
 Timothy A. Davis; Ekanathan {Palamadai Natarajan};
 {KLU}, A Direct Sparse Solver for Circuit Simulation Problems
 LU factorization;sparse matrices;circuit simulation;
908    toms   37   13 37  3 September 2010  a1 CPP
 Yong-Kang Zhu; Wayne B. Hayes;
 Online Exact Summation of Floating-Point Streams
 floating-point summation;rounding error;
909    toms   44   15 37  4  December 2010  e4 CPP
 S\'ebastien {Le Digabel};
 {NOMAD}: Nonlinear Optimization with the {MADS} Algorithm
 mesh adaptive direct search;constrained optimization;nonlinear optimization;
+blackbox optimization;
910    toms   45   27 37  4  December 2010   s CPP
 Christopher Kormanyos;
 A Portable {C++} Multiple Precision System for Special Function Calculations
 airy;bessel;elliptic integrals;gamma;generic programming;hermite;
+hypergeometric;laguerre;legendre;object oriented;orthogonal polynomials;
+parabolic cylinder;polylogarithm;polymorphism;zeta;
911    toms   46   16 37  4  December 2010 s13 F95
 David M. Smith;
 Multiple-Precision Exponential Integral and Related Functions
 accuracy;function evaluation;floating point;mathematical library;
+exponential integral;
912    toms   47   25 37  4  December 2010 s19 F95
 Masao Kodama;
 A Module for Calculating Cylindrical Functions of Complex Order and Complex 
+ Argument
 cylindrical function;complex order;complex argument;
913    toms    5   19 38  1  November 2011  f4   M
 Martin {van Gijzen}; Peter Sonneveld;
 An Elegant {IDR(s)} Variant that Efficiently Exploits Bi-orthogonality 
+ Properties
 Iterative methods;Krylov-subspace methods;sparse nonsymmetric linear systems;
914    toms    6    5 38  1  November 2011 s17 F90
 Amparo Gil; Javier Segura; Nico M. Temme;
 Parabolic Cylinder Function $W(a,x)$ and its Derivative
 ODE integration;asymptotic expansions;
915    toms    8   22 38  1  November 2011  f5   M
 Timothy A. Davis;
 {SuiteSparseQR}: Multifrontal multithreaded rank-revealing sparse {QR} 
+ factorization
 least-square problems;sparse matrices;
916    toms   15   22 38  2  December 2011 s15   M
 Mofreh R. Zaghloul; Ahmed N. Ali;
 Computing the Faddeyeva and Voigt Functions
 Faddeyeva function;Function evaluation;accuracy;
+R,toms,26:1--26:9,42,3,June,2016,Mofreh R. Zaghloul;
917    toms   20   17 38  3     April 2012 s22   C
 Piers W. Lawrence; Robert M. Corless; David J. Jeffrey;
 Complex Double-Precision Evaluation of the Wright $\omega$ Function
 Wright omega function;double-precision evaluation over C;
918    toms   21   13 38  3     April 2012  f2   M
 Miloud Sadkane; Ahmed Touhami;
 A {MATLAB} program for the spectral dichotomy of regular matrix pencils
 Invariant subspace;spectral projector;
919    toms   22   19 38  3     April 2012  d2   M
 Jitse Niesen; Will M. Wright;
 A {Krylov} Subspace Algorithm for Evaluating the $\varphi$-Functions Appearing 
+ in Exponential Integrators
 Krylov subspace methods;exponential integrators;matrix exponential;
920    toms   27   19 38  4    August 2012   h   M
 Sunyoung Kim; Masakazu Kojima; Hayato Waki; Makato Yamashita;
 SFSDP: A Sparse Version of Full Semidefinite Programming Relaxation for Sensor 
+ Network Localization Problems
 Matlab software package;Sensor network localization problems;
+semidefinite programming relaxation;sparsity exploitation;
921    toms   28   20 38  4    August 2102  e4 Maple
 Jonathan D. Hauenstein; Frank Sottile;
 alphaCertified: Certifying Solutions to Polynomial Systems
 Certified solutions;alpha theory;numerical algebraic geometry;
+polynomial system;
922    toms   29    8 38  4    August 2012  d3   M
 Xia Ji; Jiguang Sun; Tiara Turner;
 A Mixed Finite Element Method for Helmholtz Transmission Eigenvalues
 Arnoldi method;Transmission eigenvalues;mixed finite element;
923    toms   30   17 38  4    August 2012  f3   F
 Michael Wimmer;
 Efficient Numerical Computation of the Pfaffian for Dense and Banded 
+ Skew-Symmetric Matrices
 Pfaffian;canonical form;skew-symmetric matrix;topological charge;
+unitary congruence;
924    toms    5   28 39  1  November 2012  d2 M/C
 Alberto Abad; Roberto Barrio; Fernando Blesa; Marcos Rodriguez;
 TIDES, a Taylor Series Integrator for Differential EquationS
 Taylor series method;automatic differentiation;high precision;
+numerical integration;
925    toms    6   22 39  1  November 2012   h CPP
 Makoto Yamashita; Katsuki Fujisawa; Mituhiro Fukuda; Kazuhide Nakata;
+ Maho Nakata;
 Parallel solver for semidefinite programming problem having sparse Schur 
+ complement matrix
 Semidefinite programming;
926    toms   14    9 39  2  February 2013 s14   F
 Ian Thompson;
 Incomplete gamma functions with negative arguments
 Incomplete gamma function;
927    toms   15   12 39  2  February 2013  d2   M
 Jeff Cash; Davy Hollevoet; Francesca Mazzia; Abdelhameed Nagy;
 The MATLAB Code bvptwp.m for the Numerical Solution of Two Point
+Boundary Value Problems
 Boundary Value Problems;Deferred Correction;Automatic Continua-;tion;
+Mesh selection;Conditioning;
928    toms   21   10 39  3       May 2013   h   C
 Joseph Rios;
 A General, Parallel Implementation of {Dantzig--Wolfe} Decomposition
 linear programming;optimization;parallel implementations;
929    toms   27   28 39  4      July 2013   z   M
 Mani Mehra; Kavita Goyal;
 A suite on wavelet differentiation algorithms
 differentiation matrices;wavelet methods (Galerkin and collocation);wavelets;
930    toms   28   18 39  4      July 2013  f4   M
 Timothy A. Davis;
 FACTORIZE: An object-oriented linear system solver for MATLAB
 linear systems;least-squares problems;matrix factorization;
+object-oriented methods;
931    toms    5   16 40  1   October 2013  c5   M
 Wenrui Hao; Andrew J. Sommese; Zhonggang Zeng;
 An algorithm and software for computing multiplicity structures at zeros of 
+ nonlinear systems
 polynomial;multiple roots;multiplicity;
932    toms    6   25 40  1   October 2013   z   M
 Martin J. Gander; Caroline Japhet;
 {PANG}: Software for Non-Matching Grid Projections in 2d and 3d with Linear 
+ Complexity
 advancing front algorithm;linear complexity;non-matching grid projections;
933    toms    7   23 40  1   October 2013  f1   M
 Leslie V. Foster; Timothy A. Davis;
 Reliable Calculation of Numerical Rank, Null Space Bases, Pseudoinverse 
+ Solutions, and Basic Solutions using {SuiteSparseQR}
 numerical rank;QR factorization;null space;pseudoinverse;rank revealing;
+sparse matrices;
934    toms    8   19 40  1   October 2013 s22 F90
 Danilo Erricolo; Giuseppe Carluccio;
 Fortran 90 subroutines to compute Mathieu functions for complex values of the 
+ parameter
 Mathieu function;computation;special function;validation;
935    toms   14   12 40  2  February 2014 s20   M
 J. Tilak Ratnanather; Jung H. Kim; Sirong Zhang; Anthony M. J. Davis;
+ Stephen K. Lucas;
 {IIPBF}, a {MATLAB} toolbox for infinite integral of products of two {Bessel} 
+ functions
 Bessel Function;Quadrature;Extrapolation;Adaptive Quadrature;Summation;
936    toms   15    4 40  2  February 2014   z F90
 Fred T. Krogh;
 A {Fortran} Message Processor
 Messages;Error Processing;Exception Handling;
937    toms   16   12 40  2  February 2014  e4 F90
 Sou-Cheng T. Choi; Michael A. Saunders;
 {MINRES-QLP} for symmetric and {Hermitian} linear equations and least-squares 
+ problems
 Krylov subspace method;Lanczos process;conjugate-gradient method;
+singular least-squares;linear equations;minimum-residual method;
+pseudoinverse solution;ill-posed problem;regression;sparse matrix;
+data encapsulation;
938    toms   17   12 40  2  February 2014  g1   J
 John C. Gunther;
 Compressing Circular Buffers
 Average;data aggregation;complete residue system;Compressing Circular Buffer;
+data sequence;doubling;dynamically sized arrays;lossy compression;maximum,;
+minimum;modular arithmetic;number theory;random sample;relatively prime;sum;
939    toms   20   21 40  3     April 2014 s22 F90
 Amparo Gil; Javier Segura;  Nico M. Temme;
 Computation of the {Marcum}  {Q}-function
 Marcum Q-function;noncentral chi-square distribution;
940    toms   21   21 40  3     April 2014   z CPP
 Blake Nelson; Robert M Kirby; Steven Parker;
 Optimal Accumulator-Based Expression Evaluation Through the Use of Expression 
+ Templates
 C++;dense linear algebra operations;expression templates;
+template metaprogramming;temporary storage minimization;
941    toms   22   22 40  3     April 2014  f1   M
 Daniel Kressner; Christine Tobler;
 \texttt{htucker}---A MATLAB toolbox for tensors in hierarchical {Tucker} format
 Higher-order tensors;multilinear algebra;tensor networks;matlab;
942    toms   23   39 40  3     April 2014  d3   C
 Ra\'{u}l {de la Cruz}; Mauricio Araya-Polo;
 Semi-stencil
 Stencil computation;Semi-stencil;Blocking;Time Skewing;Cache
+Oblivious;HPC;Code Optimization;Performance Model
943    toms   28   12 40  4      June 2014  e4   M
 Jennifer B. Erway; Roummel F. Marcia;
 {MSS}: {MATLAB} Software for {L-BFGS} Trust-Region Subproblems for Large-Scale 
+ Optimization
 L-BFGS;Large-scale unconstrained optimization;
+limited-memory quasi-Newton methods;trust-region methods;
944    toms   29   18 40  4      June 2014  d5   C
 Laura Antonelli; Stefania Corsaro; Zelda Marino; Mariarosaria Rizzardi;
 {Talbot Suite}: parallel implementations of {Talbot's} method for the 
+ numerical inversion of {Laplace} transforms
 Inverse Laplace transform;Talbot's method;hybrid architectures;
+parallel algorithms;
945    toms   30   23 40  4      June 2014  g2  Py
 Brandt A. Belson; Jonathan H. Tu ; Clarence W. Rowley;
 \texttt{modred}: A Parallelized Model Reduction Library
 Balanced Proper Orthogonal Decomposition;Dynamic Mode Decomposition;
+Eigensystem Realization Algorithm;Koopman modes;Model reduction;
+Observer/Kalman Filter Identification;Proper Orthogonal Decomposition;Python;
+system identification;
946    toms   31   20 40  4      June 2014  d5 CPP
 Luisa D'Amore; Rosanna Campagna; Valeria Mele; Almerico Murli;
 {ReLIADiff}:A C++ Software Package For Real Laplace transform Inversion Based 
+ on Algorithmic Differentiation
 Algorithmic differentiation;Laplace transform inversion;Weeks method;
+inverse and ill-posed problems;
947    toms    5   26 41  1   October 2014  g6 CPP
 Daniel Langr; Pavel Tvrd\'{\i}k; Tom\'{a}\v{s} Dytrych; Jerry P. Draayer;
 Parallel Generation of Random Permutations with {MPI}
 MPI;distributed memory;implementation;parallel computing;random permutation;
948    toms   12   14 41  2   January 2015  d2   M
 Nedialko S. Nedialkov; John D. Pryce; Guangning Tan;
 {DAESA} -- A {Matlab} Tool for Structural Analysis of Differential-Algebraic 
+ Equations: Software
 differential-algebraic equations; modeling;structural analysis;
949    toms   20   21 41  3      June 2015  d3   M
 Zhixing Fu; Luis F. Gatica; Francisco-Javier Sayas;
 {MATLAB} Tools for {HDG} in Three Dimensions
 discontinuous Galerkin methods;hybridization;vectorization;
950    toms   21   12 41  3      June 2015  e4  Py
 Peter Wittek;
 {Ncpol2Sdpa} -- Sparse Semidefinite Programming Relaxations for Polynomial 
+ Optimization Problems of Noncommuting Variables
 semidefinite programming;ground state energy;noncommuting variables;
+quantum correlations;
951    toms   27    8 41  4   October 2015   H   J
 Menghan Wang; Meera Sitharam;
 {Caylay} Analysis of Mechanism Configuration Spaces Using {CayMos}: Software 
+ Functionalities and Architecture
 1-degree-of-freedom linkage;computer-aided design (CAD);motion space;
+realization space;
952    toms   28   20 41  4   October 2015 CPP CPP
 Bohan Dong; Rida T. Farouki;
 {PHquintic}: A Library of Basic Functions for the Construction and Analysis of 
+ Planar Quintic {Pythagorean}-Hodograph Curves
 Hermite and spline interpolation;Newton-Raphson method;
+Pythagorean-hodograph curves;arc length;bending energy;
+ computer--aided geometric design;offset curves;
953    toms   29   23 41  4   October 2015  f2 F90
 Robert Granat; Bo K{\aa}gstr\"{o}m; Daniel Kressner; Meiyue Shao;
 Parallel Library Software for the Multishift {QR} Algorithm with Aggressive 
+ Early Deflation
 multishift QR algorithm;aggressive early deflation;
+distributed memory architectures;parallel algorithms;
954    toms   30   24 41  4   October 2015  c2 F90
 N. Flocke;
 An Accurate and Efficient Cubic and Quartic Equation Solver for Physical 
+ Applications
 cubic equation;Newton-Raphson scheme;polynomial roots;quartic equation;
955    toms    7   22 42  1  February 2016 s14 C/M
 Michael B. Giles;
 Approximation of the Inverse Poisson Cumulative Distribution Function
 Poisson distribution;CUDA;GPU;
956    toms    8   18 42  1  February 2016  c5   C
 D. A. Aruliah; Lennaert Van Veen; Alex Dubitski;
 PAMPAC, A Parallel Adaptive Method for Pseudo-Arclength Continuation
 Pseudo-arclength continuation;adaptivity;parallel computing;
957    toms    9   10 42  1  February 2016 s15   M
 Gautschi, Walter;
 Evaluation of the Repeated Integral of the Coerror Function by Half-Range 
+ Gauss-Hermite Quadrature
  HHalf-range Gauss–Hermite quadrature; MATLAB software;
+repeated integral of the coerror function;
958    toms   15   30 42  2      June 2016  G1 CPP
 L'Ecuyer, Pierre; Munger, David;
 Lattice Builder: A General Software Tool for Constructing Rank-1 Lattice Rules
 CBC construction;lattice rules;figures of merit;multidimensional integration;
+quasi-Monte Carlo;
959    toms   16   22 42  2      June 2016   Z CPP
 \'{A}lvarez-Cubero, Jos{\'e} Antonio; Zufiria, Pedro J.;
 VBF: A Library of C++ Classes for Vector Boolean Functions in Cryptography
 Boolean functions;cryptography;nontrigonometric Fourier analysis;software;
960    toms   23   19 42  3      June 2016  C1   M
 Delgado, Jorge; Pe\~{n}a, Juan Manuel;
 POLYNOMIAL: An Object-Oriented Matlab Library of Fast and Efficient Algorithms 
+ for Polynomials
 Bernstein basis;numerical stability;polynomial algorithms;
961    toms   24   26 42  3      June 2016  F2   F
 Benner, Peter; Sima, Vasile; Voigt, Matthias;
 Fortran 77 Subroutines for the Solution of Skew-Hamiltonian/Hamiltonian 
+ Eigenproblems
 deflating subspaces;eigenvalue reordering;generalized eigenvalues;
+generalized schur form;skew-Hamiltonian/Hamiltonian matrix pencil;software;
+structure-preservation;
962    toms   25   17 42  3      June 2016  D3 F90
 Pew, Jack; Li, Zhi; Muir, Paul;
 ACOLI: B-spline Adaptive Collocation Software for PDEs with 
+ Interpolation-Based Spatial Error Control
 1D parabolic PDEs;numerical software;collocation;efficiency;interpolation;
+spatial error estimation;
963    toms   33   26 42  4      July 2016  g2   M
 Marcos Escobar; Benedikt Rudolph; Rudi Zagst;
 Estimation of Stochastic Covariance Models Using a Continuum of Moment 
+ Conditions
 Estimation;Stochastic covariance;Continuous time;
+continuum of moment conditions;Characteristic function;
+Principal component process;Wishart process;
964    toms   34   19 42  4      July 2016   z F90
 Adri\'{a}n Lozano-Dur\'{a}n; Guillem Borrell;
 An Efficient Algorithm to Compute the Genus of Discrete Surfaces and 
+ Applications to Turbulent Flows
 Genus;Euler characteristic;voxels;turbulence;coherent structures;
+turbulent/nonturbulant interface;
965    toms    8   13 43  1    August 2016  d2 CPP
 Benjamin W. Ong; Ronald D. Haynes; Kyle Ladd;
 {RIDC}  Methods: A Family of Parallel Time Integrators
 Parallel in time;deferred correction;
966    toms   16   27 43  2 September 2016   H CPP
 Davi C. Tozoni; Pedro J. de Rezende; Cid C. de Souza;
 A Practical Iterative Algorithm for the Art Gallery Problem Using Integer 
+ Linear Programming
 Art gallery problem;exact algorithm;combinatorial optimization;
+computational geometry;
967    toms   17   27 43  2 September 2016  D3 CPP
 Dhairya Malhotra; George Biros;
 A Distributed-Memory Fast Multipole Method for Volume Potentials
 FMM;N-body problems;potential theory;
968    toms   25   14 43  3   January 2017  D2   M
 Manuel Calvo; Juan I. Montijano; Luis R\'{a}ndez;
 DISODE45: A Matlab Runge-Kutta Solver for Piecewise Smooth IVPs of Filippov 
+ Type
 Filippov systems;Nonsmooth initial value problems;adaptive Runge-Kutta methods;
+detection of discontinuities;
969    toms   26    9 43  3   January 2017 S14 F90
 Amparo Gil; Diego Ruiz-Antol\'{\i}n; Javier Segura; Nico M. Temme;
 Computation of the Incomplete Gamma Function for Negative Values of the 
+ Argument
 incomplete gamma function;asymptotic expansions;recurrence relations;
970    toms   27   11 43  3   January 2017  G5   C
 Marek S\'{y}s; Zden\v{e}k \v{R}\'{\i}ha; Vashek Maty\'{a}\v{s};
 Optimizing the NIST Statistical Test Suite and the Berlekamp-Massey Algorithm
 Berlekamp-Massey algorithm;NIST STS;statistical randomness testing;
971    toms   28   14 43  3   January 2017  F2   M
 Huamin Li; George C. Linderman; Arthur Szlam; Kelly P. Stanton; Yuval Kluger;
+ Mark Tygert;
 An Implementation of a Randomized Algorithm for Principal Component Analysis
 PCA;Principal component analysis;SVD;singular value decomposition;
972    toms   29   22 43  3   January 2017   Z   J
 Juan F. P{\'e}rez; Daniel F. Silva; Julio C. G\'{o}ez; Andr{\'e}s Sarmiento;
+ Andr{\'e}s Sarmiento-Romero; Raha Akhavan-Tabatabaei; Germ\'{a}n Ria\~{n}o;
 JMarkov: An Integrated Framework for Markov Chain Modeling
 Markov chains;Markov decision processes;Stochastic modeling;
+phase-type distributions;quasi-birth-and-death processes;
==============================================================================

Instructions


The library routines are in the file lib.f. These routines take a
compressed reference and place its components in the pair of COMMON
blocks CREFNO and CREFST.

There are two example programs 

Example 1 -- Building a bibtex database
---------------------------------------

Edit the routines SETUP in shared.f and OUTSET in bibeg.f
to ensure the OPEN statements are valid.
 
Compile and link lib.f shared.f bibeg.f using your favourite
Fortran 77 compiler.

Running the resultant object code should produce the bibtex
database in the file specified in OUTSET.

Example 2 -- Cumulative index sorted on SHARE index
---------------------------------------------------

Edit the routines SETUP in shared.f and OUTCUM in cumeg.f
to ensure the OPEN statements are valid.
 
Compile and link lib.f shared.f cumeg.f using your favourite
Fortran 77 compiler.
NOTE: If you are running on a UNIX system you may need to use
the file cumeg.unix.f because of the use of backslashes in
write statements.

Running the resultant object code should produce the LaTeX
input necessary to generate a cumulative index. 

==============================================================================
bibeg.f


      PROGRAM BIBTEX
*
* program to generate a bibtex data base from the data
* reference file
*
*     .. Parameters ..
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      INTEGER AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
      INTEGER MAXALG
      PARAMETER (MAXALG=750)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,NERR,NIN,NOALGS,NOUT,NUMBER,PAGEND,PAGEST,TYPE,
     +        VOLUME,YEAR
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF),ALABEL* (6),JOURNL* (4),MONTH* (9),
     +          LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),
     +        SHARPT(NCLASS+1),SHSORT(MAXALG),VOL(MAXALG)
      CHARACTER AUTHOR(AUTLEN),JOUR(MAXALG),KEYWDS(KEYLEN),
     +          OTHERS(OTHLEN),REFS(OTHLEN,MAXALG),TITLE(TITLEN),
     +          TITLES(TITLEN,MAXALG),SHAR(MAXALG)*3,LABEL(MAXALG)*6,
     +          SHARMN(NCLASS)* (3),SHARST(NCLASS)* (45)
*     ..
*     .. Common blocks ..
*
* common block for storing information required to
* build an accumulative index based on the shar
* classification
*
* For each of the noalgs algorithms
* titles (character array) stores full titles,
* refs (character array) stores the comments and remarks
*                          in compressed form
* jour   (character array) holds the journal code
*                          (c=cacm, t=toms, x=others)
* shar   (character array) holds the shar index
* vol    (integer array)   holds the volume number
* page   (integer array)   holds the start page of the article
* label  (character array) stores the algorithm number
*
* lentit (integer array)   stores the number of significant
*                          characters in the title
* lenoth (integer array)   stores the number of significant
*                          characters in the other entries
* shsort (integer array)   contains a sorted list of indexes
*                          by shar classification
*
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*
* nout is used to define the output channel for
* the bibtex database -- see subroutine outcum
*

      COMMON /CBIB/NOUT
*
*  eof    (logical) - true if no more references to process
*                     false otherwise
*  type   (integer) - type of current input line
*                     newfld (1) - a new field
*                     cont   (2) - a continuation line
*                     newalg (3) - a new reference entry
*                     newfld, cont and newalg are parameter values
*  nin    (integer) - unit number for data reference file
*  nerr   (integer) - unit number for error messages
* 
      COMMON /CIO/EOF,TYPE,NIN,NERR
*
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the 
*                                distributed version of the data
*                                file maxbuf may be set to 80.
*
      COMMON /CIOSTR/BUFFER
*
* common block holds reference items which may usefully be
* represented by integers.
*
*  volume - volume number
*  number - issue number (1-12 for cacm, 1-4 for toms)
*  year   - year of publication
*  pagest - start page of article
*  pagend - end page of article (set zero if whole article confined
*           to a single page
*
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
*
*  stores reference fields in string form
*
*  alabel*(6)     - label used to identify an algorithm. In all cases
*                   but two this is an integer. In the odd two cases
*                   it is an integer followed by the letter 'a'.
*  journl*(4)     - either 'cacm' or 'toms'
*  month *(9)     - month of publication e.g., January, December etc.
*  lang  *(3)     - language in which algorithm is coded
*                   'F' = Fortran (66 or 77);  'A60' = Algol 60;
*                   'R' = Ratfor'           ;  'PL1' = PL1;
*  share *(3)     - Share classification index
*  author(autlen) - possibly multiple author names. All author fields
*                   end with a semi colon, multiple authors are
*                   separated by semi colons.
*  title (titlen) - possibly multiline title concatenated into a single
*                   string. Multiple blanks are compressed to a single
*                   blank.
*  keywds(keylen) - list of keywords separated by semi colons and
*                   terminated by a semi colon.
*  others(othlen) - list of remarks and certificates pertaining to the
*                   current reference separated by and terminated by a
*                   semi colon. Each entry has the following form
*
*  R or C,journal,start page,end page,volume,number,month,year,authors;
*
*                   The first field states whether the article was a
*                   Remark or Certificate.
*                   Multiple authors are separated by ' and '.
*                   All other field are as described in the main
*                   reference.
*
*  autlen, titlen, keylen, othlen are parameter values.

      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*
* common block containing information on shar classification index
*
* sharmn (character array) containing the shar mnemonics
* sharst (character array) containing explanatory strings
* sharpt (integer array)   used to store pointers into the
*                          array containing sorted list of
*                          algorithms
*
* maxshr (integer) maximum number of shar classifications
*
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT
*     ..
*     .. Save statement ..
      SAVE /CBIB/,/CIO/,/CIOSTR/,/CREFNO/,/CREFST/,/CSHAR/,/CSHARN/,
     +     /CALLST/,/CALLIN/

*     .. External Functions ..
      LOGICAL GETREF
      EXTERNAL GETREF
*     ..
*     .. External Subroutines ..
      EXTERNAL INITRF,OUTREF,OUTSET,PRMBLE,SETUP
*     ..
*     .. Executable Statements ..
* set up machine dependent values
      CALL SETUP
* initialize data file system
      CALL INITRF
* open output file
      CALL OUTSET
      CALL PRMBLE
* keep processing until the end of file
   10 IF (GETREF()) THEN
          CALL OUTREF
          GO TO 10
      END IF
      END
      INTEGER FUNCTION INDARR(ARRAY,LENARR,ABEG,SPTSTR)
*
*.. return the element of the start of the string sptstr in
*.. character array array; zero if not present
*
*     .. Scalar Arguments ..
      INTEGER ABEG,LENARR
      CHARACTER SPTSTR* (*)
*     ..
*     .. Array Arguments ..
      CHARACTER ARRAY(LENARR)
*     ..
*     .. Local Scalars ..
      INTEGER I,J,SPTLEN
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LEN
*     ..
*     .. Executable Statements ..
      SPTLEN = LEN(SPTSTR)
      DO 20 I = ABEG - 1,LENARR - SPTLEN
          DO 10 J = 1,SPTLEN
              IF (ARRAY(I+J).NE.SPTSTR(J:J)) GO TO 20
   10     CONTINUE
*.. match
          INDARR = I + 1
          RETURN
   20 CONTINUE
*.. no match
      INDARR = 0
      END
      SUBROUTINE OUTAUT(AUTHOR,AUTLEN)
*
* output the author field with quotes in the form
*     author = string
* author is a string containing possibly multiple
* authors separated by semi colons.
* The output field will be restricted to lines of
* width maxlin split after either an authors name
* or an " and ' separator.
* land is the length of the string andstr
*
*     .. Parameters ..
      INTEGER MAXLIN,MAXAUT,LAND
      PARAMETER (MAXLIN=80,MAXAUT=10,LAND=5)
      CHARACTER*(*) QUOTE,COMMA,SEMIC,ANDSTR
      PARAMETER (QUOTE='"',COMMA=',',SEMIC=';',ANDSTR=' and ')
*     ..
*     .. Scalar Arguments ..
      INTEGER AUTLEN
*     ..
*     .. Array Arguments ..
      CHARACTER AUTHOR(AUTLEN)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,IARR,IST,NARRAY
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. Local Arrays ..
      CHARACTER AUTARR(MAXAUT)* (MAXLIN)
*     ..
*     .. External Functions ..
      INTEGER LENARR,LENGTH
      EXTERNAL LENARR,LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,OUTLIN,SPLIT
*     ..
*     .. Executable Statements ..
*
* split the line into its narray authors
      ALEN = LENARR(AUTHOR,AUTLEN)
      CALL SPLIT(AUTHOR,ALEN,AUTARR,NARRAY,SEMIC)
* initialize
      LINE(1:12) = '    author='//QUOTE
      IST = 12
      IARR = 1
* loop through the authors
   10 ALEN = LENGTH(AUTARR(IARR))
* don't split an authors name
      IF (ALEN.GT.MAXLIN-1) THEN
          CALL ERROR('Increase maxlin in outaut')
      END IF
* see if there is room for this author
      IF (IST+ALEN.LT.MAXLIN) THEN
          LINE(IST+1:IST+ALEN) = AUTARR(IARR) (1:ALEN)
          IST = IST + ALEN
      ELSE
* if not flush current line
          CALL OUTLIN(LINE,IST)
          LINE(1:ALEN) = AUTARR(IARR) (1:ALEN)
          IST = ALEN
      END IF
      IF (IARR.NE.NARRAY) THEN
* more authors to come -- put the and in
          IF (IST+LAND.LT.MAXLIN) THEN
              LINE(IST+1:IST+LAND) = ANDSTR
              IST = IST + LAND
          ELSE
* not enough room
              CALL OUTLIN(LINE,IST)
              LINE(1:LAND) = ANDSTR
              IST = LAND
          END IF
          IARR = IARR + 1
          GO TO 10
      END IF
* finished - there is always room for the final quote and comma
      LINE(IST+1:IST+2) = QUOTE//COMMA
      CALL OUTLIN(LINE,IST+2)
      END
      SUBROUTINE OUTCLS
*
* output the final closing brace
*
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
      CALL OUTLIN('}',1)
      END
      SUBROUTINE OUTJRL(JOURNL)
*
* outputs the final field in the reference in the form
*      journal = cacm
* or   journal = toms
* here we are using string substitution (see prmble for
* the string definitions).
*
* Because it is the last field there is no trailing comma.
*
*     .. Parameters ..
      INTEGER MAXLIN
      PARAMETER (MAXLIN=80)
*     ..
*     .. Scalar Arguments ..
      CHARACTER JOURNL* (*)
*     ..
*     .. Local Scalars ..
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
      LINE(1:16) = '    journal='//JOURNL
      CALL OUTLIN(LINE,16)
      END
      SUBROUTINE OUTKEY(ALABEL)
*
* output the initial line for a bibtex reference
*          @article{keyword
* The keyword is made up of the parameter string prefix and
* the label given to the algorithm on publication -- in
* all cases bar two this was an integer, in the two odd cases
* an integer with an 'a' appended.
*
*     .. Parameters ..
      INTEGER MAXLIN
      CHARACTER*(*) PREFIX,COMMA
      PARAMETER (MAXLIN=80,PREFIX='acmalg',COMMA=',')
*     ..
*     .. Scalar Arguments ..
      CHARACTER ALABEL* (*)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,LENG
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,OUTLIN
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LEN
*     ..
*     .. Executable Statements ..
*
* want to strip trailing blanks
      ALEN = LENGTH(ALABEL)
* error if label field is blank
      IF (ALEN.EQ.0) THEN
          CALL ERROR('Blank label field in outkey')
      END IF
      LINE = '@article{'//PREFIX//ALABEL(1:ALEN)//COMMA
      LENG = 9 + LEN(PREFIX) + ALEN + 1
      CALL OUTLIN(LINE,LENG)
      END
      SUBROUTINE OUTMON(MONTH)
*
* output the month field in the format
*     month = string
* This routine outputs an explicit string. Lamport
* suggests using string definitions for this. The required
* changes are straightforward but the string definitions
* need to be included within the resulting .bib file
*(see comments in prmble)
*
*     .. Parameters ..
      INTEGER MAXLIN
      CHARACTER QUOTE,SPACE,COMMA
      PARAMETER (MAXLIN=80,QUOTE='"',SPACE=' ',COMMA=',')
*     ..
*     .. Scalar Arguments ..
      CHARACTER MONTH* (*)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,I,IST
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
*
* initialize
      LINE(1:11) = '    month='//QUOTE
      IST = 11
*strip leading blanks from month
      ALEN = LENGTH(MONTH)
      DO 10 I = 1,ALEN
          IF (MONTH(I:I).NE.SPACE) GO TO 15
   10 CONTINUE
   15 LINE(IST+1:IST-I+ALEN+3) = MONTH(I:ALEN)//QUOTE//COMMA
      CALL OUTLIN(LINE,IST-I+ALEN+3)
      END
      SUBROUTINE OUTNUM(NUMBER,FIELD)
*
* output a numerical value with a field name field
* 1.e.     field = number
* This is used to output the volume, number and year fields.
*
*     .. Parameters ..
      INTEGER MAXLIN
      CHARACTER COMMA
      INTEGER NUMLEN
      PARAMETER (MAXLIN=80,COMMA=',',NUMLEN=6)
*     ..
*     .. Scalar Arguments ..
      INTEGER NUMBER
      CHARACTER FIELD* (*)
*     ..
*     .. Local Scalars ..
      INTEGER IST,NLEN
      CHARACTER LINE* (MAXLIN),NUMSTR* (NUMLEN)
*     ..
*     .. External Functions ..
      INTEGER ITOA,LENGTH
      EXTERNAL ITOA,LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
*
* initialize
*
      IST = LENGTH(FIELD)
      LINE(1:IST) = FIELD(1:IST)
      NLEN = ITOA(NUMBER,NUMSTR)
      LINE(IST+1:IST+NLEN+1) = NUMSTR(1:NLEN)//COMMA
      CALL OUTLIN(LINE,IST+NLEN+1)
      END
      SUBROUTINE OUTPGS(PAGEST,PAGEND)
*
* output the pages field in the format
*     pages = "pagest--pagend"
* or  pages = "pagest"
* if there is no range
*
*     .. Parameters ..
      INTEGER MAXLIN
      CHARACTER QUOTE,COMMA
      PARAMETER (MAXLIN=80,QUOTE='"',COMMA=',')
*     ..
*     .. Scalar Arguments ..
      INTEGER PAGEND,PAGEST
*     ..
*     .. Local Scalars ..
      INTEGER IST,NLEN
      CHARACTER LINE* (MAXLIN),NUMSTR* (6)
*     ..
*     .. External Functions ..
      INTEGER ITOA
      EXTERNAL ITOA
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
* initialize
      LINE(1:11) = '    pages='//QUOTE
      IST = 11
* turn pagest into a string
      NLEN = ITOA(PAGEST,NUMSTR)
      LINE(IST+1:IST+NLEN) = NUMSTR(1:NLEN)
      IST = IST + NLEN
* deal with possible range
* pagend=0 if just a single page reference
      IF (PAGEND.NE.0) THEN
          LINE(IST+1:IST+2) = '--'
          IST = IST + 2
          NLEN = ITOA(PAGEND,NUMSTR)
          LINE(IST+1:IST+NLEN) = NUMSTR(1:NLEN)
          IST = IST + NLEN
      END IF
*add the final comma
      LINE(IST+1:IST+2) = QUOTE//COMMA
      CALL OUTLIN(LINE,IST+2)
      END
      SUBROUTINE OUTREF
*
* output a single bibliographic entry
*
*     .. Parameters ..
      INTEGER AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
*     ..
*     .. Scalars in Common ..
      INTEGER NUMBER,PAGEND,PAGEST,VOLUME,YEAR
      CHARACTER ALABEL* (6),JOURNL* (4),MONTH* (9),LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      CHARACTER AUTHOR(AUTLEN),KEYWDS(KEYLEN),OTHERS(OTHLEN),
     +          TITLE(TITLEN)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTAUT,OUTCLS,OUTJRL,OUTKEY,OUTMON,OUTNUM,OUTPGS,OUTTIT
*     ..
*     .. Common blocks ..
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*     ..
*     .. Save statement ..
      SAVE /CREFNO/,/CREFST/
*     ..
*     .. Executable Statements ..
*
* @article{keyword
      CALL OUTKEY(ALABEL)
* author field
      CALL OUTAUT(AUTHOR,AUTLEN)
* title field
      CALL OUTTIT(TITLE,TITLEN)
* volume field
      CALL OUTNUM(VOLUME,'    volume=')
* number field
      CALL OUTNUM(NUMBER,'    number=')
* pages field
      CALL OUTPGS(PAGEST,PAGEND)
* year field
      CALL OUTNUM(YEAR,'    year=')
* month field
      CALL OUTMON(MONTH)
* journal field
      CALL OUTJRL(JOURNL)
* closing brace
      CALL OUTCLS
      END
      SUBROUTINE OUTSET
*
* open file for output of bibtex references
* unit number nout must not clash with nin and nerr
* which are initialized in routine setup
*
*     .. Scalars in Common ..
      INTEGER NOUT
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Common blocks ..
      COMMON /CBIB/NOUT
*     ..
*     .. Save statement ..
      SAVE /CBIB/
*     ..
*     .. Executable Statements ..
      NOUT = 7
      OPEN (UNIT=NOUT,FILE='acm.bib',STATUS='unknown',FORM='formatted',
     +     ACCESS='sequential',ERR=10)
      RETURN
* deal with possible error opening output file
   10 CALL ERROR('Failed to open file for bibtex database')
      END
      SUBROUTINE OUTTIT(TITLE,TITLEN)
*
* output the title field in quotes
*     title = string
* The output field will be restricted to lines of
* width maxlin split on a space
*
*     .. Parameters ..
      INTEGER MAXLIN
      CHARACTER QUOTE,COMMA,SPACE
      PARAMETER (MAXLIN=80,QUOTE='"',COMMA=',',SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER TITLEN
*     ..
*     .. Array Arguments ..
      CHARACTER TITLE(TITLEN)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,I,IEND,IPTR,IST,TLEN
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. External Functions ..
      INTEGER LENARR
      EXTERNAL LENARR
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,OUTLIN,STRARR
*     ..
*     .. Executable Statements ..
*
* initialize
      LINE(1:11) = '    title='//QUOTE
      IST = 11
      TLEN = LENARR(TITLE,TITLEN)
      ALEN = TLEN
      IEND = 1
* can we output the rest of the title on one line
   10 IF (IST+ALEN.GT.MAXLIN-2) THEN
* break on a space
          IPTR = MAXLIN - IST - 3
          DO 20 I = IPTR + IEND,IEND,-1
              IF (TITLE(I).EQ.SPACE) THEN
                  GO TO 30

              END IF

   20     CONTINUE
          CALL ERROR('Increase maxlin in outtit')
* cut here
   30     CALL STRARR(LINE,IST+1,TITLE,IEND,I-IEND-1)
          CALL OUTLIN(LINE,IST+I-IEND)
          IEND = I + 1
          ALEN = TLEN - IEND + 1
          IST = 0
          GO TO 10

      ELSE
          CALL STRARR(LINE,IST+1,TITLE,IEND,ALEN-1)
          IST = IST + ALEN
      END IF
* it fits output with closing quote and comma
      LINE(IST+1:IST+2) = QUOTE//COMMA
      CALL OUTLIN(LINE,IST+2)
      END
      SUBROUTINE PRMBLE
*
* output any preamble to the .bib file
* Here we output string definitions for cacm or toms.
* If string substitution were to be used for months
* the definitions could also be placed here.
*
*     .. Parameters ..
      INTEGER MAXLIN
      PARAMETER (MAXLIN=80)
*     ..
*     .. Local Scalars ..
      CHARACTER LINE* (MAXLIN)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
      LINE(1:39) = '@string{toms="ACM Trans. Math. Softw."}'
      CALL OUTLIN(LINE,39)
      LINE(1:27) = '@string{cacm="Commun. ACM"}'
      CALL OUTLIN(LINE,27)
      LINE(1:26) = '@string{topl="ACM TOPLAS"}'
      CALL OUTLIN(LINE,26)
      END
      SUBROUTINE SPLIT(STRING,LENSTR,ARRAY,NARRAY,SPTSTR)
*
* routine split splits the string string into narray pieces
* using the separator string sptstr. Substrings are stored
* in the array array.
*
*     .. Parameters ..
      CHARACTER SPACE
      PARAMETER (SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER LENSTR,NARRAY
      CHARACTER SPTSTR* (*)
*     ..
*     .. Array Arguments ..
      CHARACTER STRING(LENSTR),ARRAY(*)* (*)
*     ..
*     .. Local Scalars ..
      INTEGER I,IEND,IST,SPTLEN
*     ..
*     .. External Functions ..
      INTEGER INDARR
      EXTERNAL INDARR
*     ..
*     .. External Subroutines ..
      EXTERNAL STRARR
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LEN
*     ..
*     .. Executable Statements ..
      SPTLEN = LEN(SPTSTR)
      NARRAY = 0
      IST = 1
   10 IEND = INDARR(STRING,LENSTR,IST,SPTSTR)
      IF (IEND.NE.0) THEN
          NARRAY = NARRAY + 1
*
* lose leading spaces
          DO 20 I = IST,IEND - 1
              IF (STRING(I).NE.SPACE) THEN
                  GO TO 30
              END IF
   20     CONTINUE
   30     CONTINUE
          ARRAY(NARRAY) = SPACE
          CALL STRARR(ARRAY(NARRAY),1,STRING,I,IEND-1-I)
          IST = IEND + SPTLEN
          GO TO 10
      END IF
      END
      SUBROUTINE STRARR(STRING,SBEG,ARRAY,ABEG,LENG)
*
*.. copy array(abeg) .. array(abeg+leng) to string(sbeg:sbeg+leng)
*
*     .. Scalar Arguments ..
      INTEGER ABEG,LENG,SBEG
      CHARACTER STRING* (*)
*     ..
*     .. Array Arguments ..
      CHARACTER ARRAY(ABEG+LENG)
*     ..
*     .. Local Scalars ..
      INTEGER I
*     ..
*     .. Executable Statements ..
      DO 10 I = 0,LENG
          STRING(SBEG+I:SBEG+I) = ARRAY(ABEG+I)
   10 CONTINUE
      END



==============================================================================
cumeg.f


      SUBROUTINE ADDSHR(SHARVL,NOALG)
*
* Add the current algorithm into the sorted shar array.
* This is pretty crude but given the program will be run
* only infrequently we think it's good enough.
*
* sharvl -- shar index associated with current algorithm
* noalg  -- index into volume, pages etc arrays for current
*           algorithm information.
*
*
*     .. Parameters ..
      CHARACTER*(*) MESS
      PARAMETER (MESS='Unrecognized share value ')
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
*     ..
*     .. Scalar Arguments ..
      INTEGER NOALG
      CHARACTER SHARVL* (3)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,NOALGS,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),
     +        SHARPT(NCLASS+1),SHSORT(MAXALG),VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6,SHARMN(NCLASS)* (3),
     +          SHARST(NCLASS)* (45)
*     ..
*     .. Local Scalars ..
      INTEGER I,J,POS,SHPOS
      CHARACTER SHTEMP* (3)
*     ..
*     .. External Functions ..
      INTEGER BINCHP
      EXTERNAL BINCHP
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,SHARFX
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/,/CSHAR/,/CSHARN/
*     ..
*     .. Executable Statements ..
*
* find pointer position for current shar value
* converting sharvl to upper case if necessary
      SHTEMP = SHARVL
      CALL SHARFX(SHTEMP)
      POS = BINCHP(SHTEMP,SHARMN,MAXSHR)
      IF (POS.EQ.0) THEN
* stop if not found
          CALL ERROR(MESS//SHTEMP)
      END IF
*
* locate where new entry should go -- want it at
* the end of the current list to ensure that the entries
* associated with each shar classification remain sorted.
*
      SHPOS = POS
      DO 30 I = POS + 1,MAXSHR
*
* find first non-zero pointer
          IF (SHARPT(I).NE.0) THEN
              SHPOS = SHARPT(I)
*
* update this and other pointers
              DO 10 J = I,MAXSHR
                  IF (SHARPT(J).NE.0) THEN
                      SHARPT(J) = SHARPT(J) + 1
                  END IF
   10         CONTINUE
*
* insert the new entry
              DO 20 J = NOALG - 1,SHPOS,-1
                  SHSORT(J+1) = SHSORT(J)
   20         CONTINUE
              SHSORT(SHPOS) = NOALG
              IF (SHARPT(POS).EQ.0) THEN
                  SHARPT(POS) = SHPOS
              END IF
              RETURN
          END IF
   30 CONTINUE
*
* add to end of list and update pointer if necessary
      SHSORT(NOALG) = NOALG
      IF (SHARPT(SHPOS).EQ.0) THEN
          SHARPT(SHPOS) = NOALG
      END IF
      END
      BLOCK DATA BDSHAR
*
* Initialize share mnemonic and descriptive string arrays
*
*     .. Parameters ..
      INTEGER NCLASS, NCLAS1
      PARAMETER (NCLASS=57,NCLAS1=NCLASS+1)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER SHARPT(NCLASS+1)
      CHARACTER SHARMN(NCLASS)* (3),SHARST(NCLASS)* (45)
*     ..
*     .. Common blocks ..
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CSHAR/,/CSHARN/
*     ..
*     .. Data statements ..
      DATA SHARMN(1)/'A1 '/
      DATA SHARST(1)/'Real Arithmetic, Number Theory'/
      DATA SHARMN(2)/'A2 '/
      DATA SHARST(2)/'Complex Arithmetic'/
      DATA SHARMN(3)/'B1 '/
      DATA SHARST(3)/'Trig and Inverse Trig Functions'/
      DATA SHARMN(4)/'B2 '/
      DATA SHARST(4)/'Hyperbolic Functions'/
      DATA SHARMN(5)/'B3 '/
      DATA SHARST(5)/'Exponential and Logarithmic Functions'/
      DATA SHARMN(6)/'B4 '/
      DATA SHARST(6)/'Roots and Powers'/
      DATA SHARMN(7)/'C1 '/
      DATA SHARST(7)/'Operations on Polynomials and Power Series'/
      DATA SHARMN(8)/'C2 '/
      DATA SHARST(8)/'Zeros of Polynomials'/
      DATA SHARMN(9)/'C5 '/
      DATA SHARST(9)/'Zeros of one or more Nonlinear Equations'/
      DATA SHARMN(10)/'C6 '/
      DATA SHARST(10)/'Summation of Series, Convergence Acceleration'/
      DATA SHARMN(11)/'D1 '/
      DATA SHARST(11)/'Quadrature'/
      DATA SHARMN(12)/'D2 '/
      DATA SHARST(12)/'Ordinary Differential Equations'/
      DATA SHARMN(13)/'D3 '/
      DATA SHARST(13)/'Partial Differential Equations'/
      DATA SHARMN(14)/'D4 '/
      DATA SHARST(14)/'Differentiation'/
      DATA SHARMN(15)/'D5 '/
      DATA SHARST(15)/'Integral Equations'/
      DATA SHARMN(16)/'E1 '/
      DATA SHARST(16)/'Interpolation'/
      DATA SHARMN(17)/'E2 '/
      DATA SHARST(17)/'Curve and Surface Fitting'/
      DATA SHARMN(18)/'E3 '/
      DATA SHARST(18)/'Smoothing'/
      DATA SHARMN(19)/'E4 '/
      DATA SHARST(19)/'Minimizing or Maximizing a Function'/
      DATA SHARMN(20)/'F1 '/
      DATA SHARST(20)/'Matrix Operations, including Inversion'/
      DATA SHARMN(21)/'F2 '/
      DATA SHARST(21)/'Eigenvalues and Eigenvectors of a Matrix'/
      DATA SHARMN(22)/'F3 '/
      DATA SHARST(22)/'Determinants'/
      DATA SHARMN(23)/'F4 '/
      DATA SHARST(23)/'Simultaneous Linear Equations'/
      DATA SHARMN(24)/'F5 '/
      DATA SHARST(24)/'Orthogonalization'/
      DATA SHARMN(25)/'G1 '/
      DATA SHARST(25)/'Simple Calculations on Statistical Data'/
      DATA SHARMN(26)/'G2 '/
      DATA SHARST(26)/'Correlation and Regression Analysis'/
      DATA SHARMN(27)/'G5 '/
      DATA SHARST(27)/'Random Number Generators'/
      DATA SHARMN(28)/'G6 '/
      DATA SHARST(28)/'Permutations and Combinations'/
      DATA SHARMN(29)/'G7 '/
      DATA SHARST(29)/'Subset Generators'/
      DATA SHARMN(30)/'H  '/
      DATA SHARST(30)/'Operations Research, Graph Structure'/
      DATA SHARMN(31)/'I5 '/
      DATA SHARST(31)/'Input -- Composite'/
      DATA SHARMN(32)/'J6 '/
      DATA SHARST(32)/'Plotting'/
      DATA SHARMN(33)/'K2 '/
      DATA SHARST(33)/'Relocation'/
      DATA SHARMN(34)/'L2 '/
      DATA SHARST(34)/'Compiling'/
      DATA SHARMN(35)/'M1 '/
      DATA SHARST(35)/'Sorting'/
      DATA SHARMN(36)/'M2 '/
      DATA SHARST(36)/'Data Conversion and Scaling'/
      DATA SHARMN(37)/'O2 '/
      DATA SHARST(37)/'Simulation of Computing Structure'/
      DATA SHARMN(38)/'R2 '/
      DATA SHARST(38)/'Symbol Manipulation'/
      DATA SHARMN(39)/'S  '/
      DATA SHARST(39)/'Approximation of Special Functions'/
      DATA SVAL/39/
      DATA SHARMN(40)/'S03'/
      DATA SHARST(40)/' '/
      DATA SHARMN(41)/'S04'/
      DATA SHARST(41)/' '/
      DATA SHARMN(42)/'S07'/
      DATA SHARST(42)/' '/
      DATA SHARMN(43)/'S09'/
      DATA SHARST(43)/' '/
      DATA SHARMN(44)/'S13'/
      DATA SHARST(44)/' '/
      DATA SHARMN(45)/'S14'/
      DATA SHARST(45)/' '/
      DATA SHARMN(46)/'S15'/
      DATA SHARST(46)/' '/
      DATA SHARMN(47)/'S16'/
      DATA SHARST(47)/' '/
      DATA SHARMN(48)/'S17'/
      DATA SHARST(48)/' '/
      DATA SHARMN(49)/'S18'/
      DATA SHARST(49)/' '/
      DATA SHARMN(50)/'S19'/
      DATA SHARST(50)/' '/
      DATA SHARMN(51)/'S20'/
      DATA SHARST(51)/' '/
      DATA SHARMN(52)/'S21'/
      DATA SHARST(52)/' '/
      DATA SHARMN(53)/'S22'/
      DATA SHARST(53)/' '/
      DATA SHARMN(54)/'S23'/
      DATA SHARST(54)/' '/
      DATA SHARMN(55)/'XX '/
      DATA SHARST(55)/'Unclassified'/
      DATA SHARMN(56)/'Y1 '/
      DATA SHARST(56)/'Physics Applications'/
      DATA SHARMN(57)/'Z  '/
      DATA SHARST(57)/'All Others'/
      DATA MAXSHR/NCLASS/
      DATA SHARPT/NCLAS1*0/
*     ..
*     .. Executable Statements ..
      END
      INTEGER FUNCTION BINCHP(TARGET,GIVEN,LENGTH)
*
* Find target in sorted array given(1..length)
* using the binary chop algorithm
*
* returns 0 if target not in given(1..length)
* returns p if given(p)=target for p=1..length
*
*     .. Scalar Arguments ..
      INTEGER LENGTH
      CHARACTER TARGET* (3)
*     ..
*     .. Array Arguments ..
      CHARACTER GIVEN(LENGTH)* (3)
*     ..
*     .. Local Scalars ..
      INTEGER L,M,U
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LGT,LLT
*     ..
*     .. Executable Statements ..
      L = 1
      U = LENGTH
   10 IF (L.GT.U) THEN
          BINCHP = 0
          RETURN
      END IF
* halve the interval
      M = (L+U)/2
      IF (LLT(GIVEN(M),TARGET)) THEN
          L = M + 1
          GO TO 10
      ELSE IF (LGT(GIVEN(M),TARGET)) THEN
          U = M - 1
          GO TO 10
      END IF
      BINCHP = M
      END
      PROGRAM CUMIND
*
* produces latex file to generate a cumulative index of
* acm algorithms sorted by shar classification
*
*     .. Parameters ..
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      INTEGER AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
      INTEGER MAXALG
      PARAMETER (MAXALG=750)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,NERR,NIN,NOALGS,NOUT,NUMBER,PAGEND,PAGEST,SVAL,
     +        TYPE,VOLUME,YEAR
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF),ALABEL* (6),JOURNL* (4),MONTH* (9),
     +          LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),
     +        SHARPT(NCLASS+1),SHSORT(MAXALG),VOL(MAXALG)
      CHARACTER AUTHOR(AUTLEN),JOUR(MAXALG),KEYWDS(KEYLEN),
     +          OTHERS(OTHLEN),REFS(OTHLEN,MAXALG),TITLE(TITLEN),
     +          TITLES(TITLEN,MAXALG),SHAR(MAXALG)*3,LABEL(MAXALG)*6,
     +          SHARMN(NCLASS)* (3),SHARST(NCLASS)* (45)
*     ..
*     .. Local Scalars ..
      INTEGER CURPT,I,IPOS,LASTPT
*     ..
*     .. External Functions ..
      INTEGER GETPT
      LOGICAL GETREF
      EXTERNAL GETPT,GETREF
*     ..
*     .. External Subroutines ..
      EXTERNAL ADDSHR,INITRF,OUTALG,OUTCUM,OUTEND,OUTHED,OUTSH,SAVALG,
     +         SETUP
*     ..
*     .. Common blocks ..
*
* common block for storing information required to
* build an accumulative index based on the shar
* classification
*
* For each of the noalgs algorithms
* titles (character array) stores full titles,
* refs (character array) stores the comments and remarks
*                          in compressed form
* jour   (character array) holds the journal code
*                          (c=cacm, t=toms, x=others)
* shar   (character array) holds the shar index
* vol    (integer array)   holds the volume number
* page   (integer array)   holds the start page of the article
* label  (character array) stores the algorithm number
*
* lentit (integer array)   stores the number of significant
*                          characters in the title
* lenoth (integer array)   stores the number of significant
*                          characters in the other entries
* shsort (integer array)   contains a sorted list of indexes
*                          by shar classification
*
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*
* nout is used to define the output channel for
* the bibtex database -- see subroutine outcum
*

      COMMON /CBIB/NOUT
*
*  eof    (logical) - true if no more references to process
*                     false otherwise
*  type   (integer) - type of current input line
*                     newfld (1) - a new field
*                     cont   (2) - a continuation line
*                     newalg (3) - a new reference entry
*                     newfld, cont and newalg are parameter values
*  nin    (integer) - unit number for data reference file
*  nerr   (integer) - unit number for error messages
* 
      COMMON /CIO/EOF,TYPE,NIN,NERR
*
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the 
*                                distributed version of the data
*                                file maxbuf may be set to 80.
*
      COMMON /CIOSTR/BUFFER
*
* common block holds reference items which may usefully be
* represented by integers.
*
*  volume - volume number
*  number - issue number (1-12 for cacm, 1-4 for toms)
*  year   - year of publication
*  pagest - start page of article
*  pagend - end page of article (set zero if whole article confined
*           to a single page
*
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
*
*  stores reference fields in string form
*
*  alabel*(6)     - label used to identify an algorithm. In all cases
*                   but two this is an integer. In the odd two cases
*                   it is an integer followed by the letter 'a'.
*  journl*(4)     - either 'cacm' or 'toms'
*  month *(9)     - month of publication e.g., January, December etc.
*  lang  *(3)     - language in which algorithm is coded
*                   'F' = Fortran (66 or 77);  'A60' = Algol 60;
*                   'R' = Ratfor'           ;  'PL1' = PL1;
*  share *(3)     - Share classification index
*  author(autlen) - possibly multiple author names. All author fields
*                   end with a semi colon, multiple authors are
*                   separated by semi colons.
*  title (titlen) - possibly multiline title concatenated into a single
*                   string. Multiple blanks are compressed to a single
*                   blank.
*  keywds(keylen) - list of keywords separated by semi colons and
*                   terminated by a semi colon.
*  others(othlen) - list of remarks and certificates pertaining to the
*                   current reference separated by and terminated by a
*                   semi colon. Each entry has the following form
*
*  R or C,journal,start page,end page,volume,number,month,year,authors;
*
*                   The first field states whether the article was a
*                   Remark or Certificate.
*                   Multiple authors are separated by ' and '.
*                   All other field are as described in the main
*                   reference.
*
*  autlen, titlen, keylen, othlen are parameter values.

      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*
* common block containing information on shar classification index
*
* sharmn (character array) containing the shar mnemonics
* sharst (character array) containing explanatory strings
* sharpt (integer array)   used to store pointers into the
*                          array containing sorted list of
*                          algorithms
*
* maxshr (integer) maximum number of shar classifications
* sval (integer) position of S section heading in the sharmn
*                and sharst arrays
*
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CBIB/,/CIO/,/CIOSTR/,/CREFNO/,/CREFST/,/CSHAR/,/CSHARN/,
     +     /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
*
*  set up i/o channels and open data file
      CALL SETUP
*
* set up output file for latex output
      CALL OUTCUM
*
* initialize input buffer for references
      CALL INITRF
      CALL OUTHED
*
* process all references
   10 IF (GETREF()) THEN
          CALL SAVALG
          GO TO 10
      END IF
*
* sort on shar index
      DO 20 I = 1,NOALGS
          J = I
*
* don't pass active do-loop variable as arg
          CALL ADDSHR(SHAR(J),J)
   20 CONTINUE
      SHARPT(MAXSHR+1) = NOALGS + 1
*
* loop through the classifications, outputting headings
* where necessary and generating entries
      IPOS = 1
      CURPT = GETPT(IPOS,MAXSHR+1,SHARPT)
   30 LASTPT = GETPT(CURPT+1,MAXSHR+1,SHARPT)
      IF (LASTPT.NE.-1) THEN
          CALL OUTSH(CURPT)
          DO 40 I = SHARPT(CURPT),SHARPT(LASTPT) - 1
              CALL OUTALG(SHSORT(I))
   40     CONTINUE
          CURPT = LASTPT
          GO TO 30
      END IF
*
* windup complete latex file
      CALL OUTEND
      END
      SUBROUTINE GETOTC(FIELD,FLEN,OTHERS,OLEN)
*
* Routine to extract a list of the citation references
* in the form e.g., C4:273 (cacm volume 4 p273).
*
* Multiple entries are separated by sepchr -- we use a
* space for the LaTeX output. No sepchr is appended to the
* end of the string.
*
* No explicit bound checks are performed on field
*
*
* field -- character array on exit holds the list of
*          references
* flen  -- number of significant characters in field
*          on exit
* others-- character array containing citation reference
* olen  -- number of significant characters in others
*
*     .. Parameters ..
      CHARACTER SEPCHR
      PARAMETER (SEPCHR=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,OLEN
*     ..
*     .. Array Arguments ..
      CHARACTER FIELD(*),OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER IFLEN,IPOS
*     ..
*     .. External Functions ..
      INTEGER NXTOTH,SEMPOS
      EXTERNAL NXTOTH,SEMPOS
*     ..
*     .. Executable Statements ..
* no references
      FLEN = 0
      IF (OLEN.EQ.0) THEN
          RETURN
      END IF
* one or more
      IPOS = 1
      FLEN = 1
   10 IPOS = NXTOTH(IPOS,FIELD(FLEN),IFLEN,OTHERS)
      IPOS = SEMPOS(IPOS,OTHERS)
      FLEN = FLEN + IFLEN - 1
      IF (IPOS.NE.OLEN) THEN
          IPOS = IPOS + 1
          FIELD(FLEN+1) = SEPCHR
          FLEN = FLEN + 2
          GO TO 10
      END IF
      END
      INTEGER FUNCTION GETPT(IPOS,MAXPOS,ARRAY)
*
* Returns the first non-zero entry in the elements
* array(ipos,...,maxpos). If ipos.gt.maxpos on entry
* or all elements are zero returns -1.
*
*
*     .. Scalar Arguments ..
      INTEGER IPOS,MAXPOS
*     ..
*     .. Array Arguments ..
      INTEGER ARRAY(MAXPOS)
*     ..
*     .. Local Scalars ..
      INTEGER I,ITEMP
*     ..
*     .. Executable Statements ..
*
      ITEMP = IPOS
      IF (ITEMP.GT.MAXPOS) THEN
          GETPT = -1
      ELSE
          DO 10 I = ITEMP,MAXPOS
              IF (ARRAY(I).NE.0) THEN
                  GETPT = I
                  GO TO 20
              END IF
   10     CONTINUE
* fallen off the end
          GETPT = -1
      END IF
   20 RETURN
      END
      INTEGER FUNCTION GOTHFD(IPOS,FIELD,FLEN,OTHERS)
*
* Get next field (separated by commas) from list of remarks
* and certificates for a particular algorithm.
*
*  ipos  -- on entry points to the first character or first
*           following a comma or first following a semicolon
*           in the others array
* field -- character variable to hold field on exit
* flen  -- number of characters written into field on exit
* others-- character array holding the full other citation
*          references for a particular algorithm.
*
* This routine does not explicitly bound check field.
*
* Function returns the current position of the pointer in
* the array others (could be a comma or a semi-colon)
*
*     .. Parameters ..
      CHARACTER COMMA,SEMIC
      PARAMETER (COMMA=',',SEMIC=';')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,IPOS
      CHARACTER FIELD* (*)
*     ..
*     .. Array Arguments ..
      CHARACTER OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER ITEMP
*     ..
*     .. Executable Statements ..
      FIELD(1:1) = OTHERS(IPOS)
      ITEMP = IPOS
      FLEN = 1
   10 ITEMP = ITEMP + 1
      IF (OTHERS(ITEMP).NE.COMMA .AND. OTHERS(ITEMP).NE.SEMIC) THEN
          FLEN = FLEN + 1
          FIELD(FLEN:FLEN) = OTHERS(ITEMP)
          GO TO 10
      END IF
      GOTHFD = ITEMP
      END
      SUBROUTINE MAINRF(BUFFER,BUFLEN,NALG)
*
* construct the reference to the algorithm whose reference
* is stored in array position nalg. This will be output
* in italic in the resulting cumulative index.
* Example format: C3:49 for cacm volume 3 page 49.
*
*     .. Parameters ..
      CHARACTER SEPCHR
      PARAMETER (SEPCHR=':')
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
*     ..
*     .. Scalar Arguments ..
      INTEGER BUFLEN,NALG
      CHARACTER BUFFER* (*)
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER LENGTH
*     ..
*     .. External Functions ..
      INTEGER ITOA
      EXTERNAL ITOA
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      BUFFER(1:1) = JOUR(NALG)
      LENGTH = ITOA(VOL(NALG),BUFFER(2:))
      BUFLEN = LENGTH + 2
      BUFFER(BUFLEN:BUFLEN) = SEPCHR
      BUFLEN = BUFLEN + 1
      LENGTH = ITOA(PAGE(NALG),BUFFER(BUFLEN:))
      BUFLEN = BUFLEN + LENGTH - 1
      END
      INTEGER FUNCTION NXTOTH(IPOS,FIELD,FLEN,OTHERS)
*
* Generate next remark or certificate reference. This involves
* extracting fields 2 (journal), 4 (volume), 3 (pages) and
* forming a string of the form C17:128. (The colon may be changed
* by altering sepchr in the parameter statement.)
*
* ipos  -- on entry points to the first character or first
*          following a semicolon in the others array
* field -- character array to hold reference on exit
* flen  -- number of characters written into field on exit
* others-- character array holding the full other citation
*          references for a particular algorithm.
*
* This routine does not explicitly bound check field.
*
* Function returns the current position of the pointer in
* the array others (could be a comma or a semi-colon)
*
*     .. Parameters ..
      CHARACTER SEPCHR,PAGSEP
      PARAMETER (SEPCHR=':',PAGSEP='-')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,IPOS
*     ..
*     .. Array Arguments ..
      CHARACTER FIELD(*),OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER I,JLEN,JPOS,PLEN,VLEN
      CHARACTER JUNK,PAGES* (10),VOL* (3),JOURN* (4)
*     ..
*     .. External Functions ..
      INTEGER GOTHFD
      EXTERNAL GOTHFD
*     ..
*     .. Executable Statements ..
*
* eat the first field (either C or R)
      JPOS = GOTHFD(IPOS,JUNK,JLEN,OTHERS)
*
* get the second -- this is the journal title
      JPOS = GOTHFD(JPOS+1,JOURN,JLEN,OTHERS)
*
* work out the first letter for the citation
      IF (JOURN.EQ.'cacm') THEN
          FIELD(1) = 'C'
      ELSE IF (JOURN.EQ.'toms') THEN
          FIELD(1) = 'T'
      ELSE
          FIELD(1) = 'X'
      END IF
*
* third field is pages; fourth is volume field
      JPOS = GOTHFD(JPOS+1,PAGES,PLEN,OTHERS)
      NXTOTH = GOTHFD(JPOS+1,VOL,VLEN,OTHERS)
*
* build the reference
      DO 10 I = 1,VLEN
          FIELD(I+1) = VOL(I:I)
   10 CONTINUE
      FIELD(VLEN+2) = SEPCHR
      DO 20 I = 1,PLEN
          IF (PAGES(I:I).NE.PAGSEP) THEN
              FIELD(VLEN+2+I) = PAGES(I:I)
          ELSE
              FLEN = VLEN + I + 1
              RETURN
          END IF
   20 CONTINUE
      FLEN = VLEN + PLEN + 2
      END
      SUBROUTINE OUTALG(NALG)
*
* output the complete entry for an algorithm.
* nalg gives the position within the arrays.
*
* The following latex template is used
*
* \noindent
* {\small \begin{tabular}{p{0.5in}p{2.75in}p{1.1in}}
* <algorithm label>
* &{\raggedright
* <title>
* \\}&{\raggedright {\bf
* <main reference> }
* <other references>
* \\} \end{tabular}}
*
* set up the strings and their respective lengths.
* Note: the backslash character is used extensively in these
*       strings. Its definition may be implementation dependent.
*       The following is for SUN and 4.3bsd Unix f77 compilers.
*
*     .. Parameters ..
      CHARACTER*(*) NOIND
      INTEGER LNOIND
      PARAMETER (NOIND='\noindent',LNOIND=9)
      CHARACTER*(*) TABST
      INTEGER LTABST
      PARAMETER (TABST=
     +   '{\small \begin{tabular}{p{0.4in}@{}p{2.75in}@{}p{1.4in}}',
     +          LTABST=56)
      CHARACTER*(*) TABEND
      INTEGER LTABND
      PARAMETER (TABEND='\\}\end{tabular}}',LTABND=17)
      CHARACTER*(*) RAGGD
      INTEGER LRAGGD
      PARAMETER (RAGGD='&{\raggedright ',LRAGGD=15)
      CHARACTER*(*) RGIT
      INTEGER LRGIT
      PARAMETER (RGIT='\\}&{\raggedright {\bf ',LRGIT=23)
      CHARACTER BLNK,CURL
      INTEGER LBLNK,LCURL
      PARAMETER (BLNK=' ',LBLNK=1,CURL='}',LCURL=1)
      INTEGER BUFMAX,MAXLEN
      PARAMETER (BUFMAX=80,MAXLEN=160)
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
*     ..
*     .. Scalar Arguments ..
      INTEGER NALG
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER BUFLEN,FLEN
      CHARACTER BUFFER* (BUFMAX)
*     ..
*     .. Local Arrays ..
      CHARACTER ARRBUF(MAXLEN)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL GETOTC,MAINRF,OUTELT,OUTLIN
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(NOIND,LNOIND)
      CALL OUTLIN(TABST,LTABST)
      CALL OUTLIN(LABEL(NALG),LENGTH(LABEL(NALG)))
      CALL OUTLIN(RAGGD,LRAGGD)
      CALL OUTELT(TITLES(1,NALG),LENTIT(NALG))
      CALL OUTLIN(RGIT,LRGIT)
      CALL MAINRF(BUFFER,BUFLEN,NALG)
      BUFLEN = BUFLEN + 1
      BUFFER(BUFLEN:BUFLEN) = CURL
      CALL OUTLIN(BUFFER(1:BUFLEN),BUFLEN)
      IF (LENREF(NALG).NE.0) THEN
          CALL GETOTC(ARRBUF,FLEN,REFS(1,NALG),LENREF(NALG))
          CALL OUTELT(ARRBUF,FLEN)
      END IF
      CALL OUTLIN(TABEND,LTABND)
*
* output a blank line -- well almost
      CALL OUTLIN(BLNK,LBLNK)
      END
      SUBROUTINE OUTCUM
*
* open file for output of bibtex references
* unit number nout must not clash with nin and nerr
* which are initialized in routine setup
*     .. Scalars in Common ..
      INTEGER NOUT
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Common blocks ..
      COMMON /CBIB/NOUT
*     ..
*     .. Save statement ..
      SAVE /CBIB/
*     ..
*     .. Executable Statements ..
      NOUT = 7
      OPEN (UNIT=NOUT,FILE='cum.tex',STATUS='unknown',FORM='formatted',
     +     ACCESS='sequential',ERR=10)
      RETURN
* deal with possible error opening output file
   10 CALL ERROR('Failed to open file for bibtex database')
      END
      SUBROUTINE OUTELT(ARRAY,LENGTH)
*
* Outputs a character array array(1..length) using a buffer
* of size at most maxbuf characters, if the length is greater
* than maxbuf splits the string on the nearest space.
*
*     .. Parameters ..
      INTEGER MAXBUF
      CHARACTER BLNK
      PARAMETER (MAXBUF=80,BLNK=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER LENGTH
*     ..
*     .. Array Arguments ..
      CHARACTER ARRAY(LENGTH)
*     ..
*     .. Local Scalars ..
      INTEGER I,J,OLDPTR,PTR
      CHARACTER BUFFER* (MAXBUF)
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,OUTLIN
*     ..
*     .. Executable Statements ..
      OLDPTR = 1
      PTR = MAXBUF
   10 IF (PTR.GE.LENGTH) THEN
          J = 0
          DO 20 I = OLDPTR,LENGTH
              J = J + 1
              BUFFER(J:J) = ARRAY(I)
   20     CONTINUE
          CALL OUTLIN(BUFFER,LENGTH-OLDPTR+1)
          RETURN
      ELSE
          DO 30 J = PTR,OLDPTR,-1
              IF (ARRAY(J).EQ.BLNK) THEN
                  GO TO 40
              END IF
   30     CONTINUE
          CALL ERROR('Unbreakable string in outelt - increase maxbuf')
   40     PTR = J - 1
          J = 0
          DO 50 I = OLDPTR,PTR
              J = J + 1
              BUFFER(J:J) = ARRAY(I)
   50     CONTINUE
          CALL OUTLIN(BUFFER,PTR-OLDPTR+1)
          OLDPTR = PTR + 1
          PTR = PTR + MAXBUF
          GO TO 10
      END IF
      END
      SUBROUTINE OUTEND
*
* output the final lines of the LaTeX file
*     .. Parameters ..
      CHARACTER*(*) ENDLIN
      INTEGER LENDLN
      PARAMETER (ENDLIN='\end{document}',LENDLN=14)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(ENDLIN,LENDLN)
      END
      SUBROUTINE OUTHED
*
* output the initial LaTeX commands for the index
* document. These take the form
*
* \documentstyle{report}
* \begin{document}
* \title{Cumulative Index to the ACM Algorithms}
* \author{Tim Hopkins and David Morse\\
*         University of Kent\\
*         Canterbury\\
*         Kent, CT2 7NF, UK}
* \date{24 June 1989}
* \maketitle
*
* NOTE: This routine may contain implementation dependent
*       character definition of backslash
*
*     .. Parameters ..
      CHARACTER*(*) STYLE
      INTEGER LSTYLE
      PARAMETER (STYLE='\documentstyle{report}',LSTYLE=22)
      CHARACTER*(*) BEGIND
      INTEGER LBEGIN
      PARAMETER (BEGIND='\begin{document}',LBEGIN=16)
      CHARACTER*(*) TITLE
      INTEGER LTITLE
      PARAMETER (TITLE='\title{Cumulative Index to the ACM Algorithms}'
     +          ,LTITLE=46)
      CHARACTER*(*) AUTHR1
      INTEGER LAUTH1
      PARAMETER (AUTHR1='\author{Tim Hopkins and David Morse\\'//
     +          'University of Kent\\',LAUTH1=57)
      CHARACTER*(*) AUTHR2
      INTEGER LAUTH2
      PARAMETER (AUTHR2='Canterbury\\Kent, CT2 7NF, UK}',LAUTH2=30)
      CHARACTER*(*) DATE
      INTEGER LDATE
      PARAMETER (DATE='\date{24 June 1989}',LDATE=19)
      CHARACTER*(*) MAKET
      INTEGER LMAKET
      PARAMETER (MAKET='\maketitle',LMAKET=10)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
*
      CALL OUTLIN(STYLE,LSTYLE)
      CALL OUTLIN(BEGIND,LBEGIN)
      CALL OUTLIN(TITLE,LTITLE)
      CALL OUTLIN(AUTHR1,LAUTH1)
      CALL OUTLIN(AUTHR2,LAUTH2)
      CALL OUTLIN(DATE,LDATE)
      CALL OUTLIN(MAKET,LMAKET)
      END
      SUBROUTINE OUTSH(CURPT)
*
* output the classification heading -- in sharst(curpt)
* for the S section only output the heading for the main
* section. Group subsections together.
*
*
* ***** Possibly MACHINE DEPENDENT CHARACTER VARIABLE BACKSLASH
* ***** used
*
* LaTeX template used is of the form
*
* \begin{center}{\small\bf
*  <shar heading>
* }\end{center}
*
* shar heading is of the form A1:Real arithmetic
*
* For the subclassifications of the S (Special function)
* section the second line of the above template is replaced by
* just the mnenomic
*
*     .. Parameters ..
      CHARACTER*(*) CENHED
      INTEGER LHED
      PARAMETER (CENHED='\begin{center}{\small\bf',LHED=24)
      CHARACTER*(*) CENEND
      INTEGER LEND
      PARAMETER (CENEND='}\end{center}',LEND=13)
      CHARACTER*(*) SEP
      INTEGER LSEP
      PARAMETER (SEP=' : ',LSEP=3)
      INTEGER MAXBUF,MNLEN,STLEN
      PARAMETER (MNLEN=3,STLEN=45,MAXBUF=MNLEN+LSEP+STLEN)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
*     ..
*     .. Scalar Arguments ..
      INTEGER CURPT
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER SHARPT(NCLASS+1)
      CHARACTER SHARMN(NCLASS)* (MNLEN),SHARST(NCLASS)* (STLEN)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,MLEN
      CHARACTER BUFFER* (MAXBUF)
      LOGICAL NOS
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Common blocks ..
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CSHAR/,/CSHARN/,NOS
*     ..
*     .. Data statements ..
      DATA NOS/.true./
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(CENHED,LHED)
      IF (SHARMN(CURPT) (1:1).EQ.'S') THEN
*
* first time we set centred heading
          IF (NOS) THEN
              NOS = .false.
              ALEN = LENGTH(SHARST(SVAL))
              MLEN = LENGTH(SHARMN(SVAL))
              BUFFER(1:MLEN) = SHARMN(SVAL) (1:MLEN)
              BUFFER(MLEN+1:MLEN+LSEP) = SEP
              MLEN = MLEN + LSEP
              BUFFER(MLEN+1:MLEN+ALEN) = SHARST(SVAL) (1:ALEN)
              MLEN = MLEN + ALEN
              CALL OUTLIN(BUFFER(1:MLEN),MLEN)
              CALL OUTLIN(CENEND,LEND)
              CALL OUTLIN(CENHED,LHED)
          END IF
*
* otherwise set just a section number -- the point is that
* the descriptions are like books
          MLEN = LENGTH(SHARMN(CURPT))
          CALL OUTLIN(SHARMN(CURPT) (1:MLEN),MLEN)
      ELSE
*
* just set the heading
          ALEN = LENGTH(SHARST(CURPT))
          MLEN = LENGTH(SHARMN(CURPT))
          BUFFER(1:MLEN) = SHARMN(CURPT) (1:MLEN)
          BUFFER(MLEN+1:MLEN+LSEP) = SEP
          MLEN = MLEN + LSEP
          BUFFER(MLEN+1:MLEN+ALEN) = SHARST(CURPT) (1:ALEN)
          MLEN = MLEN + ALEN
          CALL OUTLIN(BUFFER(1:MLEN),MLEN)
      END IF
      CALL OUTLIN(CENEND,LEND)
      END
      SUBROUTINE SAVALG
*
* save the title and other references, shar index
* volume, journal and start page number.
* form sorted shar index - this is inefficient but
* it's not going to be done very often
*     .. Parameters ..
      INTEGER MAXALG,AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (MAXALG=750,AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS,NUMBER,PAGEND,PAGEST,VOLUME,YEAR
      CHARACTER ALABEL* (6),JOURNL* (4),MONTH* (9),LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER AUTHOR(AUTLEN),JOUR(MAXALG),KEYWDS(KEYLEN),
     +          OTHERS(OTHLEN),REFS(OTHLEN,MAXALG),TITLE(TITLEN),
     +          TITLES(TITLEN,MAXALG),SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER I
*     ..
*     .. External Functions ..
      INTEGER LENARR
      EXTERNAL LENARR
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*     ..
*     .. Save statement ..
      SAVE /CREFNO/,/CREFST/,/CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      NOALGS = NOALGS + 1
*
* save title and reference
      LENTIT(NOALGS) = LENARR(TITLE,TITLEN)
      LENREF(NOALGS) = LENARR(OTHERS,OTHLEN)
      DO 10 I = 1,LENTIT(NOALGS)
          TITLES(I,NOALGS) = TITLE(I)
   10 CONTINUE
      DO 20 I = 1,LENREF(NOALGS)
          REFS(I,NOALGS) = OTHERS(I)
   20 CONTINUE
*
* save volume, page and shar index
      VOL(NOALGS) = VOLUME
      PAGE(NOALGS) = PAGEST
      SHAR(NOALGS) = SHARE
      LABEL(NOALGS) = ALABEL
*
* code for journal
      IF (JOURNL.EQ.'toms') THEN
          JOUR(NOALGS) = 'T'
      ELSE IF (JOURNL.EQ.'cacm') THEN
          JOUR(NOALGS) = 'C'
      ELSE
          JOUR(NOALGS) = 'X'
      END IF
      END
      INTEGER FUNCTION SEMPOS(IPOS,OTHERS)
*
* Routine to find next semicolon in character array others
* on or after position ipos. The semicolon is used as a
* separator between references to remarks and certificates.
*
*     .. Parameters ..
      CHARACTER SEMIC
      PARAMETER (SEMIC=';')
*     ..
*     .. Scalar Arguments ..
      INTEGER IPOS
*     ..
*     .. Array Arguments ..
      CHARACTER OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER ITEMP
*     ..
*     .. Executable Statements ..
      ITEMP = IPOS
   10 IF (OTHERS(ITEMP).NE.SEMIC) THEN
          ITEMP = ITEMP + 1
          GO TO 10
      END IF
      SEMPOS = ITEMP
      END
      SUBROUTINE SHARFX(SHTEMP)
*
* Remove any leading or included blanks and translate all
* alphabetic character to upper case
*
*     .. Parameters ..
      CHARACTER BLNK
      PARAMETER (BLNK=' ')
*     ..
*     .. Scalar Arguments ..
      CHARACTER SHTEMP* (*)
*     ..
*     .. Local Scalars ..
      INTEGER I,IPOS,JPTR
      CHARACTER CHAR,LCSTR* (26),UCSTR* (26)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC INDEX,LEN
*     ..
*     .. Executable Statements ..
      UCSTR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
      LCSTR = 'abcdefghijklmnopqrstuvwxyz'
*
* get rid leading or included blanks
      JPTR = 0
      DO 10 I = 1,LENGTH(SHTEMP)
          CHAR = SHTEMP(I:I)
          IF (CHAR.NE.BLNK) THEN
              JPTR = JPTR + 1
              SHTEMP(JPTR:JPTR) = CHAR
          END IF
   10 CONTINUE
*
* flag null string
      IF (JPTR.EQ.0) THEN
          CALL ERROR('Blank shar field')
      END IF
*
* convert case
      DO 20 I = 1,JPTR
          IPOS = INDEX(LCSTR,SHTEMP(I:I))
          IF (IPOS.NE.0) THEN
              SHTEMP(I:I) = UCSTR(IPOS:IPOS)
          END IF
   20 CONTINUE
*
* pad with trailing blanks
      DO 30 I = JPTR + 1,LEN(SHTEMP)
          SHTEMP(I:I) = BLNK
   30 CONTINUE
      END


==============================================================================
cumeg.unix.f


      SUBROUTINE ADDSHR(SHARVL,NOALG)
*
* Add the current algorithm into the sorted shar array.
* This is pretty crude but given the program will be run
* only infrequently we think it's good enough.
*
* sharvl -- shar index associated with current algorithm
* noalg  -- index into volume, pages etc arrays for current
*           algorithm information.
*
*
*     .. Parameters ..
      CHARACTER*(*) MESS
      PARAMETER (MESS='Unrecognized share value ')
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
*     ..
*     .. Scalar Arguments ..
      INTEGER NOALG
      CHARACTER SHARVL* (3)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,NOALGS,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),
     +        SHARPT(NCLASS+1),SHSORT(MAXALG),VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6,SHARMN(NCLASS)* (3),
     +          SHARST(NCLASS)* (45)
*     ..
*     .. Local Scalars ..
      INTEGER I,J,POS,SHPOS
      CHARACTER SHTEMP* (3)
*     ..
*     .. External Functions ..
      INTEGER BINCHP
      EXTERNAL BINCHP
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,SHARFX
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/,/CSHAR/,/CSHARN/
*     ..
*     .. Executable Statements ..
*
* find pointer position for current shar value
* converting sharvl to upper case if necessary
      SHTEMP = SHARVL
      CALL SHARFX(SHTEMP)
      POS = BINCHP(SHTEMP,SHARMN,MAXSHR)
      IF (POS.EQ.0) THEN
* stop if not found
          CALL ERROR(MESS//SHTEMP)
      END IF
*
* locate where new entry should go -- want it at
* the end of the current list to ensure that the entries
* associated with each shar classification remain sorted.
*
      SHPOS = POS
      DO 30 I = POS + 1,MAXSHR
*
* find first non-zero pointer
          IF (SHARPT(I).NE.0) THEN
              SHPOS = SHARPT(I)
*
* update this and other pointers
              DO 10 J = I,MAXSHR
                  IF (SHARPT(J).NE.0) THEN
                      SHARPT(J) = SHARPT(J) + 1
                  END IF
   10         CONTINUE
*
* insert the new entry
              DO 20 J = NOALG - 1,SHPOS,-1
                  SHSORT(J+1) = SHSORT(J)
   20         CONTINUE
              SHSORT(SHPOS) = NOALG
              IF (SHARPT(POS).EQ.0) THEN
                  SHARPT(POS) = SHPOS
              END IF
              RETURN
          END IF
   30 CONTINUE
*
* add to end of list and update pointer if necessary
      SHSORT(NOALG) = NOALG
      IF (SHARPT(SHPOS).EQ.0) THEN
          SHARPT(SHPOS) = NOALG
      END IF
      END
      BLOCK DATA BDSHAR
*
* Initialize share mnemonic and descriptive string arrays
*
*     .. Parameters ..
      INTEGER NCLASS, NCLAS1
      PARAMETER (NCLASS=57,NCLAS1=NCLASS+1)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER SHARPT(NCLASS+1)
      CHARACTER SHARMN(NCLASS)* (3),SHARST(NCLASS)* (45)
*     ..
*     .. Common blocks ..
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CSHAR/,/CSHARN/
*     ..
*     .. Data statements ..
      DATA SHARMN(1)/'A1 '/
      DATA SHARST(1)/'Real Arithmetic, Number Theory'/
      DATA SHARMN(2)/'A2 '/
      DATA SHARST(2)/'Complex Arithmetic'/
      DATA SHARMN(3)/'B1 '/
      DATA SHARST(3)/'Trig and Inverse Trig Functions'/
      DATA SHARMN(4)/'B2 '/
      DATA SHARST(4)/'Hyperbolic Functions'/
      DATA SHARMN(5)/'B3 '/
      DATA SHARST(5)/'Exponential and Logarithmic Functions'/
      DATA SHARMN(6)/'B4 '/
      DATA SHARST(6)/'Roots and Powers'/
      DATA SHARMN(7)/'C1 '/
      DATA SHARST(7)/'Operations on Polynomials and Power Series'/
      DATA SHARMN(8)/'C2 '/
      DATA SHARST(8)/'Zeros of Polynomials'/
      DATA SHARMN(9)/'C5 '/
      DATA SHARST(9)/'Zeros of one or more Nonlinear Equations'/
      DATA SHARMN(10)/'C6 '/
      DATA SHARST(10)/'Summation of Series, Convergence Acceleration'/
      DATA SHARMN(11)/'D1 '/
      DATA SHARST(11)/'Quadrature'/
      DATA SHARMN(12)/'D2 '/
      DATA SHARST(12)/'Ordinary Differential Equations'/
      DATA SHARMN(13)/'D3 '/
      DATA SHARST(13)/'Partial Differential Equations'/
      DATA SHARMN(14)/'D4 '/
      DATA SHARST(14)/'Differentiation'/
      DATA SHARMN(15)/'D5 '/
      DATA SHARST(15)/'Integral Equations'/
      DATA SHARMN(16)/'E1 '/
      DATA SHARST(16)/'Interpolation'/
      DATA SHARMN(17)/'E2 '/
      DATA SHARST(17)/'Curve and Surface Fitting'/
      DATA SHARMN(18)/'E3 '/
      DATA SHARST(18)/'Smoothing'/
      DATA SHARMN(19)/'E4 '/
      DATA SHARST(19)/'Minimizing or Maximizing a Function'/
      DATA SHARMN(20)/'F1 '/
      DATA SHARST(20)/'Matrix Operations, including Inversion'/
      DATA SHARMN(21)/'F2 '/
      DATA SHARST(21)/'Eigenvalues and Eigenvectors of a Matrix'/
      DATA SHARMN(22)/'F3 '/
      DATA SHARST(22)/'Determinants'/
      DATA SHARMN(23)/'F4 '/
      DATA SHARST(23)/'Simultaneous Linear Equations'/
      DATA SHARMN(24)/'F5 '/
      DATA SHARST(24)/'Orthogonalization'/
      DATA SHARMN(25)/'G1 '/
      DATA SHARST(25)/'Simple Calculations on Statistical Data'/
      DATA SHARMN(26)/'G2 '/
      DATA SHARST(26)/'Correlation and Regression Analysis'/
      DATA SHARMN(27)/'G5 '/
      DATA SHARST(27)/'Random Number Generators'/
      DATA SHARMN(28)/'G6 '/
      DATA SHARST(28)/'Permutations and Combinations'/
      DATA SHARMN(29)/'G7 '/
      DATA SHARST(29)/'Subset Generators'/
      DATA SHARMN(30)/'H  '/
      DATA SHARST(30)/'Operations Research, Graph Structure'/
      DATA SHARMN(31)/'I5 '/
      DATA SHARST(31)/'Input -- Composite'/
      DATA SHARMN(32)/'J6 '/
      DATA SHARST(32)/'Plotting'/
      DATA SHARMN(33)/'K2 '/
      DATA SHARST(33)/'Relocation'/
      DATA SHARMN(34)/'L2 '/
      DATA SHARST(34)/'Compiling'/
      DATA SHARMN(35)/'M1 '/
      DATA SHARST(35)/'Sorting'/
      DATA SHARMN(36)/'M2 '/
      DATA SHARST(36)/'Data Conversion and Scaling'/
      DATA SHARMN(37)/'O2 '/
      DATA SHARST(37)/'Simulation of Computing Structure'/
      DATA SHARMN(38)/'R2 '/
      DATA SHARST(38)/'Symbol Manipulation'/
      DATA SHARMN(39)/'S  '/
      DATA SHARST(39)/'Approximation of Special Functions'/
      DATA SVAL/39/
      DATA SHARMN(40)/'S03'/
      DATA SHARST(40)/' '/
      DATA SHARMN(41)/'S04'/
      DATA SHARST(41)/' '/
      DATA SHARMN(42)/'S07'/
      DATA SHARST(42)/' '/
      DATA SHARMN(43)/'S09'/
      DATA SHARST(43)/' '/
      DATA SHARMN(44)/'S13'/
      DATA SHARST(44)/' '/
      DATA SHARMN(45)/'S14'/
      DATA SHARST(45)/' '/
      DATA SHARMN(46)/'S15'/
      DATA SHARST(46)/' '/
      DATA SHARMN(47)/'S16'/
      DATA SHARST(47)/' '/
      DATA SHARMN(48)/'S17'/
      DATA SHARST(48)/' '/
      DATA SHARMN(49)/'S18'/
      DATA SHARST(49)/' '/
      DATA SHARMN(50)/'S19'/
      DATA SHARST(50)/' '/
      DATA SHARMN(51)/'S20'/
      DATA SHARST(51)/' '/
      DATA SHARMN(52)/'S21'/
      DATA SHARST(52)/' '/
      DATA SHARMN(53)/'S22'/
      DATA SHARST(53)/' '/
      DATA SHARMN(54)/'S23'/
      DATA SHARST(54)/' '/
      DATA SHARMN(55)/'XX '/
      DATA SHARST(55)/'Unclassified'/
      DATA SHARMN(56)/'Y1 '/
      DATA SHARST(56)/'Physics Applications'/
      DATA SHARMN(57)/'Z  '/
      DATA SHARST(57)/'All Others'/
      DATA MAXSHR/NCLASS/
      DATA SHARPT/NCLAS1*0/
*     ..
*     .. Executable Statements ..
      END
      INTEGER FUNCTION BINCHP(TARGET,GIVEN,LENGTH)
*
* Find target in sorted array given(1..length)
* using the binary chop algorithm
*
* returns 0 if target not in given(1..length)
* returns p if given(p)=target for p=1..length
*
*     .. Scalar Arguments ..
      INTEGER LENGTH
      CHARACTER TARGET* (3)
*     ..
*     .. Array Arguments ..
      CHARACTER GIVEN(LENGTH)* (3)
*     ..
*     .. Local Scalars ..
      INTEGER L,M,U
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LGT,LLT
*     ..
*     .. Executable Statements ..
      L = 1
      U = LENGTH
   10 IF (L.GT.U) THEN
          BINCHP = 0
          RETURN
      END IF
* halve the interval
      M = (L+U)/2
      IF (LLT(GIVEN(M),TARGET)) THEN
          L = M + 1
          GO TO 10
      ELSE IF (LGT(GIVEN(M),TARGET)) THEN
          U = M - 1
          GO TO 10
      END IF
      BINCHP = M
      END
      PROGRAM CUMIND
*
* produces latex file to generate a cumulative index of
* acm algorithms sorted by shar classification
*
*     .. Parameters ..
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      INTEGER AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
      INTEGER MAXALG
      PARAMETER (MAXALG=750)
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,NERR,NIN,NOALGS,NOUT,NUMBER,PAGEND,PAGEST,SVAL,
     +        TYPE,VOLUME,YEAR
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF),ALABEL* (6),JOURNL* (4),MONTH* (9),
     +          LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),
     +        SHARPT(NCLASS+1),SHSORT(MAXALG),VOL(MAXALG)
      CHARACTER AUTHOR(AUTLEN),JOUR(MAXALG),KEYWDS(KEYLEN),
     +          OTHERS(OTHLEN),REFS(OTHLEN,MAXALG),TITLE(TITLEN),
     +          TITLES(TITLEN,MAXALG),SHAR(MAXALG)*3,LABEL(MAXALG)*6,
     +          SHARMN(NCLASS)* (3),SHARST(NCLASS)* (45)
*     ..
*     .. Local Scalars ..
      INTEGER CURPT,I,IPOS,LASTPT
*     ..
*     .. External Functions ..
      INTEGER GETPT
      LOGICAL GETREF
      EXTERNAL GETPT,GETREF
*     ..
*     .. External Subroutines ..
      EXTERNAL ADDSHR,INITRF,OUTALG,OUTCUM,OUTEND,OUTHED,OUTSH,SAVALG,
     +         SETUP
*     ..
*     .. Common blocks ..
*
* common block for storing information required to
* build an accumulative index based on the shar
* classification
*
* For each of the noalgs algorithms
* titles (character array) stores full titles,
* refs (character array) stores the comments and remarks
*                          in compressed form
* jour   (character array) holds the journal code
*                          (c=cacm, t=toms, x=others)
* shar   (character array) holds the shar index
* vol    (integer array)   holds the volume number
* page   (integer array)   holds the start page of the article
* label  (character array) stores the algorithm number
*
* lentit (integer array)   stores the number of significant
*                          characters in the title
* lenoth (integer array)   stores the number of significant
*                          characters in the other entries
* shsort (integer array)   contains a sorted list of indexes
*                          by shar classification
*
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*
* nout is used to define the output channel for
* the bibtex database -- see subroutine outcum
*

      COMMON /CBIB/NOUT
*
*  eof    (logical) - true if no more references to process
*                     false otherwise
*  type   (integer) - type of current input line
*                     newfld (1) - a new field
*                     cont   (2) - a continuation line
*                     newalg (3) - a new reference entry
*                     newfld, cont and newalg are parameter values
*  nin    (integer) - unit number for data reference file
*  nerr   (integer) - unit number for error messages
* 
      COMMON /CIO/EOF,TYPE,NIN,NERR
*
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the 
*                                distributed version of the data
*                                file maxbuf may be set to 80.
*
      COMMON /CIOSTR/BUFFER
*
* common block holds reference items which may usefully be
* represented by integers.
*
*  volume - volume number
*  number - issue number (1-12 for cacm, 1-4 for toms)
*  year   - year of publication
*  pagest - start page of article
*  pagend - end page of article (set zero if whole article confined
*           to a single page
*
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
*
*  stores reference fields in string form
*
*  alabel*(6)     - label used to identify an algorithm. In all cases
*                   but two this is an integer. In the odd two cases
*                   it is an integer followed by the letter 'a'.
*  journl*(4)     - either 'cacm' or 'toms'
*  month *(9)     - month of publication e.g., January, December etc.
*  lang  *(3)     - language in which algorithm is coded
*                   'F' = Fortran (66 or 77);  'A60' = Algol 60;
*                   'R' = Ratfor           ;  'PL1' = PL1;
*                   'L' = Lisp              ;  'F90' = Fortran 90;
*                   'M' = Matlab            ;  
*  share *(3)     - Share classification index
*  author(autlen) - possibly multiple author names. All author fields
*                   end with a semi colon, multiple authors are
*                   separated by semi colons.
*  title (titlen) - possibly multiline title concatenated into a single
*                   string. Multiple blanks are compressed to a single
*                   blank.
*  keywds(keylen) - list of keywords separated by semi colons and
*                   terminated by a semi colon.
*  others(othlen) - list of remarks and certificates pertaining to the
*                   current reference separated by and terminated by a
*                   semi colon. Each entry has the following form
*
*  R or C,journal,start page,end page,volume,number,month,year,authors;
*
*                   The first field states whether the article was a
*                   Remark or Certificate.
*                   Multiple authors are separated by ' and '.
*                   All other field are as described in the main
*                   reference.
*
*  autlen, titlen, keylen, othlen are parameter values.

      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*
* common block containing information on shar classification index
*
* sharmn (character array) containing the shar mnemonics
* sharst (character array) containing explanatory strings
* sharpt (integer array)   used to store pointers into the
*                          array containing sorted list of
*                          algorithms
*
* maxshr (integer) maximum number of shar classifications
* sval (integer) position of S section heading in the sharmn
*                and sharst arrays
*
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CBIB/,/CIO/,/CIOSTR/,/CREFNO/,/CREFST/,/CSHAR/,/CSHARN/,
     +     /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
*
*  set up i/o channels and open data file
      CALL SETUP
*
* set up output file for latex output
      CALL OUTCUM
*
* initialize input buffer for references
      CALL INITRF
      CALL OUTHED
*
* process all references
   10 IF (GETREF()) THEN
          CALL SAVALG
          GO TO 10
      END IF
*
* sort on shar index
      DO 20 I = 1,NOALGS
          J = I
*
* don't pass active do-loop variable as arg
          CALL ADDSHR(SHAR(J),J)
   20 CONTINUE
      SHARPT(MAXSHR+1) = NOALGS + 1
*
* loop through the classifications, outputting headings
* where necessary and generating entries
      IPOS = 1
      CURPT = GETPT(IPOS,MAXSHR+1,SHARPT)
   30 LASTPT = GETPT(CURPT+1,MAXSHR+1,SHARPT)
      IF (LASTPT.NE.-1) THEN
          CALL OUTSH(CURPT)
          DO 40 I = SHARPT(CURPT),SHARPT(LASTPT) - 1
              CALL OUTALG(SHSORT(I))
   40     CONTINUE
          CURPT = LASTPT
          GO TO 30
      END IF
*
* windup complete latex file
      CALL OUTEND
      END
      SUBROUTINE GETOTC(FIELD,FLEN,OTHERS,OLEN)
*
* Routine to extract a list of the citation references
* in the form e.g., C4:273 (cacm volume 4 p273).
*
* Multiple entries are separated by sepchr -- we use a
* space for the LaTeX output. No sepchr is appended to the
* end of the string.
*
* No explicit bound checks are performed on field
*
*
* field -- character array on exit holds the list of
*          references
* flen  -- number of significant characters in field
*          on exit
* others-- character array containing citation reference
* olen  -- number of significant characters in others
*
*     .. Parameters ..
      CHARACTER SEPCHR
      PARAMETER (SEPCHR=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,OLEN
*     ..
*     .. Array Arguments ..
      CHARACTER FIELD(*),OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER IFLEN,IPOS
*     ..
*     .. External Functions ..
      INTEGER NXTOTH,SEMPOS
      EXTERNAL NXTOTH,SEMPOS
*     ..
*     .. Executable Statements ..
* no references
      FLEN = 0
      IF (OLEN.EQ.0) THEN
          RETURN
      END IF
* one or more
      IPOS = 1
      FLEN = 1
   10 IPOS = NXTOTH(IPOS,FIELD(FLEN),IFLEN,OTHERS)
      IPOS = SEMPOS(IPOS,OTHERS)
      FLEN = FLEN + IFLEN - 1
      IF (IPOS.NE.OLEN) THEN
          IPOS = IPOS + 1
          FIELD(FLEN+1) = SEPCHR
          FLEN = FLEN + 2
          GO TO 10
      END IF
      END
      INTEGER FUNCTION GETPT(IPOS,MAXPOS,ARRAY)
*
* Returns the first non-zero entry in the elements
* array(ipos,...,maxpos). If ipos.gt.maxpos on entry
* or all elements are zero returns -1.
*
*
*     .. Scalar Arguments ..
      INTEGER IPOS,MAXPOS
*     ..
*     .. Array Arguments ..
      INTEGER ARRAY(MAXPOS)
*     ..
*     .. Local Scalars ..
      INTEGER I,ITEMP
*     ..
*     .. Executable Statements ..
*
      ITEMP = IPOS
      IF (ITEMP.GT.MAXPOS) THEN
          GETPT = -1
      ELSE
          DO 10 I = ITEMP,MAXPOS
              IF (ARRAY(I).NE.0) THEN
                  GETPT = I
                  GO TO 20
              END IF
   10     CONTINUE
* fallen off the end
          GETPT = -1
      END IF
   20 RETURN
      END
      INTEGER FUNCTION GOTHFD(IPOS,FIELD,FLEN,OTHERS)
*
* Get next field (separated by commas) from list of remarks
* and certificates for a particular algorithm.
*
*  ipos  -- on entry points to the first character or first
*           following a comma or first following a semicolon
*           in the others array
* field -- character variable to hold field on exit
* flen  -- number of characters written into field on exit
* others-- character array holding the full other citation
*          references for a particular algorithm.
*
* This routine does not explicitly bound check field.
*
* Function returns the current position of the pointer in
* the array others (could be a comma or a semi-colon)
*
*     .. Parameters ..
      CHARACTER COMMA,SEMIC
      PARAMETER (COMMA=',',SEMIC=';')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,IPOS
      CHARACTER FIELD* (*)
*     ..
*     .. Array Arguments ..
      CHARACTER OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER ITEMP
*     ..
*     .. Executable Statements ..
      FIELD(1:1) = OTHERS(IPOS)
      ITEMP = IPOS
      FLEN = 1
   10 ITEMP = ITEMP + 1
      IF (OTHERS(ITEMP).NE.COMMA .AND. OTHERS(ITEMP).NE.SEMIC) THEN
          FLEN = FLEN + 1
          FIELD(FLEN:FLEN) = OTHERS(ITEMP)
          GO TO 10
      END IF
      GOTHFD = ITEMP
      END
      SUBROUTINE MAINRF(BUFFER,BUFLEN,NALG)
*
* construct the reference to the algorithm whose reference
* is stored in array position nalg. This will be output
* in italic in the resulting cumulative index.
* Example format: C3:49 for cacm volume 3 page 49.
*
*     .. Parameters ..
      CHARACTER SEPCHR
      PARAMETER (SEPCHR=':')
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
*     ..
*     .. Scalar Arguments ..
      INTEGER BUFLEN,NALG
      CHARACTER BUFFER* (*)
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER LENGTH
*     ..
*     .. External Functions ..
      INTEGER ITOA
      EXTERNAL ITOA
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      BUFFER(1:1) = JOUR(NALG)
      LENGTH = ITOA(VOL(NALG),BUFFER(2:))
      BUFLEN = LENGTH + 2
      BUFFER(BUFLEN:BUFLEN) = SEPCHR
      BUFLEN = BUFLEN + 1
      LENGTH = ITOA(PAGE(NALG),BUFFER(BUFLEN:))
      BUFLEN = BUFLEN + LENGTH - 1
      END
      INTEGER FUNCTION NXTOTH(IPOS,FIELD,FLEN,OTHERS)
*
* Generate next remark or certificate reference. This involves
* extracting fields 2 (journal), 4 (volume), 3 (pages) and
* forming a string of the form C17:128. (The colon may be changed
* by altering sepchr in the parameter statement.)
*
* ipos  -- on entry points to the first character or first
*          following a semicolon in the others array
* field -- character array to hold reference on exit
* flen  -- number of characters written into field on exit
* others-- character array holding the full other citation
*          references for a particular algorithm.
*
* This routine does not explicitly bound check field.
*
* Function returns the current position of the pointer in
* the array others (could be a comma or a semi-colon)
*
*     .. Parameters ..
      CHARACTER SEPCHR,PAGSEP
      PARAMETER (SEPCHR=':',PAGSEP='-')
*     ..
*     .. Scalar Arguments ..
      INTEGER FLEN,IPOS
*     ..
*     .. Array Arguments ..
      CHARACTER FIELD(*),OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER I,JLEN,JPOS,PLEN,VLEN
      CHARACTER JUNK,PAGES* (10),VOL* (3),JOURN* (4)
*     ..
*     .. External Functions ..
      INTEGER GOTHFD
      EXTERNAL GOTHFD
*     ..
*     .. Executable Statements ..
*
* eat the first field (either C or R)
      JPOS = GOTHFD(IPOS,JUNK,JLEN,OTHERS)
*
* get the second -- this is the journal title
      JPOS = GOTHFD(JPOS+1,JOURN,JLEN,OTHERS)
*
* work out the first letter for the citation
      IF (JOURN.EQ.'cacm') THEN
          FIELD(1) = 'C'
      ELSE IF (JOURN.EQ.'toms') THEN
          FIELD(1) = 'T'
      ELSE
          FIELD(1) = 'X'
      END IF
*
* third field is pages; fourth is volume field
      JPOS = GOTHFD(JPOS+1,PAGES,PLEN,OTHERS)
      NXTOTH = GOTHFD(JPOS+1,VOL,VLEN,OTHERS)
*
* build the reference
      DO 10 I = 1,VLEN
          FIELD(I+1) = VOL(I:I)
   10 CONTINUE
      FIELD(VLEN+2) = SEPCHR
      DO 20 I = 1,PLEN
          IF (PAGES(I:I).NE.PAGSEP) THEN
              FIELD(VLEN+2+I) = PAGES(I:I)
          ELSE
              FLEN = VLEN + I + 1
              RETURN
          END IF
   20 CONTINUE
      FLEN = VLEN + PLEN + 2
      END
      SUBROUTINE OUTALG(NALG)
*
* output the complete entry for an algorithm.
* nalg gives the position within the arrays.
*
* The following latex template is used
*
* \noindent
* {\small \begin{tabular}{p{0.5in}p{2.75in}p{1.1in}}
* <algorithm label>
* &{\raggedright
* <title>
* \\}&{\raggedright {\bf
* <main reference> }
* <other references>
* \\} \end{tabular}}
*
* set up the strings and their respective lengths.
* Note: the backslash character is used extensively in these
*       strings. Its definition may be implementation dependent.
*       The following is for SUN and 4.3bsd Unix f77 compilers.
*
*     .. Parameters ..
      CHARACTER*(*) NOIND
      INTEGER LNOIND
      PARAMETER (NOIND='\\noindent',LNOIND=9)
      CHARACTER*(*) TABST
      INTEGER LTABST
      PARAMETER (TABST=
     +   '{\\small \\begin{tabular}{p{0.4in}@{}p{2.75in}@{}p{1.4in}}',
     +          LTABST=56)
      CHARACTER*(*) TABEND
      INTEGER LTABND
      PARAMETER (TABEND='\\\\}\\end{tabular}}',LTABND=17)
      CHARACTER*(*) RAGGD
      INTEGER LRAGGD
      PARAMETER (RAGGD='&{\\raggedright ',LRAGGD=15)
      CHARACTER*(*) RGIT
      INTEGER LRGIT
      PARAMETER (RGIT='\\\\}&{\\raggedright {\\bf ',LRGIT=23)
      CHARACTER BLNK,CURL
      INTEGER LBLNK,LCURL
      PARAMETER (BLNK=' ',LBLNK=1,CURL='}',LCURL=1)
      INTEGER BUFMAX,MAXLEN
      PARAMETER (BUFMAX=80,MAXLEN=160)
      INTEGER MAXALG,TITLEN,OTHLEN
      PARAMETER (MAXALG=750,TITLEN=160,OTHLEN=300)
*     ..
*     .. Scalar Arguments ..
      INTEGER NALG
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER JOUR(MAXALG),REFS(OTHLEN,MAXALG),TITLES(TITLEN,MAXALG),
     +          SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER BUFLEN,FLEN
      CHARACTER BUFFER* (BUFMAX)
*     ..
*     .. Local Arrays ..
      CHARACTER ARRBUF(MAXLEN)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL GETOTC,MAINRF,OUTELT,OUTLIN
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
*     ..
*     .. Save statement ..
      SAVE /CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(NOIND,LNOIND)
      CALL OUTLIN(TABST,LTABST)
      CALL OUTLIN(LABEL(NALG),LENGTH(LABEL(NALG)))
      CALL OUTLIN(RAGGD,LRAGGD)
      CALL OUTELT(TITLES(1,NALG),LENTIT(NALG))
      CALL OUTLIN(RGIT,LRGIT)
      CALL MAINRF(BUFFER,BUFLEN,NALG)
      BUFLEN = BUFLEN + 1
      BUFFER(BUFLEN:BUFLEN) = CURL
      CALL OUTLIN(BUFFER(1:BUFLEN),BUFLEN)
      IF (LENREF(NALG).NE.0) THEN
          CALL GETOTC(ARRBUF,FLEN,REFS(1,NALG),LENREF(NALG))
          CALL OUTELT(ARRBUF,FLEN)
      END IF
      CALL OUTLIN(TABEND,LTABND)
*
* output a blank line -- well almost
      CALL OUTLIN(BLNK,LBLNK)
      END
      SUBROUTINE OUTCUM
*
* open file for output of bibtex references
* unit number nout must not clash with nin and nerr
* which are initialized in routine setup
*     .. Scalars in Common ..
      INTEGER NOUT
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Common blocks ..
      COMMON /CBIB/NOUT
*     ..
*     .. Save statement ..
      SAVE /CBIB/
*     ..
*     .. Executable Statements ..
      NOUT = 7
      OPEN (UNIT=NOUT,FILE='cum.tex',STATUS='unknown',FORM='formatted',
     +     ACCESS='sequential',ERR=10)
      RETURN
* deal with possible error opening output file
   10 CALL ERROR('Failed to open file for bibtex database')
      END
      SUBROUTINE OUTELT(ARRAY,LENGTH)
*
* Outputs a character array array(1..length) using a buffer
* of size at most maxbuf characters, if the length is greater
* than maxbuf splits the string on the nearest space.
*
*     .. Parameters ..
      INTEGER MAXBUF
      CHARACTER BLNK
      PARAMETER (MAXBUF=80,BLNK=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER LENGTH
*     ..
*     .. Array Arguments ..
      CHARACTER ARRAY(LENGTH)
*     ..
*     .. Local Scalars ..
      INTEGER I,J,OLDPTR,PTR
      CHARACTER BUFFER* (MAXBUF)
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,OUTLIN
*     ..
*     .. Executable Statements ..
      OLDPTR = 1
      PTR = MAXBUF
   10 IF (PTR.GE.LENGTH) THEN
          J = 0
          DO 20 I = OLDPTR,LENGTH
              J = J + 1
              BUFFER(J:J) = ARRAY(I)
   20     CONTINUE
          CALL OUTLIN(BUFFER,LENGTH-OLDPTR+1)
          RETURN
      ELSE
          DO 30 J = PTR,OLDPTR,-1
              IF (ARRAY(J).EQ.BLNK) THEN
                  GO TO 40
              END IF
   30     CONTINUE
          CALL ERROR('Unbreakable string in outelt - increase maxbuf')
   40     PTR = J - 1
          J = 0
          DO 50 I = OLDPTR,PTR
              J = J + 1
              BUFFER(J:J) = ARRAY(I)
   50     CONTINUE
          CALL OUTLIN(BUFFER,PTR-OLDPTR+1)
          OLDPTR = PTR + 1
          PTR = PTR + MAXBUF
          GO TO 10
      END IF
      END
      SUBROUTINE OUTEND
*
* output the final lines of the LaTeX file
*     .. Parameters ..
      CHARACTER*(*) ENDLIN
      INTEGER LENDLN
      PARAMETER (ENDLIN='\\end{document}',LENDLN=14)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(ENDLIN,LENDLN)
      END
      SUBROUTINE OUTHED
*
* output the initial LaTeX commands for the index
* document. These take the form
*
* \documentstyle{report}
* \begin{document}
* \title{Cumulative Index to the ACM Algorithms}
* \author{Tim Hopkins and David Morse\\
*         University of Kent\\
*         Canterbury\\
*         Kent, CT2 7NF, UK}
* \date{24 June 1989}
* \maketitle
*
* NOTE: This routine may contain implementation dependent
*       character definition of backslash
*
*     .. Parameters ..
      CHARACTER*(*) STYLE
      INTEGER LSTYLE
      PARAMETER (STYLE='\\documentstyle{report}',LSTYLE=22)
      CHARACTER*(*) BEGIND
      INTEGER LBEGIN
      PARAMETER (BEGIND='\\begin{document}',LBEGIN=16)
      CHARACTER*(*) TITLE
      INTEGER LTITLE
      PARAMETER (TITLE='\\title{Cumulative Index to the ACM Algorithms}'
     +          ,LTITLE=46)
      CHARACTER*(*) AUTHR1
      INTEGER LAUTH1
      PARAMETER (AUTHR1='\\author{Tim Hopkins and David Morse\\\\'//
     +          'University of Kent\\\\',LAUTH1=57)
      CHARACTER*(*) AUTHR2
      INTEGER LAUTH2
      PARAMETER (AUTHR2='Canterbury\\\\Kent, CT2 7NF, UK}',LAUTH2=30)
      CHARACTER*(*) DATE
      INTEGER LDATE
      PARAMETER (DATE='\\date{24 June 1989}',LDATE=19)
      CHARACTER*(*) MAKET
      INTEGER LMAKET
      PARAMETER (MAKET='\\maketitle',LMAKET=10)
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Executable Statements ..
*
      CALL OUTLIN(STYLE,LSTYLE)
      CALL OUTLIN(BEGIND,LBEGIN)
      CALL OUTLIN(TITLE,LTITLE)
      CALL OUTLIN(AUTHR1,LAUTH1)
      CALL OUTLIN(AUTHR2,LAUTH2)
      CALL OUTLIN(DATE,LDATE)
      CALL OUTLIN(MAKET,LMAKET)
      END
      SUBROUTINE OUTSH(CURPT)
*
* output the classification heading -- in sharst(curpt)
* for the S section only output the heading for the main
* section. Group subsections together.
*
*
* ***** Possibly MACHINE DEPENDENT CHARACTER VARIABLE BACKSLASH
* ***** used
*
* LaTeX template used is of the form
*
* \begin{center}{\small\bf
*  <shar heading>
* }\end{center}
*
* shar heading is of the form A1:Real arithmetic
*
* For the subclassifications of the S (Special function)
* section the second line of the above template is replaced by
* just the mnenomic
*
*     .. Parameters ..
      CHARACTER*(*) CENHED
      INTEGER LHED
      PARAMETER (CENHED='\\begin{center}{\\small\\bf',LHED=24)
      CHARACTER*(*) CENEND
      INTEGER LEND
      PARAMETER (CENEND='}\\end{center}',LEND=13)
      CHARACTER*(*) SEP
      INTEGER LSEP
      PARAMETER (SEP=' : ',LSEP=3)
      INTEGER MAXBUF,MNLEN,STLEN
      PARAMETER (MNLEN=3,STLEN=45,MAXBUF=MNLEN+LSEP+STLEN)
      INTEGER NCLASS
      PARAMETER (NCLASS=57)
*     ..
*     .. Scalar Arguments ..
      INTEGER CURPT
*     ..
*     .. Scalars in Common ..
      INTEGER MAXSHR,SVAL
*     ..
*     .. Arrays in Common ..
      INTEGER SHARPT(NCLASS+1)
      CHARACTER SHARMN(NCLASS)* (MNLEN),SHARST(NCLASS)* (STLEN)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,MLEN
      CHARACTER BUFFER* (MAXBUF)
      LOGICAL NOS
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL OUTLIN
*     ..
*     .. Common blocks ..
      COMMON /CSHAR/SHARMN,SHARST
      COMMON /CSHARN/MAXSHR,SHARPT,SVAL
*     ..
*     .. Save statement ..
      SAVE /CSHAR/,/CSHARN/,NOS
*     ..
*     .. Data statements ..
      DATA NOS/.true./
*     ..
*     .. Executable Statements ..
      CALL OUTLIN(CENHED,LHED)
      IF (SHARMN(CURPT) (1:1).EQ.'S') THEN
*
* first time we set centred heading
          IF (NOS) THEN
              NOS = .false.
              ALEN = LENGTH(SHARST(SVAL))
              MLEN = LENGTH(SHARMN(SVAL))
              BUFFER(1:MLEN) = SHARMN(SVAL) (1:MLEN)
              BUFFER(MLEN+1:MLEN+LSEP) = SEP
              MLEN = MLEN + LSEP
              BUFFER(MLEN+1:MLEN+ALEN) = SHARST(SVAL) (1:ALEN)
              MLEN = MLEN + ALEN
              CALL OUTLIN(BUFFER(1:MLEN),MLEN)
              CALL OUTLIN(CENEND,LEND)
              CALL OUTLIN(CENHED,LHED)
          END IF
*
* otherwise set just a section number -- the point is that
* the descriptions are like books
          MLEN = LENGTH(SHARMN(CURPT))
          CALL OUTLIN(SHARMN(CURPT) (1:MLEN),MLEN)
      ELSE
*
* just set the heading
          ALEN = LENGTH(SHARST(CURPT))
          MLEN = LENGTH(SHARMN(CURPT))
          BUFFER(1:MLEN) = SHARMN(CURPT) (1:MLEN)
          BUFFER(MLEN+1:MLEN+LSEP) = SEP
          MLEN = MLEN + LSEP
          BUFFER(MLEN+1:MLEN+ALEN) = SHARST(CURPT) (1:ALEN)
          MLEN = MLEN + ALEN
          CALL OUTLIN(BUFFER(1:MLEN),MLEN)
      END IF
      CALL OUTLIN(CENEND,LEND)
      END
      SUBROUTINE SAVALG
*
* save the title and other references, shar index
* volume, journal and start page number.
* form sorted shar index - this is inefficient but
* it's not going to be done very often
*     .. Parameters ..
      INTEGER MAXALG,AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (MAXALG=750,AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
*     ..
*     .. Scalars in Common ..
      INTEGER NOALGS,NUMBER,PAGEND,PAGEST,VOLUME,YEAR
      CHARACTER ALABEL* (6),JOURNL* (4),MONTH* (9),LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      INTEGER LENREF(MAXALG),LENTIT(MAXALG),PAGE(MAXALG),SHSORT(MAXALG),
     +        VOL(MAXALG)
      CHARACTER AUTHOR(AUTLEN),JOUR(MAXALG),KEYWDS(KEYLEN),
     +          OTHERS(OTHLEN),REFS(OTHLEN,MAXALG),TITLE(TITLEN),
     +          TITLES(TITLEN,MAXALG),SHAR(MAXALG)*3,LABEL(MAXALG)*6
*     ..
*     .. Local Scalars ..
      INTEGER I
*     ..
*     .. External Functions ..
      INTEGER LENARR
      EXTERNAL LENARR
*     ..
*     .. Common blocks ..
      COMMON /CALLIN/VOL,PAGE,NOALGS,LENTIT,LENREF,SHSORT
      COMMON /CALLST/TITLES,REFS,JOUR,SHAR,LABEL
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*     ..
*     .. Save statement ..
      SAVE /CREFNO/,/CREFST/,/CALLST/,/CALLIN/
*     ..
*     .. Executable Statements ..
      NOALGS = NOALGS + 1
*
* save title and reference
      LENTIT(NOALGS) = LENARR(TITLE,TITLEN)
      LENREF(NOALGS) = LENARR(OTHERS,OTHLEN)
      DO 10 I = 1,LENTIT(NOALGS)
          TITLES(I,NOALGS) = TITLE(I)
   10 CONTINUE
      DO 20 I = 1,LENREF(NOALGS)
          REFS(I,NOALGS) = OTHERS(I)
   20 CONTINUE
*
* save volume, page and shar index
      VOL(NOALGS) = VOLUME
      PAGE(NOALGS) = PAGEST
      SHAR(NOALGS) = SHARE
      LABEL(NOALGS) = ALABEL
*
* code for journal
      IF (JOURNL.EQ.'toms') THEN
          JOUR(NOALGS) = 'T'
      ELSE IF (JOURNL.EQ.'cacm') THEN
          JOUR(NOALGS) = 'C'
      ELSE
          JOUR(NOALGS) = 'X'
      END IF
      END
      INTEGER FUNCTION SEMPOS(IPOS,OTHERS)
*
* Routine to find next semicolon in character array others
* on or after position ipos. The semicolon is used as a
* separator between references to remarks and certificates.
*
*     .. Parameters ..
      CHARACTER SEMIC
      PARAMETER (SEMIC=';')
*     ..
*     .. Scalar Arguments ..
      INTEGER IPOS
*     ..
*     .. Array Arguments ..
      CHARACTER OTHERS(*)
*     ..
*     .. Local Scalars ..
      INTEGER ITEMP
*     ..
*     .. Executable Statements ..
      ITEMP = IPOS
   10 IF (OTHERS(ITEMP).NE.SEMIC) THEN
          ITEMP = ITEMP + 1
          GO TO 10
      END IF
      SEMPOS = ITEMP
      END
      SUBROUTINE SHARFX(SHTEMP)
*
* Remove any leading or included blanks and translate all
* alphabetic character to upper case
*
*     .. Parameters ..
      CHARACTER BLNK
      PARAMETER (BLNK=' ')
*     ..
*     .. Scalar Arguments ..
      CHARACTER SHTEMP* (*)
*     ..
*     .. Local Scalars ..
      INTEGER I,IPOS,JPTR
      CHARACTER CHAR,LCSTR* (26),UCSTR* (26)
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC INDEX,LEN
*     ..
*     .. Executable Statements ..
      UCSTR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
      LCSTR = 'abcdefghijklmnopqrstuvwxyz'
*
* get rid leading or included blanks
      JPTR = 0
      DO 10 I = 1,LENGTH(SHTEMP)
          CHAR = SHTEMP(I:I)
          IF (CHAR.NE.BLNK) THEN
              JPTR = JPTR + 1
              SHTEMP(JPTR:JPTR) = CHAR
          END IF
   10 CONTINUE
*
* flag null string
      IF (JPTR.EQ.0) THEN
          CALL ERROR('Blank shar field')
      END IF
*
* convert case
      DO 20 I = 1,JPTR
          IPOS = INDEX(LCSTR,SHTEMP(I:I))
          IF (IPOS.NE.0) THEN
              SHTEMP(I:I) = UCSTR(IPOS:IPOS)
          END IF
   20 CONTINUE
*
* pad with trailing blanks
      DO 30 I = JPTR + 1,LEN(SHTEMP)
          SHTEMP(I:I) = BLNK
   30 CONTINUE
      END


==============================================================================
lib.f



      LOGICAL FUNCTION GETREF()
*
* Getref accumulates a complete reference to a single algorithm.
* The function returns false if no reference has been found,
* i.e., we are at the end of the file.

*
*  TEMPLATE FOR USE OF GETREF
*
*  set up i/o channels and open data file
*  (This routine contains a possibly machine dependent
*   OPEN statement)
*     CALL SETUP
*
* set up output file -- application dependent routine
*     CALL OUTFIL
*
* initialize input buffer for references
* a call to initrf must precede calls to getref
*     CALL INITRF
*
* process all references
*  10 IF (GETREF()) THEN
*         process current reference
*         GO TO 10
*     END IF
*
*
* Portability:
*
* This code along with the two example progams have been checked
* with the Toolpack1/2 semantic analyzer and Fortran 77 Pfort.
* The only warning generated was for the use of non-standard
* characters (lower case - used for comments and some format
* statements and backslash used in format statements in the
* example programs only).
*
* The example programs have been run successfully on:
*
*    SUN 3 (SUNOS 4.0) f77 compiler
*  VAX8800 (VMS V4.7)  VMS Fortran
*  VAX8800 (VMS V4.7)  Watfor77
*
*
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the
*                                distributed version of the data
*                                file maxbuf may be set to 80.
* form holds the format for splitting up the initial line of the
* reference. This contains
*
*  algorithm label, journal, start page, end page, volume, number,
*  month, year, share classification index, source language
*
*     .. Parameters ..
      INTEGER NEWFLD,NEWALG
      PARAMETER (NEWFLD=1,NEWALG=3)
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      INTEGER AUTLEN,TITLEN,KEYLEN,OTHLEN
      PARAMETER (AUTLEN=80,TITLEN=160,KEYLEN=400,OTHLEN=300)
      CHARACTER*(*) FORM
      PARAMETER (FORM='(a6,1x,a4,2i5,2i3,1x,a9,i5,1x,a3,1x,a3)')
      CHARACTER BLNK
      PARAMETER (BLNK=' ')
*     ..
*     .. Scalars in Common ..
      INTEGER NERR,NIN,NUMBER,PAGEND,PAGEST,TYPE,VOLUME,YEAR
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF),ALABEL* (6),JOURNL* (4),MONTH* (9),
     +          LANG* (3),SHARE* (3)
*     ..
*     .. Arrays in Common ..
      CHARACTER AUTHOR(AUTLEN),KEYWDS(KEYLEN),OTHERS(OTHLEN),
     +          TITLE(TITLEN)
*     ..
*     .. Local Scalars ..
      INTEGER I
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,GETFLD,NXTLIN
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
      COMMON /CIOSTR/BUFFER
*
* common block holds reference items which may usefully be
* represented by integers.
*
*  volume - volume number
*  number - issue number (1-12 for cacm, 1-4 for toms)
*  year   - year of publication
*  pagest - start page of article
*  pagend - end page of article (set zero if whole article confined
*           to a single page
*
      COMMON /CREFNO/VOLUME,NUMBER,YEAR,PAGEST,PAGEND
*
*  stores reference fields in string form
*
*  alabel*(6)     - label used to identify an algorithm. In all cases
*                   but two this is an integer. In the odd two cases
*                   it is an integer followed by the letter 'a'.
*  journl*(4)     - either 'cacm' or 'toms'
*  month *(9)     - month of publication e.g., January, December etc.
*  lang  *(3)     - language in which algorithm is coded
*                   'F' = Fortran (66 or 77);  'A60' = Algol 60;
*                   'R' = Ratfor'           ;  'PL1' = PL1;
*  share *(3)     - Share classification index
*  author(autlen) - possibly multiple author names. All author fields
*                   end with a semi colon, multiple authors are
*                   separated by semi colons.
*  title (titlen) - possibly multiline title concatenated into a single
*                   string. Multiple blanks are compressed to a single
*                   blank.
*  keywds(keylen) - list of keywords separated by semi colons and
*                   terminated by a semi colon.
*  others(othlen) - list of remarks and certificates pertaining to the
*                   current reference separated by and terminated by a
*                   semi colon. Each entry has the following form
*
*  R or C,journal,start page,end page,volume,number,month,year,authors;
*
*                   The first field states whether the article was a
*                   Remark or Certificate.
*                   Multiple authors are separated by ' and '.
*                   All other field are as described in the main
*                   reference.
*
*  autlen, titlen, keylen, othlen are parameter values.
      COMMON /CREFST/ALABEL,JOURNL,MONTH,LANG,SHARE,AUTHOR,TITLE,KEYWDS,
     +       OTHERS
*     ..
*     .. Save statement ..
      SAVE /CIO/,/CIOSTR/,/CREFNO/,/CREFST/
*     ..
*     .. Executable Statements ..
      IF (EOF) THEN
          GETREF = .false.
          RETURN
      END IF
* buffer should contain the first line of a new reference
      IF (TYPE.NE.NEWALG) THEN
          CALL ERROR('Inconsistent data - in getref')
      END IF
* split the initial line
      READ (BUFFER,FMT=FORM) ALABEL,JOURNL,PAGEST,PAGEND,VOLUME,NUMBER,
     +  MONTH,YEAR,SHARE,LANG
      CALL NXTLIN
* get possibly multiline fields for author, title and keywords
* these are always present.
      CALL GETFLD(AUTHOR,AUTLEN)
      CALL GETFLD(TITLE,TITLEN)
      CALL GETFLD(KEYWDS,KEYLEN)
      GETREF = .true.
* could be end of file need to process this record
      IF (EOF) THEN
*
* if others field is not present set others to all blanks
* to ensure it is defined
          DO 10 I = 1,OTHLEN
              OTHERS(I) = BLNK
   10     CONTINUE
          RETURN
      END IF
      IF (TYPE.EQ.NEWFLD) THEN
          CALL GETFLD(OTHERS,OTHLEN)
      ELSE
*
* if others field is not present set others to all blanks
* to ensure it is defined
          DO 20 I = 1,OTHLEN
              OTHERS(I) = BLNK
   20     CONTINUE
      END IF
      END
      SUBROUTINE ERROR(ERRSTR)
*
* Output routine for error messages passed via errstr
* Errors are assumed fatal.
*  parameter values
*     .. Scalar Arguments ..
      CHARACTER ERRSTR* (*)
*     ..
*     .. Scalars in Common ..
      INTEGER NERR,NIN,TYPE
      LOGICAL EOF
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
*     ..
*     .. Save statement ..
      SAVE /CIO/
*     ..
*     .. Executable Statements ..
      WRITE (NERR,FMT='(a)') ERRSTR
      STOP
      END
      SUBROUTINE GETFLD(FLD,MAXFLD)
*
* Builds a complete field in the character variable fld.
* This may involve reading an initial line followed by
* zero, one, or more continuation lines. This routine must
* not be used to input an initial line (type=newalg) directly.
*  parameter values
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the
*                                distributed version of the data
*                                file maxbuf may be set to 80.
*     .. Parameters ..
      INTEGER NEWFLD,CONT
      PARAMETER (NEWFLD=1,CONT=2)
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      CHARACTER SPACE
      PARAMETER (SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER MAXFLD
*     ..
*     .. Array Arguments ..
      CHARACTER FLD(MAXFLD)
*     ..
*     .. Scalars in Common ..
      INTEGER NERR,NIN,TYPE
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF)
*     ..
*     .. Local Scalars ..
      INTEGER I,ILEN,LENFLD
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,NXTLIN
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
      COMMON /CIOSTR/BUFFER
*     ..
*     .. Save statement ..
      SAVE /CIO/,/CIOSTR/
*     ..
*     .. Executable Statements ..
* check for consistent data
      IF (EOF .OR. TYPE.NE.NEWFLD) THEN
          PRINT *,EOF,TYPE,NEWFLD
          CALL ERROR('Inconsistent data - in getfld')
      END IF
* initialize field - strip off leading space and trailing spaces
      DO 5 I = 1,MAXFLD
          FLD(I) = SPACE
    5 CONTINUE
      LENFLD = LENGTH(BUFFER(2:MAXBUF))
      IF (LENFLD.GT.MAXFLD) THEN
          CALL ERROR('Argument to getfld not long enough')
      ELSE
          DO 7 I = 2,LENFLD + 1
              FLD(I-1) = BUFFER(I:I)
    7     CONTINUE
      END IF
* concatenate continuation lines if present
   10 CALL NXTLIN
* could have an eof here when getting last keywords field
      IF (EOF) RETURN
      IF (TYPE.EQ.CONT) THEN
          ILEN = LENGTH(BUFFER(2:MAXBUF))
          IF (LENFLD+ILEN.GT.MAXFLD) THEN
              CALL ERROR('Argument to getfld not long enough')
          ELSE
              DO 15 I = 2,ILEN + 1
                  FLD(LENFLD+I-1) = BUFFER(I:I)
   15         CONTINUE
          END IF
          LENFLD = LENFLD + ILEN
          GO TO 10
      END IF
      END
      SUBROUTINE INITRF
*
* Routine used to initialize the input buffer. It must be
* called prior to the first call to getref and after the
* call to setup.
*  parameter values
*     .. Parameters ..
      INTEGER NEWALG
      PARAMETER (NEWALG=3)
*     ..
*     .. Scalars in Common ..
      INTEGER NERR,NIN,TYPE
      LOGICAL EOF
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR,NXTLIN
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
*     ..
*     .. Save statement ..
      SAVE /CIO/
*     ..
*     .. Executable Statements ..
      CALL NXTLIN
* check we have a newalg line
      IF (EOF .OR. TYPE.NE.NEWALG) THEN
          CALL ERROR('Inconsistent data file - in initrf')
      END IF
      END
      INTEGER FUNCTION LENGTH(STRING)
*
* Strips trailing spaces and returns the number of characters
* to the first non-blank from the right-hand end
*     .. Parameters ..
      CHARACTER SPACE
      PARAMETER (SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      CHARACTER STRING* (*)
*     ..
*     .. Local Scalars ..
      INTEGER I,MAXLEN
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LEN
*     ..
*     .. Executable Statements ..
      MAXLEN = LEN(STRING)
      DO 10 I = MAXLEN,1,-1
          IF (STRING(I:I).NE.SPACE) GO TO 20
   10 CONTINUE
      I = 0
   20 LENGTH = I
      END
      SUBROUTINE NXTLIN
*
* Routine to read next line of input from the data file into
* buffer. If end of file is detected eof is set true (false
* otherwise). The line is classified, using type, as a new
* algorithm (type = newalg(3)), a new field (type = newfld(1))
* or a continuation line (type=cont(2)). Type values are set in
* the parameter statement associated with common block cio.
*  parameter values
*  buffer (character*(maxbuf)) - used to buffer each line of data
*                                prior to processing. For the
*                                distributed version of the data
*                                file maxbuf may be set to 80.
*     .. Parameters ..
      INTEGER NEWFLD,CONT,NEWALG
      PARAMETER (NEWFLD=1,CONT=2,NEWALG=3)
      INTEGER MAXBUF
      PARAMETER (MAXBUF=80)
      CHARACTER SPACE,PLUS
      PARAMETER (SPACE=' ',PLUS='+')
*     ..
*     .. Scalars in Common ..
      INTEGER NERR,NIN,TYPE
      LOGICAL EOF
      CHARACTER BUFFER* (MAXBUF)
*     ..
*     .. Local Scalars ..
      CHARACTER FIRSTL
*     ..
*     .. External Functions ..
      INTEGER LENGTH
      EXTERNAL LENGTH
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
      COMMON /CIOSTR/BUFFER
*     ..
*     .. Save statement ..
      SAVE /CIO/,/CIOSTR/
*     ..
*     .. Executable Statements ..
* get a line of text
   10 READ (NIN,FMT='(a80)',END=100) BUFFER
* ignore blank lines
      IF (LENGTH(BUFFER).EQ.0) GO TO 10
* classify line by first character
      FIRSTL = BUFFER(1:1)
      IF (FIRSTL.EQ.SPACE) THEN
          TYPE = NEWFLD
      ELSE IF (FIRSTL.EQ.PLUS) THEN
          TYPE = CONT
      ELSE
          TYPE = NEWALG
      END IF
      EOF = .false.
      RETURN
* here if end of file detected on read
  100 EOF = .true.
      END



==============================================================================
shared.f


      INTEGER FUNCTION ITOA(NUMBER,STRING)
*
* converts an integer to an equivalent string. The length of the
* string is returned through the function name
*     .. Parameters ..
      CHARACTER SPACE
      PARAMETER (SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER NUMBER
      CHARACTER STRING* (*)
*     ..
*     .. Local Scalars ..
      INTEGER ALEN,DIGIT,I,J,SLEN,TEMP
      CHARACTER CH,NUMBS* (10)
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC LEN,MOD
*     ..
*     .. Data statements ..
      DATA NUMBS/'0123456789'/
*     ..
*     .. Executable Statements ..
* initialize
      ALEN = 0
      SLEN = LEN(STRING)
      DO 10 I = 1,SLEN
          STRING(I:I) = SPACE
   10 CONTINUE
* repeat loop until temp=0
      TEMP = NUMBER
   20 DIGIT = MOD(TEMP,10) + 1
      TEMP = TEMP/10
      ALEN = ALEN + 1
      IF (ALEN.GT.SLEN) THEN
          CALL ERROR('String not long enough - in itoa')
      END IF

      STRING(ALEN:ALEN) = NUMBS(DIGIT:DIGIT)
      IF (TEMP.NE.0) GO TO 20
* reverse the string
      J = ALEN
      DO 30 I = 1,ALEN/2
          CH = STRING(I:I)
          STRING(I:I) = STRING(J:J)
          STRING(J:J) = CH
          J = J - 1
   30 CONTINUE
      ITOA = ALEN
      END
      INTEGER FUNCTION LENARR(ARR,MAXARR)
*
*.. find the 'length' of a character array i.e., the position
*.. of the first non-space character from the end.
*     .. Parameters ..
      CHARACTER SPACE
      PARAMETER (SPACE=' ')
*     ..
*     .. Scalar Arguments ..
      INTEGER MAXARR
*     ..
*     .. Array Arguments ..
      CHARACTER ARR(MAXARR)
*     ..
*     .. Local Scalars ..
      INTEGER I
*     ..
*     .. Executable Statements ..
      DO 10 I = MAXARR,1,-1
          IF (ARR(I).NE.SPACE) GO TO 20
   10 CONTINUE
      I = 0
   20 LENARR = I
      END
      SUBROUTINE OUTLIN(LINE,LENGTH)
*
* routine to output line(1:length) to the output file
* the associated unit number is nout in the common block
* cbib (see outset)
*     .. Scalar Arguments ..
      INTEGER LENGTH
      CHARACTER LINE* (*)
*     ..
*     .. Scalars in Common ..
      INTEGER NOUT
*     ..
*     .. Common blocks ..
      COMMON /CBIB/NOUT
*     ..
*     .. Save statement ..
      SAVE /CBIB/
*     ..
*     .. Executable Statements ..
      WRITE (NOUT,FMT='(a)') LINE(1:LENGTH)
      END
      SUBROUTINE SETUP
*
* ***** Implementation Dependent Routine *****
*
* nin - unit number for data reference file
* nerr - unit number for error messages
* filenm - implementation dependent name of data reference file
*
*     .. Scalars in Common ..
      INTEGER NERR,NIN,TYPE
      LOGICAL EOF
*     ..
*     .. Local Scalars ..
      CHARACTER FILENM*15
*     ..
*     .. External Subroutines ..
      EXTERNAL ERROR
*     ..
*     .. Common blocks ..
      COMMON /CIO/EOF,TYPE,NIN,NERR
*     ..
*     .. Save statement ..
      SAVE /CIO/
*     ..
*     .. Executable Statements ..
      NIN = 5
      NERR = 6
      FILENM = 'acm.dat'
*
* ***** Open statement may be implementation dependent *****
      OPEN (NIN,FILE=FILENM,STATUS='old',ACCESS='sequential',
     +     FORM='formatted',ERR=10)
      RETURN
*
* deal with error condition on opening file
   10 CALL ERROR('Failed to open data file')
      END
