Sign In

Communications of the ACM

Table of Contents


ACM president's letter: the roles of ACM: I. publications


Dynamic partitioning for array languages

The classical process of partitioning an array into subarrays is extended to a more useful array language operation. Various modes of partitioning are defined for different types of arrays, so that subarrays may vary over the …

Index ranges for matrix calculi

The paper describes a scheme for symbolic manipulation of index expressions which arise as a by-product of the symbolic manipulation of expressions in the matrix calculi described by the authors in a previous paper. This scheme …

A method for incrementally compiling languages with nested statement structure

A method of incremental compilation is presented which applies especially to programming languages in which statements can be nested (such as Algol and PL/I). The method permits editing of the source language using a general  …

Weighted increment linear search for scatter tables

A new linear search for hash tables whose increment step is a function of the key being addressed is presented. Comparisons with known methods are given, in terms of efficiency and computation complexity. In particular, the new …

A comparison of multivariate normal generators

Three methods for generating outcomes on multivariate normal random vectors with a specified variance-covariance matrix are presented. A comparison is made to determine which method requires the least computer execution time  …

A new method for the solution of the Cauchy problem for parabolic equations

partial differential equations. When the equations are defined in unbounded domains, as in the initial value (Cauchy) problem, the solution of the integral equation by the method of successive approximation has inherent advantages …

On the criteria to be used in decomposing systems into modules

This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a “modularization” is dependent upon …

Levels of language for portable software

An increasing amount of software is being implemented in a portable form. A popular way of accomplishing this is to encode the software in a specially designed machine-independent language and then to map this language, often …

Trace-driven modeling and analysis of CPU scheduling in a multiprogramming system

Microscopic level job stream data obtained in a production environment by an event-driven software probe is used to drive a model of a multiprogramming computer system. The CPU scheduling algorithm of the model is systematically …

Product type trapezoidal integration [D1]


Product type Simpson's integration [D1]


Product type two-point Gauss-Legendre-Simpson's integration [D1]


Certification of algorithm 266 [G5]


Product type three-point Gauss-Legendre-Simpson's integration [D1]


Certification of algorithm 379 [D1]


Remark on algorithm 176 [E2]


Remark on algorithm 394 [H]


Remark on algorithm 195 [F4]


Remarks on algorithm 352 [S22], algorithm 385 [S13], algorithm 392 [D3]


Remark on algorithm 405 [F2]


ACM forum