Q: Has the SLATEC source been modified? A: No. These are the version 4.1 SLATEC routines exactly as provided by netlib. Q: Why take only the double precision routines? A: Many of the function evaluations in SLATEC are carried out by truncated Taylor series expansions. The number of terms retained in these expansions dictate that the single precision routines are really only accurate for 32 bit floating point arithmetic. The double precision routines are good for 64 bits. On Cray systems, R8slatec is compiled to map double precision to Cray single precision. Thus the library can be used in a REAL*8 code with portability between Cray and conventional 32 bit workstation environments. A goal of the NTCC Modules Library is to encourage portable fortran programming practices. There is no hope for the portability of single precision codes, hence the choice to include only the double precision (really, 64 bit) SLATEC routines. Q: Why take only the C category subset of SLATEC? A: SLATEC includes a version of BLAS and other routines which are better distributed by other means. In the case of BLAS in particular, users should seek system provided routines that are optimized to the local machine architecture. Q: I have a code which makes single precision SLATEC calls. How can I make use of this library? A: This would only be practical in the context of converting your code to REAL*8 precision. The NTCC Modules Library includes a set of "portability tools" to facilitate this conversion. One of the tools, inside the "ftoken" module, is a tool called "fgtok". The R8slatec modules contains a file "slatec_r8.table" which contains the mapping of SLATEC names from single to double precision, in a format understood by fgtok. So, fgtok
-s slatec_r8.table will convert all single precision SLATEC special function calls. The conversion of fortran code to REAL*8 precision is highly desirable, because the result is code which runs identically on Cray and on workstation environments. Q: where can I find documentation for these routines. A: the source code comments give very precise definitions of the interfaces of individual routines. For more general information point your browser at "http://www.netlib.org/slatec/index.html".