xref: /petsc/src/tao/leastsquares/impls/brgn/ftn-custom/zbrgnf.c (revision 8e85b1b3a48c719bb7d116aee5cfc4a5b180d411)
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 taobrgnsetl1regularizerweight_   TAOBRGNSETL1REGULARIZERWEIGHT
8 #define taobrgnsetl1smoothepsilon_       TAOBRGNSETL1SMOOTHEPSILON
9 #define taobrgnsetdictionarymatrix_      TAOBRGNSETDICTIONARYMATRIX
10 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
11 #define taobrgngetsubsolver_             taobrgngetsubsolver
12 #define taobrgnsetl1regularizerweight_   taobrgnsetl1regularizerweight
13 #define taobrgnsetl1smoothepsilon_       taobrgnsetl1smoothepsilon
14 #define taobrgnsetdictionarymatrix_      taobrgnsetdictionarymatrix
15 #endif
16 
17 PETSC_EXTERN void PETSC_STDCALL taobrgngetsubsolver_(Tao *tao, Tao *subsolver, PetscErrorCode *ierr)
18 {
19     if(!*ierr) *ierr = TaoBRGNGetSubsolver(*tao, subsolver);
20 }
21 
22 PETSC_EXTERN void PETSC_STDCALL taobrgnsetl1regularizerweight_(Tao *tao, PetscReal *lambda, PetscErrorCode *ierr)
23 {
24     if(!*ierr) *ierr = TaoBRGNSetL1RegularizerWeight(*tao, *lambda);
25 }
26 
27 PETSC_EXTERN void PETSC_STDCALL taobrgnsetl1smoothepsilon_(Tao *tao, PetscReal *epsilon, PetscErrorCode *ierr)
28 {
29     if(!*ierr) *ierr = TaoBRGNSetL1SmoothEpsilon(*tao, *epsilon);
30 }
31 
32 PETSC_EXTERN void PETSC_STDCALL taobrgnsetdictionarymatrix(Tao *tao, Mat *dict, PetscErrorCode *ierr)
33 {
34     if(!*ierr) *ierr = TaoBRGNSetDictionaryMatrix(*tao, *dict);
35 }
36