Numerical Recipes - UNIX release FILES: This the main directory of a distribution of Numerical Recipes in Fortran 90 software. recipes_f-90 Main directory containing recipe files for the Fortran90 language recipes_f-90/doc Numerical Recipes documentation. recipes_f-90/recipes Source for all the subroutines in "Numerical Recipes" for Fortran90. recipes_f-90/demo Subdirectory containing demonstration files for a particular language. recipes_f-90/demo/answers The "correct" results for comparison with the test output. recipes_f-90/demo/data Data files required to run some of the examples. recipes_f-90/demo/responses The responses to run the examples non-interactively. recipes_f-90/demo/src Source for some example programs. INSTALLATION: Edit the makefile to set the NRROOT variable to the proper directory. This is the full path name to the recipes_f-90 directory. Copy the makefile to a clean test directory, then type "make". This should compile all the object files, and then create some "results" files from various tests. Users of sh: make > make.log 2>&1 & Users of csh: make >& make.log & On most systems, you can check the progress of the make by running tail -f make.log Note that when compiling, error information on the process itself is saved in the log file which collects the output of the "make". This information ordinarily does NOT go into the "results" files. Often the messages are just benign warning or suggestions from the compiler, but it's worth going through the output to check for a serious or significant problem. Many of the demos are interactive, but the test process uses a file of responses, contained in the responses subdirectory. In some cases, a demo program may become blocked because it requires input but none is provided from the response file. This happens when an unexpected execution path is taken, usually due to a difference in machine precision. Try compiling the demo program and running it in the foreground with no I/O redirections. You may have to check over the source for the demo program and for the routine it demonstrates in order to find the cause. After the results files are created, you can check them against the intended answers. It's easy to do this if you make a subdirectory "results", and mv *.reslt results It may be possible to just run diff(1) on the two directories: diff [-s] results /recipes_f-90/demo/answers > diff.log However, your Fortran may format some answers differently than ours, such as 0.0 verses 0.0000. This, plus differences due to rounding, may cause the results from diff(1) to be less helpful. If you have the PERL language on your system, you may find the "nrdiff.pl" approximate-comparison program (in the demo subdirectory) useful. The command make clean will remove all the residue .o files and the .mod module files. It may be a good idea to delay this until after testing. If you want to put the object files into a library file, "make lib" will do so.