home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 300_01 / read.me < prev    next >
Text File  |  1989-12-30  |  10KB  |  217 lines

  1.      HEADER:   CUG___._;
  2.       TITLE:   Matrix library;
  3.        DATE:   4/09/1989;
  4. DESCRIPTION:   "Series of macros and functions which accomodate dynamic
  5.                declaration of arrays on heap. Functions provide
  6.                declaration, access, and various operations on both float
  7.                and string arrays. Float array operations are row and
  8.                column sums, moving averages, cumulative totals,
  9.                determinants, cofactor, inverse, transpose, solution,
  10.                etc. Token arrays may be input and output from commented
  11.                textfiles. Other functions transfer token and float
  12.                elements between the two types of arrays. Maximum array
  13.                size is 64k.";
  14.     VERSION:   2.04;
  15.    KEYWORDS:   heap,array,textfile,i/o,error,float,token,allocation,matrix,
  16.                mathematics;
  17.    FILENAME:   MAT_V2D.H;
  18.      SYSTEM:   MS-DOS;
  19.     AUTHORS:   John J. Hughes;
  20.   COMPILERS:   Turbo C;
  21.  
  22.  
  23.                         CONTENTS OF README FILES
  24.                         ------------------------
  25.  
  26.                                                          LINE NO.
  27.  
  28. INTRODUCTION TO MAT_LIB  .................................  46
  29.  
  30. DESCRIPTION OF MAT_LIB HEADER AND OBJECT FILES ...........  70
  31.  
  32. ABBREVIATED MAT_LIB DOCUMENTATION ........................  90
  33.  
  34. SETUP TEST FILES ......................................... 106
  35.  
  36. MAT_LIB SAMPLE PROGRAM AND DATA FILES .................... 133
  37.  
  38. AVAILABILITY OF FULL DOCUMENTATION AND SOURCE CODE ....... 162
  39.  
  40. FUTURE DEVELOPMENT ....................................... 174
  41.  
  42. USER REGISTRATION ........................................ 195
  43.  
  44.  
  45.  
  46.                          INTRODUCTION TO MAT_LIB  
  47.  
  48. MAT_LIB is a series of approximately 50 C Language functions and macros 
  49. which input and output tabular data being maintained in ASCII textfiles. 
  50. While the tabular data is in RAM, it is stored in dynamically allocated 
  51. token or floating point arrays on the heap.
  52.  
  53. Functions are provided to examine an ASCII textfile to determine the 
  54. number of rows, columns, and token size of the textfile's tabular data. 
  55. Other C language macros provide the ability to dimension either a 
  56. floating point or string token array large enough to hold the ASCII 
  57. textfile's data. Once in memory, floating point array matrix operations 
  58. can be performed on the data. Token array data can be converted to and 
  59. from float or integer values. Floating point arrays which have been 
  60. modified by calculations can be merged into token arrays for output or 
  61. they can be output to a textfile directly. The output textfiles can, in 
  62. turn used as the input for a later applications programs founded on 
  63. MAT_LIB textfile formats. The data format is simply a tabular textfile 
  64. with comments enclosed in curly braces. Column headings can be provided 
  65. in braces as comments or they can be read as data into token arrays. 
  66.  
  67.  
  68.  
  69.              DESCRIPTION OF MAT_LIB HEADER AND OBJECT FILES
  70.  
  71.  
  72. All of the files on this disk are released to the public domain. The 
  73. MAT_LIB functions are provided as Borland Turbo C library files. 
  74. MAT_SN.LIB is a small memory model library and MAT_MN is a medium memory 
  75. model library. The header file containing prototypes and macros used in 
  76. library is MAT_V2D.H. These library files were compiled from copyrighted 
  77. source code which is not released to the public domain. Information on 
  78. obtaining full MAT_LIB library documentation and source code is found 
  79. later in this READ.ME file. 
  80.  
  81. Since the source code is available for a nominal fee, users must bear
  82. full responsibility for verifying the code's correctness and adequacy
  83. for any particular application.  The author disclaims any responsibility
  84. for errors and omissions in the source code and for any damages
  85. resulting from those errors and omissions.
  86.  
  87.  
  88.  
  89.                     ABBREVIATED MAT_LIB DOCUMENTATION 
  90.  
  91.  
  92. Brief descriptions of each of the MAT_LIB functions and macros and their 
  93. ANSI C prototype headers are found in the file MAT_V2D.ABR. By the way, 
  94. the _V2D part of filename indicates the version number of the files on 
  95. this disk. It is version 2.04. 
  96.  
  97. The full docmentation package contains complete function and macro 
  98. descriptions arranged alphabetically in the same format used in Borlands 
  99. Turbos C docmentation. That package also has cross-references to the 
  100. source code, example source code for all functions, expanded error 
  101. message coverage, and a source code listing. The manual also has 
  102. sections describing library useage.
  103.  
  104.  
  105.                             SETUP TEST FILES 
  106.  
  107.  
  108. Two programs used to test the MAT_LIB functions are also included on 
  109. this disk. They provide examples of each of the MAT_LIB functions and 
  110. macros. 
  111.  
  112. TEST_TK.PRJ and TTST_V2D.C create a program which exercises each 
  113. of the token array capabilities. The following data files are needed for 
  114. execution:
  115.  
  116.  
  117.                     MISC.DTA    NUMS.DTA    A.DTA
  118.  
  119.  
  120. TEST_FLT.PRJ and FTST_V2D.C create a program which exercises each 
  121. of the float array capabilities. The following data files are needed for 
  122. execution:
  123.  
  124.              A.DTA    B.DTA    C.DTA    BIG.DTA     WIDE.DTA
  125.  
  126.  
  127. Examination and execution of the above programs should provide the 
  128. reader with a good feel for the library capabilities. 
  129.  
  130.  
  131.  
  132.                   MAT_LIB SAMPLE PROGRAM AND DATA FILES 
  133.  
  134.  
  135. There are three sample programs included on this disk. 
  136.  
  137. BOLT.C is a very short simple program which demostates the power of 
  138. MAT_LIBs basic file reading and writing functions, and dynamic array 
  139. dimensioning. The project make file is BOLT.PRJ and sample input data is 
  140. included in BOLT.INP. BOLT.DOC describes the operation of the program.
  141.  
  142. CONTOUR.C ia a program which plots contour lines using ASCII characters. 
  143. The make file is CONTOUR.PRJ and sample data is included in CONTOUR.INP.
  144. A more detailed description of the program is included in CONTOUR.DOC.
  145. (Note: The output routines could be readily modified to plot using the 
  146. Borland graphics functions.) 
  147.  
  148. The last sample program, ECON_PLT.C is program which plots business data 
  149. in the form of "z-charts", which are useful in forcasting data trends. 
  150. This program uses calls to several Quin-Curtis scientific and 
  151. engineering functions to perform the actual line plotting. Since the Q-C 
  152. functions are proprietary, neither the source or object code is provided 
  153. but ECON_PLT.EXE is provided. Examination of ECON_PLT.C should be 
  154. educational. The program demonstrates that the MAT_LIB functions and 
  155. dynamic arrays are compatible with 3rd party array handling funcitions.
  156. Three data files of business data, BUSN-1.DAT, BUSN-2.DAT, and 
  157. BUSN-3.DAT are provided and ECON_PLT.DOC provides a complete description 
  158. of the program.
  159.  
  160.  
  161.            AVAILABILITY OF FULL DOCUMENTATION AND SOURCE CODE 
  162.  
  163.  
  164. Full documentation including complete function descriptions in the 
  165. Borland format complete with examples of each function, expanded error 
  166. message description and how to best take advantage of the library's 
  167. capabilities can be purchased for $20.00. A 5 1/4 inch disk containing 
  168. complete source code for the MAT_LIB functions is also available for 
  169. $20.00. The users manual and the disk may be purchased together for 
  170. $35.00. To order please fill out a copy of the ORDER.FRM file. 
  171.  
  172.  
  173.                          FUTURE DEVELOPMENT WORK
  174.  
  175.  
  176. The library will be mmodified to use huge pointers so that all available 
  177. memory can used in a single large array. The current version can access 
  178. up to 64k of total array memory.  Registered users will be advised of 
  179. its availability.
  180.  
  181. Other future developments will be of a more specialized nature directed 
  182. towards engineering analysis work. A companion package of generalized 
  183. finite element analysis functions (selected element matrices, global 
  184. matrix assemblly, and solution using virtual memory and banded matrix 
  185. storage) and a graphics interface for Autocad's DXF files are planned. 
  186. The intent of both packages is to support the needs of a practicing 
  187. engineer in automating the production of drawings by linking analysis 
  188. programs to PC CAD programs. The results of this work will be offered as 
  189. reasonably priced C language source code packages similiar to the 
  190. MAT_LIB offer. Please note your interest in these developments on the 
  191. registration form if you wish to be advised of their availability. 
  192.  
  193.  
  194.                             USER REGISTRATION 
  195.  
  196.  
  197. Users are encouraged to register using a copy of REGISTER.FRM and to 
  198. advise the author of any errors or omissions found in the source code. 
  199.  
  200. Since the source code is available for a nominal fee, users must bear
  201. full responsibility for verifying the code's correctness and adequacy
  202. for any particular application.  The author disclaims any responsibility
  203. for errors and omissions in the source code and for any damages
  204. resulting from those errors and omissions. The library has been used for 
  205. about a year and although occasional bugs are still being uncovered, the 
  206. code is fairly stable.
  207.  
  208. The header file and any object or executable images (i.e. *.obj, *.exe,
  209. *.com or *.lib files) compiled from the source code for functions
  210. prototyped in the MAT_V2D.H header file may be releasesed to the public 
  211. domain. The C language source code for the functions prototyped in the 
  212. header file is copyrighted.  
  213.  
  214.  
  215. NOTE ON COMPILING SOURCE CODE: The Borland Warning message "Code has 
  216. no effect" can be safely diregarded.
  217.