KML_LAPACK会对输入参数进行检查,当出现参数为空指针或数值不合法等错误时会调用LAPACK错误处理函数xerbla_执行错误处理,默认情况下将使用Netlib LAPACK自带的xerbla_实现,此实现的行为是打印以下错误信息并以错误码0退出进程:
** On entry to FUNC parameter number N had an illegal value
其中FUNC为出错的LAPACK函数名称,N为参数序号。
用户可以提供自定义的xerbla_()函数实现,避免在出错时直接退出整个程序,示例实现如下:
void xerbla_(const char *func, const int *param, int funcLen) { printf("XERBLA: function %.*s, info %i.\n", funcLen, func, *param); }
使用上述示例函数时会在参数错误时打印一行错误信息,但不会退出进程。此时会返回函数的调用者,并将info参数设为相应的错误参数值。
请注意: