1 //c99 -o test_latticegens -ggdb -Wall -I ../ test_latticegens.c ../qpms/latticegens.c -lm
2 #define QPMS_VECTORS_NICE_TRANSFORMATIONS
3 #include <qpms/lattices.h>
6 void print_PGenSphReturnData(PGenSphReturnData d
) {
8 cart3_t c
= sph2cart(s
);
9 printf("sph: (%g, %g π, %g π), cart: (%g, %g, %g), flags: %#xd\n",
10 s
.r
, s
.theta
/ M_PI
, s
.phi
/ M_PI
, c
.x
, c
.y
, c
.z
, d
.flags
);
13 void dump_PGenSph(PGen
*g
) {
17 print_PGenSphReturnData(d
);
18 } while (d
.flags
& PGEN_NOTDONE
);
21 #define DO_AND_PRINT(label, s) printf(#label ":\n" #s "\n"); s ;
23 int main(int argc
, char **argv
) {
25 DO_AND_PRINT(test1a
, g
= PGen_1D_new_minMaxR(0.2, 0.14, 5, true, 7, true, PGEN_1D_INC_FROM_ORIGIN
))
27 DO_AND_PRINT(test1b
, g
= PGen_1D_new_minMaxR(0.2, 0.14, 5, true, 7, true, PGEN_1D_INC_TOWARDS_ORIGIN
))
29 DO_AND_PRINT(test2a
, g
= PGen_1D_new_minMaxR(0.2, 0.05, 5.05, true, 7.05, true, PGEN_1D_INC_FROM_ORIGIN
))
31 DO_AND_PRINT(test2b
, g
= PGen_1D_new_minMaxR(0.2, 0.05, 5.05, true, 7.05, true, PGEN_1D_INC_TOWARDS_ORIGIN
))
33 DO_AND_PRINT(test3a
, g
= PGen_1D_new_minMaxR(0.2, 0.05, 5.05, false, 7.05, false, PGEN_1D_INC_FROM_ORIGIN
))
35 DO_AND_PRINT(test3b
, g
= PGen_1D_new_minMaxR(0.2, 0.05, 5.05, false, 7.05, false, PGEN_1D_INC_TOWARDS_ORIGIN
))
37 DO_AND_PRINT(test4a
, g
= PGen_1D_new_minMaxR(0.2, 0.0, 0, false, 1, false, PGEN_1D_INC_FROM_ORIGIN
))
39 DO_AND_PRINT(test4b
, g
= PGen_1D_new_minMaxR(0.2, 0.0, 0, false, 1, false, PGEN_1D_INC_TOWARDS_ORIGIN
))
41 DO_AND_PRINT(test5a
, g
= PGen_1D_new_minMaxR(0.2, 0.0, 0, true, 1, true, PGEN_1D_INC_FROM_ORIGIN
))
43 DO_AND_PRINT(test5b
, g
= PGen_1D_new_minMaxR(0.2, 0.0, 0, true, 1, true, PGEN_1D_INC_TOWARDS_ORIGIN
))