1e1e80dc8SAlp Dener #include <petsc/private/fortranimpl.h> 2e1e80dc8SAlp Dener #include <petsc/private/f90impl.h> 3e1e80dc8SAlp Dener #include <petsc/private/taoimpl.h> 4e1e80dc8SAlp Dener 5e1e80dc8SAlp Dener #if defined(PETSC_HAVE_FORTRAN_CAPS) 6e1e80dc8SAlp Dener #define taobrgngetsubsolver_ TAOBRGNGETSUBSOLVER 7e1e80dc8SAlp Dener #define taobrgnsettikhonovlambda_ TAOBRGNSETTIKHONOVLAMBDA 8*8ac80d48SXiang Huang #define taobrgnsetl1smoothepsilon_ TAOBRGNSETL1SMOOTHEPSILON 9e1e80dc8SAlp Dener #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 10e1e80dc8SAlp Dener #define taobrgngetsubsolver_ taobrgngetsubsolver 11e1e80dc8SAlp Dener #define taobrgnsettikhonovlambda_ taobrgnsettikhonovlambda 12*8ac80d48SXiang Huang #define taobrgnsetl1smoothepsilon_ taobrgnsetl1smoothepsilon 13e1e80dc8SAlp Dener #endif 14e1e80dc8SAlp Dener 15e1e80dc8SAlp Dener PETSC_EXTERN void PETSC_STDCALL taobrgngetsubsolver_(Tao *tao, Tao *subsolver, PetscErrorCode *ierr) 16e1e80dc8SAlp Dener { 17e1e80dc8SAlp Dener if(!*ierr) *ierr = TaoBRGNGetSubsolver(*tao, subsolver); 18e1e80dc8SAlp Dener } 19e1e80dc8SAlp Dener 20e1e80dc8SAlp Dener PETSC_EXTERN void PETSC_STDCALL taobrgnsettikhonovlambda_(Tao *tao, PetscReal *lambda, PetscErrorCode *ierr) 21e1e80dc8SAlp Dener { 22e1e80dc8SAlp Dener if(!*ierr) *ierr = TaoBRGNSetTikhonovLambda(*tao, *lambda); 23e1e80dc8SAlp Dener } 24*8ac80d48SXiang Huang 25*8ac80d48SXiang Huang PETSC_EXTERN void PETSC_STDCALL taobrgnsetl1smoothepsilon_(Tao *tao, PetscReal *epsilon, PetscErrorCode *ierr) 26*8ac80d48SXiang Huang { 27*8ac80d48SXiang Huang if(!*ierr) *ierr = TaoBRGNSetL1SmoothEpsilon(*tao, *epsilon); 28*8ac80d48SXiang Huang } 29*8ac80d48SXiang Huang 30