ScaMaC  0.8.2
A Scalable Matrix Collection
scamac_matrix_FreeBosonChain.h
1 /* *** *** *** *** *** *** *** *** *** *** */
2 /* autogenerated by ScaMaC_build_generator */
3 /* Fri, 24 May 2019 12:40:36 +0200 */
4 /* *** *** *** *** *** *** *** *** *** *** */
5 #ifndef SCAMAC_MATRIX_FREEBOSONCHAIN_H
6 #define SCAMAC_MATRIX_FREEBOSONCHAIN_H
7 
8 #include "scamac_internal.h"
9 #include "scamac_sparserow.h"
10 #include "scamac_option_inc.h"
11 #include "scamac_multidx.h"
12 #include "scamac_dof_bosons.h"
13 
14 typedef struct {
15  double t;
16  int n_species;
17  int n_sites;
18  int n_bosons;
19  scamac_option_ty bc;
20 } scamac_matrix_FreeBosonChain_params_st;
21 
22 typedef struct {
23  ScamacIdx ns;
24  ScamacIdx maxnzrow;
25  int ndof;
26  scamac_multidx_st *midx;
27  scamac_dof_bosons_st ** dof;
28 } scamac_matrix_FreeBosonChain_tables_st;
29 
30 typedef struct {
31  int ndof;
32  scamac_rep_bosons_st ** rep, ** repinit;
33 } scamac_matrix_FreeBosonChain_work_st;
34 
35 ScamacErrorCode scamac_matrix_FreeBosonChain_check(const scamac_matrix_FreeBosonChain_params_st * par, char ** desc);
36 ScamacErrorCode scamac_matrix_FreeBosonChain_tables_create(const scamac_matrix_FreeBosonChain_params_st * par, scamac_matrix_FreeBosonChain_tables_st ** tab, scamac_info_st * info);
37 ScamacErrorCode scamac_matrix_FreeBosonChain_tables_destroy(scamac_matrix_FreeBosonChain_tables_st * tab);
38 ScamacErrorCode scamac_matrix_FreeBosonChain_work_alloc(const scamac_matrix_FreeBosonChain_params_st * par, const scamac_matrix_FreeBosonChain_tables_st * tab, scamac_matrix_FreeBosonChain_work_st ** ws);
39 ScamacErrorCode scamac_matrix_FreeBosonChain_work_free(scamac_matrix_FreeBosonChain_work_st * ws);
40 ScamacErrorCode scamac_matrix_FreeBosonChain_generate_row(const scamac_matrix_FreeBosonChain_params_st * par, const scamac_matrix_FreeBosonChain_tables_st * tab, scamac_matrix_FreeBosonChain_work_st * ws, ScamacIdx irow, ScamacFlag flag, scamac_sparserow_real_st * row);
41 
42 #endif /* SCAMAC_MATRIX_FREEBOSONCHAIN_H */
Internal types and (macro) definitions.