xref: /petsc/src/tao/leastsquares/impls/brgn/ftn-custom/zbrgnf.c (revision 8ac80d489131db64bfff9302a0e3a5f47f117139)
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