**Algorithm 783**: Pcp2Nurb—smooth free-form surfacing with linearly trimmed bicubic B-splines

Jörg Peters

Pages: 261-267

DOI: 10.1145/292395.292399

Unrestricted control polyhedra facilitate modeling free-form surfaces of arbitrary topology and local patch-layout by allowing n-sided, possibly nonplanar, facets and m-valent vertices. By cutting off edges and...

**GEMM-based level 3 BLAS**: high-performance model implementations and performance evaluation benchmark

Bo Kågström, Per Ling, Charles van Loan

Pages: 268-302

DOI: 10.1145/292395.292412

The level 3 Basic Linear Algebra Subprograms (BLAS) are designed to perform various matrix multiply and triangular system solving computations. Due to the complex hardware organization of advanced computer architectures the development of...

**Algorithm 784: GEMM-based level 3 BLAS**: portability and optimization issues

Bo Kågström, Charles van Loan

Pages: 303-316

DOI: 10.1145/292395.292426

This companion article discusses portability and optimization issues of the GEMM-based level 3 BLAS model implementations and the performance evaluation benchmark. All software comes in all four data types (single- and double-precision, real and...

**Algorithm 785**: a software package for computing Schwarz-Christoffel conformal transformation for doubly connected polygonal regions

Chenglie Hu

Pages: 317-333

DOI: 10.1145/292395.291204

A software package implementing Schwarz-Christoffel Conformal transformation (or mapping) of doubly connected polygonal regions is fully described in this article from mathematical, numerical, and practical perspectives. The package solves the...

**Remark on algorithm 706**: DCUTRI—an algorithm for adaptive cubature over a collection of triangles

Terje O. Espelid

Pages: 334-335

DOI: 10.1145/292395.291205

We present corrections to Algorthm 706 (ACM Trans. Math. Softw. 18, 3, Sept. 1992, pages 329–342; CALGO supplement 123).

**Remark on algorithm 622**: a simple macroprocessor

Stewart A. Levin

Pages: 336-340

DOI: 10.1145/292395.292448

A number of updates to the macroprocessor are described that bring the code into line with the Fortran 77 standard. This is followed by an outline of how the macroprocessor was used for the rapid porting of geophysical software from a 64-bit...

**The Monty Python method for generating random variables**

George Marsaglia, Wai Wan Tsang

Pages: 341-350

DOI: 10.1145/292395.292453

We suggest an interesting and fast method for generating normal, exponential, t, von Mises, and certain other important random variables used in Monte Carlo studies. The right half of a symmetric density is cut into pieces, then, using simple...

**Certification of algorithm 734**: a Fortran 90 code for unconstrained nonlinear minimization

Tim Hopkins

Pages: 351-354

DOI: 10.1145/292395.292460

A Fortran 90 Code for Unconstrained Nonlinear Minimization (ACM Trans. Math. Softw. 20, 3 (Sept. 1994), pages 354-372; CALGO Supplement 131) was ported to a number of compiler-platform combinations. The necessary changes to the...

**Remark on algorithm 726**: ORTHPOL—A package of routines for generating orthogonal polynomials and Gauss-type quadrature rules

Walter Gautschi

Pages: 355-356

DOI: 10.1145/292395.292467