************************* 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/DOS 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. If you have obtained this code from UUNET, the headings under the column "FILENAME" represent the names of subdirectories. All files listed under the "filename" are included in a subdirectory of that name. Keywords: Jun95 C C++ Matrix BCD Random FOSSIL Dynamic Inheritance iostream The code listings for the June 1995 issue of C/C++ Users Journal include source code for K.B. Williams' matrix multiplication function (C), Mark Parker's classes to encapsulate the 80x86 math Coprocessor BCD functions, Jerry Dwyer's quick and portable random number generators, David Lowerre's classes to perform map projections, James K. Lawless' tutorial on FOSSIL communications drivers, and Kenneth Van Camp's filter classes to simulate dynamic inheritance. Also included are listings from P.J. Plauger's Standard C/C++ column, and Dan Saks' column, Stepping Up to C++. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- pjp P.J. Plauger Standard C/C++: The Header 8 iostream - listing 1, The file iostream iostream.c - listing 2, ios::Init members, standard streams tiostrea.c - listing 3, Tests basic workings of iostreams definitions williams K. B. Williams Magic Matrix Multiply 19 matmpy.c - listing 1, Magic matrix multiply routine mpydefs.h - listing 2, Header file for matmpy options and prototype matapp.c - listing 3, Sample application of matmpy parker Mark R. Parker Encapsulating Math Coprocessor 27 BCD Arithmetic bcd.h - listing 1, BCD class definition bcd.cpp - listing 2, excerpted implementation of class BCD bcdops.asm - listing 3, 80x87 code to add two BCD numbers parker2 Mark R. Parker Encapsulating Math Coprocessor 27 BCD Arithmetic (Complete listings) bcd.h - listing 1, BCD class definition bcd.cpp - complete BCD class definition bcdops.asm - complete 80x87 code to add, subtract, and negate BCD numbers bcdops.obj - object file made from bcdops.asm cl.bat - not listed, batch file to direct compilation bcd.exe - test routine executable dwyer Jerry Dwyer Quick and Portable Random 33 Number Generators lehmer.mat - listing 1, A couple of lines of Mathematica code that implement a Lehmer generator randport.c - listing 2, A portable and reasonably fast multiplicative random number generator randcomb.c - listing 3, Combination multiplicative random number generator lowerre David T. Map Projections in C++ 45 Lowerre vector.hpp - listing 1, A simple class for handling vectors lawless James K. Interfacing to a FOSSIL Driver 59 Lawless fterm.c - listing 1, Barebones FOSSIL program vancamp Kenneth E. Dynamic Inheritance Using 69 Van Camp Filter Classes tbldata.hpp - listing 1, TableData class tdnorm.hpp - listing 2, TableDataNormalize class tdavg.hpp - listing 3, TableDataAverage class tdbuf.hpp - listing 4, TableDataBuffer class tdexmpl.hpp - listing 5, Financial market example tdexmpl.cpp - listing 6, Example use of TableData makefile - not listed, make file for building code saks Dan Saks Stepping Up to C++: Changes 79 in the Scope Rules armexmpl.h - listing 1, The example from the ARM limiting the context sensitivity of class member declarations drftxmpl.h - listing 2, The example from the C++ draft standard illustrating the class scope rules letters We Have Mail 104 convert.c - listing 1, Converting integer formats between PCs and MACs noprecis.c - listing 2, A precision problem uncovered ******************************************************************************* If you have questions regarding to the disk, please call or write us. ----------------------------------------------------------------------------- R&D Publications, Inc. 1601 W. 23rd St. Suite 200 Lawrence, KS 66046 (913) 841-1631 -----------------------------------------------------------------------------