REFERENCES: See http://www.stat.cmu.edu/~hseltman/c/CTips.html under My Vector/Matrix Routines See http://www.hpl.hp.com/personal/Hans_Boehm/gc/ for gc information. USAGE: To use the gcvmr library, the gc (garage collector) version of the vmr library, you need to put libgcvmr.a in an accessible place, such as your current working directory. You must link your program with -lgcvmr and -lgc, perhaps using -L. if either is located in the current directory. Then your program will automatically collect garbage when needed. If you are also using malloc() in your program, you should use copy gc.h to your working directory and put #include "gc.h" with your other include directives. Then call GC_malloc(...) instead of malloc(...) and call GC_free(...) instead of free(...). This will extent garbage collection (and leak detection) to calls other than mallocvec() and mallocmat() and their friends. To get leak detection, you should add #include "leak_detector.h" at the top of your source file and add GC_find_leak = 1; in main() after all declarations and put CHECK_LEAKS(); before main's return() to get a report of leaked memory. You can also sprinkle CHECK_LEAKS(); throughout your program to narrow down where the leaks are coming from. LIBRARY CREATION: Compile readfile.c, readIfile.c, readSfile.c, readfileCM.c as specified in their comment sections, or use the .o files from the non-gc versions. Compile the special gc versions of vecmat.c and stringvecmat.c as specified in their comment sections. Type "source libgcvmr.csh".