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