Mercurial > pub > dyncall > dyncall
comparison test/suite_aggrs/globals.c @ 438:b4ddad459690
suite_aggr;
- made generator produce unique signatures
- reduced dcNewStruct() calls to once only per sig
- added missing free()s
- cleanup: removal of unused decl, func renaming for clarity, static for tu-local symbols, ...
author | Tassilo Philipp |
---|---|
date | Wed, 26 Jan 2022 13:37:19 +0100 |
parents | 167faab0c0be |
children | 252f32fa59d8 |
comparison
equal
deleted
inserted
replaced
437:135c7fb49c2f | 438:b4ddad459690 |
---|---|
40 if(G_agg_sizes[i] > s) | 40 if(G_agg_sizes[i] > s) |
41 s = G_agg_sizes[i]; | 41 s = G_agg_sizes[i]; |
42 return s; | 42 return s; |
43 } | 43 } |
44 | 44 |
45 void init_K() | 45 void init_test_data() |
46 { | 46 { |
47 int i; | 47 int i; |
48 int maxaggrsize = calc_max_aggr_size(); | 48 int maxaggrsize = calc_max_aggr_size(); |
49 #define X(CH,T) V_##CH = (T*) malloc(sizeof(T)*(G_maxargs+1)); K_##CH = (T*) malloc(sizeof(T)*(G_maxargs+1)); | 49 #define X(CH,T) V_##CH = (T*) malloc(sizeof(T)*(G_maxargs+1)); K_##CH = (T*) malloc(sizeof(T)*(G_maxargs+1)); |
50 DEF_TYPES | 50 DEF_TYPES |
51 #undef X | 51 #undef X |
52 | |
53 | 52 |
54 for(i=0;i<G_maxargs+1;++i) { | 53 for(i=0;i<G_maxargs+1;++i) { |
55 K_c[i] = (char) (((rand_d()-0.5)*2) * (1<<7)); | 54 K_c[i] = (char) (((rand_d()-0.5)*2) * (1<<7)); |
56 K_s[i] = (short) (((rand_d()-0.5)*2) * (1<<(sizeof(short)*8-1))); | 55 K_s[i] = (short) (((rand_d()-0.5)*2) * (1<<(sizeof(short)*8-1))); |
57 K_i[i] = (int) (((rand_d()-0.5)*2) * (1<<(sizeof(int)*8-2))); | 56 K_i[i] = (int) (((rand_d()-0.5)*2) * (1<<(sizeof(int)*8-2))); |
58 K_j[i] = (long) (((rand_d()-0.5)*2) * (1L<<(sizeof(long)*8-2))); | 57 K_j[i] = (long) (((rand_d()-0.5)*2) * (1L<<(sizeof(long)*8-2))); |
59 K_l[i] = (long long) (((rand_d()-0.5)*2) * (1LL<<(sizeof(long long)*8-2))); | 58 K_l[i] = (long long) (((rand_d()-0.5)*2) * (1LL<<(sizeof(long long)*8-2))); |
60 K_p[i] = (void*) (long) (((rand_d()-0.5)*2) * (1LL<<(sizeof(void*)*8-1))); | 59 K_p[i] = (void*) (long) (((rand_d()-0.5)*2) * (1LL<<(sizeof(void*)*8-1))); |
61 K_f[i] = (float) (rand_d() * FLT_MAX); | 60 K_f[i] = (float) (rand_d() * FLT_MAX); |
62 K_d[i] = (double) (((rand_d()-0.5)*2) * 1.7976931348623157E+308/*__DBL_MAX__*/); /* Plan9 doesn't know the macro. */ | 61 K_d[i] = (double) (((rand_d()-0.5)*2) * 1.7976931348623157E+308/*__DBL_MAX__*/); /* Plan9 doesn't know the macro. */ |
63 K_a[i] = malloc(maxaggrsize); rand_mem(K_a[i], maxaggrsize); | 62 K_a[i] = malloc(maxaggrsize); rand_mem(K_a[i], maxaggrsize); |
64 } | 63 } |
65 } | 64 } |
66 | 65 |
67 void clear_V() | 66 void clear_V() |
70 int maxaggrsize = calc_max_aggr_size(); | 69 int maxaggrsize = calc_max_aggr_size(); |
71 | 70 |
72 int i; | 71 int i; |
73 for(i=0;i<G_maxargs+1;++i) { | 72 for(i=0;i<G_maxargs+1;++i) { |
74 if(aggr_init) | 73 if(aggr_init) |
75 free(V_a[i]); | 74 free(V_a[i]); |
76 #define X(CH,T) V_##CH[i] = (T) 0; | 75 #define X(CH,T) V_##CH[i] = (T) 0; |
77 DEF_TYPES | 76 DEF_TYPES |
78 #undef X | 77 #undef X |
79 V_a[i] = malloc(maxaggrsize); | 78 V_a[i] = malloc(maxaggrsize); |
80 } | 79 } |
81 aggr_init = 1; | 80 aggr_init = 1; |
82 } | 81 } |
83 | 82 |
83 void deinit_test_data() | |
84 { | |
85 int i; | |
86 for(i=0;i<G_maxargs+1;++i) { | |
87 free(V_a[i]); | |
88 free(K_a[i]); | |
89 } | |
90 | |
91 #define X(CH,T) free(V_##CH); free(K_##CH); | |
92 DEF_TYPES | |
93 #undef X | |
94 } | |
95 |