Troubleshooting
• ier > 0: Failure during the computation
Some VECLIB subprograms do not have a success/error code in their argument lists, but instead call another VECLIB subprogram to process the error condition. MLIB provides the following error handlers:
•XERBLA
•XERVEC
•F_BLASERROR
Refer to the documentation for individual VECLIB subprogram to determine if one of these error handlers is used. For example, all BLAS Standard subprograms (those subprograms whose names begin with F_) use
F_BLASERROR.
The standard versions of XERBLA, XERVEC, and F_BLASERROR write an error message onto the standard error file. Execution is then terminated with a nonzero exit status. You can supply a version of the error handler that alters this action. Refer to “XERBLA” on page 337, “XERVEC” on page 623, and “F_BLASERROR” on page 605 for more information about these routines.
Troubleshooting
The following are suggestions to help you find the cause of a problem:
1.Verify that the subprogram usage in the program matches the subprogram specifications in the documentation. Pay attention to the number of arguments in the CALL statement and to the declarations of arrays and integer constants or variables that describe them. Write out all the arguments immediately before and after the CALL statement.
2.Make sure there really is a problem. For example, if you get an apparently incorrect answer, check if the answer satisfies the problem as defined in the program. For problems with more than one answer, VECLIB may produce a different answer or give the answers in a different order than expected. If the problem is
3.Isolate the problem. If possible, write a small test program that encounters the same difficulty. For example, write the data causing the problem from
Chapter 1 Introduction to VECLIB 29