1// This file is generated by Cogent 2 3#include "variant_0.h" 4 5static inline unsigned int d5_get_a_tag_part0(t1 *b) 6{ 7 return (*b).data[0U] >> 0U & 255U; 8} 9static inline unsigned int d4_get_a_tag(t1 *b) 10{ 11 return (unsigned int) d5_get_a_tag_part0(b) << 0U; 12} 13static inline unsigned int d7_get_a_A_part0(t1 *b) 14{ 15 return (*b).data[0U] >> 8U & 255U; 16} 17static inline u8 d6_get_a_A(t1 *b) 18{ 19 return (u8) d7_get_a_A_part0(b) << 0U; 20} 21static inline t2 d3_get_a(t1 *b) 22{ 23 return (t2) {.tag = TAG_ENUM_A, .A = d6_get_a_A(b)}; 24} 25static inline unsigned int d11_get_b_tag_part0(t1 *b) 26{ 27 return (*b).data[0U] >> 16U & 255U; 28} 29static inline unsigned int d10_get_b_tag(t1 *b) 30{ 31 return (unsigned int) d11_get_b_tag_part0(b) << 0U; 32} 33static inline unsigned int d13_get_b_A_part0(t1 *b) 34{ 35 return (*b).data[0U] >> 24U & 255U; 36} 37static inline u8 d12_get_b_A(t1 *b) 38{ 39 return (u8) d13_get_b_A_part0(b) << 0U; 40} 41static inline unsigned int d15_get_b_B_part0(t1 *b) 42{ 43 return (*b).data[1U] >> 0U & 65535U; 44} 45static inline u16 d14_get_b_B(t1 *b) 46{ 47 return (u16) d15_get_b_B_part0(b) << 0U; 48} 49static inline unsigned int d17_get_b_C_part0(t1 *b) 50{ 51 return (*b).data[1U] >> 16U & 65535U; 52} 53static inline unsigned int d18_get_b_C_part1(t1 *b) 54{ 55 return (*b).data[2U] >> 0U & 65535U; 56} 57static inline u32 d16_get_b_C(t1 *b) 58{ 59 return (u32) d17_get_b_C_part0(b) << 0U | (u32) d18_get_b_C_part1(b) << 16U; 60} 61static inline unsigned int d20_get_b_D_part0(t1 *b) 62{ 63 return (*b).data[2U] >> 16U & 65535U; 64} 65static inline unsigned int d21_get_b_D_part1(t1 *b) 66{ 67 return (*b).data[3U] >> 0U & 4294967295U; 68} 69static inline unsigned int d22_get_b_D_part2(t1 *b) 70{ 71 return (*b).data[4U] >> 0U & 65535U; 72} 73static inline u64 d19_get_b_D(t1 *b) 74{ 75 return (u64) d20_get_b_D_part0(b) << 0U | (u64) d21_get_b_D_part1(b) << 76 16U | (u64) d22_get_b_D_part2(b) << 48U; 77} 78static inline unsigned int d24_get_b_E_part0(t1 *b) 79{ 80 return (*b).data[4U] >> 16U & 255U; 81} 82static inline bool_t d23_get_b_E(t1 *b) 83{ 84 return (bool_t) {.boolean = (unsigned char) d24_get_b_E_part0(b) << 0U}; 85} 86static inline t8 d9_get_b(t1 *b) 87{ 88 return d10_get_b_tag(b) == 5U ? (t8) {.tag = TAG_ENUM_E, .E = 89 d23_get_b_E(b)} : d10_get_b_tag(b) == 90 4U ? (t8) {.tag = TAG_ENUM_D, .D = d19_get_b_D(b)} : d10_get_b_tag(b) == 91 3U ? (t8) {.tag = TAG_ENUM_C, .C = d16_get_b_C(b)} : d10_get_b_tag(b) == 92 2U ? (t8) {.tag = TAG_ENUM_B, .B = d14_get_b_B(b)} : (t8) {.tag = 93 TAG_ENUM_A, 94 .A = 95 d12_get_b_A(b)}; 96} 97static inline void d29_set_a_tag_part0(t1 *b, unsigned int v) 98{ 99 (*b).data[0U] = ((*b).data[0U] & ~(255U << 0U)) | (255U & v) << 0U; 100} 101static inline void d28_set_a_tag(t1 *b, unsigned int v) 102{ 103 d29_set_a_tag_part0(b, (unsigned int) (v >> 0U & 255U)); 104} 105static inline void d31_set_a_A_part0(t1 *b, unsigned int v) 106{ 107 (*b).data[0U] = ((*b).data[0U] & ~(255U << 8U)) | (255U & v) << 8U; 108} 109static inline void d30_set_a_A(t1 *b, u8 v) 110{ 111 d31_set_a_A_part0(b, (unsigned int) (v >> 0U & 255U)); 112} 113static inline void d27_set_a(t1 *b, t2 v) 114{ 115 d28_set_a_tag(b, 1U); 116 d30_set_a_A(b, v.A); 117} 118static inline void d34_set_b_tag_part0(t1 *b, unsigned int v) 119{ 120 (*b).data[0U] = ((*b).data[0U] & ~(255U << 16U)) | (255U & v) << 16U; 121} 122static inline void d33_set_b_tag(t1 *b, unsigned int v) 123{ 124 d34_set_b_tag_part0(b, (unsigned int) (v >> 0U & 255U)); 125} 126static inline void d36_set_b_A_part0(t1 *b, unsigned int v) 127{ 128 (*b).data[0U] = ((*b).data[0U] & ~(255U << 24U)) | (255U & v) << 24U; 129} 130static inline void d35_set_b_A(t1 *b, u8 v) 131{ 132 d36_set_b_A_part0(b, (unsigned int) (v >> 0U & 255U)); 133} 134static inline void d38_set_b_B_part0(t1 *b, unsigned int v) 135{ 136 (*b).data[1U] = ((*b).data[1U] & ~(65535U << 0U)) | (65535U & v) << 0U; 137} 138static inline void d37_set_b_B(t1 *b, u16 v) 139{ 140 d38_set_b_B_part0(b, (unsigned int) (v >> 0U & 65535U)); 141} 142static inline void d40_set_b_C_part0(t1 *b, unsigned int v) 143{ 144 (*b).data[1U] = ((*b).data[1U] & ~(65535U << 16U)) | (65535U & v) << 16U; 145} 146static inline void d41_set_b_C_part1(t1 *b, unsigned int v) 147{ 148 (*b).data[2U] = ((*b).data[2U] & ~(65535U << 0U)) | (65535U & v) << 0U; 149} 150static inline void d39_set_b_C(t1 *b, u32 v) 151{ 152 d40_set_b_C_part0(b, (unsigned int) (v >> 0U & 65535U)); 153 d41_set_b_C_part1(b, (unsigned int) (v >> 16U & 65535U)); 154} 155static inline void d43_set_b_D_part0(t1 *b, unsigned int v) 156{ 157 (*b).data[2U] = ((*b).data[2U] & ~(65535U << 16U)) | (65535U & v) << 16U; 158} 159static inline void d44_set_b_D_part1(t1 *b, unsigned int v) 160{ 161 (*b).data[3U] = ((*b).data[3U] & ~(4294967295U << 0U)) | (4294967295U & 162 v) << 0U; 163} 164static inline void d45_set_b_D_part2(t1 *b, unsigned int v) 165{ 166 (*b).data[4U] = ((*b).data[4U] & ~(65535U << 0U)) | (65535U & v) << 0U; 167} 168static inline void d42_set_b_D(t1 *b, u64 v) 169{ 170 d43_set_b_D_part0(b, (unsigned int) (v >> 0U & 65535U)); 171 d44_set_b_D_part1(b, (unsigned int) (v >> 16U & 4294967295U)); 172 d45_set_b_D_part2(b, (unsigned int) (v >> 48U & 65535U)); 173} 174static inline void d47_set_b_E_part0(t1 *b, unsigned int v) 175{ 176 (*b).data[4U] = ((*b).data[4U] & ~(255U << 16U)) | (255U & v) << 16U; 177} 178static inline void d46_set_b_E(t1 *b, bool_t v) 179{ 180 d47_set_b_E_part0(b, (unsigned int) (v.boolean >> 0U & 255U)); 181} 182static inline void d32_set_b(t1 *b, t8 v) 183{ 184 if (v.tag == TAG_ENUM_E) { 185 d33_set_b_tag(b, 5U); 186 d46_set_b_E(b, v.E); 187 } else if (v.tag == TAG_ENUM_D) { 188 d33_set_b_tag(b, 4U); 189 d42_set_b_D(b, v.D); 190 } else if (v.tag == TAG_ENUM_C) { 191 d33_set_b_tag(b, 3U); 192 d39_set_b_C(b, v.C); 193 } else if (v.tag == TAG_ENUM_B) { 194 d33_set_b_tag(b, 2U); 195 d37_set_b_B(b, v.B); 196 } else { 197 d33_set_b_tag(b, 1U); 198 d35_set_b_A(b, v.A); 199 } 200} 201static inline t26 getVals(t1 *a1) 202{ 203 t2 r2 = d3_get_a(a1); 204 t8 r3 = d9_get_b(a1); 205 t25 r4; 206 207 if (LETBANG_TRUE) { 208 r4 = (t25) {.a = r2, .b = r3}; 209 } else 210 ; 211 212 t26 r5 = (t26) {.p1 = a1, .p2 = r4}; 213 214 return r5; 215} 216static inline t1 *putVals(t1 *a1) 217{ 218 t1 *r2 = a1; 219 u8 r3 = 18U; 220 t2 r4; 221 222 r4 = (t2) {.tag = TAG_ENUM_A, .A = r3}; 223 224 t2 r5 = r4; 225 t1 *r6 = r2; 226 227 d27_set_a(r6, r5); 228 229 t1 *r7 = r6; 230 u32 r8 = 2022747085U; 231 t8 r9; 232 233 r9 = (t8) {.tag = TAG_ENUM_C, .C = r8}; 234 235 t8 r10 = r9; 236 t8 r11 = r10; 237 t1 *r12 = r7; 238 239 d32_set_b(r12, r11); 240 241 t1 *r13 = r12; 242 243 return r13; 244} 245 246 247