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: