| Line 379... |
Line 379... |
PetscErrorCode SVDCyclicSetExplicitMatrix(SVD svd,PetscTruth explicitmatrix)
|
PetscErrorCode SVDCyclicSetExplicitMatrix(SVD svd,PetscTruth explicitmatrix)
|
{
|
{
|
PetscErrorCode ierr, (*f)(SVD,PetscTruth);
|
PetscErrorCode ierr, (*f)(SVD,PetscTruth);
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicSetExplicitMatrix_C",(void (**)())&f);CHKERRQ(ierr);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicSetExplicitMatrix_C",(void (**)())&f);CHKERRQ(ierr);
|
if (f) {
|
if (f) {
|
ierr = (*f)(svd,explicitmatrix);CHKERRQ(ierr);
|
ierr = (*f)(svd,explicitmatrix);CHKERRQ(ierr);
|
}
|
}
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
| Line 423... |
Line 423... |
PetscErrorCode SVDCyclicGetExplicitMatrix(SVD svd,PetscTruth *explicitmatrix)
|
PetscErrorCode SVDCyclicGetExplicitMatrix(SVD svd,PetscTruth *explicitmatrix)
|
{
|
{
|
PetscErrorCode ierr, (*f)(SVD,PetscTruth*);
|
PetscErrorCode ierr, (*f)(SVD,PetscTruth*);
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicGetExplicitMatrix_C",(void (**)())&f);CHKERRQ(ierr);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicGetExplicitMatrix_C",(void (**)())&f);CHKERRQ(ierr);
|
if (f) {
|
if (f) {
|
ierr = (*f)(svd,explicitmatrix);CHKERRQ(ierr);
|
ierr = (*f)(svd,explicitmatrix);CHKERRQ(ierr);
|
}
|
}
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
| Line 440... |
Line 440... |
{
|
{
|
PetscErrorCode ierr;
|
PetscErrorCode ierr;
|
SVD_CYCLIC *cyclic = (SVD_CYCLIC *)svd->data;
|
SVD_CYCLIC *cyclic = (SVD_CYCLIC *)svd->data;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(eps,EPS_COOKIE,2);
|
PetscValidHeaderSpecific(eps,EPS_CLASSID,2);
|
PetscCheckSameComm(svd,1,eps,2);
|
PetscCheckSameComm(svd,1,eps,2);
|
ierr = PetscObjectReference((PetscObject)eps);CHKERRQ(ierr);
|
ierr = PetscObjectReference((PetscObject)eps);CHKERRQ(ierr);
|
ierr = EPSDestroy(cyclic->eps);CHKERRQ(ierr);
|
ierr = EPSDestroy(cyclic->eps);CHKERRQ(ierr);
|
cyclic->eps = eps;
|
cyclic->eps = eps;
|
svd->setupcalled = 0;
|
svd->setupcalled = 0;
|
| Line 471... |
Line 471... |
PetscErrorCode SVDCyclicSetEPS(SVD svd,EPS eps)
|
PetscErrorCode SVDCyclicSetEPS(SVD svd,EPS eps)
|
{
|
{
|
PetscErrorCode ierr, (*f)(SVD,EPS eps);
|
PetscErrorCode ierr, (*f)(SVD,EPS eps);
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicSetEPS_C",(void (**)())&f);CHKERRQ(ierr);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicSetEPS_C",(void (**)())&f);CHKERRQ(ierr);
|
if (f) {
|
if (f) {
|
ierr = (*f)(svd,eps);CHKERRQ(ierr);
|
ierr = (*f)(svd,eps);CHKERRQ(ierr);
|
}
|
}
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
| Line 516... |
Line 516... |
PetscErrorCode SVDCyclicGetEPS(SVD svd,EPS *eps)
|
PetscErrorCode SVDCyclicGetEPS(SVD svd,EPS *eps)
|
{
|
{
|
PetscErrorCode ierr, (*f)(SVD,EPS *eps);
|
PetscErrorCode ierr, (*f)(SVD,EPS *eps);
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
PetscValidHeaderSpecific(svd,SVD_COOKIE,1);
|
PetscValidHeaderSpecific(svd,SVD_CLASSID,1);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicGetEPS_C",(void (**)())&f);CHKERRQ(ierr);
|
ierr = PetscObjectQueryFunction((PetscObject)svd,"SVDCyclicGetEPS_C",(void (**)())&f);CHKERRQ(ierr);
|
if (f) {
|
if (f) {
|
ierr = (*f)(svd,eps);CHKERRQ(ierr);
|
ierr = (*f)(svd,eps);CHKERRQ(ierr);
|
}
|
}
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|