| Line 363... |
Line 363... |
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDLanczosSetOneSide_C",(void (**)())&f);CHKERRQ(ierr);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDLanczosSetOneSide_C",(void (**)())&f);CHKERRQ(ierr);
|
if (f) {
|
if (f) {
|
ierr = (*f)(svd,oneside);CHKERRQ(ierr);
|
ierr = (*f)(svd,oneside);CHKERRQ(ierr);
|
}
|
}
|
|
PetscFunctionReturn(0);
|
|
}
|
|
|
|
#undef __FUNCT__
|
|
#define __FUNCT__ "SVDDestroy_LANCZOS"
|
|
PetscErrorCode SVDDestroy_LANCZOS(SVD svd)
|
|
{
|
|
PetscErrorCode ierr;
|
|
|
|
PetscFunctionBegin;
|
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
|
ierr = SVDDestroy_Default(svd);CHKERRQ(ierr);
|
|
ierr = PetscObjectComposeFunctionDynamic((PetscObject)svd,"SVDLanczosSetOneSide_C","",PETSC_NULL);CHKERRQ(ierr);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|
|
|
#undef __FUNCT__
|
#undef __FUNCT__
|
#define __FUNCT__ "SVDView_LANCZOS"
|
#define __FUNCT__ "SVDView_LANCZOS"
|
| Line 392... |
Line 405... |
ierr = PetscNew(SVD_LANCZOS,&lanczos);CHKERRQ(ierr);
|
ierr = PetscNew(SVD_LANCZOS,&lanczos);CHKERRQ(ierr);
|
PetscLogObjectMemory(svd,sizeof(SVD_LANCZOS));
|
PetscLogObjectMemory(svd,sizeof(SVD_LANCZOS));
|
svd->data = (void *)lanczos;
|
svd->data = (void *)lanczos;
|
svd->ops->setup = SVDSetUp_LANCZOS;
|
svd->ops->setup = SVDSetUp_LANCZOS;
|
svd->ops->solve = SVDSolve_LANCZOS;
|
svd->ops->solve = SVDSolve_LANCZOS;
|
svd->ops->destroy = SVDDestroy_Default;
|
svd->ops->destroy = SVDDestroy_LANCZOS;
|
svd->ops->setfromoptions = SVDSetFromOptions_LANCZOS;
|
svd->ops->setfromoptions = SVDSetFromOptions_LANCZOS;
|
svd->ops->view = SVDView_LANCZOS;
|
svd->ops->view = SVDView_LANCZOS;
|
lanczos->oneside = PETSC_FALSE;
|
lanczos->oneside = PETSC_FALSE;
|
ierr = PetscObjectComposeFunctionDynamic((PetscObject)svd,"SVDLanczosSetOneSide_C","SVDLanczosSetOneSide_LANCZOS",SVDLanczosSetOneSide_LANCZOS);CHKERRQ(ierr);
|
ierr = PetscObjectComposeFunctionDynamic((PetscObject)svd,"SVDLanczosSetOneSide_C","SVDLanczosSetOneSide_LANCZOS",SVDLanczosSetOneSide_LANCZOS);CHKERRQ(ierr);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|