* add the parameter an lattice C part with tests
[hkl.git] / include / hkl / lattice.h
blobcb3705de6c6867c2d41477c874e59da628b0e252
1 #ifndef _LATTICE_H_
2 #define _LATTICE_H_
4 #include "parameter.h"
6 /* Allow the use in C++ code. */
7 #ifdef __cplusplus
8 extern "C"
10 #endif
12 /* forward declaration begin */
13 struct hkl_smatrix;
14 /* forward declaration end */
16 struct hkl_lattice
18 struct hkl_parameter a;
19 struct hkl_parameter b;
20 struct hkl_parameter c;
21 struct hkl_parameter alpha;
22 struct hkl_parameter beta;
23 struct hkl_parameter gamma;
26 extern int hkl_lattice_init(struct hkl_lattice *lattice, double a, double b, double c, double alpha, double beta, double gamma);
28 extern int hkl_lattice_get_B(struct hkl_lattice const *lattice, struct hkl_smatrix *B);
30 extern int hkl_lattice_reciprocal(struct hkl_lattice const *lattice, struct hkl_lattice *reciprocal);
32 extern void hkl_lattice_randomize(struct hkl_lattice *lattice);
34 #ifdef __cplusplus
36 #endif /* C++ */
38 #endif /* _LATTICE_H_ */