| Line 74... |
Line 74... |
void *mctx,PetscErrorCode (*monitordestroy)(void*))
|
void *mctx,PetscErrorCode (*monitordestroy)(void*))
|
{
|
{
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
if (svd->numbermonitors >= MAXSVDMONITORS) {
|
if (svd->numbermonitors >= MAXSVDMONITORS) {
|
SETERRQ(PETSC_ERR_ARG_OUTOFRANGE,"Too many SVD monitors set");
|
SETERRQ(((PetscObject)svd)->comm,PETSC_ERR_ARG_OUTOFRANGE,"Too many SVD monitors set");
|
}
|
}
|
svd->monitor[svd->numbermonitors] = monitor;
|
svd->monitor[svd->numbermonitors] = monitor;
|
svd->monitorcontext[svd->numbermonitors] = (void*)mctx;
|
svd->monitorcontext[svd->numbermonitors] = (void*)mctx;
|
svd->monitordestroy[svd->numbermonitors++] = monitordestroy;
|
svd->monitordestroy[svd->numbermonitors++] = monitordestroy;
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|