DDJ,
November 1997 - Numeric Programming


FEATURES

A CONVERSATION WITH WILLIAM KAHAN

by Jack Woehr

Noted mathematician and computer scientist William Kahan has played a central role in everything from the design of the 8087 math coprocessor to defining the ANSI/IEEE Standard for binary floating-point arithmetic. He takes time out of his schedule to talk with us about the current state of numeric computing.

SCIENTIFIC COMPUTING: C++ VERSUS FORTRAN

by Todd Veldhuizen

In the past, C++ programs were noticeably slower than their Fortran counterparts. But the performance of C++ programs has improved, mainly because of better optimizing C++ compilers and libraries such as Todd's Blitz++, a C++ class library designed for scientific computing.

EXTENDED-PRECISION NATIVE INTEGERS FOR JAVA

by Lou Grinzo

To address performance problems in the JDK 1.1 BigInteger class, Lou implemented mInts-his own "monster" integer library. The main difference between Lou's mInts and BigInteger is that BigInteger offers arbitrary precision, while Lou's library provides signed integers fixed at 256 bits.

CONVOLUTIONAL ERROR-CONTROL CODES

by Hugo Lyppens

Convolutional codes are error-correction codes that can encode an unlimited number of message symbols into one codeword and support "soft-decision" decoding. Hugo presents a C++ template class that implements both the encoder and decoder.

HIGH-SPEED FINITE-STATE MACHINES

by Brenton Hoff

Many programming problems can be efficiently handled with a custom virtual machine-and many virtual machines can be implemented as finite-state machines. Brenton presents a technique for implementing a virtual machine, using text-processing as an example application.


EMBEDDED SYSTEMS

OPTIMIZING MICROCONTROLLER PERFORMANCE

by James Flynn

Software practitioners often face the challenge of enhancing software performance. James describes one such situation he encountered when developing control software for a Mitsubishi M37735-based cellular phone.


INTERNET PROGRAMMING

TEMPLATE-DRIVEN WEB PAGES

by Jay Johansen

Jay presents "dynadd," a general-purpose, template-driven CGI application that automatically updates web sites.


PROGRAMMER'S TOOLCHEST

MODELING WITH MATLAB

by Mark Weaver

Designing and implementing complicated systems is a complex process. Mark describes how he uses MatLab, a mathematical tool from MathWorks, as a system-level programming tool for modeling communications systems.

DIFFERENCE EQUATIONS AND CHAOS IN MATHEMATICA

by Robert Knapp and Mark Sofroniou

Mathematica provides an environment for technical computing that includes tools for symbolic computation, numerical computation, and graphics. Our authors set up programs and use links to external programs to demonstrate Mathematica's dynamic properties.


COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Copy protection doesn't help at all in Michael's column this month.

C PROGRAMMING

by Al Stevens

Al uses the Windows 95 Wizard dialog box and WinHelp database to build an automated tech-support help desk. He also takes a look the CodeWarrior Professional Release 1 development system.

JAVA Q&A

by Clif Berg

A longstanding problem with Java is that printing support has not been available. JDK 1.1 makes a first stab at solving this problem, and Cliff shows you how to make the most out the printing facilities it provides.

ALGORITHM ALLEY

by Tim Kientzle

In this month's column, Tim goes inside the IMA ADPCM audio-compression format and examines how it is implemented by Microsoft and Apple.

UNDOCUMENTED CORNER

by Robert R. Collins

Robert continues his examination of in-circuit emulators and the Pentium by looking at the Pentium's ICE Mode.

PROGRAMMER'S BOOKSHELF

by Gregory V. Wilson

This month on the bookshelf, you'll find Greg's reports on Object-Oriented Software Testing, by Shel Siegel, UML and C++, by Richard C. Lee and William M. Tepfenhart, Software Metrics, by Norman E. Fenton and Shari Lawrence Pfleeger, Programming Python, by Mark Lutz, and Computing Tomorrow: Future Research Directions in Computer Science, edited by Ian Wand and Robin Milner (eds.).


Forum

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine


Copyright © 1997, Dr. Dobb's Journal