************************* MASTER CODE ***************************************

The name of the first file in this disk's directory identifies the volume,
issue number and revision of the disk. The format of this filename is:

    !CDmvvii.rrr

where

    ! = the '!' character
    m =   C for C Users Journal, W for Windows Developer's Journal
    vv =  volume
    ii =  issue
    rrr = revision (001 for initial release, 002 for next update, etc.)

The file UPDATE.DOC contains information about any additions or
corrections to material on the disk since the original magazine
publication.

If you have obtained this code from a floppy diskette or from CompuServe, the 
headings under the column "FILENAME" represent the names of .ZIP files.  All 
files listed under the filename are archived in the .ZIP file.

Keywords: Dec96 C C+ memcpy Pentium Threads Matrix Optimization

The code listings for the December 1996 issue of C/C++ Users Journal
include source code for Steve Durham's two articles, "A Faster memcpy
for the Pentium" and "A Test Jig for Pentium Optimization"; K.B.
Williams' programs for testing math functions; Jason Anderson's
cross-platform thread library; Keith Crowe's efficient band-matrix
calculation technique; Evan Manning's optimization tips for eliminating
unnecesary loop calculations; and Anthony Breitzman's high-precision
technique using large integers.  Also included is source code from our
Letters to the Editor (We Have Mail) section.

*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	TITLE			       PAGE
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------

durham			Steve Durham	A Faster memcpy for the Pentium &
					A Test Jig for Pentium Optimization

    Full source code for TestJig, includes code for memcpy:

    testjig.h
    memcpyf.cpp
    memcpyi.cpp
    resource.h
    stdafx.cpp
    stdafx.h
    testjig.cpp
    testjig.mak
    testjig.mdp
    testjig.rc
    testobj.cpp
    testobj.h
    tests.h
    tjdlg.cpp
    tjdlg.h
    testjig.rc2
    testjig.ico

anderson		Jason Anderson	Cross-Platform/Embedded Threads

    athread.h	 - listing 1, Thread interface abstract base class
    winthrea.h	 - listing 2, Win32-specific AThread declaration
    winthrea.cpp - listing 3, Win32 multithreading implementation
    unixthre.h	 - listing 4, UNIX-specific Athread declaration
    unixthre.cpp - listing 5, UNIX multithreading implementation
    netthrea.h	 - listing 6, NetThread.h
    target.h	 - listing 7, Target.h
    main.cpp	 - listing 8, Test program

crowe			Keith Crowe	Efficient Band Matrix
					Computations

    bandstor.h	 - listing 1, Template class bandStorage
    spdband.h	 - listing 2, A class for SPD arrays
    spdbandf.h	 - listing 3, A class that supports Cholesky decomposition
    solvspd.cpp	 - listing 4, Solving an SPD linear system
    tridiag.h	 - listing 5, A class for tridiagonal matrices
    triexamp.cpp - listing 6, Example using tridiagonal matrices

williams		K.B. Williams	Testing Math Functions

    Complete source code listings

breitzma		Anthony		High Precision with Imprecise
			Breitzman	Methods

    atan.cpp	 - not listed, Simplified atan routine for calculating pi
    pi.cpp	 - not listed, A routine to calculate pi using BigNums
    bignum.h	 - not listed, BigNum header file
    addsub.cpp	 - not listed, Addition and Subtraction routine
    multiply.cpp - not listed, Multiplication of BigNums
    divlong.cpp	 - not listed, Division of BigNum by long integer
    divide.cpp	 - not listed, Division of BigNum by another BigNum
    other.cpp	 - not listed, Other BigNum routines


manning		 	Evan Manning	Optimization Tip: Chop Out
					Needless Roots

    chopping.c	 - listing 1, Tests code speed with and without
			      optimizations included

letters			P.J. Plauger	We Have Mail

    debaca.c	 - listing 1, de Baca's error handling technique
    mix.cpp	 - listing 2, Failed attempt to mix C and C++
    perform.cpp	 - listing 3, Tracking down performance problems
			      using complex numbers
    
*******************************************************************************

If you have questions regarding to the disk, please call or write us.

-----------------------------------------------------------------------------
			   Miller Freeman Inc.
			1601 W. 23rd St. Suite 200
			    Lawrence, KS 66046
	              1-800-444-4881 or 913-841-1631
-----------------------------------------------------------------------------

