Actual source code: dlregis_taolinesearch.c
1: #define TAOLINESEARCH_DLL
2: #include "private/taolinesearch_impl.h"
15: #ifdef PETSC_USE_DYNAMIC_LIBRARIES
16: #define TaoLineSearchRegisterDynamic(a,b,c,d) TaoLineSearchRegister(a,b,c,0)
17: #else
18: #define TaoLineSearchRegisterDynamic(a,b,c,d) TaoLineSearchRegister(a,b,c,d)
19: #endif
21:
27: /*@C
28: TaoLineSearchInitializePackage - This function registers the line-search
29: algorithms in TAO.
30: When using static libraries, this function is called from the
31: first entry to TaoCreate(); when using shared libraries, it is called
32: from PetscDLLibraryRegister()
34: Input parameter:
35: . path - The dynamic library path or PETSC_NULL
37: Level: developer
39: .seealso: TaoLineSearchCreate()
40: @*/
41: PetscErrorCode TaoLineSearchInitializePackage(const char path[])
42: {
46: if (TaoLineSearchInitialized) return(0);
47: TaoLineSearchInitialized=PETSC_TRUE;
49: PetscClassIdRegister("TaoLineSearch",&TAOLINESEARCH_CLASSID);
52: TaoLineSearchRegisterDynamic("unit",path,"TaoLineSearchCreate_Unit",TaoLineSearchCreate_Unit);
53: TaoLineSearchRegisterDynamic("more-thuente",path,"TaoLineSearchCreate_MT",TaoLineSearchCreate_MT);
54: TaoLineSearchRegisterDynamic("gpcg",path,"TaoLineSearchCreate_GPCG",TaoLineSearchCreate_GPCG);
55: TaoLineSearchRegisterDynamic("armijo",path,"TaoLineSearchCreate_Armijo",TaoLineSearchCreate_Armijo);
57: PetscLogEventRegister( "TaoLineSearchApply",TAOLINESEARCH_CLASSID,&TaoLineSearch_ApplyEvent);
58: PetscLogEventRegister("TaoLineSearchComputeObjective[Gradient]",TAOLINESEARCH_CLASSID,&TaoLineSearch_EvalEvent);
59: return(0);
60: }
64: