6 #ifndef _LOSC_INCLUDE_C_LOSC_CURVATURE_H_ 7 #define _LOSC_INCLUDE_C_LOSC_CURVATURE_H_ 63 #define losc_dfa_info_free(ptr) _losc_DFAInfo_free(&(ptr)) 71 typedef struct _LoscCurvatureBase _LoscCurvatureBase;
82 _LoscCurvatureBase *_p_base;
141 typedef struct _LoscCurvatureV1 _LoscCurvatureV1;
169 _LoscCurvatureV1 *_p_v1;
228 const losc_matrix *df_pii,
229 const losc_matrix *df_Vpq_inv,
230 const losc_matrix *grid_lo,
231 const double *grid_weight);
238 #define losc_curvature_v1_free(ptr) _losc_curvature_v1_free(&(ptr)) 246 typedef struct _LoscCurvatureV2 _LoscCurvatureV2;
257 _LoscCurvatureV2 *_p_v2;
304 const losc_matrix *df_pii,
305 const losc_matrix *df_Vpq_inv,
306 const losc_matrix *grid_lo,
307 const double *grid_weight);
314 #define losc_curvature_v2_free(ptr) _losc_curvature_v2_free(&(ptr)) The C interface for LOSC curvature base class.
Definition: curvature.h:80
void(* kappa)(const LoscCurvatureBase *self, losc_matrix *K)
Compute the LOSC curvature matrix with an in-out way.
Definition: curvature.h:133
struct LoscCurvatureV1 LoscCurvatureV1
The C interface for LOSC curvature class of version 1.
LoscCurvatureBase * p_base
A pointer to a LoscCurvatureBase variable.
Definition: curvature.h:179
struct LoscDFAInfo LoscDFAInfo
The DFA information.
Definition: curvature.h:27
The C interface for LOSC curvature class of version 2.
Definition: curvature.h:255
LoscCurvatureV2 * losc_curvature_v2_create(const LoscDFAInfo *dfa, const losc_matrix *df_pii, const losc_matrix *df_Vpq_inv, const losc_matrix *grid_lo, const double *grid_weight)
Constructor of LoscCurvatureV2.
LoscDFAInfo * losc_dfa_info_create(double gga_x, double hf_x, const char *name)
Create a struct LoscDFAInfo.
LoscCurvatureV1 * losc_curvature_v1_create(const LoscDFAInfo *dfa, const losc_matrix *df_pii, const losc_matrix *df_Vpq_inv, const losc_matrix *grid_lo, const double *grid_weight)
Create a struct LoscCurvatureV1.
struct LoscCurvatureV2 LoscCurvatureV2
The C interface for LOSC curvature class of version 2.
size_t(* npts)(const LoscCurvatureBase *self)
Return the number of grid points.
Definition: curvature.h:117
The C interface for LOSC curvature class of version 1.
Definition: curvature.h:167
LoscCurvatureBase * p_base
A pointer to a LoscCurvatureBase variable.
Definition: curvature.h:267
The C interface of matrix used in LOSC.
size_t(* nfitbasis)(const LoscCurvatureBase *self)
Return the number of nfitbasis.
Definition: curvature.h:106
struct LoscCurvatureBase LoscCurvatureBase
The C interface for LOSC curvature base class.
size_t(* nlo)(const LoscCurvatureBase *self)
Return the number of LOs.
Definition: curvature.h:95