ae2f_docs
MlpSHADER.auto.h
1#define ae2fVK_AnnMlpSHADER \
2"#undef\t__ae2f_MACRO_GENERATED\n"\
3"#define\t__ae2f_MACRO_GENERATED\t1\n"\
4"#pragma OPENCL EXTENSION cl-fast-relaxed-math : enable\n"\
5"#pragma OPENCL EXTENSION pod-pushconstant : enable\n"\
6"\n"\
7"#if __ae2f_MACRO_GENERATED\n"\
8"#define ae2fVK_clspv_IS_OPENCL 1\n"\
9"#endif\n"\
10"\n"\
11"#define ae2f_NEED_CLASS 0\n"\
12"\n"\
13"\n"\
14"\n"\
15"\n"\
16"\n"\
17"#undef\t__ae2f_MACRO_GENERATED\n"\
18"#define\t__ae2f_MACRO_GENERATED\t1\n"\
19"#ifndef Mlp_h\n"\
20"#define Mlp_h\n"\
21"\n"\
22"#undef\t__ae2f_MACRO_GENERATED\n"\
23"#define\t__ae2f_MACRO_GENERATED\t1\n"\
24"#ifndef Slp_h\n"\
25"#define Slp_h\n"\
26"\n"\
27"#define ae2f_NEED_CLASS 0\n"\
28"\n"\
29"#ifndef mac_h\n"\
30"#define mac_h\n"\
31"\n"\
32"#ifndef ae2fVK_clspv_addrspec_h\n"\
33"#define ae2fVK_clspv_addrspec_h\n"\
34"\n"\
35"#ifndef ae2fVK_clspv_key_h\n"\
36"#define ae2fVK_clspv_key_h\n"\
37"\n"\
38"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
39"#define ae2fVK_clspv_IS_OPENCL 0\n"\
40"#endif\n"\
41"\n"\
42"#if ae2fVK_clspv_IS_OPENCL\n"\
43"\n"\
44"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
45"#define ae2fVK_NCL(...)\n"\
46"\n"\
47"#else\n"\
48"\n"\
49"#define ae2fVK_CL(...)\n"\
50"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
51"#endif\n"\
52"\n"\
53"#endif\n"\
54"\n"\
55"\n"\
56"#if !ae2fVK_clspv_IS_OPENCL\n"\
57"#define __kernel\t\n"\
58"#define __global\t\n"\
59"#define __constant\tconst\n"\
60"#define __local\t\t\n"\
61"#endif\n"\
62"\n"\
63"#endif\n"\
64"\n"\
65"\n"\
66"\n"\
67"#ifndef ae2fVK_clspv_wrkitem_h\n"\
68"#define ae2fVK_clspv_wrkitem_h\n"\
69"\n"\
70"#ifndef ae2fVK_clspv_sclr_h\n"\
71"#define ae2fVK_clspv_sclr_h\n"\
72"\n"\
73"#ifndef ae2fVK_clspv_key_h\n"\
74"#define ae2fVK_clspv_key_h\n"\
75"\n"\
76"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
77"#define ae2fVK_clspv_IS_OPENCL 0\n"\
78"#endif\n"\
79"\n"\
80"#if ae2fVK_clspv_IS_OPENCL\n"\
81"\n"\
82"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
83"#define ae2fVK_NCL(...)\n"\
84"\n"\
85"#else\n"\
86"\n"\
87"#define ae2fVK_CL(...)\n"\
88"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
89"#endif\n"\
90"\n"\
91"#endif\n"\
92"\n"\
93"\n"\
94"#if !ae2fVK_clspv_IS_OPENCL\n"\
95"\n"\
96"#define half\tfloat\n"\
97"#define uchar\tunsigned char\n"\
98"#define ushort\tunsigned short\n"\
99"#define uint\tunsigned int\n"\
100"#define ulong\tunsigned long\n"\
101"\n"\
102"\n"\
103"\n"\
104"\n"\
105"#endif\n"\
106"\n"\
107"#endif\n"\
108"\n"\
109"\n"\
110"#if !ae2fVK_clspv_IS_OPENCL\n"\
111"\n"\
112"uint get_work_dim();\n"\
113"\n"\
114"\n"\
115"size_t get_global_size(uint dimindx);\n"\
116"\n"\
117"\n"\
118"size_t get_global_id(uint dimindx);\n"\
119"\n"\
120"\n"\
121"size_t get_local_size(uint dimindx);\n"\
122"\n"\
123"\n"\
124"size_t get_local_id(uint dimindx);\n"\
125"\n"\
126"\n"\
127"size_t get_num_groups(uint dimindx);\n"\
128"\n"\
129"\n"\
130"\n"\
131"size_t get_global_offset(uint dimindx);\n"\
132"\n"\
133"\n"\
134"size_t get_group_id(uint dimindx);\n"\
135"#endif\n"\
136"\n"\
137"#if !ae2fVK_clspv_IS_OPENCL \n"\
138"\n"\
139"\n"\
140"uint get_sub_group_size();\n"\
141"\n"\
142"\n"\
143"uint get_max_sub_group_size();\n"\
144"\n"\
145"\n"\
146"uint get_num_sub_groups();\n"\
147"\n"\
148"\n"\
149"uint get_enqueued_num_sub_groups();\n"\
150"\n"\
151"\n"\
152"uint get_sub_group_id();\n"\
153"\n"\
154"\n"\
155"uint get_sub_group_local_id();\n"\
156"#endif\n"\
157"\n"\
158"#endif\n"\
159"\n"\
160"\n"\
161"\n"\
162"#ifndef ae2fVK_clspv_atom_h\n"\
163"#define ae2fVK_clspv_atom_h\n"\
164"\n"\
165"#ifndef ae2fVK_clspv_sclr_h\n"\
166"#define ae2fVK_clspv_sclr_h\n"\
167"\n"\
168"#ifndef ae2fVK_clspv_key_h\n"\
169"#define ae2fVK_clspv_key_h\n"\
170"\n"\
171"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
172"#define ae2fVK_clspv_IS_OPENCL 0\n"\
173"#endif\n"\
174"\n"\
175"#if ae2fVK_clspv_IS_OPENCL\n"\
176"\n"\
177"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
178"#define ae2fVK_NCL(...)\n"\
179"\n"\
180"#else\n"\
181"\n"\
182"#define ae2fVK_CL(...)\n"\
183"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
184"#endif\n"\
185"\n"\
186"#endif\n"\
187"\n"\
188"\n"\
189"#if !ae2fVK_clspv_IS_OPENCL\n"\
190"\n"\
191"#define half\tfloat\n"\
192"#define uchar\tunsigned char\n"\
193"#define ushort\tunsigned short\n"\
194"#define uint\tunsigned int\n"\
195"#define ulong\tunsigned long\n"\
196"\n"\
197"\n"\
198"\n"\
199"\n"\
200"#endif\n"\
201"\n"\
202"#endif\n"\
203"\n"\
204"\n"\
205"#if !ae2fVK_clspv_IS_OPENCL \n"\
206"\n"\
207"uint atom_cmpxchg_u(volatile uint *p, uint cmp, uint val);\n"\
208"int atom_cmpxchg_i(volatile int *p, int cmp, int val);\n"\
209"\n"\
210"int atom_xchg_i(volatile int *p, int val);\n"\
211"int atom_xchg_u(volatile uint *p, uint val);\n"\
212"\n"\
213"\n"\
214"#else\n"\
215"\n"\
216"#define atom_cmpxchg_i\tatom_cmpxchg\n"\
217"#define atom_cmpxchg_u\tatom_cmpxchg\n"\
218"\n"\
219"#define atom_xchg_u\tatom_xchg\n"\
220"#define atom_xchg_i\tatom_xchg\n"\
221"\n"\
222"#endif\n"\
223"\n"\
224"#endif\n"\
225"\n"\
226"#ifndef ae2fVK_clspv_stdint_h\n"\
227"#define ae2fVK_clspv_stdint_h\n"\
228"\n"\
229"#ifndef ae2fVK_clspv_sclr_h\n"\
230"#define ae2fVK_clspv_sclr_h\n"\
231"\n"\
232"#ifndef ae2fVK_clspv_key_h\n"\
233"#define ae2fVK_clspv_key_h\n"\
234"\n"\
235"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
236"#define ae2fVK_clspv_IS_OPENCL 0\n"\
237"#endif\n"\
238"\n"\
239"#if ae2fVK_clspv_IS_OPENCL\n"\
240"\n"\
241"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
242"#define ae2fVK_NCL(...)\n"\
243"\n"\
244"#else\n"\
245"\n"\
246"#define ae2fVK_CL(...)\n"\
247"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
248"#endif\n"\
249"\n"\
250"#endif\n"\
251"\n"\
252"\n"\
253"#if !ae2fVK_clspv_IS_OPENCL\n"\
254"\n"\
255"#define half\tfloat\n"\
256"#define uchar\tunsigned char\n"\
257"#define ushort\tunsigned short\n"\
258"#define uint\tunsigned int\n"\
259"#define ulong\tunsigned long\n"\
260"\n"\
261"\n"\
262"\n"\
263"\n"\
264"#endif\n"\
265"\n"\
266"#endif\n"\
267"\n"\
268"\n"\
269"#if ae2fVK_clspv_IS_OPENCL\n"\
270"#define int8_t\t\tchar\n"\
271"#define uint8_t\t\tuchar\n"\
272"#define int16_t\t\tshort\n"\
273"#define uint16_t\tushort\n"\
274"#define int32_t\t\tint\n"\
275"#define uint32_t\tuint\n"\
276"#define int64_t\t\tlong\n"\
277"#define uint64_t\tulong\n"\
278"#else\n"\
279"#ifndef ae2fVK_clspv_stdint_h\n"\
280"#define ae2fVK_clspv_stdint_h\n"\
281"\n"\
282"#ifndef ae2fVK_clspv_sclr_h\n"\
283"#define ae2fVK_clspv_sclr_h\n"\
284"\n"\
285"#ifndef ae2fVK_clspv_key_h\n"\
286"#define ae2fVK_clspv_key_h\n"\
287"\n"\
288"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
289"#define ae2fVK_clspv_IS_OPENCL 0\n"\
290"#endif\n"\
291"\n"\
292"#if ae2fVK_clspv_IS_OPENCL\n"\
293"\n"\
294"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
295"#define ae2fVK_NCL(...)\n"\
296"\n"\
297"#else\n"\
298"\n"\
299"#define ae2fVK_CL(...)\n"\
300"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
301"#endif\n"\
302"\n"\
303"#endif\n"\
304"\n"\
305"\n"\
306"#if !ae2fVK_clspv_IS_OPENCL\n"\
307"\n"\
308"#define half\tfloat\n"\
309"#define uchar\tunsigned char\n"\
310"#define ushort\tunsigned short\n"\
311"#define uint\tunsigned int\n"\
312"#define ulong\tunsigned long\n"\
313"\n"\
314"\n"\
315"\n"\
316"\n"\
317"#endif\n"\
318"\n"\
319"#endif\n"\
320"\n"\
321"\n"\
322"#if ae2fVK_clspv_IS_OPENCL\n"\
323"#define int8_t\t\tchar\n"\
324"#define uint8_t\t\tuchar\n"\
325"#define int16_t\t\tshort\n"\
326"#define uint16_t\tushort\n"\
327"#define int32_t\t\tint\n"\
328"#define uint32_t\tuint\n"\
329"#define int64_t\t\tlong\n"\
330"#define uint64_t\tulong\n"\
331"#else\n"\
332"\n"\
333"#endif\n"\
334"\n"\
335"#endif\n"\
336"\n"\
337"#endif\n"\
338"\n"\
339"#endif\n"\
340"\n"\
341"\n"\
342"#define host_float_t ae2f_float\n"\
343"\n"\
344"#ifdef ae2f_float_t\n"\
345"#define ae2f_Float_h\n"\
346"\n"\
347"#ifndef ae2f_float_h\n"\
348"#define ae2f_float_h\n"\
349"\n"\
350"\n"\
351"\n"\
352"\n"\
353"\n"\
354"#define ae2f_float float\n"\
355"\n"\
356"#endif \n"\
357"\n"\
358"#endif\n"\
359"\n"\
360"#define\tCAST(t, x)\t((t)(x))\n"\
361"#define PTRCAST(t, x, pad)\tCAST(t, CAST(intptr_t, x) + (pad))\n"\
362"#define MAX(a, b)\t((a) < (b) ? (b) : (a))\n"\
363"\n"\
364"#define size_t\t\tuint32_t\n"\
365"\n"\
366"\n"\
367"#define CL_Q_CVRT(x)\tx\n"\
368"\n"\
369"#endif\n"\
370"\n"\
371"#undef\tae2f_MAC\n"\
372"#define ae2f_MAC(...)\tvoid\n"\
373"\n"\
374"#undef __ae2f_MACRO_GENERATED\n"\
375"#define __ae2f_MACRO_GENERATED 1\n"\
376"#ifndef ae2f_Ann_Slp_Core_h\n"\
377"#define ae2f_Ann_Slp_Core_h\n"\
378"\n"\
379"\n"\
380"\n"\
381"#ifndef ae2f_Float_h\n"\
382"#define ae2f_Float_h\n"\
383"\n"\
384"\n"\
385"#ifndef ae2f_float_h\n"\
386"#define ae2f_float_h\n"\
387"\n"\
388"\n"\
389"\n"\
390"\n"\
391"\n"\
392"#define ae2f_float float\n"\
393"\n"\
394"#endif \n"\
395"\n"\
396"\n"\
397"typedef ae2f_float ae2f_float_t;\n"\
398"\n"\
399"#endif\n"\
400"\n"\
401"\n"\
402"\n"\
403"#if !defined(ae2f_errGlobal_h)\n"\
404"#define ae2f_errGlobal_h\n"\
405"\n"\
406"\n"\
407"\n"\
408"\n"\
409"\n"\
410"typedef uint8_t ae2f_err_t;\n"\
411"\n"\
412"\n"\
413"\n"\
414"#define ae2f_errGlob_OK 0\n"\
415"\n"\
416"\n"\
417"\n"\
418"\n"\
419"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
420"\n"\
421"\n"\
422"\n"\
423"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
424"\n"\
425"\n"\
426"\n"\
427"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
428"\n"\
429"\n"\
430"\n"\
431"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
432"\n"\
433"\n"\
434"\n"\
435"\n"\
436"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
437"\n"\
438"\n"\
439"\n"\
440"\n"\
441"#define ae2f_errGlob_NFOUND 0b100000\n"\
442"\n"\
443"\n"\
444"\n"\
445"\n"\
446"\n"\
447"\n"\
448"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
449"\n"\
450"\n"\
451"\n"\
452"\n"\
453"\n"\
454"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
455"\n"\
456"#endif\n"\
457"\n"\
458"\n"\
459"#if !defined(ae2f_Cast_h)\n"\
460"\n"\
461"\n"\
462"\n"\
463"#define ae2f_Cast_h\n"\
464"\n"\
465"\n"\
466"\n"\
467"\n"\
468"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
469"\n"\
470"\n"\
471"\n"\
472"\n"\
473"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
474"\n"\
475"\n"\
476"\n"\
477"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
478"#define ae2f_Cast_CasterUnion_hpp\n"\
479"\n"\
480"#ifndef ae2f_Cast_consteval_hpp\n"\
481"#define ae2f_Cast_consteval_hpp\n"\
482"#if 90 >= 50\n"\
483"#define ae2f_LangVer_C 1990\n"\
484"#else\n"\
485"#define ae2f_LangVer_C 2090\n"\
486"#endif\n"\
487"\n"\
488"#if 11 >= 50\n"\
489"#define ae2f_LangVer_CC 1911\n"\
490"#else\n"\
491"#define ae2f_LangVer_CC 2011\n"\
492"#endif\n"\
493"\n"\
494"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
495"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
496"\n"\
497"\n"\
498"#ifdef\t__cplusplus\n"\
499"#undef\tae2f_stdcc_v\n"\
500"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
501"#else\n"\
502"\n"\
503"#undef\tae2f_stdcc_v\n"\
504"#define\tae2f_stdcc_v\t(199711L)\n"\
505"\n"\
506"#if __ae2f_lvcheck_cc(2011)\n"\
507"#undef\tae2f_stdcc_v\n"\
508"#define\tae2f_stdcc_v\t(201103L)\n"\
509"#endif\n"\
510"\n"\
511"#if __ae2f_lvcheck_cc(2014)\n"\
512"#undef\tae2f_stdcc_v\n"\
513"#define\tae2f_stdcc_v\t(201402L)\n"\
514"#endif\n"\
515"\n"\
516"#if __ae2f_lvcheck_cc(2017)\n"\
517"#undef\tae2f_stdcc_v\n"\
518"#define\tae2f_stdcc_v\t(201703L)\n"\
519"#endif\n"\
520"\n"\
521"#if __ae2f_lvcheck_cc(2020)\n"\
522"#undef\tae2f_stdcc_v\n"\
523"#define\tae2f_stdcc_v\t(202002L)\n"\
524"#endif\n"\
525"\n"\
526"#if __ae2f_lvcheck_cc(2023)\n"\
527"#undef\tae2f_stdcc_v\n"\
528"#define\tae2f_stdcc_v\t(202302L)\n"\
529"#endif\n"\
530"\n"\
531"#endif\n"\
532"\n"\
533"#ifdef\t__STDC_VERSION__\n"\
534"#undef\tae2f_stdc_v\n"\
535"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
536"#else\n"\
537"\n"\
538"#undef\tae2f_stdc_v\n"\
539"#define ae2f_stdc_v\t(199001L)\n"\
540"\n"\
541"#if __ae2f_lvcheck_c(1999)\n"\
542"#undef\tae2f_stdc_v\n"\
543"#define ae2f_stdc_v\t(199901L)\n"\
544"#endif\n"\
545"\n"\
546"#if __ae2f_lvcheck_c(2011)\n"\
547"#undef\tae2f_stdc_v\n"\
548"#define ae2f_stdc_v\t(201112L)\n"\
549"#endif\n"\
550"\n"\
551"#if __ae2f_lvcheck_c(2017)\n"\
552"#undef\tae2f_stdc_v\n"\
553"#define ae2f_stdc_v\t(201710L)\n"\
554"#endif\n"\
555"\n"\
556"#if __ae2f_lvcheck_c(2023)\n"\
557"#undef\tae2f_stdc_v\n"\
558"#define ae2f_stdc_v\t(202311L)\n"\
559"#endif\n"\
560"\n"\
561"#endif\n"\
562"\n"\
563"#undef\t__ae2f_stdcheck_C\n"\
564"#undef\t__ae2f_stdcheck_CC\n"\
565"\n"\
566"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
567"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
568"\n"\
569"\n"\
570"\n"\
571"\n"\
572"#if __ae2f_stdcheck_CC(201703L)\n"\
573"#define ae2f_if_constexpr if constexpr\n"\
574"#else\n"\
575"#define ae2f_if_constexpr if\n"\
576"#endif\n"\
577"\n"\
578"#if __ae2f_stdcheck_CC(202002L)\n"\
579"#define ae2f_if_consteval\tif consteval\n"\
580"#else\n"\
581"#define ae2f_if_consteval\tif (0)\n"\
582"#endif\n"\
583"\n"\
584"#if __ae2f_stdcheck_CC(202002L)\n"\
585"#define ae2f_constexprvirtual constexpr virtual\n"\
586"#define ae2f_constinit\tconstinit\n"\
587"#else\n"\
588"#define ae2f_constexprvirtual virtual\n"\
589"#define ae2f_constinit\t\n"\
590"#endif \n"\
591"\n"\
592"#if __ae2f_stdcheck_CC(201402L)\n"\
593"#define ae2f_constextendedfun\tconstexpr\n"\
594"#define ae2f_constextendedeval \tconstexpr\n"\
595"\n"\
596"#define ae2f_constextendedmethod\tconstexpr\n"\
597"#define ae2f_constextendedmethodeval\tconstexpr\n"\
598"\n"\
599"#else\n"\
600"#define ae2f_constextendedfun\tinline\n"\
601"#define ae2f_constextendedmethod\tinline\n"\
602"\n"\
603"#define ae2f_constextendedeval\tinline\n"\
604"#define ae2f_constextendedmethodeval\tinline\n"\
605"#endif \n"\
606"\n"\
607"#if __ae2f_stdcheck_CC(201103L)\n"\
608"#define ae2f_constexprmethod\t\tconstexpr\n"\
609"#define ae2f_constexprfun\t\tconstexpr\n"\
610"#define ae2f_constevalmethod\t\tconstexpr\n"\
611"#define ae2f_virtual\t\tvirtual\n"\
612"#else\n"\
613"#define ae2f_constexprmethod\t\tinline\n"\
614"#define ae2f_constexprfun\t\tinline\n"\
615"#define ae2f_constevalmethod\t\tinline\n"\
616"#define ae2f_virtual\t\t\n"\
617"\n"\
618"#if !defined(__cplusplus) \n"\
619"\n"\
620"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
621"\n"\
622"#define ae2f_constexpr\tconstexpr\n"\
623"#else\n"\
624"#define ae2f_constexpr\n"\
625"#endif \n"\
626"\n"\
627"\n"\
628"#endif \n"\
629"\n"\
630"#endif \n"\
631"\n"\
632"#if __ae2f_stdcheck_CC(202002L)\n"\
633"#undef ae2f_constevalmethod\n"\
634"#define ae2f_constevalmethod consteval \n"\
635"#define ae2f_consteval\tconsteval\n"\
636"#elif __ae2f_stdcheck_CC(0)\n"\
637"\n"\
638"#undef constevalmethod\n"\
639"\n"\
640"\n"\
641"#define ae2f_consteval\n"\
642"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
643"\n"\
644"#else\n"\
645"\n"\
646"#define ae2f_consteval\n"\
647"#endif \n"\
648"\n"\
649"#endif\n"\
650"\n"\
651"\n"\
652"\n"\
653"\n"\
654"\n"\
655"\n"\
656"\n"\
657"\n"\
658"template <typename t, typename k> union ae2f_UnionCaster {\n"\
659" t a;\n"\
660" k b;\n"\
661" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
662" ae2f_constexprmethod k _b() const { return b; }\n"\
663"};\n"\
664"\n"\
665"#endif\n"\
666"\n"\
667"\n"\
668"#ifndef ae2f_Cast_consteval_hpp\n"\
669"#define ae2f_Cast_consteval_hpp\n"\
670"#if 90 >= 50\n"\
671"#define ae2f_LangVer_C 1990\n"\
672"#else\n"\
673"#define ae2f_LangVer_C 2090\n"\
674"#endif\n"\
675"\n"\
676"#if 11 >= 50\n"\
677"#define ae2f_LangVer_CC 1911\n"\
678"#else\n"\
679"#define ae2f_LangVer_CC 2011\n"\
680"#endif\n"\
681"\n"\
682"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
683"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
684"\n"\
685"\n"\
686"#ifdef\t__cplusplus\n"\
687"#undef\tae2f_stdcc_v\n"\
688"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
689"#else\n"\
690"\n"\
691"#undef\tae2f_stdcc_v\n"\
692"#define\tae2f_stdcc_v\t(199711L)\n"\
693"\n"\
694"#if __ae2f_lvcheck_cc(2011)\n"\
695"#undef\tae2f_stdcc_v\n"\
696"#define\tae2f_stdcc_v\t(201103L)\n"\
697"#endif\n"\
698"\n"\
699"#if __ae2f_lvcheck_cc(2014)\n"\
700"#undef\tae2f_stdcc_v\n"\
701"#define\tae2f_stdcc_v\t(201402L)\n"\
702"#endif\n"\
703"\n"\
704"#if __ae2f_lvcheck_cc(2017)\n"\
705"#undef\tae2f_stdcc_v\n"\
706"#define\tae2f_stdcc_v\t(201703L)\n"\
707"#endif\n"\
708"\n"\
709"#if __ae2f_lvcheck_cc(2020)\n"\
710"#undef\tae2f_stdcc_v\n"\
711"#define\tae2f_stdcc_v\t(202002L)\n"\
712"#endif\n"\
713"\n"\
714"#if __ae2f_lvcheck_cc(2023)\n"\
715"#undef\tae2f_stdcc_v\n"\
716"#define\tae2f_stdcc_v\t(202302L)\n"\
717"#endif\n"\
718"\n"\
719"#endif\n"\
720"\n"\
721"#ifdef\t__STDC_VERSION__\n"\
722"#undef\tae2f_stdc_v\n"\
723"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
724"#else\n"\
725"\n"\
726"#undef\tae2f_stdc_v\n"\
727"#define ae2f_stdc_v\t(199001L)\n"\
728"\n"\
729"#if __ae2f_lvcheck_c(1999)\n"\
730"#undef\tae2f_stdc_v\n"\
731"#define ae2f_stdc_v\t(199901L)\n"\
732"#endif\n"\
733"\n"\
734"#if __ae2f_lvcheck_c(2011)\n"\
735"#undef\tae2f_stdc_v\n"\
736"#define ae2f_stdc_v\t(201112L)\n"\
737"#endif\n"\
738"\n"\
739"#if __ae2f_lvcheck_c(2017)\n"\
740"#undef\tae2f_stdc_v\n"\
741"#define ae2f_stdc_v\t(201710L)\n"\
742"#endif\n"\
743"\n"\
744"#if __ae2f_lvcheck_c(2023)\n"\
745"#undef\tae2f_stdc_v\n"\
746"#define ae2f_stdc_v\t(202311L)\n"\
747"#endif\n"\
748"\n"\
749"#endif\n"\
750"\n"\
751"#undef\t__ae2f_stdcheck_C\n"\
752"#undef\t__ae2f_stdcheck_CC\n"\
753"\n"\
754"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
755"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
756"\n"\
757"\n"\
758"\n"\
759"\n"\
760"#if __ae2f_stdcheck_CC(201703L)\n"\
761"#define ae2f_if_constexpr if constexpr\n"\
762"#else\n"\
763"#define ae2f_if_constexpr if\n"\
764"#endif\n"\
765"\n"\
766"#if __ae2f_stdcheck_CC(202002L)\n"\
767"#define ae2f_if_consteval\tif consteval\n"\
768"#else\n"\
769"#define ae2f_if_consteval\tif (0)\n"\
770"#endif\n"\
771"\n"\
772"#if __ae2f_stdcheck_CC(202002L)\n"\
773"#define ae2f_constexprvirtual constexpr virtual\n"\
774"#define ae2f_constinit\tconstinit\n"\
775"#else\n"\
776"#define ae2f_constexprvirtual virtual\n"\
777"#define ae2f_constinit\t\n"\
778"#endif \n"\
779"\n"\
780"#if __ae2f_stdcheck_CC(201402L)\n"\
781"#define ae2f_constextendedfun\tconstexpr\n"\
782"#define ae2f_constextendedeval \tconstexpr\n"\
783"\n"\
784"#define ae2f_constextendedmethod\tconstexpr\n"\
785"#define ae2f_constextendedmethodeval\tconstexpr\n"\
786"\n"\
787"#else\n"\
788"#define ae2f_constextendedfun\tinline\n"\
789"#define ae2f_constextendedmethod\tinline\n"\
790"\n"\
791"#define ae2f_constextendedeval\tinline\n"\
792"#define ae2f_constextendedmethodeval\tinline\n"\
793"#endif \n"\
794"\n"\
795"#if __ae2f_stdcheck_CC(201103L)\n"\
796"#define ae2f_constexprmethod\t\tconstexpr\n"\
797"#define ae2f_constexprfun\t\tconstexpr\n"\
798"#define ae2f_constevalmethod\t\tconstexpr\n"\
799"#define ae2f_virtual\t\tvirtual\n"\
800"#else\n"\
801"#define ae2f_constexprmethod\t\tinline\n"\
802"#define ae2f_constexprfun\t\tinline\n"\
803"#define ae2f_constevalmethod\t\tinline\n"\
804"#define ae2f_virtual\t\t\n"\
805"\n"\
806"#if !defined(__cplusplus) \n"\
807"\n"\
808"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
809"\n"\
810"#define ae2f_constexpr\tconstexpr\n"\
811"#else\n"\
812"#define ae2f_constexpr\n"\
813"#endif \n"\
814"\n"\
815"\n"\
816"#endif \n"\
817"\n"\
818"#endif \n"\
819"\n"\
820"#if __ae2f_stdcheck_CC(202002L)\n"\
821"#undef ae2f_constevalmethod\n"\
822"#define ae2f_constevalmethod consteval \n"\
823"#define ae2f_consteval\tconsteval\n"\
824"#elif __ae2f_stdcheck_CC(0)\n"\
825"\n"\
826"#undef constevalmethod\n"\
827"\n"\
828"\n"\
829"#define ae2f_consteval\n"\
830"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
831"\n"\
832"#else\n"\
833"\n"\
834"#define ae2f_consteval\n"\
835"#endif \n"\
836"\n"\
837"#endif\n"\
838"\n"\
839"#if 90 >= 50\n"\
840"#define ae2f_LangVer_C 1990\n"\
841"#else\n"\
842"#define ae2f_LangVer_C 2090\n"\
843"#endif\n"\
844"\n"\
845"#if 11 >= 50\n"\
846"#define ae2f_LangVer_CC 1911\n"\
847"#else\n"\
848"#define ae2f_LangVer_CC 2011\n"\
849"#endif\n"\
850"\n"\
851"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
852"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
853"\n"\
854"\n"\
855"\n"\
856"#ifndef ae2f_Cxx_h\n"\
857"#define ae2f_Cxx_h\n"\
858"\n"\
859"\n"\
860"\n"\
861"#define ae2f_NONE\n"\
862"\n"\
863"#if __cplusplus\n"\
864"\n"\
865"\n"\
866"\n"\
867"\n"\
868"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
869"\n"\
870"\n"\
871"\n"\
872"#define ae2f_WhenC(...) ae2f_NONE\n"\
873"\n"\
874"#else\n"\
875"\n"\
876"\n"\
877"\n"\
878"#define ae2f_WhenC(...) __VA_ARGS__\n"\
879"\n"\
880"\n"\
881"\n"\
882"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
883"\n"\
884"#endif\n"\
885"\n"\
886"\n"\
887"\n"\
888"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
889"\n"\
890"\n"\
891"\n"\
892"\n"\
893"\n"\
894"#define ae2f_c_check && !ae2f_is_cxx\n"\
895"\n"\
896"\n"\
897"\n"\
898"\n"\
899"\n"\
900"#define ae2f_cxx_check && ae2f_is_cxx\n"\
901"\n"\
902"\n"\
903"\n"\
904"#ifndef ae2f_Cxx_Reg_h\n"\
905"#define ae2f_Cxx_Reg_h\n"\
906"\n"\
907"\n"\
908"\n"\
909"#ifndef ae2f_Cxx_h\n"\
910"#define ae2f_Cxx_h\n"\
911"\n"\
912"\n"\
913"\n"\
914"#define ae2f_NONE\n"\
915"\n"\
916"#if __cplusplus\n"\
917"\n"\
918"\n"\
919"\n"\
920"\n"\
921"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
922"\n"\
923"\n"\
924"\n"\
925"#define ae2f_WhenC(...) ae2f_NONE\n"\
926"\n"\
927"#else\n"\
928"\n"\
929"\n"\
930"\n"\
931"#define ae2f_WhenC(...) __VA_ARGS__\n"\
932"\n"\
933"\n"\
934"\n"\
935"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
936"\n"\
937"#endif\n"\
938"\n"\
939"\n"\
940"\n"\
941"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
942"\n"\
943"\n"\
944"\n"\
945"\n"\
946"\n"\
947"#define ae2f_c_check && !ae2f_is_cxx\n"\
948"\n"\
949"\n"\
950"\n"\
951"\n"\
952"\n"\
953"#define ae2f_cxx_check && ae2f_is_cxx\n"\
954"\n"\
955"\n"\
956"\n"\
957"#ifndef ae2f_Cxx_Reg_h\n"\
958"#define ae2f_Cxx_Reg_h\n"\
959"\n"\
960"\n"\
961"\n"\
962"#ifndef ae2f_Cxx_h\n"\
963"#define ae2f_Cxx_h\n"\
964"\n"\
965"\n"\
966"\n"\
967"#define ae2f_NONE\n"\
968"\n"\
969"#if __cplusplus\n"\
970"\n"\
971"\n"\
972"\n"\
973"\n"\
974"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
975"\n"\
976"\n"\
977"\n"\
978"#define ae2f_WhenC(...) ae2f_NONE\n"\
979"\n"\
980"#else\n"\
981"\n"\
982"\n"\
983"\n"\
984"#define ae2f_WhenC(...) __VA_ARGS__\n"\
985"\n"\
986"\n"\
987"\n"\
988"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
989"\n"\
990"#endif\n"\
991"\n"\
992"\n"\
993"\n"\
994"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
995"\n"\
996"\n"\
997"\n"\
998"\n"\
999"\n"\
1000"#define ae2f_c_check && !ae2f_is_cxx\n"\
1001"\n"\
1002"\n"\
1003"\n"\
1004"\n"\
1005"\n"\
1006"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1007"\n"\
1008"\n"\
1009"\n"\
1010"#ifndef ae2f_Cxx_Reg_h\n"\
1011"#define ae2f_Cxx_Reg_h\n"\
1012"\n"\
1013"\n"\
1014"\n"\
1015"#ifndef ae2f_Cxx_h\n"\
1016"#define ae2f_Cxx_h\n"\
1017"\n"\
1018"\n"\
1019"\n"\
1020"#define ae2f_NONE\n"\
1021"\n"\
1022"#if __cplusplus\n"\
1023"\n"\
1024"\n"\
1025"\n"\
1026"\n"\
1027"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1028"\n"\
1029"\n"\
1030"\n"\
1031"#define ae2f_WhenC(...) ae2f_NONE\n"\
1032"\n"\
1033"#else\n"\
1034"\n"\
1035"\n"\
1036"\n"\
1037"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1038"\n"\
1039"\n"\
1040"\n"\
1041"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1042"\n"\
1043"#endif\n"\
1044"\n"\
1045"\n"\
1046"\n"\
1047"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1048"\n"\
1049"\n"\
1050"\n"\
1051"\n"\
1052"\n"\
1053"#define ae2f_c_check && !ae2f_is_cxx\n"\
1054"\n"\
1055"\n"\
1056"\n"\
1057"\n"\
1058"\n"\
1059"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1060"\n"\
1061"\n"\
1062"\n"\
1063"#ifndef ae2f_Cxx_Reg_h\n"\
1064"#define ae2f_Cxx_Reg_h\n"\
1065"\n"\
1066"\n"\
1067"\n"\
1068"#ifndef ae2f_Cxx_h\n"\
1069"#define ae2f_Cxx_h\n"\
1070"\n"\
1071"\n"\
1072"\n"\
1073"#define ae2f_NONE\n"\
1074"\n"\
1075"#if __cplusplus\n"\
1076"\n"\
1077"\n"\
1078"\n"\
1079"\n"\
1080"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1081"\n"\
1082"\n"\
1083"\n"\
1084"#define ae2f_WhenC(...) ae2f_NONE\n"\
1085"\n"\
1086"#else\n"\
1087"\n"\
1088"\n"\
1089"\n"\
1090"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1091"\n"\
1092"\n"\
1093"\n"\
1094"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1095"\n"\
1096"#endif\n"\
1097"\n"\
1098"\n"\
1099"\n"\
1100"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1101"\n"\
1102"\n"\
1103"\n"\
1104"\n"\
1105"\n"\
1106"#define ae2f_c_check && !ae2f_is_cxx\n"\
1107"\n"\
1108"\n"\
1109"\n"\
1110"\n"\
1111"\n"\
1112"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1113"\n"\
1114"\n"\
1115"\n"\
1116"#ifndef ae2f_Cxx_Reg_h\n"\
1117"#define ae2f_Cxx_Reg_h\n"\
1118"\n"\
1119"\n"\
1120"\n"\
1121"#ifndef ae2f_Cxx_h\n"\
1122"#define ae2f_Cxx_h\n"\
1123"\n"\
1124"\n"\
1125"\n"\
1126"#define ae2f_NONE\n"\
1127"\n"\
1128"#if __cplusplus\n"\
1129"\n"\
1130"\n"\
1131"\n"\
1132"\n"\
1133"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1134"\n"\
1135"\n"\
1136"\n"\
1137"#define ae2f_WhenC(...) ae2f_NONE\n"\
1138"\n"\
1139"#else\n"\
1140"\n"\
1141"\n"\
1142"\n"\
1143"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1144"\n"\
1145"\n"\
1146"\n"\
1147"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1148"\n"\
1149"#endif\n"\
1150"\n"\
1151"\n"\
1152"\n"\
1153"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1154"\n"\
1155"\n"\
1156"\n"\
1157"\n"\
1158"\n"\
1159"#define ae2f_c_check && !ae2f_is_cxx\n"\
1160"\n"\
1161"\n"\
1162"\n"\
1163"\n"\
1164"\n"\
1165"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1166"\n"\
1167"\n"\
1168"\n"\
1169"#ifndef ae2f_Cxx_Reg_h\n"\
1170"#define ae2f_Cxx_Reg_h\n"\
1171"\n"\
1172"\n"\
1173"\n"\
1174"#ifndef ae2f_Cxx_h\n"\
1175"#define ae2f_Cxx_h\n"\
1176"\n"\
1177"\n"\
1178"\n"\
1179"#define ae2f_NONE\n"\
1180"\n"\
1181"#if __cplusplus\n"\
1182"\n"\
1183"\n"\
1184"\n"\
1185"\n"\
1186"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1187"\n"\
1188"\n"\
1189"\n"\
1190"#define ae2f_WhenC(...) ae2f_NONE\n"\
1191"\n"\
1192"#else\n"\
1193"\n"\
1194"\n"\
1195"\n"\
1196"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1197"\n"\
1198"\n"\
1199"\n"\
1200"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1201"\n"\
1202"#endif\n"\
1203"\n"\
1204"\n"\
1205"\n"\
1206"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1207"\n"\
1208"\n"\
1209"\n"\
1210"\n"\
1211"\n"\
1212"#define ae2f_c_check && !ae2f_is_cxx\n"\
1213"\n"\
1214"\n"\
1215"\n"\
1216"\n"\
1217"\n"\
1218"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1219"\n"\
1220"\n"\
1221"\n"\
1222"#ifndef ae2f_Cxx_Reg_h\n"\
1223"#define ae2f_Cxx_Reg_h\n"\
1224"\n"\
1225"\n"\
1226"\n"\
1227"#ifndef ae2f_Cxx_h\n"\
1228"#define ae2f_Cxx_h\n"\
1229"\n"\
1230"\n"\
1231"\n"\
1232"#define ae2f_NONE\n"\
1233"\n"\
1234"#if __cplusplus\n"\
1235"\n"\
1236"\n"\
1237"\n"\
1238"\n"\
1239"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1240"\n"\
1241"\n"\
1242"\n"\
1243"#define ae2f_WhenC(...) ae2f_NONE\n"\
1244"\n"\
1245"#else\n"\
1246"\n"\
1247"\n"\
1248"\n"\
1249"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1250"\n"\
1251"\n"\
1252"\n"\
1253"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1254"\n"\
1255"#endif\n"\
1256"\n"\
1257"\n"\
1258"\n"\
1259"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1260"\n"\
1261"\n"\
1262"\n"\
1263"\n"\
1264"\n"\
1265"#define ae2f_c_check && !ae2f_is_cxx\n"\
1266"\n"\
1267"\n"\
1268"\n"\
1269"\n"\
1270"\n"\
1271"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1272"\n"\
1273"\n"\
1274"\n"\
1275"#ifndef ae2f_Cxx_Reg_h\n"\
1276"#define ae2f_Cxx_Reg_h\n"\
1277"\n"\
1278"\n"\
1279"\n"\
1280"#ifndef ae2f_Cxx_h\n"\
1281"#define ae2f_Cxx_h\n"\
1282"\n"\
1283"\n"\
1284"\n"\
1285"#define ae2f_NONE\n"\
1286"\n"\
1287"#if __cplusplus\n"\
1288"\n"\
1289"\n"\
1290"\n"\
1291"\n"\
1292"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1293"\n"\
1294"\n"\
1295"\n"\
1296"#define ae2f_WhenC(...) ae2f_NONE\n"\
1297"\n"\
1298"#else\n"\
1299"\n"\
1300"\n"\
1301"\n"\
1302"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1303"\n"\
1304"\n"\
1305"\n"\
1306"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1307"\n"\
1308"#endif\n"\
1309"\n"\
1310"\n"\
1311"\n"\
1312"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1313"\n"\
1314"\n"\
1315"\n"\
1316"\n"\
1317"\n"\
1318"#define ae2f_c_check && !ae2f_is_cxx\n"\
1319"\n"\
1320"\n"\
1321"\n"\
1322"\n"\
1323"\n"\
1324"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1325"\n"\
1326"\n"\
1327"\n"\
1328"#ifndef ae2f_Cxx_Reg_h\n"\
1329"#define ae2f_Cxx_Reg_h\n"\
1330"\n"\
1331"\n"\
1332"\n"\
1333"#ifndef ae2f_Cxx_h\n"\
1334"#define ae2f_Cxx_h\n"\
1335"\n"\
1336"\n"\
1337"\n"\
1338"#define ae2f_NONE\n"\
1339"\n"\
1340"#if __cplusplus\n"\
1341"\n"\
1342"\n"\
1343"\n"\
1344"\n"\
1345"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1346"\n"\
1347"\n"\
1348"\n"\
1349"#define ae2f_WhenC(...) ae2f_NONE\n"\
1350"\n"\
1351"#else\n"\
1352"\n"\
1353"\n"\
1354"\n"\
1355"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1356"\n"\
1357"\n"\
1358"\n"\
1359"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1360"\n"\
1361"#endif\n"\
1362"\n"\
1363"\n"\
1364"\n"\
1365"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1366"\n"\
1367"\n"\
1368"\n"\
1369"\n"\
1370"\n"\
1371"#define ae2f_c_check && !ae2f_is_cxx\n"\
1372"\n"\
1373"\n"\
1374"\n"\
1375"\n"\
1376"\n"\
1377"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1378"\n"\
1379"\n"\
1380"\n"\
1381"#ifndef ae2f_Cxx_Reg_h\n"\
1382"#define ae2f_Cxx_Reg_h\n"\
1383"\n"\
1384"\n"\
1385"\n"\
1386"#ifndef ae2f_Cxx_h\n"\
1387"#define ae2f_Cxx_h\n"\
1388"\n"\
1389"\n"\
1390"\n"\
1391"#define ae2f_NONE\n"\
1392"\n"\
1393"#if __cplusplus\n"\
1394"\n"\
1395"\n"\
1396"\n"\
1397"\n"\
1398"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1399"\n"\
1400"\n"\
1401"\n"\
1402"#define ae2f_WhenC(...) ae2f_NONE\n"\
1403"\n"\
1404"#else\n"\
1405"\n"\
1406"\n"\
1407"\n"\
1408"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1409"\n"\
1410"\n"\
1411"\n"\
1412"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1413"\n"\
1414"#endif\n"\
1415"\n"\
1416"\n"\
1417"\n"\
1418"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1419"\n"\
1420"\n"\
1421"\n"\
1422"\n"\
1423"\n"\
1424"#define ae2f_c_check && !ae2f_is_cxx\n"\
1425"\n"\
1426"\n"\
1427"\n"\
1428"\n"\
1429"\n"\
1430"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1431"\n"\
1432"\n"\
1433"\n"\
1434"#ifndef ae2f_Cxx_Reg_h\n"\
1435"#define ae2f_Cxx_Reg_h\n"\
1436"\n"\
1437"\n"\
1438"\n"\
1439"#ifndef ae2f_Cxx_h\n"\
1440"#define ae2f_Cxx_h\n"\
1441"\n"\
1442"\n"\
1443"\n"\
1444"#define ae2f_NONE\n"\
1445"\n"\
1446"#if __cplusplus\n"\
1447"\n"\
1448"\n"\
1449"\n"\
1450"\n"\
1451"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1452"\n"\
1453"\n"\
1454"\n"\
1455"#define ae2f_WhenC(...) ae2f_NONE\n"\
1456"\n"\
1457"#else\n"\
1458"\n"\
1459"\n"\
1460"\n"\
1461"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1462"\n"\
1463"\n"\
1464"\n"\
1465"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1466"\n"\
1467"#endif\n"\
1468"\n"\
1469"\n"\
1470"\n"\
1471"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1472"\n"\
1473"\n"\
1474"\n"\
1475"\n"\
1476"\n"\
1477"#define ae2f_c_check && !ae2f_is_cxx\n"\
1478"\n"\
1479"\n"\
1480"\n"\
1481"\n"\
1482"\n"\
1483"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1484"\n"\
1485"\n"\
1486"\n"\
1487"#ifndef ae2f_Cxx_Reg_h\n"\
1488"#define ae2f_Cxx_Reg_h\n"\
1489"\n"\
1490"\n"\
1491"\n"\
1492"#ifndef ae2f_Cxx_h\n"\
1493"#define ae2f_Cxx_h\n"\
1494"\n"\
1495"\n"\
1496"\n"\
1497"#define ae2f_NONE\n"\
1498"\n"\
1499"#if __cplusplus\n"\
1500"\n"\
1501"\n"\
1502"\n"\
1503"\n"\
1504"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1505"\n"\
1506"\n"\
1507"\n"\
1508"#define ae2f_WhenC(...) ae2f_NONE\n"\
1509"\n"\
1510"#else\n"\
1511"\n"\
1512"\n"\
1513"\n"\
1514"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1515"\n"\
1516"\n"\
1517"\n"\
1518"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1519"\n"\
1520"#endif\n"\
1521"\n"\
1522"\n"\
1523"\n"\
1524"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1525"\n"\
1526"\n"\
1527"\n"\
1528"\n"\
1529"\n"\
1530"#define ae2f_c_check && !ae2f_is_cxx\n"\
1531"\n"\
1532"\n"\
1533"\n"\
1534"\n"\
1535"\n"\
1536"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1537"\n"\
1538"\n"\
1539"\n"\
1540"#ifndef ae2f_Cxx_Reg_h\n"\
1541"#define ae2f_Cxx_Reg_h\n"\
1542"\n"\
1543"\n"\
1544"\n"\
1545"#ifndef ae2f_Cxx_h\n"\
1546"#define ae2f_Cxx_h\n"\
1547"\n"\
1548"\n"\
1549"\n"\
1550"#define ae2f_NONE\n"\
1551"\n"\
1552"#if __cplusplus\n"\
1553"\n"\
1554"\n"\
1555"\n"\
1556"\n"\
1557"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1558"\n"\
1559"\n"\
1560"\n"\
1561"#define ae2f_WhenC(...) ae2f_NONE\n"\
1562"\n"\
1563"#else\n"\
1564"\n"\
1565"\n"\
1566"\n"\
1567"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1568"\n"\
1569"\n"\
1570"\n"\
1571"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1572"\n"\
1573"#endif\n"\
1574"\n"\
1575"\n"\
1576"\n"\
1577"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1578"\n"\
1579"\n"\
1580"\n"\
1581"\n"\
1582"\n"\
1583"#define ae2f_c_check && !ae2f_is_cxx\n"\
1584"\n"\
1585"\n"\
1586"\n"\
1587"\n"\
1588"\n"\
1589"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1590"\n"\
1591"\n"\
1592"\n"\
1593"#ifndef ae2f_Cxx_Reg_h\n"\
1594"#define ae2f_Cxx_Reg_h\n"\
1595"\n"\
1596"\n"\
1597"\n"\
1598"#ifndef ae2f_Cxx_h\n"\
1599"#define ae2f_Cxx_h\n"\
1600"\n"\
1601"\n"\
1602"\n"\
1603"#define ae2f_NONE\n"\
1604"\n"\
1605"#if __cplusplus\n"\
1606"\n"\
1607"\n"\
1608"\n"\
1609"\n"\
1610"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1611"\n"\
1612"\n"\
1613"\n"\
1614"#define ae2f_WhenC(...) ae2f_NONE\n"\
1615"\n"\
1616"#else\n"\
1617"\n"\
1618"\n"\
1619"\n"\
1620"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1621"\n"\
1622"\n"\
1623"\n"\
1624"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1625"\n"\
1626"#endif\n"\
1627"\n"\
1628"\n"\
1629"\n"\
1630"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1631"\n"\
1632"\n"\
1633"\n"\
1634"\n"\
1635"\n"\
1636"#define ae2f_c_check && !ae2f_is_cxx\n"\
1637"\n"\
1638"\n"\
1639"\n"\
1640"\n"\
1641"\n"\
1642"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1643"\n"\
1644"\n"\
1645"\n"\
1646"#ifndef ae2f_Cxx_Reg_h\n"\
1647"#define ae2f_Cxx_Reg_h\n"\
1648"\n"\
1649"\n"\
1650"\n"\
1651"#ifndef ae2f_Cxx_h\n"\
1652"#define ae2f_Cxx_h\n"\
1653"\n"\
1654"\n"\
1655"\n"\
1656"#define ae2f_NONE\n"\
1657"\n"\
1658"#if __cplusplus\n"\
1659"\n"\
1660"\n"\
1661"\n"\
1662"\n"\
1663"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1664"\n"\
1665"\n"\
1666"\n"\
1667"#define ae2f_WhenC(...) ae2f_NONE\n"\
1668"\n"\
1669"#else\n"\
1670"\n"\
1671"\n"\
1672"\n"\
1673"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1674"\n"\
1675"\n"\
1676"\n"\
1677"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1678"\n"\
1679"#endif\n"\
1680"\n"\
1681"\n"\
1682"\n"\
1683"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1684"\n"\
1685"\n"\
1686"\n"\
1687"\n"\
1688"\n"\
1689"#define ae2f_c_check && !ae2f_is_cxx\n"\
1690"\n"\
1691"\n"\
1692"\n"\
1693"\n"\
1694"\n"\
1695"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1696"\n"\
1697"\n"\
1698"\n"\
1699"#ifndef ae2f_Cxx_Reg_h\n"\
1700"#define ae2f_Cxx_Reg_h\n"\
1701"\n"\
1702"\n"\
1703"\n"\
1704"#ifndef ae2f_Cxx_h\n"\
1705"#define ae2f_Cxx_h\n"\
1706"\n"\
1707"\n"\
1708"\n"\
1709"#define ae2f_NONE\n"\
1710"\n"\
1711"#if __cplusplus\n"\
1712"\n"\
1713"\n"\
1714"\n"\
1715"\n"\
1716"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1717"\n"\
1718"\n"\
1719"\n"\
1720"#define ae2f_WhenC(...) ae2f_NONE\n"\
1721"\n"\
1722"#else\n"\
1723"\n"\
1724"\n"\
1725"\n"\
1726"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1727"\n"\
1728"\n"\
1729"\n"\
1730"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1731"\n"\
1732"#endif\n"\
1733"\n"\
1734"\n"\
1735"\n"\
1736"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1737"\n"\
1738"\n"\
1739"\n"\
1740"\n"\
1741"\n"\
1742"#define ae2f_c_check && !ae2f_is_cxx\n"\
1743"\n"\
1744"\n"\
1745"\n"\
1746"\n"\
1747"\n"\
1748"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1749"\n"\
1750"\n"\
1751"\n"\
1752"#ifndef ae2f_Cxx_Reg_h\n"\
1753"#define ae2f_Cxx_Reg_h\n"\
1754"\n"\
1755"\n"\
1756"\n"\
1757"#ifndef ae2f_Cxx_h\n"\
1758"#define ae2f_Cxx_h\n"\
1759"\n"\
1760"\n"\
1761"\n"\
1762"#define ae2f_NONE\n"\
1763"\n"\
1764"#if __cplusplus\n"\
1765"\n"\
1766"\n"\
1767"\n"\
1768"\n"\
1769"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1770"\n"\
1771"\n"\
1772"\n"\
1773"#define ae2f_WhenC(...) ae2f_NONE\n"\
1774"\n"\
1775"#else\n"\
1776"\n"\
1777"\n"\
1778"\n"\
1779"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1780"\n"\
1781"\n"\
1782"\n"\
1783"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1784"\n"\
1785"#endif\n"\
1786"\n"\
1787"\n"\
1788"\n"\
1789"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1790"\n"\
1791"\n"\
1792"\n"\
1793"\n"\
1794"\n"\
1795"#define ae2f_c_check && !ae2f_is_cxx\n"\
1796"\n"\
1797"\n"\
1798"\n"\
1799"\n"\
1800"\n"\
1801"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1802"\n"\
1803"\n"\
1804"\n"\
1805"#ifndef ae2f_Cxx_Reg_h\n"\
1806"#define ae2f_Cxx_Reg_h\n"\
1807"\n"\
1808"\n"\
1809"\n"\
1810"#ifndef ae2f_Cxx_h\n"\
1811"#define ae2f_Cxx_h\n"\
1812"\n"\
1813"\n"\
1814"\n"\
1815"#define ae2f_NONE\n"\
1816"\n"\
1817"#if __cplusplus\n"\
1818"\n"\
1819"\n"\
1820"\n"\
1821"\n"\
1822"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1823"\n"\
1824"\n"\
1825"\n"\
1826"#define ae2f_WhenC(...) ae2f_NONE\n"\
1827"\n"\
1828"#else\n"\
1829"\n"\
1830"\n"\
1831"\n"\
1832"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1833"\n"\
1834"\n"\
1835"\n"\
1836"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1837"\n"\
1838"#endif\n"\
1839"\n"\
1840"\n"\
1841"\n"\
1842"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1843"\n"\
1844"\n"\
1845"\n"\
1846"\n"\
1847"\n"\
1848"#define ae2f_c_check && !ae2f_is_cxx\n"\
1849"\n"\
1850"\n"\
1851"\n"\
1852"\n"\
1853"\n"\
1854"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1855"\n"\
1856"\n"\
1857"\n"\
1858"#ifndef ae2f_Cxx_Reg_h\n"\
1859"#define ae2f_Cxx_Reg_h\n"\
1860"\n"\
1861"\n"\
1862"\n"\
1863"#ifndef ae2f_Cxx_h\n"\
1864"#define ae2f_Cxx_h\n"\
1865"\n"\
1866"\n"\
1867"\n"\
1868"#define ae2f_NONE\n"\
1869"\n"\
1870"#if __cplusplus\n"\
1871"\n"\
1872"\n"\
1873"\n"\
1874"\n"\
1875"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1876"\n"\
1877"\n"\
1878"\n"\
1879"#define ae2f_WhenC(...) ae2f_NONE\n"\
1880"\n"\
1881"#else\n"\
1882"\n"\
1883"\n"\
1884"\n"\
1885"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1886"\n"\
1887"\n"\
1888"\n"\
1889"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1890"\n"\
1891"#endif\n"\
1892"\n"\
1893"\n"\
1894"\n"\
1895"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1896"\n"\
1897"\n"\
1898"\n"\
1899"\n"\
1900"\n"\
1901"#define ae2f_c_check && !ae2f_is_cxx\n"\
1902"\n"\
1903"\n"\
1904"\n"\
1905"\n"\
1906"\n"\
1907"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1908"\n"\
1909"\n"\
1910"\n"\
1911"#ifndef ae2f_Cxx_Reg_h\n"\
1912"#define ae2f_Cxx_Reg_h\n"\
1913"\n"\
1914"\n"\
1915"\n"\
1916"#ifndef ae2f_Cxx_h\n"\
1917"#define ae2f_Cxx_h\n"\
1918"\n"\
1919"\n"\
1920"\n"\
1921"#define ae2f_NONE\n"\
1922"\n"\
1923"#if __cplusplus\n"\
1924"\n"\
1925"\n"\
1926"\n"\
1927"\n"\
1928"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1929"\n"\
1930"\n"\
1931"\n"\
1932"#define ae2f_WhenC(...) ae2f_NONE\n"\
1933"\n"\
1934"#else\n"\
1935"\n"\
1936"\n"\
1937"\n"\
1938"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1939"\n"\
1940"\n"\
1941"\n"\
1942"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1943"\n"\
1944"#endif\n"\
1945"\n"\
1946"\n"\
1947"\n"\
1948"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1949"\n"\
1950"\n"\
1951"\n"\
1952"\n"\
1953"\n"\
1954"#define ae2f_c_check && !ae2f_is_cxx\n"\
1955"\n"\
1956"\n"\
1957"\n"\
1958"\n"\
1959"\n"\
1960"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1961"\n"\
1962"\n"\
1963"\n"\
1964"#ifndef ae2f_Cxx_Reg_h\n"\
1965"#define ae2f_Cxx_Reg_h\n"\
1966"\n"\
1967"\n"\
1968"\n"\
1969"#ifndef ae2f_Cxx_h\n"\
1970"#define ae2f_Cxx_h\n"\
1971"\n"\
1972"\n"\
1973"\n"\
1974"#define ae2f_NONE\n"\
1975"\n"\
1976"#if __cplusplus\n"\
1977"\n"\
1978"\n"\
1979"\n"\
1980"\n"\
1981"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1982"\n"\
1983"\n"\
1984"\n"\
1985"#define ae2f_WhenC(...) ae2f_NONE\n"\
1986"\n"\
1987"#else\n"\
1988"\n"\
1989"\n"\
1990"\n"\
1991"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1992"\n"\
1993"\n"\
1994"\n"\
1995"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1996"\n"\
1997"#endif\n"\
1998"\n"\
1999"\n"\
2000"\n"\
2001"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2002"\n"\
2003"\n"\
2004"\n"\
2005"\n"\
2006"\n"\
2007"#define ae2f_c_check && !ae2f_is_cxx\n"\
2008"\n"\
2009"\n"\
2010"\n"\
2011"\n"\
2012"\n"\
2013"#define ae2f_cxx_check && ae2f_is_cxx\n"\
2014"\n"\
2015"\n"\
2016"\n"\
2017"#ifndef ae2f_Cxx_Reg_h\n"\
2018"#define ae2f_Cxx_Reg_h\n"\
2019"\n"\
2020"\n"\
2021"\n"\
2022"#ifndef ae2f_Cxx_h\n"\
2023"#define ae2f_Cxx_h\n"\
2024"\n"\
2025"\n"\
2026"\n"\
2027"#define ae2f_NONE\n"\
2028"\n"\
2029"#if __cplusplus\n"\
2030"\n"\
2031"\n"\
2032"\n"\
2033"\n"\
2034"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
2035"\n"\
2036"\n"\
2037"\n"\
2038"#define ae2f_WhenC(...) ae2f_NONE\n"\
2039"\n"\
2040"#else\n"\
2041"\n"\
2042"\n"\
2043"\n"\
2044"#define ae2f_WhenC(...) __VA_ARGS__\n"\
2045"\n"\
2046"\n"\
2047"\n"\
2048"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
2049"\n"\
2050"#endif\n"\
2051"\n"\
2052"\n"\
2053"\n"\
2054"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2055"\n"\
2056"\n"\
2057"\n"\
2058"\n"\
2059"\n"\
2060"#define ae2f_c_check && !ae2f_is_cxx\n"\
2061"\n"\
2062"\n"\
2063"\n"\
2064"\n"\
2065"\n"\
2066"#define ae2f_cxx_check && ae2f_is_cxx\n"\
2067"\n"\
2068"\n"\
2069"\n"\
2070"#ifndef ae2f_Cxx_Reg_h\n"\
2071"#define ae2f_Cxx_Reg_h\n"\
2072"\n"\
2073"\n"\
2074"\n"\
2075"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2076"\n"\
2077"#endif\n"\
2078"\n"\
2079"\n"\
2080"#endif\n"\
2081"\n"\
2082"\n"\
2083"\n"\
2084"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2085"\n"\
2086"#endif\n"\
2087"\n"\
2088"\n"\
2089"#endif\n"\
2090"\n"\
2091"\n"\
2092"\n"\
2093"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2094"\n"\
2095"#endif\n"\
2096"\n"\
2097"\n"\
2098"#endif\n"\
2099"\n"\
2100"\n"\
2101"\n"\
2102"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2103"\n"\
2104"#endif\n"\
2105"\n"\
2106"\n"\
2107"#endif\n"\
2108"\n"\
2109"\n"\
2110"\n"\
2111"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2112"\n"\
2113"#endif\n"\
2114"\n"\
2115"\n"\
2116"#endif\n"\
2117"\n"\
2118"\n"\
2119"\n"\
2120"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2121"\n"\
2122"#endif\n"\
2123"\n"\
2124"\n"\
2125"#endif\n"\
2126"\n"\
2127"\n"\
2128"\n"\
2129"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2130"\n"\
2131"#endif\n"\
2132"\n"\
2133"\n"\
2134"#endif\n"\
2135"\n"\
2136"\n"\
2137"\n"\
2138"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2139"\n"\
2140"#endif\n"\
2141"\n"\
2142"\n"\
2143"#endif\n"\
2144"\n"\
2145"\n"\
2146"\n"\
2147"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2148"\n"\
2149"#endif\n"\
2150"\n"\
2151"\n"\
2152"#endif\n"\
2153"\n"\
2154"\n"\
2155"\n"\
2156"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2157"\n"\
2158"#endif\n"\
2159"\n"\
2160"\n"\
2161"#endif\n"\
2162"\n"\
2163"\n"\
2164"\n"\
2165"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2166"\n"\
2167"#endif\n"\
2168"\n"\
2169"\n"\
2170"#endif\n"\
2171"\n"\
2172"\n"\
2173"\n"\
2174"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2175"\n"\
2176"#endif\n"\
2177"\n"\
2178"\n"\
2179"#endif\n"\
2180"\n"\
2181"\n"\
2182"\n"\
2183"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2184"\n"\
2185"#endif\n"\
2186"\n"\
2187"\n"\
2188"#endif\n"\
2189"\n"\
2190"\n"\
2191"\n"\
2192"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2193"\n"\
2194"#endif\n"\
2195"\n"\
2196"\n"\
2197"#endif\n"\
2198"\n"\
2199"\n"\
2200"\n"\
2201"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2202"\n"\
2203"#endif\n"\
2204"\n"\
2205"\n"\
2206"#endif\n"\
2207"\n"\
2208"\n"\
2209"\n"\
2210"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2211"\n"\
2212"#endif\n"\
2213"\n"\
2214"\n"\
2215"#endif\n"\
2216"\n"\
2217"\n"\
2218"\n"\
2219"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2220"\n"\
2221"#endif\n"\
2222"\n"\
2223"\n"\
2224"#endif\n"\
2225"\n"\
2226"\n"\
2227"\n"\
2228"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2229"\n"\
2230"#endif\n"\
2231"\n"\
2232"\n"\
2233"#endif\n"\
2234"\n"\
2235"\n"\
2236"\n"\
2237"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2238"\n"\
2239"#endif\n"\
2240"\n"\
2241"\n"\
2242"#endif\n"\
2243"\n"\
2244"\n"\
2245"\n"\
2246"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2247"\n"\
2248"#endif\n"\
2249"\n"\
2250"\n"\
2251"#endif\n"\
2252"\n"\
2253"\n"\
2254"\n"\
2255"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2256"\n"\
2257"#endif\n"\
2258"\n"\
2259"\n"\
2260"#endif\n"\
2261"\n"\
2262"\n"\
2263"\n"\
2264"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2265"\n"\
2266"#endif\n"\
2267"\n"\
2268"\n"\
2269"#endif\n"\
2270"\n"\
2271"\n"\
2272"\n"\
2273"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2274"\n"\
2275"#endif\n"\
2276"\n"\
2277"\n"\
2278"#endif\n"\
2279"\n"\
2280"\n"\
2281"\n"\
2282"\n"\
2283"#undef ae2f_LP\n"\
2284"#undef ae2f_NONE\n"\
2285"#undef ae2f_opt\n"\
2286"\n"\
2287"\n"\
2288"#define ae2f_NONE\n"\
2289"\n"\
2290"\n"\
2291"#define\tae2f_LP(...) ae2f_NONE\n"\
2292"\n"\
2293"\n"\
2294"#define ae2f_opt ae2f_NONE\n"\
2295"\n"\
2296"\n"\
2297"#define ae2f_FREE(...) ae2f_NONE\n"\
2298"\n"\
2299"\n"\
2300"#define ae2f_v ae2f_NONE\n"\
2301"\n"\
2302"\n"\
2303"\n"\
2304"\n"\
2305"#define ae2f_RecordMk(type, ...) \\\n"\
2306" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
2307"\n"\
2308"\n"\
2309"\n"\
2310"#define ae2f_static_cast(t, v) \\\n"\
2311" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
2312"\n"\
2313"\n"\
2314"\n"\
2315"#define ae2f_dynamic_cast(t, v) \\\n"\
2316" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
2317"\n"\
2318"\n"\
2319"\n"\
2320"#define ae2f_reinterpret_cast(t, v) \\\n"\
2321" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
2322"\n"\
2323"\n"\
2324"\n"\
2325"#define ae2f_const_cast(t, v) \\\n"\
2326" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
2327"\n"\
2328"\n"\
2329"\n"\
2330"\n"\
2331"\n"\
2332"\n"\
2333"\n"\
2334"\n"\
2335"\n"\
2336"\n"\
2337"\n"\
2338"\n"\
2339"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
2340" ae2f_WhenC((union { \\\n"\
2341" tThen a; \\\n"\
2342" tNow b; \\\n"\
2343" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
2344" ._b()\n"\
2345"\n"\
2346"\n"\
2347"\n"\
2348"\n"\
2349"\n"\
2350"\n"\
2351"#define ae2f_struct ae2f_WhenC(struct)\n"\
2352"\n"\
2353"\n"\
2354"\n"\
2355"\n"\
2356"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
2357"\n"\
2358"\n"\
2359"\n"\
2360"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
2361"\n"\
2362"\n"\
2363"\n"\
2364"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
2365"\n"\
2366"\n"\
2367"\n"\
2368"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
2369"\n"\
2370"\n"\
2371"#define unless(...) if (!(__VA_ARGS__))\n"\
2372"\n"\
2373"#define ae2f_structdef_v(key, name, ...) \\\n"\
2374" typedef key name __VA_ARGS__; \\\n"\
2375" key name\n"\
2376"\n"\
2377"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
2378"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
2379"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
2380"\n"\
2381"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
2382"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
2383"\n"\
2384"\n"\
2385"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
2386"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
2387"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
2388"\t\treturn nameeval tmpluse (prmuse); \\\n"\
2389"\t} \\\n"\
2390"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
2391"\n"\
2392"#if !__ae2f_stdcheck_CC(201103L)\n"\
2393"#undef\tae2f_noexcept\n"\
2394"#define ae2f_noexcept\n"\
2395"#else\n"\
2396"#define ae2f_noexcept noexcept\n"\
2397"#endif\n"\
2398"\n"\
2399"\n"\
2400"#undef\tae2f_restrict \n"\
2401"#if ae2f_stdc_v < 199901L\n"\
2402"#define ae2f_restrict\n"\
2403"#else\n"\
2404"#define ae2f_restrict restrict\n"\
2405"#endif \n"\
2406"\n"\
2407"#if __cplusplus\n"\
2408"#define ae2f_restrict\n"\
2409"#endif \n"\
2410"\n"\
2411"#if !__ae2f_stdcheck_CC(201103L)\n"\
2412"\n"\
2413"\n"\
2414"#define ae2f_noexcept\n"\
2415"#define ae2f_constexpr\n"\
2416"#else\n"\
2417"#define ae2f_noexcept noexcept\n"\
2418"#define ae2f_constexpr constexpr\n"\
2419"#endif \n"\
2420"\n"\
2421"#if ae2f_WhenC(!)0\n"\
2422"#undef ae2f_noexcept\n"\
2423"#define ae2f_noexcept\n"\
2424"#endif\n"\
2425"\n"\
2426"#endif\n"\
2427"\n"\
2428"\n"\
2429"\n"\
2430"#ifndef ae2f_Call_h\n"\
2431"#define ae2f_Call_h\n"\
2432"\n"\
2433"#define ON 1\n"\
2434"#define OFF 0\n"\
2435"\n"\
2436"#if (defined(_WIN32) || defined(_WIN64))\n"\
2437"#define ae2f_IS_WIN 1\n"\
2438"#else \n"\
2439"#define ae2f_IS_WIN 0\n"\
2440"#endif\n"\
2441"\n"\
2442"#if (defined(__linux__))\n"\
2443"#define ae2f_IS_LINUX 1\n"\
2444"#else \n"\
2445"#define ae2f_IS_LINUX 0\n"\
2446"#endif\n"\
2447"\n"\
2448"#if defined(__MACH__) || defined(__APPLE__)\n"\
2449"#define ae2f_IS_APPLE 1\n"\
2450"#else\n"\
2451"#define ae2f_IS_APPLE 0\n"\
2452"#endif\n"\
2453"\n"\
2454"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
2455"\n"\
2456"\n"\
2457"\n"\
2458"#define ae2f_IDK 1\n"\
2459"#else\n"\
2460"\n"\
2461"#define ae2f_IDK 0\n"\
2462"#endif\n"\
2463"\n"\
2464"\n"\
2465"\n"\
2466"\n"\
2467"#define ae2f_IS_SHARED ON\n"\
2468"\n"\
2469"\n"\
2470"#if ae2f_IS_SHARED\n"\
2471"\n"\
2472"#if ae2f_IS_WIN\n"\
2473"\n"\
2474"\n"\
2475"\n"\
2476"\n"\
2477"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
2478"\n"\
2479"\n"\
2480"\n"\
2481"\n"\
2482"\n"\
2483"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
2484"#endif\n"\
2485"\n"\
2486"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
2487"\n"\
2488"\n"\
2489"\n"\
2490"\n"\
2491"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
2492"\n"\
2493"\n"\
2494"\n"\
2495"\n"\
2496"\n"\
2497"#define ae2f_SHAREDCALL\n"\
2498"#endif\n"\
2499"\n"\
2500"\n"\
2501"\n"\
2502"#else\n"\
2503"\n"\
2504"\n"\
2505"\n"\
2506"\n"\
2507"\n"\
2508"#define ae2f_SHAREDEXPORT\n"\
2509"\n"\
2510"\n"\
2511"\n"\
2512"\n"\
2513"#define ae2f_SHAREDCALL\n"\
2514"#endif\n"\
2515"\n"\
2516"#endif\n"\
2517"\n"\
2518"\n"\
2519"#undef ae2f_LP\n"\
2520"#undef ae2f_NONE\n"\
2521"#undef ae2f_opt\n"\
2522"\n"\
2523"\n"\
2524"#define ae2f_NONE\n"\
2525"\n"\
2526"\n"\
2527"#define\tae2f_LP(...) ae2f_NONE\n"\
2528"\n"\
2529"\n"\
2530"#define ae2f_opt ae2f_NONE\n"\
2531"\n"\
2532"\n"\
2533"#define ae2f_FREE(...) ae2f_NONE\n"\
2534"\n"\
2535"\n"\
2536"#define ae2f_v ae2f_NONE\n"\
2537"\n"\
2538"\n"\
2539"\n"\
2540"\n"\
2541"#ifndef ae2fCL_AnnAct_h\n"\
2542"#define ae2fCL_AnnAct_h\n"\
2543"\n"\
2544"\n"\
2545"\n"\
2546"\n"\
2547"#ifndef ae2f_Float_h\n"\
2548"#define ae2f_Float_h\n"\
2549"\n"\
2550"\n"\
2551"#ifndef ae2f_float_h\n"\
2552"#define ae2f_float_h\n"\
2553"\n"\
2554"\n"\
2555"\n"\
2556"\n"\
2557"\n"\
2558"#define ae2f_float float\n"\
2559"\n"\
2560"#endif \n"\
2561"\n"\
2562"\n"\
2563"typedef ae2f_float ae2f_float_t;\n"\
2564"\n"\
2565"#endif\n"\
2566"\n"\
2567"\n"\
2568"#undef ae2f_LP\n"\
2569"#undef ae2f_NONE\n"\
2570"#undef ae2f_opt\n"\
2571"\n"\
2572"\n"\
2573"#define ae2f_NONE\n"\
2574"\n"\
2575"\n"\
2576"#define\tae2f_LP(...) ae2f_NONE\n"\
2577"\n"\
2578"\n"\
2579"#define ae2f_opt ae2f_NONE\n"\
2580"\n"\
2581"\n"\
2582"#define ae2f_FREE(...) ae2f_NONE\n"\
2583"\n"\
2584"\n"\
2585"#define ae2f_v ae2f_NONE\n"\
2586"\n"\
2587"\n"\
2588"\n"\
2589"typedef void ae2f_AnnActFFN_t (\n"\
2590"\t\tae2f_float_t*\t\t\t\tret\n"\
2591"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
2592"\t\t, const size_t\t\t\t\tindex\n"\
2593"\t\t, const size_t\t\t\t\tcount\n"\
2594"\t\t);\n"\
2595"\n"\
2596"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
2597"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
2598"\n"\
2599"\n"\
2600"\n"\
2601"\n"\
2602"\n"\
2603"\n"\
2604"\n"\
2605"\n"\
2606"\n"\
2607"typedef void ae2f_AnnLossFFN_t (\n"\
2608"\t\tae2f_float_t* \t\t\t\tret,\n"\
2609"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
2610"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
2611"\t\tconst size_t\t\t\t\tindex,\n"\
2612"\t\tconst size_t\t\t\t\tcount\n"\
2613"\t\t);\n"\
2614"\n"\
2615"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
2616"\n"\
2617"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
2618"\t\tae2f_float_t* \t\t\t\tret,\n"\
2619"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
2620"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
2621"\t\tsize_t\t\t\t\t\tprm_len\n"\
2622"\t\t);\n"\
2623"\n"\
2624"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
2625"\t\tae2f_float_t*\t\t\t\tret,\n"\
2626"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
2627"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
2628"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
2629"\t\tsize_t\t\t\t\t\tprm_len\n"\
2630"\t\t);\n"\
2631"\n"\
2632"#endif\n"\
2633"\n"\
2634"#ifndef ae2f_Ann_Util_h\n"\
2635"#define ae2f_Ann_Util_h\n"\
2636"\n"\
2637"\n"\
2638"\n"\
2639"#if !defined(ae2f_Cast_h)\n"\
2640"\n"\
2641"\n"\
2642"\n"\
2643"#define ae2f_Cast_h\n"\
2644"\n"\
2645"\n"\
2646"\n"\
2647"\n"\
2648"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
2649"\n"\
2650"\n"\
2651"\n"\
2652"\n"\
2653"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
2654"\n"\
2655"\n"\
2656"\n"\
2657"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
2658"#define ae2f_Cast_CasterUnion_hpp\n"\
2659"\n"\
2660"#ifndef ae2f_Cast_consteval_hpp\n"\
2661"#define ae2f_Cast_consteval_hpp\n"\
2662"#if 90 >= 50\n"\
2663"#define ae2f_LangVer_C 1990\n"\
2664"#else\n"\
2665"#define ae2f_LangVer_C 2090\n"\
2666"#endif\n"\
2667"\n"\
2668"#if 11 >= 50\n"\
2669"#define ae2f_LangVer_CC 1911\n"\
2670"#else\n"\
2671"#define ae2f_LangVer_CC 2011\n"\
2672"#endif\n"\
2673"\n"\
2674"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2675"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2676"\n"\
2677"\n"\
2678"#ifdef\t__cplusplus\n"\
2679"#undef\tae2f_stdcc_v\n"\
2680"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2681"#else\n"\
2682"\n"\
2683"#undef\tae2f_stdcc_v\n"\
2684"#define\tae2f_stdcc_v\t(199711L)\n"\
2685"\n"\
2686"#if __ae2f_lvcheck_cc(2011)\n"\
2687"#undef\tae2f_stdcc_v\n"\
2688"#define\tae2f_stdcc_v\t(201103L)\n"\
2689"#endif\n"\
2690"\n"\
2691"#if __ae2f_lvcheck_cc(2014)\n"\
2692"#undef\tae2f_stdcc_v\n"\
2693"#define\tae2f_stdcc_v\t(201402L)\n"\
2694"#endif\n"\
2695"\n"\
2696"#if __ae2f_lvcheck_cc(2017)\n"\
2697"#undef\tae2f_stdcc_v\n"\
2698"#define\tae2f_stdcc_v\t(201703L)\n"\
2699"#endif\n"\
2700"\n"\
2701"#if __ae2f_lvcheck_cc(2020)\n"\
2702"#undef\tae2f_stdcc_v\n"\
2703"#define\tae2f_stdcc_v\t(202002L)\n"\
2704"#endif\n"\
2705"\n"\
2706"#if __ae2f_lvcheck_cc(2023)\n"\
2707"#undef\tae2f_stdcc_v\n"\
2708"#define\tae2f_stdcc_v\t(202302L)\n"\
2709"#endif\n"\
2710"\n"\
2711"#endif\n"\
2712"\n"\
2713"#ifdef\t__STDC_VERSION__\n"\
2714"#undef\tae2f_stdc_v\n"\
2715"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2716"#else\n"\
2717"\n"\
2718"#undef\tae2f_stdc_v\n"\
2719"#define ae2f_stdc_v\t(199001L)\n"\
2720"\n"\
2721"#if __ae2f_lvcheck_c(1999)\n"\
2722"#undef\tae2f_stdc_v\n"\
2723"#define ae2f_stdc_v\t(199901L)\n"\
2724"#endif\n"\
2725"\n"\
2726"#if __ae2f_lvcheck_c(2011)\n"\
2727"#undef\tae2f_stdc_v\n"\
2728"#define ae2f_stdc_v\t(201112L)\n"\
2729"#endif\n"\
2730"\n"\
2731"#if __ae2f_lvcheck_c(2017)\n"\
2732"#undef\tae2f_stdc_v\n"\
2733"#define ae2f_stdc_v\t(201710L)\n"\
2734"#endif\n"\
2735"\n"\
2736"#if __ae2f_lvcheck_c(2023)\n"\
2737"#undef\tae2f_stdc_v\n"\
2738"#define ae2f_stdc_v\t(202311L)\n"\
2739"#endif\n"\
2740"\n"\
2741"#endif\n"\
2742"\n"\
2743"#undef\t__ae2f_stdcheck_C\n"\
2744"#undef\t__ae2f_stdcheck_CC\n"\
2745"\n"\
2746"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2747"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2748"\n"\
2749"\n"\
2750"\n"\
2751"\n"\
2752"#if __ae2f_stdcheck_CC(201703L)\n"\
2753"#define ae2f_if_constexpr if constexpr\n"\
2754"#else\n"\
2755"#define ae2f_if_constexpr if\n"\
2756"#endif\n"\
2757"\n"\
2758"#if __ae2f_stdcheck_CC(202002L)\n"\
2759"#define ae2f_if_consteval\tif consteval\n"\
2760"#else\n"\
2761"#define ae2f_if_consteval\tif (0)\n"\
2762"#endif\n"\
2763"\n"\
2764"#if __ae2f_stdcheck_CC(202002L)\n"\
2765"#define ae2f_constexprvirtual constexpr virtual\n"\
2766"#define ae2f_constinit\tconstinit\n"\
2767"#else\n"\
2768"#define ae2f_constexprvirtual virtual\n"\
2769"#define ae2f_constinit\t\n"\
2770"#endif \n"\
2771"\n"\
2772"#if __ae2f_stdcheck_CC(201402L)\n"\
2773"#define ae2f_constextendedfun\tconstexpr\n"\
2774"#define ae2f_constextendedeval \tconstexpr\n"\
2775"\n"\
2776"#define ae2f_constextendedmethod\tconstexpr\n"\
2777"#define ae2f_constextendedmethodeval\tconstexpr\n"\
2778"\n"\
2779"#else\n"\
2780"#define ae2f_constextendedfun\tinline\n"\
2781"#define ae2f_constextendedmethod\tinline\n"\
2782"\n"\
2783"#define ae2f_constextendedeval\tinline\n"\
2784"#define ae2f_constextendedmethodeval\tinline\n"\
2785"#endif \n"\
2786"\n"\
2787"#if __ae2f_stdcheck_CC(201103L)\n"\
2788"#define ae2f_constexprmethod\t\tconstexpr\n"\
2789"#define ae2f_constexprfun\t\tconstexpr\n"\
2790"#define ae2f_constevalmethod\t\tconstexpr\n"\
2791"#define ae2f_virtual\t\tvirtual\n"\
2792"#else\n"\
2793"#define ae2f_constexprmethod\t\tinline\n"\
2794"#define ae2f_constexprfun\t\tinline\n"\
2795"#define ae2f_constevalmethod\t\tinline\n"\
2796"#define ae2f_virtual\t\t\n"\
2797"\n"\
2798"#if !defined(__cplusplus) \n"\
2799"\n"\
2800"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
2801"\n"\
2802"#define ae2f_constexpr\tconstexpr\n"\
2803"#else\n"\
2804"#define ae2f_constexpr\n"\
2805"#endif \n"\
2806"\n"\
2807"\n"\
2808"#endif \n"\
2809"\n"\
2810"#endif \n"\
2811"\n"\
2812"#if __ae2f_stdcheck_CC(202002L)\n"\
2813"#undef ae2f_constevalmethod\n"\
2814"#define ae2f_constevalmethod consteval \n"\
2815"#define ae2f_consteval\tconsteval\n"\
2816"#elif __ae2f_stdcheck_CC(0)\n"\
2817"\n"\
2818"#undef constevalmethod\n"\
2819"\n"\
2820"\n"\
2821"#define ae2f_consteval\n"\
2822"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
2823"\n"\
2824"#else\n"\
2825"\n"\
2826"#define ae2f_consteval\n"\
2827"#endif \n"\
2828"\n"\
2829"#endif\n"\
2830"\n"\
2831"\n"\
2832"\n"\
2833"\n"\
2834"\n"\
2835"\n"\
2836"\n"\
2837"\n"\
2838"template <typename t, typename k> union ae2f_UnionCaster {\n"\
2839" t a;\n"\
2840" k b;\n"\
2841" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
2842" ae2f_constexprmethod k _b() const { return b; }\n"\
2843"};\n"\
2844"\n"\
2845"#endif\n"\
2846"\n"\
2847"\n"\
2848"#ifndef ae2f_Cast_consteval_hpp\n"\
2849"#define ae2f_Cast_consteval_hpp\n"\
2850"#if 90 >= 50\n"\
2851"#define ae2f_LangVer_C 1990\n"\
2852"#else\n"\
2853"#define ae2f_LangVer_C 2090\n"\
2854"#endif\n"\
2855"\n"\
2856"#if 11 >= 50\n"\
2857"#define ae2f_LangVer_CC 1911\n"\
2858"#else\n"\
2859"#define ae2f_LangVer_CC 2011\n"\
2860"#endif\n"\
2861"\n"\
2862"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2863"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2864"\n"\
2865"\n"\
2866"#ifdef\t__cplusplus\n"\
2867"#undef\tae2f_stdcc_v\n"\
2868"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2869"#else\n"\
2870"\n"\
2871"#undef\tae2f_stdcc_v\n"\
2872"#define\tae2f_stdcc_v\t(199711L)\n"\
2873"\n"\
2874"#if __ae2f_lvcheck_cc(2011)\n"\
2875"#undef\tae2f_stdcc_v\n"\
2876"#define\tae2f_stdcc_v\t(201103L)\n"\
2877"#endif\n"\
2878"\n"\
2879"#if __ae2f_lvcheck_cc(2014)\n"\
2880"#undef\tae2f_stdcc_v\n"\
2881"#define\tae2f_stdcc_v\t(201402L)\n"\
2882"#endif\n"\
2883"\n"\
2884"#if __ae2f_lvcheck_cc(2017)\n"\
2885"#undef\tae2f_stdcc_v\n"\
2886"#define\tae2f_stdcc_v\t(201703L)\n"\
2887"#endif\n"\
2888"\n"\
2889"#if __ae2f_lvcheck_cc(2020)\n"\
2890"#undef\tae2f_stdcc_v\n"\
2891"#define\tae2f_stdcc_v\t(202002L)\n"\
2892"#endif\n"\
2893"\n"\
2894"#if __ae2f_lvcheck_cc(2023)\n"\
2895"#undef\tae2f_stdcc_v\n"\
2896"#define\tae2f_stdcc_v\t(202302L)\n"\
2897"#endif\n"\
2898"\n"\
2899"#endif\n"\
2900"\n"\
2901"#ifdef\t__STDC_VERSION__\n"\
2902"#undef\tae2f_stdc_v\n"\
2903"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2904"#else\n"\
2905"\n"\
2906"#undef\tae2f_stdc_v\n"\
2907"#define ae2f_stdc_v\t(199001L)\n"\
2908"\n"\
2909"#if __ae2f_lvcheck_c(1999)\n"\
2910"#undef\tae2f_stdc_v\n"\
2911"#define ae2f_stdc_v\t(199901L)\n"\
2912"#endif\n"\
2913"\n"\
2914"#if __ae2f_lvcheck_c(2011)\n"\
2915"#undef\tae2f_stdc_v\n"\
2916"#define ae2f_stdc_v\t(201112L)\n"\
2917"#endif\n"\
2918"\n"\
2919"#if __ae2f_lvcheck_c(2017)\n"\
2920"#undef\tae2f_stdc_v\n"\
2921"#define ae2f_stdc_v\t(201710L)\n"\
2922"#endif\n"\
2923"\n"\
2924"#if __ae2f_lvcheck_c(2023)\n"\
2925"#undef\tae2f_stdc_v\n"\
2926"#define ae2f_stdc_v\t(202311L)\n"\
2927"#endif\n"\
2928"\n"\
2929"#endif\n"\
2930"\n"\
2931"#undef\t__ae2f_stdcheck_C\n"\
2932"#undef\t__ae2f_stdcheck_CC\n"\
2933"\n"\
2934"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2935"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2936"\n"\
2937"\n"\
2938"\n"\
2939"\n"\
2940"#if __ae2f_stdcheck_CC(201703L)\n"\
2941"#define ae2f_if_constexpr if constexpr\n"\
2942"#else\n"\
2943"#define ae2f_if_constexpr if\n"\
2944"#endif\n"\
2945"\n"\
2946"#if __ae2f_stdcheck_CC(202002L)\n"\
2947"#define ae2f_if_consteval\tif consteval\n"\
2948"#else\n"\
2949"#define ae2f_if_consteval\tif (0)\n"\
2950"#endif\n"\
2951"\n"\
2952"#if __ae2f_stdcheck_CC(202002L)\n"\
2953"#define ae2f_constexprvirtual constexpr virtual\n"\
2954"#define ae2f_constinit\tconstinit\n"\
2955"#else\n"\
2956"#define ae2f_constexprvirtual virtual\n"\
2957"#define ae2f_constinit\t\n"\
2958"#endif \n"\
2959"\n"\
2960"#if __ae2f_stdcheck_CC(201402L)\n"\
2961"#define ae2f_constextendedfun\tconstexpr\n"\
2962"#define ae2f_constextendedeval \tconstexpr\n"\
2963"\n"\
2964"#define ae2f_constextendedmethod\tconstexpr\n"\
2965"#define ae2f_constextendedmethodeval\tconstexpr\n"\
2966"\n"\
2967"#else\n"\
2968"#define ae2f_constextendedfun\tinline\n"\
2969"#define ae2f_constextendedmethod\tinline\n"\
2970"\n"\
2971"#define ae2f_constextendedeval\tinline\n"\
2972"#define ae2f_constextendedmethodeval\tinline\n"\
2973"#endif \n"\
2974"\n"\
2975"#if __ae2f_stdcheck_CC(201103L)\n"\
2976"#define ae2f_constexprmethod\t\tconstexpr\n"\
2977"#define ae2f_constexprfun\t\tconstexpr\n"\
2978"#define ae2f_constevalmethod\t\tconstexpr\n"\
2979"#define ae2f_virtual\t\tvirtual\n"\
2980"#else\n"\
2981"#define ae2f_constexprmethod\t\tinline\n"\
2982"#define ae2f_constexprfun\t\tinline\n"\
2983"#define ae2f_constevalmethod\t\tinline\n"\
2984"#define ae2f_virtual\t\t\n"\
2985"\n"\
2986"#if !defined(__cplusplus) \n"\
2987"\n"\
2988"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
2989"\n"\
2990"#define ae2f_constexpr\tconstexpr\n"\
2991"#else\n"\
2992"#define ae2f_constexpr\n"\
2993"#endif \n"\
2994"\n"\
2995"\n"\
2996"#endif \n"\
2997"\n"\
2998"#endif \n"\
2999"\n"\
3000"#if __ae2f_stdcheck_CC(202002L)\n"\
3001"#undef ae2f_constevalmethod\n"\
3002"#define ae2f_constevalmethod consteval \n"\
3003"#define ae2f_consteval\tconsteval\n"\
3004"#elif __ae2f_stdcheck_CC(0)\n"\
3005"\n"\
3006"#undef constevalmethod\n"\
3007"\n"\
3008"\n"\
3009"#define ae2f_consteval\n"\
3010"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
3011"\n"\
3012"#else\n"\
3013"\n"\
3014"#define ae2f_consteval\n"\
3015"#endif \n"\
3016"\n"\
3017"#endif\n"\
3018"\n"\
3019"#if 90 >= 50\n"\
3020"#define ae2f_LangVer_C 1990\n"\
3021"#else\n"\
3022"#define ae2f_LangVer_C 2090\n"\
3023"#endif\n"\
3024"\n"\
3025"#if 11 >= 50\n"\
3026"#define ae2f_LangVer_CC 1911\n"\
3027"#else\n"\
3028"#define ae2f_LangVer_CC 2011\n"\
3029"#endif\n"\
3030"\n"\
3031"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3032"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3033"\n"\
3034"\n"\
3035"\n"\
3036"#ifndef ae2f_Cxx_h\n"\
3037"#define ae2f_Cxx_h\n"\
3038"\n"\
3039"\n"\
3040"\n"\
3041"#define ae2f_NONE\n"\
3042"\n"\
3043"#if __cplusplus\n"\
3044"\n"\
3045"\n"\
3046"\n"\
3047"\n"\
3048"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3049"\n"\
3050"\n"\
3051"\n"\
3052"#define ae2f_WhenC(...) ae2f_NONE\n"\
3053"\n"\
3054"#else\n"\
3055"\n"\
3056"\n"\
3057"\n"\
3058"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3059"\n"\
3060"\n"\
3061"\n"\
3062"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3063"\n"\
3064"#endif\n"\
3065"\n"\
3066"\n"\
3067"\n"\
3068"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3069"\n"\
3070"\n"\
3071"\n"\
3072"\n"\
3073"\n"\
3074"#define ae2f_c_check && !ae2f_is_cxx\n"\
3075"\n"\
3076"\n"\
3077"\n"\
3078"\n"\
3079"\n"\
3080"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3081"\n"\
3082"\n"\
3083"\n"\
3084"#ifndef ae2f_Cxx_Reg_h\n"\
3085"#define ae2f_Cxx_Reg_h\n"\
3086"\n"\
3087"\n"\
3088"\n"\
3089"#ifndef ae2f_Cxx_h\n"\
3090"#define ae2f_Cxx_h\n"\
3091"\n"\
3092"\n"\
3093"\n"\
3094"#define ae2f_NONE\n"\
3095"\n"\
3096"#if __cplusplus\n"\
3097"\n"\
3098"\n"\
3099"\n"\
3100"\n"\
3101"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3102"\n"\
3103"\n"\
3104"\n"\
3105"#define ae2f_WhenC(...) ae2f_NONE\n"\
3106"\n"\
3107"#else\n"\
3108"\n"\
3109"\n"\
3110"\n"\
3111"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3112"\n"\
3113"\n"\
3114"\n"\
3115"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3116"\n"\
3117"#endif\n"\
3118"\n"\
3119"\n"\
3120"\n"\
3121"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3122"\n"\
3123"\n"\
3124"\n"\
3125"\n"\
3126"\n"\
3127"#define ae2f_c_check && !ae2f_is_cxx\n"\
3128"\n"\
3129"\n"\
3130"\n"\
3131"\n"\
3132"\n"\
3133"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3134"\n"\
3135"\n"\
3136"\n"\
3137"#ifndef ae2f_Cxx_Reg_h\n"\
3138"#define ae2f_Cxx_Reg_h\n"\
3139"\n"\
3140"\n"\
3141"\n"\
3142"#ifndef ae2f_Cxx_h\n"\
3143"#define ae2f_Cxx_h\n"\
3144"\n"\
3145"\n"\
3146"\n"\
3147"#define ae2f_NONE\n"\
3148"\n"\
3149"#if __cplusplus\n"\
3150"\n"\
3151"\n"\
3152"\n"\
3153"\n"\
3154"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3155"\n"\
3156"\n"\
3157"\n"\
3158"#define ae2f_WhenC(...) ae2f_NONE\n"\
3159"\n"\
3160"#else\n"\
3161"\n"\
3162"\n"\
3163"\n"\
3164"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3165"\n"\
3166"\n"\
3167"\n"\
3168"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3169"\n"\
3170"#endif\n"\
3171"\n"\
3172"\n"\
3173"\n"\
3174"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3175"\n"\
3176"\n"\
3177"\n"\
3178"\n"\
3179"\n"\
3180"#define ae2f_c_check && !ae2f_is_cxx\n"\
3181"\n"\
3182"\n"\
3183"\n"\
3184"\n"\
3185"\n"\
3186"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3187"\n"\
3188"\n"\
3189"\n"\
3190"#ifndef ae2f_Cxx_Reg_h\n"\
3191"#define ae2f_Cxx_Reg_h\n"\
3192"\n"\
3193"\n"\
3194"\n"\
3195"#ifndef ae2f_Cxx_h\n"\
3196"#define ae2f_Cxx_h\n"\
3197"\n"\
3198"\n"\
3199"\n"\
3200"#define ae2f_NONE\n"\
3201"\n"\
3202"#if __cplusplus\n"\
3203"\n"\
3204"\n"\
3205"\n"\
3206"\n"\
3207"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3208"\n"\
3209"\n"\
3210"\n"\
3211"#define ae2f_WhenC(...) ae2f_NONE\n"\
3212"\n"\
3213"#else\n"\
3214"\n"\
3215"\n"\
3216"\n"\
3217"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3218"\n"\
3219"\n"\
3220"\n"\
3221"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3222"\n"\
3223"#endif\n"\
3224"\n"\
3225"\n"\
3226"\n"\
3227"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3228"\n"\
3229"\n"\
3230"\n"\
3231"\n"\
3232"\n"\
3233"#define ae2f_c_check && !ae2f_is_cxx\n"\
3234"\n"\
3235"\n"\
3236"\n"\
3237"\n"\
3238"\n"\
3239"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3240"\n"\
3241"\n"\
3242"\n"\
3243"#ifndef ae2f_Cxx_Reg_h\n"\
3244"#define ae2f_Cxx_Reg_h\n"\
3245"\n"\
3246"\n"\
3247"\n"\
3248"#ifndef ae2f_Cxx_h\n"\
3249"#define ae2f_Cxx_h\n"\
3250"\n"\
3251"\n"\
3252"\n"\
3253"#define ae2f_NONE\n"\
3254"\n"\
3255"#if __cplusplus\n"\
3256"\n"\
3257"\n"\
3258"\n"\
3259"\n"\
3260"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3261"\n"\
3262"\n"\
3263"\n"\
3264"#define ae2f_WhenC(...) ae2f_NONE\n"\
3265"\n"\
3266"#else\n"\
3267"\n"\
3268"\n"\
3269"\n"\
3270"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3271"\n"\
3272"\n"\
3273"\n"\
3274"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3275"\n"\
3276"#endif\n"\
3277"\n"\
3278"\n"\
3279"\n"\
3280"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3281"\n"\
3282"\n"\
3283"\n"\
3284"\n"\
3285"\n"\
3286"#define ae2f_c_check && !ae2f_is_cxx\n"\
3287"\n"\
3288"\n"\
3289"\n"\
3290"\n"\
3291"\n"\
3292"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3293"\n"\
3294"\n"\
3295"\n"\
3296"#ifndef ae2f_Cxx_Reg_h\n"\
3297"#define ae2f_Cxx_Reg_h\n"\
3298"\n"\
3299"\n"\
3300"\n"\
3301"#ifndef ae2f_Cxx_h\n"\
3302"#define ae2f_Cxx_h\n"\
3303"\n"\
3304"\n"\
3305"\n"\
3306"#define ae2f_NONE\n"\
3307"\n"\
3308"#if __cplusplus\n"\
3309"\n"\
3310"\n"\
3311"\n"\
3312"\n"\
3313"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3314"\n"\
3315"\n"\
3316"\n"\
3317"#define ae2f_WhenC(...) ae2f_NONE\n"\
3318"\n"\
3319"#else\n"\
3320"\n"\
3321"\n"\
3322"\n"\
3323"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3324"\n"\
3325"\n"\
3326"\n"\
3327"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3328"\n"\
3329"#endif\n"\
3330"\n"\
3331"\n"\
3332"\n"\
3333"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3334"\n"\
3335"\n"\
3336"\n"\
3337"\n"\
3338"\n"\
3339"#define ae2f_c_check && !ae2f_is_cxx\n"\
3340"\n"\
3341"\n"\
3342"\n"\
3343"\n"\
3344"\n"\
3345"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3346"\n"\
3347"\n"\
3348"\n"\
3349"#ifndef ae2f_Cxx_Reg_h\n"\
3350"#define ae2f_Cxx_Reg_h\n"\
3351"\n"\
3352"\n"\
3353"\n"\
3354"#ifndef ae2f_Cxx_h\n"\
3355"#define ae2f_Cxx_h\n"\
3356"\n"\
3357"\n"\
3358"\n"\
3359"#define ae2f_NONE\n"\
3360"\n"\
3361"#if __cplusplus\n"\
3362"\n"\
3363"\n"\
3364"\n"\
3365"\n"\
3366"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3367"\n"\
3368"\n"\
3369"\n"\
3370"#define ae2f_WhenC(...) ae2f_NONE\n"\
3371"\n"\
3372"#else\n"\
3373"\n"\
3374"\n"\
3375"\n"\
3376"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3377"\n"\
3378"\n"\
3379"\n"\
3380"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3381"\n"\
3382"#endif\n"\
3383"\n"\
3384"\n"\
3385"\n"\
3386"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3387"\n"\
3388"\n"\
3389"\n"\
3390"\n"\
3391"\n"\
3392"#define ae2f_c_check && !ae2f_is_cxx\n"\
3393"\n"\
3394"\n"\
3395"\n"\
3396"\n"\
3397"\n"\
3398"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3399"\n"\
3400"\n"\
3401"\n"\
3402"#ifndef ae2f_Cxx_Reg_h\n"\
3403"#define ae2f_Cxx_Reg_h\n"\
3404"\n"\
3405"\n"\
3406"\n"\
3407"#ifndef ae2f_Cxx_h\n"\
3408"#define ae2f_Cxx_h\n"\
3409"\n"\
3410"\n"\
3411"\n"\
3412"#define ae2f_NONE\n"\
3413"\n"\
3414"#if __cplusplus\n"\
3415"\n"\
3416"\n"\
3417"\n"\
3418"\n"\
3419"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3420"\n"\
3421"\n"\
3422"\n"\
3423"#define ae2f_WhenC(...) ae2f_NONE\n"\
3424"\n"\
3425"#else\n"\
3426"\n"\
3427"\n"\
3428"\n"\
3429"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3430"\n"\
3431"\n"\
3432"\n"\
3433"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3434"\n"\
3435"#endif\n"\
3436"\n"\
3437"\n"\
3438"\n"\
3439"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3440"\n"\
3441"\n"\
3442"\n"\
3443"\n"\
3444"\n"\
3445"#define ae2f_c_check && !ae2f_is_cxx\n"\
3446"\n"\
3447"\n"\
3448"\n"\
3449"\n"\
3450"\n"\
3451"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3452"\n"\
3453"\n"\
3454"\n"\
3455"#ifndef ae2f_Cxx_Reg_h\n"\
3456"#define ae2f_Cxx_Reg_h\n"\
3457"\n"\
3458"\n"\
3459"\n"\
3460"#ifndef ae2f_Cxx_h\n"\
3461"#define ae2f_Cxx_h\n"\
3462"\n"\
3463"\n"\
3464"\n"\
3465"#define ae2f_NONE\n"\
3466"\n"\
3467"#if __cplusplus\n"\
3468"\n"\
3469"\n"\
3470"\n"\
3471"\n"\
3472"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3473"\n"\
3474"\n"\
3475"\n"\
3476"#define ae2f_WhenC(...) ae2f_NONE\n"\
3477"\n"\
3478"#else\n"\
3479"\n"\
3480"\n"\
3481"\n"\
3482"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3483"\n"\
3484"\n"\
3485"\n"\
3486"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3487"\n"\
3488"#endif\n"\
3489"\n"\
3490"\n"\
3491"\n"\
3492"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3493"\n"\
3494"\n"\
3495"\n"\
3496"\n"\
3497"\n"\
3498"#define ae2f_c_check && !ae2f_is_cxx\n"\
3499"\n"\
3500"\n"\
3501"\n"\
3502"\n"\
3503"\n"\
3504"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3505"\n"\
3506"\n"\
3507"\n"\
3508"#ifndef ae2f_Cxx_Reg_h\n"\
3509"#define ae2f_Cxx_Reg_h\n"\
3510"\n"\
3511"\n"\
3512"\n"\
3513"#ifndef ae2f_Cxx_h\n"\
3514"#define ae2f_Cxx_h\n"\
3515"\n"\
3516"\n"\
3517"\n"\
3518"#define ae2f_NONE\n"\
3519"\n"\
3520"#if __cplusplus\n"\
3521"\n"\
3522"\n"\
3523"\n"\
3524"\n"\
3525"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3526"\n"\
3527"\n"\
3528"\n"\
3529"#define ae2f_WhenC(...) ae2f_NONE\n"\
3530"\n"\
3531"#else\n"\
3532"\n"\
3533"\n"\
3534"\n"\
3535"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3536"\n"\
3537"\n"\
3538"\n"\
3539"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3540"\n"\
3541"#endif\n"\
3542"\n"\
3543"\n"\
3544"\n"\
3545"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3546"\n"\
3547"\n"\
3548"\n"\
3549"\n"\
3550"\n"\
3551"#define ae2f_c_check && !ae2f_is_cxx\n"\
3552"\n"\
3553"\n"\
3554"\n"\
3555"\n"\
3556"\n"\
3557"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3558"\n"\
3559"\n"\
3560"\n"\
3561"#ifndef ae2f_Cxx_Reg_h\n"\
3562"#define ae2f_Cxx_Reg_h\n"\
3563"\n"\
3564"\n"\
3565"\n"\
3566"#ifndef ae2f_Cxx_h\n"\
3567"#define ae2f_Cxx_h\n"\
3568"\n"\
3569"\n"\
3570"\n"\
3571"#define ae2f_NONE\n"\
3572"\n"\
3573"#if __cplusplus\n"\
3574"\n"\
3575"\n"\
3576"\n"\
3577"\n"\
3578"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3579"\n"\
3580"\n"\
3581"\n"\
3582"#define ae2f_WhenC(...) ae2f_NONE\n"\
3583"\n"\
3584"#else\n"\
3585"\n"\
3586"\n"\
3587"\n"\
3588"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3589"\n"\
3590"\n"\
3591"\n"\
3592"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3593"\n"\
3594"#endif\n"\
3595"\n"\
3596"\n"\
3597"\n"\
3598"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3599"\n"\
3600"\n"\
3601"\n"\
3602"\n"\
3603"\n"\
3604"#define ae2f_c_check && !ae2f_is_cxx\n"\
3605"\n"\
3606"\n"\
3607"\n"\
3608"\n"\
3609"\n"\
3610"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3611"\n"\
3612"\n"\
3613"\n"\
3614"#ifndef ae2f_Cxx_Reg_h\n"\
3615"#define ae2f_Cxx_Reg_h\n"\
3616"\n"\
3617"\n"\
3618"\n"\
3619"#ifndef ae2f_Cxx_h\n"\
3620"#define ae2f_Cxx_h\n"\
3621"\n"\
3622"\n"\
3623"\n"\
3624"#define ae2f_NONE\n"\
3625"\n"\
3626"#if __cplusplus\n"\
3627"\n"\
3628"\n"\
3629"\n"\
3630"\n"\
3631"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3632"\n"\
3633"\n"\
3634"\n"\
3635"#define ae2f_WhenC(...) ae2f_NONE\n"\
3636"\n"\
3637"#else\n"\
3638"\n"\
3639"\n"\
3640"\n"\
3641"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3642"\n"\
3643"\n"\
3644"\n"\
3645"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3646"\n"\
3647"#endif\n"\
3648"\n"\
3649"\n"\
3650"\n"\
3651"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3652"\n"\
3653"\n"\
3654"\n"\
3655"\n"\
3656"\n"\
3657"#define ae2f_c_check && !ae2f_is_cxx\n"\
3658"\n"\
3659"\n"\
3660"\n"\
3661"\n"\
3662"\n"\
3663"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3664"\n"\
3665"\n"\
3666"\n"\
3667"#ifndef ae2f_Cxx_Reg_h\n"\
3668"#define ae2f_Cxx_Reg_h\n"\
3669"\n"\
3670"\n"\
3671"\n"\
3672"#ifndef ae2f_Cxx_h\n"\
3673"#define ae2f_Cxx_h\n"\
3674"\n"\
3675"\n"\
3676"\n"\
3677"#define ae2f_NONE\n"\
3678"\n"\
3679"#if __cplusplus\n"\
3680"\n"\
3681"\n"\
3682"\n"\
3683"\n"\
3684"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3685"\n"\
3686"\n"\
3687"\n"\
3688"#define ae2f_WhenC(...) ae2f_NONE\n"\
3689"\n"\
3690"#else\n"\
3691"\n"\
3692"\n"\
3693"\n"\
3694"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3695"\n"\
3696"\n"\
3697"\n"\
3698"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3699"\n"\
3700"#endif\n"\
3701"\n"\
3702"\n"\
3703"\n"\
3704"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3705"\n"\
3706"\n"\
3707"\n"\
3708"\n"\
3709"\n"\
3710"#define ae2f_c_check && !ae2f_is_cxx\n"\
3711"\n"\
3712"\n"\
3713"\n"\
3714"\n"\
3715"\n"\
3716"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3717"\n"\
3718"\n"\
3719"\n"\
3720"#ifndef ae2f_Cxx_Reg_h\n"\
3721"#define ae2f_Cxx_Reg_h\n"\
3722"\n"\
3723"\n"\
3724"\n"\
3725"#ifndef ae2f_Cxx_h\n"\
3726"#define ae2f_Cxx_h\n"\
3727"\n"\
3728"\n"\
3729"\n"\
3730"#define ae2f_NONE\n"\
3731"\n"\
3732"#if __cplusplus\n"\
3733"\n"\
3734"\n"\
3735"\n"\
3736"\n"\
3737"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3738"\n"\
3739"\n"\
3740"\n"\
3741"#define ae2f_WhenC(...) ae2f_NONE\n"\
3742"\n"\
3743"#else\n"\
3744"\n"\
3745"\n"\
3746"\n"\
3747"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3748"\n"\
3749"\n"\
3750"\n"\
3751"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3752"\n"\
3753"#endif\n"\
3754"\n"\
3755"\n"\
3756"\n"\
3757"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3758"\n"\
3759"\n"\
3760"\n"\
3761"\n"\
3762"\n"\
3763"#define ae2f_c_check && !ae2f_is_cxx\n"\
3764"\n"\
3765"\n"\
3766"\n"\
3767"\n"\
3768"\n"\
3769"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3770"\n"\
3771"\n"\
3772"\n"\
3773"#ifndef ae2f_Cxx_Reg_h\n"\
3774"#define ae2f_Cxx_Reg_h\n"\
3775"\n"\
3776"\n"\
3777"\n"\
3778"#ifndef ae2f_Cxx_h\n"\
3779"#define ae2f_Cxx_h\n"\
3780"\n"\
3781"\n"\
3782"\n"\
3783"#define ae2f_NONE\n"\
3784"\n"\
3785"#if __cplusplus\n"\
3786"\n"\
3787"\n"\
3788"\n"\
3789"\n"\
3790"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3791"\n"\
3792"\n"\
3793"\n"\
3794"#define ae2f_WhenC(...) ae2f_NONE\n"\
3795"\n"\
3796"#else\n"\
3797"\n"\
3798"\n"\
3799"\n"\
3800"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3801"\n"\
3802"\n"\
3803"\n"\
3804"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3805"\n"\
3806"#endif\n"\
3807"\n"\
3808"\n"\
3809"\n"\
3810"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3811"\n"\
3812"\n"\
3813"\n"\
3814"\n"\
3815"\n"\
3816"#define ae2f_c_check && !ae2f_is_cxx\n"\
3817"\n"\
3818"\n"\
3819"\n"\
3820"\n"\
3821"\n"\
3822"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3823"\n"\
3824"\n"\
3825"\n"\
3826"#ifndef ae2f_Cxx_Reg_h\n"\
3827"#define ae2f_Cxx_Reg_h\n"\
3828"\n"\
3829"\n"\
3830"\n"\
3831"#ifndef ae2f_Cxx_h\n"\
3832"#define ae2f_Cxx_h\n"\
3833"\n"\
3834"\n"\
3835"\n"\
3836"#define ae2f_NONE\n"\
3837"\n"\
3838"#if __cplusplus\n"\
3839"\n"\
3840"\n"\
3841"\n"\
3842"\n"\
3843"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3844"\n"\
3845"\n"\
3846"\n"\
3847"#define ae2f_WhenC(...) ae2f_NONE\n"\
3848"\n"\
3849"#else\n"\
3850"\n"\
3851"\n"\
3852"\n"\
3853"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3854"\n"\
3855"\n"\
3856"\n"\
3857"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3858"\n"\
3859"#endif\n"\
3860"\n"\
3861"\n"\
3862"\n"\
3863"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3864"\n"\
3865"\n"\
3866"\n"\
3867"\n"\
3868"\n"\
3869"#define ae2f_c_check && !ae2f_is_cxx\n"\
3870"\n"\
3871"\n"\
3872"\n"\
3873"\n"\
3874"\n"\
3875"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3876"\n"\
3877"\n"\
3878"\n"\
3879"#ifndef ae2f_Cxx_Reg_h\n"\
3880"#define ae2f_Cxx_Reg_h\n"\
3881"\n"\
3882"\n"\
3883"\n"\
3884"#ifndef ae2f_Cxx_h\n"\
3885"#define ae2f_Cxx_h\n"\
3886"\n"\
3887"\n"\
3888"\n"\
3889"#define ae2f_NONE\n"\
3890"\n"\
3891"#if __cplusplus\n"\
3892"\n"\
3893"\n"\
3894"\n"\
3895"\n"\
3896"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3897"\n"\
3898"\n"\
3899"\n"\
3900"#define ae2f_WhenC(...) ae2f_NONE\n"\
3901"\n"\
3902"#else\n"\
3903"\n"\
3904"\n"\
3905"\n"\
3906"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3907"\n"\
3908"\n"\
3909"\n"\
3910"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3911"\n"\
3912"#endif\n"\
3913"\n"\
3914"\n"\
3915"\n"\
3916"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3917"\n"\
3918"\n"\
3919"\n"\
3920"\n"\
3921"\n"\
3922"#define ae2f_c_check && !ae2f_is_cxx\n"\
3923"\n"\
3924"\n"\
3925"\n"\
3926"\n"\
3927"\n"\
3928"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3929"\n"\
3930"\n"\
3931"\n"\
3932"#ifndef ae2f_Cxx_Reg_h\n"\
3933"#define ae2f_Cxx_Reg_h\n"\
3934"\n"\
3935"\n"\
3936"\n"\
3937"#ifndef ae2f_Cxx_h\n"\
3938"#define ae2f_Cxx_h\n"\
3939"\n"\
3940"\n"\
3941"\n"\
3942"#define ae2f_NONE\n"\
3943"\n"\
3944"#if __cplusplus\n"\
3945"\n"\
3946"\n"\
3947"\n"\
3948"\n"\
3949"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3950"\n"\
3951"\n"\
3952"\n"\
3953"#define ae2f_WhenC(...) ae2f_NONE\n"\
3954"\n"\
3955"#else\n"\
3956"\n"\
3957"\n"\
3958"\n"\
3959"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3960"\n"\
3961"\n"\
3962"\n"\
3963"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3964"\n"\
3965"#endif\n"\
3966"\n"\
3967"\n"\
3968"\n"\
3969"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3970"\n"\
3971"\n"\
3972"\n"\
3973"\n"\
3974"\n"\
3975"#define ae2f_c_check && !ae2f_is_cxx\n"\
3976"\n"\
3977"\n"\
3978"\n"\
3979"\n"\
3980"\n"\
3981"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3982"\n"\
3983"\n"\
3984"\n"\
3985"#ifndef ae2f_Cxx_Reg_h\n"\
3986"#define ae2f_Cxx_Reg_h\n"\
3987"\n"\
3988"\n"\
3989"\n"\
3990"#ifndef ae2f_Cxx_h\n"\
3991"#define ae2f_Cxx_h\n"\
3992"\n"\
3993"\n"\
3994"\n"\
3995"#define ae2f_NONE\n"\
3996"\n"\
3997"#if __cplusplus\n"\
3998"\n"\
3999"\n"\
4000"\n"\
4001"\n"\
4002"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4003"\n"\
4004"\n"\
4005"\n"\
4006"#define ae2f_WhenC(...) ae2f_NONE\n"\
4007"\n"\
4008"#else\n"\
4009"\n"\
4010"\n"\
4011"\n"\
4012"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4013"\n"\
4014"\n"\
4015"\n"\
4016"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4017"\n"\
4018"#endif\n"\
4019"\n"\
4020"\n"\
4021"\n"\
4022"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4023"\n"\
4024"\n"\
4025"\n"\
4026"\n"\
4027"\n"\
4028"#define ae2f_c_check && !ae2f_is_cxx\n"\
4029"\n"\
4030"\n"\
4031"\n"\
4032"\n"\
4033"\n"\
4034"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4035"\n"\
4036"\n"\
4037"\n"\
4038"#ifndef ae2f_Cxx_Reg_h\n"\
4039"#define ae2f_Cxx_Reg_h\n"\
4040"\n"\
4041"\n"\
4042"\n"\
4043"#ifndef ae2f_Cxx_h\n"\
4044"#define ae2f_Cxx_h\n"\
4045"\n"\
4046"\n"\
4047"\n"\
4048"#define ae2f_NONE\n"\
4049"\n"\
4050"#if __cplusplus\n"\
4051"\n"\
4052"\n"\
4053"\n"\
4054"\n"\
4055"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4056"\n"\
4057"\n"\
4058"\n"\
4059"#define ae2f_WhenC(...) ae2f_NONE\n"\
4060"\n"\
4061"#else\n"\
4062"\n"\
4063"\n"\
4064"\n"\
4065"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4066"\n"\
4067"\n"\
4068"\n"\
4069"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4070"\n"\
4071"#endif\n"\
4072"\n"\
4073"\n"\
4074"\n"\
4075"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4076"\n"\
4077"\n"\
4078"\n"\
4079"\n"\
4080"\n"\
4081"#define ae2f_c_check && !ae2f_is_cxx\n"\
4082"\n"\
4083"\n"\
4084"\n"\
4085"\n"\
4086"\n"\
4087"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4088"\n"\
4089"\n"\
4090"\n"\
4091"#ifndef ae2f_Cxx_Reg_h\n"\
4092"#define ae2f_Cxx_Reg_h\n"\
4093"\n"\
4094"\n"\
4095"\n"\
4096"#ifndef ae2f_Cxx_h\n"\
4097"#define ae2f_Cxx_h\n"\
4098"\n"\
4099"\n"\
4100"\n"\
4101"#define ae2f_NONE\n"\
4102"\n"\
4103"#if __cplusplus\n"\
4104"\n"\
4105"\n"\
4106"\n"\
4107"\n"\
4108"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4109"\n"\
4110"\n"\
4111"\n"\
4112"#define ae2f_WhenC(...) ae2f_NONE\n"\
4113"\n"\
4114"#else\n"\
4115"\n"\
4116"\n"\
4117"\n"\
4118"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4119"\n"\
4120"\n"\
4121"\n"\
4122"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4123"\n"\
4124"#endif\n"\
4125"\n"\
4126"\n"\
4127"\n"\
4128"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4129"\n"\
4130"\n"\
4131"\n"\
4132"\n"\
4133"\n"\
4134"#define ae2f_c_check && !ae2f_is_cxx\n"\
4135"\n"\
4136"\n"\
4137"\n"\
4138"\n"\
4139"\n"\
4140"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4141"\n"\
4142"\n"\
4143"\n"\
4144"#ifndef ae2f_Cxx_Reg_h\n"\
4145"#define ae2f_Cxx_Reg_h\n"\
4146"\n"\
4147"\n"\
4148"\n"\
4149"#ifndef ae2f_Cxx_h\n"\
4150"#define ae2f_Cxx_h\n"\
4151"\n"\
4152"\n"\
4153"\n"\
4154"#define ae2f_NONE\n"\
4155"\n"\
4156"#if __cplusplus\n"\
4157"\n"\
4158"\n"\
4159"\n"\
4160"\n"\
4161"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4162"\n"\
4163"\n"\
4164"\n"\
4165"#define ae2f_WhenC(...) ae2f_NONE\n"\
4166"\n"\
4167"#else\n"\
4168"\n"\
4169"\n"\
4170"\n"\
4171"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4172"\n"\
4173"\n"\
4174"\n"\
4175"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4176"\n"\
4177"#endif\n"\
4178"\n"\
4179"\n"\
4180"\n"\
4181"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4182"\n"\
4183"\n"\
4184"\n"\
4185"\n"\
4186"\n"\
4187"#define ae2f_c_check && !ae2f_is_cxx\n"\
4188"\n"\
4189"\n"\
4190"\n"\
4191"\n"\
4192"\n"\
4193"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4194"\n"\
4195"\n"\
4196"\n"\
4197"#ifndef ae2f_Cxx_Reg_h\n"\
4198"#define ae2f_Cxx_Reg_h\n"\
4199"\n"\
4200"\n"\
4201"\n"\
4202"#ifndef ae2f_Cxx_h\n"\
4203"#define ae2f_Cxx_h\n"\
4204"\n"\
4205"\n"\
4206"\n"\
4207"#define ae2f_NONE\n"\
4208"\n"\
4209"#if __cplusplus\n"\
4210"\n"\
4211"\n"\
4212"\n"\
4213"\n"\
4214"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4215"\n"\
4216"\n"\
4217"\n"\
4218"#define ae2f_WhenC(...) ae2f_NONE\n"\
4219"\n"\
4220"#else\n"\
4221"\n"\
4222"\n"\
4223"\n"\
4224"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4225"\n"\
4226"\n"\
4227"\n"\
4228"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4229"\n"\
4230"#endif\n"\
4231"\n"\
4232"\n"\
4233"\n"\
4234"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4235"\n"\
4236"\n"\
4237"\n"\
4238"\n"\
4239"\n"\
4240"#define ae2f_c_check && !ae2f_is_cxx\n"\
4241"\n"\
4242"\n"\
4243"\n"\
4244"\n"\
4245"\n"\
4246"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4247"\n"\
4248"\n"\
4249"#endif\n"\
4250"\n"\
4251"\n"\
4252"\n"\
4253"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4254"\n"\
4255"#endif\n"\
4256"\n"\
4257"\n"\
4258"#endif\n"\
4259"\n"\
4260"\n"\
4261"\n"\
4262"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4263"\n"\
4264"#endif\n"\
4265"\n"\
4266"\n"\
4267"#endif\n"\
4268"\n"\
4269"\n"\
4270"\n"\
4271"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4272"\n"\
4273"#endif\n"\
4274"\n"\
4275"\n"\
4276"#endif\n"\
4277"\n"\
4278"\n"\
4279"\n"\
4280"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4281"\n"\
4282"#endif\n"\
4283"\n"\
4284"\n"\
4285"#endif\n"\
4286"\n"\
4287"\n"\
4288"\n"\
4289"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4290"\n"\
4291"#endif\n"\
4292"\n"\
4293"\n"\
4294"#endif\n"\
4295"\n"\
4296"\n"\
4297"\n"\
4298"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4299"\n"\
4300"#endif\n"\
4301"\n"\
4302"\n"\
4303"#endif\n"\
4304"\n"\
4305"\n"\
4306"\n"\
4307"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4308"\n"\
4309"#endif\n"\
4310"\n"\
4311"\n"\
4312"#endif\n"\
4313"\n"\
4314"\n"\
4315"\n"\
4316"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4317"\n"\
4318"#endif\n"\
4319"\n"\
4320"\n"\
4321"#endif\n"\
4322"\n"\
4323"\n"\
4324"\n"\
4325"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4326"\n"\
4327"#endif\n"\
4328"\n"\
4329"\n"\
4330"#endif\n"\
4331"\n"\
4332"\n"\
4333"\n"\
4334"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4335"\n"\
4336"#endif\n"\
4337"\n"\
4338"\n"\
4339"#endif\n"\
4340"\n"\
4341"\n"\
4342"\n"\
4343"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4344"\n"\
4345"#endif\n"\
4346"\n"\
4347"\n"\
4348"#endif\n"\
4349"\n"\
4350"\n"\
4351"\n"\
4352"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4353"\n"\
4354"#endif\n"\
4355"\n"\
4356"\n"\
4357"#endif\n"\
4358"\n"\
4359"\n"\
4360"\n"\
4361"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4362"\n"\
4363"#endif\n"\
4364"\n"\
4365"\n"\
4366"#endif\n"\
4367"\n"\
4368"\n"\
4369"\n"\
4370"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4371"\n"\
4372"#endif\n"\
4373"\n"\
4374"\n"\
4375"#endif\n"\
4376"\n"\
4377"\n"\
4378"\n"\
4379"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4380"\n"\
4381"#endif\n"\
4382"\n"\
4383"\n"\
4384"#endif\n"\
4385"\n"\
4386"\n"\
4387"\n"\
4388"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4389"\n"\
4390"#endif\n"\
4391"\n"\
4392"\n"\
4393"#endif\n"\
4394"\n"\
4395"\n"\
4396"\n"\
4397"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4398"\n"\
4399"#endif\n"\
4400"\n"\
4401"\n"\
4402"#endif\n"\
4403"\n"\
4404"\n"\
4405"\n"\
4406"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4407"\n"\
4408"#endif\n"\
4409"\n"\
4410"\n"\
4411"#endif\n"\
4412"\n"\
4413"\n"\
4414"\n"\
4415"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4416"\n"\
4417"#endif\n"\
4418"\n"\
4419"\n"\
4420"#endif\n"\
4421"\n"\
4422"\n"\
4423"\n"\
4424"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4425"\n"\
4426"#endif\n"\
4427"\n"\
4428"\n"\
4429"#endif\n"\
4430"\n"\
4431"\n"\
4432"\n"\
4433"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4434"\n"\
4435"#endif\n"\
4436"\n"\
4437"\n"\
4438"#endif\n"\
4439"\n"\
4440"\n"\
4441"\n"\
4442"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4443"\n"\
4444"#endif\n"\
4445"\n"\
4446"\n"\
4447"#endif\n"\
4448"\n"\
4449"\n"\
4450"\n"\
4451"\n"\
4452"#undef ae2f_LP\n"\
4453"#undef ae2f_NONE\n"\
4454"#undef ae2f_opt\n"\
4455"\n"\
4456"\n"\
4457"#define ae2f_NONE\n"\
4458"\n"\
4459"\n"\
4460"#define\tae2f_LP(...) ae2f_NONE\n"\
4461"\n"\
4462"\n"\
4463"#define ae2f_opt ae2f_NONE\n"\
4464"\n"\
4465"\n"\
4466"#define ae2f_FREE(...) ae2f_NONE\n"\
4467"\n"\
4468"\n"\
4469"#define ae2f_v ae2f_NONE\n"\
4470"\n"\
4471"\n"\
4472"\n"\
4473"\n"\
4474"#define ae2f_RecordMk(type, ...) \\\n"\
4475" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
4476"\n"\
4477"\n"\
4478"\n"\
4479"#define ae2f_static_cast(t, v) \\\n"\
4480" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
4481"\n"\
4482"\n"\
4483"\n"\
4484"#define ae2f_dynamic_cast(t, v) \\\n"\
4485" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
4486"\n"\
4487"\n"\
4488"\n"\
4489"#define ae2f_reinterpret_cast(t, v) \\\n"\
4490" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
4491"\n"\
4492"\n"\
4493"\n"\
4494"#define ae2f_const_cast(t, v) \\\n"\
4495" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
4496"\n"\
4497"\n"\
4498"\n"\
4499"\n"\
4500"\n"\
4501"\n"\
4502"\n"\
4503"\n"\
4504"\n"\
4505"\n"\
4506"\n"\
4507"\n"\
4508"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
4509" ae2f_WhenC((union { \\\n"\
4510" tThen a; \\\n"\
4511" tNow b; \\\n"\
4512" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
4513" ._b()\n"\
4514"\n"\
4515"\n"\
4516"\n"\
4517"\n"\
4518"\n"\
4519"\n"\
4520"#define ae2f_struct ae2f_WhenC(struct)\n"\
4521"\n"\
4522"\n"\
4523"\n"\
4524"\n"\
4525"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
4526"\n"\
4527"\n"\
4528"\n"\
4529"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
4530"\n"\
4531"\n"\
4532"\n"\
4533"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
4534"\n"\
4535"\n"\
4536"\n"\
4537"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
4538"\n"\
4539"\n"\
4540"#define unless(...) if (!(__VA_ARGS__))\n"\
4541"\n"\
4542"#define ae2f_structdef_v(key, name, ...) \\\n"\
4543" typedef key name __VA_ARGS__; \\\n"\
4544" key name\n"\
4545"\n"\
4546"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
4547"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
4548"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
4549"\n"\
4550"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
4551"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
4552"\n"\
4553"\n"\
4554"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
4555"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
4556"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
4557"\t\treturn nameeval tmpluse (prmuse); \\\n"\
4558"\t} \\\n"\
4559"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
4560"\n"\
4561"#if !__ae2f_stdcheck_CC(201103L)\n"\
4562"#undef\tae2f_noexcept\n"\
4563"#define ae2f_noexcept\n"\
4564"#else\n"\
4565"#define ae2f_noexcept noexcept\n"\
4566"#endif\n"\
4567"\n"\
4568"\n"\
4569"#undef\tae2f_restrict \n"\
4570"#if ae2f_stdc_v < 199901L\n"\
4571"#define ae2f_restrict\n"\
4572"#else\n"\
4573"#define ae2f_restrict restrict\n"\
4574"#endif \n"\
4575"\n"\
4576"#if __cplusplus\n"\
4577"#define ae2f_restrict\n"\
4578"#endif \n"\
4579"\n"\
4580"#if !__ae2f_stdcheck_CC(201103L)\n"\
4581"\n"\
4582"\n"\
4583"#define ae2f_noexcept\n"\
4584"#define ae2f_constexpr\n"\
4585"#else\n"\
4586"#define ae2f_noexcept noexcept\n"\
4587"#define ae2f_constexpr constexpr\n"\
4588"#endif \n"\
4589"\n"\
4590"#if ae2f_WhenC(!)0\n"\
4591"#undef ae2f_noexcept\n"\
4592"#define ae2f_noexcept\n"\
4593"#endif\n"\
4594"\n"\
4595"#endif\n"\
4596"\n"\
4597"\n"\
4598"\n"\
4599"\n"\
4600"\n"\
4601"\n"\
4602"\n"\
4603"\n"\
4604"\n"\
4605"#define ae2f_PackCount 0\n"\
4606"\n"\
4607"\n"\
4608"#if ae2f_PackCount\n"\
4609"#pragma pack(push, 0)\n"\
4610"#endif\n"\
4611"\n"\
4612"\n"\
4613"\n"\
4614"#ifndef ae2f_Call_h\n"\
4615"#define ae2f_Call_h\n"\
4616"\n"\
4617"#define ON 1\n"\
4618"#define OFF 0\n"\
4619"\n"\
4620"#if (defined(_WIN32) || defined(_WIN64))\n"\
4621"#define ae2f_IS_WIN 1\n"\
4622"#else \n"\
4623"#define ae2f_IS_WIN 0\n"\
4624"#endif\n"\
4625"\n"\
4626"#if (defined(__linux__))\n"\
4627"#define ae2f_IS_LINUX 1\n"\
4628"#else \n"\
4629"#define ae2f_IS_LINUX 0\n"\
4630"#endif\n"\
4631"\n"\
4632"#if defined(__MACH__) || defined(__APPLE__)\n"\
4633"#define ae2f_IS_APPLE 1\n"\
4634"#else\n"\
4635"#define ae2f_IS_APPLE 0\n"\
4636"#endif\n"\
4637"\n"\
4638"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
4639"\n"\
4640"\n"\
4641"\n"\
4642"#define ae2f_IDK 1\n"\
4643"#else\n"\
4644"\n"\
4645"#define ae2f_IDK 0\n"\
4646"#endif\n"\
4647"\n"\
4648"\n"\
4649"\n"\
4650"\n"\
4651"#define ae2f_IS_SHARED ON\n"\
4652"\n"\
4653"\n"\
4654"#if ae2f_IS_SHARED\n"\
4655"\n"\
4656"#if ae2f_IS_WIN\n"\
4657"\n"\
4658"\n"\
4659"\n"\
4660"\n"\
4661"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
4662"\n"\
4663"\n"\
4664"\n"\
4665"\n"\
4666"\n"\
4667"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
4668"#endif\n"\
4669"\n"\
4670"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
4671"\n"\
4672"\n"\
4673"\n"\
4674"\n"\
4675"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
4676"\n"\
4677"\n"\
4678"\n"\
4679"\n"\
4680"\n"\
4681"#define ae2f_SHAREDCALL\n"\
4682"#endif\n"\
4683"\n"\
4684"\n"\
4685"\n"\
4686"#else\n"\
4687"\n"\
4688"\n"\
4689"\n"\
4690"\n"\
4691"\n"\
4692"#define ae2f_SHAREDEXPORT\n"\
4693"\n"\
4694"\n"\
4695"\n"\
4696"\n"\
4697"#define ae2f_SHAREDCALL\n"\
4698"#endif\n"\
4699"\n"\
4700"#endif\n"\
4701"\n"\
4702"\n"\
4703"#ifndef ae2f_MAC_BUILD\n"\
4704"\n"\
4705"#define\tae2f_MAC_BUILD OFF\n"\
4706"#endif\n"\
4707"\n"\
4708"\n"\
4709"\n"\
4710"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
4711"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
4712"\n"\
4713"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
4714"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
4715"\n"\
4716"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
4717"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
4718"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
4719"\n"\
4720"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
4721"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
4722"{ A_t* a; B_t* b; }\n"\
4723"\n"\
4724"#define ae2f_AnnUtilIdx1(idx0, sz0)\t\t\t\t(idx0)\n"\
4725"#define ae2f_AnnUtilIdx2(idx1, sz1, idx0, sz0)\t\t\t((idx1) * (sz0) + (idx0))\n"\
4726"#define ae2f_AnnUtilIdx3(idx2, sz2, idx1, sz1, idx0, sz0)\t((idx2) * (sz1) * (sz0) + (idx1) * (sz0) + (idx0))\n"\
4727"\n"\
4728"\n"\
4729"\n"\
4730"#if ae2f_PackCount\n"\
4731"#pragma pack(pop)\n"\
4732"#endif\n"\
4733"\n"\
4734"\n"\
4735"#endif\n"\
4736"\n"\
4737"\n"\
4738"\n"\
4739"\n"\
4740"\n"\
4741"\n"\
4742"\n"\
4743"\n"\
4744"\n"\
4745"\n"\
4746"\n"\
4747"#define ae2f_PackCount 0\n"\
4748"\n"\
4749"\n"\
4750"#if ae2f_PackCount\n"\
4751"#pragma pack(push, 0)\n"\
4752"#endif\n"\
4753"\n"\
4754"\n"\
4755"\n"\
4756"ae2f_structdef_n(struct, ae2f_AnnSlp_t, ae2f_AnnSlpREG_t) {\n"\
4757"\t\n"\
4758"\tsize_t m_inc;\n"\
4759"\n"\
4760"\t\n"\
4761"\tsize_t m_outc;\n"\
4762"};\n"\
4763"\n"\
4764"\n"\
4765"ae2f_structdef_n(struct, ae2f_AnnSlpPredict_t, ae2f_AnnSlpPredictREG_t) {\n"\
4766"\t\n"\
4767"\tsize_t\t\t\tm_i, m_j;\n"\
4768"\n"\
4769"\tae2f_float_t\t\tm_ret;\n"\
4770"};\n"\
4771"\n"\
4772"ae2f_structdef(struct, ae2f_AnnSlpTrainREG_t) {\n"\
4773"\tsize_t\t\t\tm_i, m_j;\n"\
4774"\n"\
4775"\tae2f_float_t\t\tm_ret;\n"\
4776"\n"\
4777"};\n"\
4778"\n"\
4779"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
4780"\t\n"\
4781"\tsize_t\t\t\tm_i, m_j;\n"\
4782"\n"\
4783"\tae2f_float_t\t\tm_ret;\n"\
4784"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4785"};\n"\
4786"\n"\
4787"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
4788"\tsize_t\t\tm_j;\n"\
4789"\tae2f_float_t\tm_ret;\n"\
4790"\tae2f_float_t\tm_tmp;\n"\
4791"};\n"\
4792"\n"\
4793"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
4794"\tsize_t\t\tm_j;\n"\
4795"\tae2f_float_t\tm_ret;\n"\
4796"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
4797"};\n"\
4798"\n"\
4799"\n"\
4800"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFollowOneREG_t, ae2f_AnnSlpFitOne_t) {\n"\
4801"\t\n"\
4802"\tsize_t\t\t\tm_j;\n"\
4803"};\n"\
4804"\n"\
4805"\n"\
4806"ae2f_structdef(struct, ae2f_AnnSlp);\n"\
4807"\n"\
4808"ae2f_structdef(union, ae2f_AnnSlpMkU0_t) {\n"\
4809"\tae2f_float_t* ae2f_restrict\ta;\n"\
4810"\tae2f_AnnSlp* ae2f_restrict\tb;\n"\
4811"};\n"\
4812"\n"\
4813"\n"\
4814"ae2f_structdef_n(struct, ae2f_AnnSlpMk_t, ae2f_AnnSlpMkREG_t) {\n"\
4815"\t\n"\
4816"\tsize_t m_stack, m_alloccount;\n"\
4817"\t\n"\
4818"\tae2f_AnnSlp* ae2f_restrict m_ptr;\n"\
4819"\t\n"\
4820"\tae2f_AnnSlpMkU0_t m_fieldptr;\n"\
4821"};\n"\
4822"\n"\
4823"ae2f_structdef_n(\n"\
4824"\t\tstruct\n"\
4825"\t\t, ae2f_AnnSlpFollow_t\n"\
4826"\t\t, ae2f_AnnSlpFollowREG_t\n"\
4827"\t\t, ae2f_AnnSlpFitREG_t\n"\
4828"\t\t, ae2f_AnnSlpFetchDeltaREG_t\n"\
4829"\t\t)\n"\
4830"{\n"\
4831"\t\n"\
4832"\tsize_t\t\t\tm_i, m_j;\n"\
4833"};\n"\
4834"\n"\
4835"ae2f_structdef_n(struct, ae2f_AnnSlpFitRAM_t, ae2f_AnnSlpFetchDeltaRAM_t, ae2f_AnnSlpTrainRAM_t) {\n"\
4836"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4837"};\n"\
4838"\n"\
4839"\n"\
4840"ae2f_structdef_n(struct, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
4841"\t\n"\
4842"\tsize_t\t\t\tm_i, m_j;\n"\
4843"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4844"};\n"\
4845"\n"\
4846"\n"\
4847"\n"\
4848"#if ae2f_PackCount\n"\
4849"#pragma pack(pop)\n"\
4850"#endif\n"\
4851"\n"\
4852"\n"\
4853"#endif\n"\
4854"\n"\
4855"#undef __ae2f_MACRO_GENERATED\n"\
4856"#define __ae2f_MACRO_GENERATED 1\n"\
4857"#undef\t__ae2f_MACRO_GENERATED\n"\
4858"#define\t__ae2f_MACRO_GENERATED\t1\n"\
4859"#ifndef ae2f_Ann_Slp_c\n"\
4860"#if !__ae2f_MACRO_GENERATED\n"\
4861"#ifndef ae2f_NEED_CLASS\n"\
4862"#define ae2f_NEED_CLASS\t1\n"\
4863"#endif\n"\
4864"\n"\
4865"\n"\
4866"#ifndef ae2f_Ann_Slp_h\n"\
4867"#define ae2f_Ann_Slp_h\n"\
4868"\n"\
4869"#ifndef ae2f_Ann_Slp_Core_h\n"\
4870"#define ae2f_Ann_Slp_Core_h\n"\
4871"\n"\
4872"\n"\
4873"\n"\
4874"#ifndef ae2f_Float_h\n"\
4875"#define ae2f_Float_h\n"\
4876"\n"\
4877"\n"\
4878"#ifndef ae2f_float_h\n"\
4879"#define ae2f_float_h\n"\
4880"\n"\
4881"\n"\
4882"\n"\
4883"\n"\
4884"\n"\
4885"#define ae2f_float float\n"\
4886"\n"\
4887"#endif \n"\
4888"\n"\
4889"\n"\
4890"typedef ae2f_float ae2f_float_t;\n"\
4891"\n"\
4892"#endif\n"\
4893"\n"\
4894"\n"\
4895"\n"\
4896"#if !defined(ae2f_errGlobal_h)\n"\
4897"#define ae2f_errGlobal_h\n"\
4898"\n"\
4899"\n"\
4900"\n"\
4901"\n"\
4902"\n"\
4903"typedef uint8_t ae2f_err_t;\n"\
4904"\n"\
4905"\n"\
4906"\n"\
4907"#define ae2f_errGlob_OK 0\n"\
4908"\n"\
4909"\n"\
4910"\n"\
4911"\n"\
4912"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
4913"\n"\
4914"\n"\
4915"\n"\
4916"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
4917"\n"\
4918"\n"\
4919"\n"\
4920"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
4921"\n"\
4922"\n"\
4923"\n"\
4924"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
4925"\n"\
4926"\n"\
4927"\n"\
4928"\n"\
4929"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
4930"\n"\
4931"\n"\
4932"\n"\
4933"\n"\
4934"#define ae2f_errGlob_NFOUND 0b100000\n"\
4935"\n"\
4936"\n"\
4937"\n"\
4938"\n"\
4939"\n"\
4940"\n"\
4941"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
4942"\n"\
4943"\n"\
4944"\n"\
4945"\n"\
4946"\n"\
4947"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
4948"\n"\
4949"#endif\n"\
4950"\n"\
4951"\n"\
4952"#if !defined(ae2f_Cast_h)\n"\
4953"\n"\
4954"\n"\
4955"\n"\
4956"#define ae2f_Cast_h\n"\
4957"\n"\
4958"\n"\
4959"\n"\
4960"\n"\
4961"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
4962"\n"\
4963"\n"\
4964"\n"\
4965"\n"\
4966"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
4967"\n"\
4968"\n"\
4969"\n"\
4970"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
4971"#define ae2f_Cast_CasterUnion_hpp\n"\
4972"\n"\
4973"#ifndef ae2f_Cast_consteval_hpp\n"\
4974"#define ae2f_Cast_consteval_hpp\n"\
4975"#if 90 >= 50\n"\
4976"#define ae2f_LangVer_C 1990\n"\
4977"#else\n"\
4978"#define ae2f_LangVer_C 2090\n"\
4979"#endif\n"\
4980"\n"\
4981"#if 11 >= 50\n"\
4982"#define ae2f_LangVer_CC 1911\n"\
4983"#else\n"\
4984"#define ae2f_LangVer_CC 2011\n"\
4985"#endif\n"\
4986"\n"\
4987"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4988"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4989"\n"\
4990"\n"\
4991"#ifdef\t__cplusplus\n"\
4992"#undef\tae2f_stdcc_v\n"\
4993"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
4994"#else\n"\
4995"\n"\
4996"#undef\tae2f_stdcc_v\n"\
4997"#define\tae2f_stdcc_v\t(199711L)\n"\
4998"\n"\
4999"#if __ae2f_lvcheck_cc(2011)\n"\
5000"#undef\tae2f_stdcc_v\n"\
5001"#define\tae2f_stdcc_v\t(201103L)\n"\
5002"#endif\n"\
5003"\n"\
5004"#if __ae2f_lvcheck_cc(2014)\n"\
5005"#undef\tae2f_stdcc_v\n"\
5006"#define\tae2f_stdcc_v\t(201402L)\n"\
5007"#endif\n"\
5008"\n"\
5009"#if __ae2f_lvcheck_cc(2017)\n"\
5010"#undef\tae2f_stdcc_v\n"\
5011"#define\tae2f_stdcc_v\t(201703L)\n"\
5012"#endif\n"\
5013"\n"\
5014"#if __ae2f_lvcheck_cc(2020)\n"\
5015"#undef\tae2f_stdcc_v\n"\
5016"#define\tae2f_stdcc_v\t(202002L)\n"\
5017"#endif\n"\
5018"\n"\
5019"#if __ae2f_lvcheck_cc(2023)\n"\
5020"#undef\tae2f_stdcc_v\n"\
5021"#define\tae2f_stdcc_v\t(202302L)\n"\
5022"#endif\n"\
5023"\n"\
5024"#endif\n"\
5025"\n"\
5026"#ifdef\t__STDC_VERSION__\n"\
5027"#undef\tae2f_stdc_v\n"\
5028"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
5029"#else\n"\
5030"\n"\
5031"#undef\tae2f_stdc_v\n"\
5032"#define ae2f_stdc_v\t(199001L)\n"\
5033"\n"\
5034"#if __ae2f_lvcheck_c(1999)\n"\
5035"#undef\tae2f_stdc_v\n"\
5036"#define ae2f_stdc_v\t(199901L)\n"\
5037"#endif\n"\
5038"\n"\
5039"#if __ae2f_lvcheck_c(2011)\n"\
5040"#undef\tae2f_stdc_v\n"\
5041"#define ae2f_stdc_v\t(201112L)\n"\
5042"#endif\n"\
5043"\n"\
5044"#if __ae2f_lvcheck_c(2017)\n"\
5045"#undef\tae2f_stdc_v\n"\
5046"#define ae2f_stdc_v\t(201710L)\n"\
5047"#endif\n"\
5048"\n"\
5049"#if __ae2f_lvcheck_c(2023)\n"\
5050"#undef\tae2f_stdc_v\n"\
5051"#define ae2f_stdc_v\t(202311L)\n"\
5052"#endif\n"\
5053"\n"\
5054"#endif\n"\
5055"\n"\
5056"#undef\t__ae2f_stdcheck_C\n"\
5057"#undef\t__ae2f_stdcheck_CC\n"\
5058"\n"\
5059"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
5060"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
5061"\n"\
5062"\n"\
5063"\n"\
5064"\n"\
5065"#if __ae2f_stdcheck_CC(201703L)\n"\
5066"#define ae2f_if_constexpr if constexpr\n"\
5067"#else\n"\
5068"#define ae2f_if_constexpr if\n"\
5069"#endif\n"\
5070"\n"\
5071"#if __ae2f_stdcheck_CC(202002L)\n"\
5072"#define ae2f_if_consteval\tif consteval\n"\
5073"#else\n"\
5074"#define ae2f_if_consteval\tif (0)\n"\
5075"#endif\n"\
5076"\n"\
5077"#if __ae2f_stdcheck_CC(202002L)\n"\
5078"#define ae2f_constexprvirtual constexpr virtual\n"\
5079"#define ae2f_constinit\tconstinit\n"\
5080"#else\n"\
5081"#define ae2f_constexprvirtual virtual\n"\
5082"#define ae2f_constinit\t\n"\
5083"#endif \n"\
5084"\n"\
5085"#if __ae2f_stdcheck_CC(201402L)\n"\
5086"#define ae2f_constextendedfun\tconstexpr\n"\
5087"#define ae2f_constextendedeval \tconstexpr\n"\
5088"\n"\
5089"#define ae2f_constextendedmethod\tconstexpr\n"\
5090"#define ae2f_constextendedmethodeval\tconstexpr\n"\
5091"\n"\
5092"#else\n"\
5093"#define ae2f_constextendedfun\tinline\n"\
5094"#define ae2f_constextendedmethod\tinline\n"\
5095"\n"\
5096"#define ae2f_constextendedeval\tinline\n"\
5097"#define ae2f_constextendedmethodeval\tinline\n"\
5098"#endif \n"\
5099"\n"\
5100"#if __ae2f_stdcheck_CC(201103L)\n"\
5101"#define ae2f_constexprmethod\t\tconstexpr\n"\
5102"#define ae2f_constexprfun\t\tconstexpr\n"\
5103"#define ae2f_constevalmethod\t\tconstexpr\n"\
5104"#define ae2f_virtual\t\tvirtual\n"\
5105"#else\n"\
5106"#define ae2f_constexprmethod\t\tinline\n"\
5107"#define ae2f_constexprfun\t\tinline\n"\
5108"#define ae2f_constevalmethod\t\tinline\n"\
5109"#define ae2f_virtual\t\t\n"\
5110"\n"\
5111"#if !defined(__cplusplus) \n"\
5112"\n"\
5113"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
5114"\n"\
5115"#define ae2f_constexpr\tconstexpr\n"\
5116"#else\n"\
5117"#define ae2f_constexpr\n"\
5118"#endif \n"\
5119"\n"\
5120"\n"\
5121"#endif \n"\
5122"\n"\
5123"#endif \n"\
5124"\n"\
5125"#if __ae2f_stdcheck_CC(202002L)\n"\
5126"#undef ae2f_constevalmethod\n"\
5127"#define ae2f_constevalmethod consteval \n"\
5128"#define ae2f_consteval\tconsteval\n"\
5129"#elif __ae2f_stdcheck_CC(0)\n"\
5130"\n"\
5131"#undef constevalmethod\n"\
5132"\n"\
5133"\n"\
5134"#define ae2f_consteval\n"\
5135"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
5136"\n"\
5137"#else\n"\
5138"\n"\
5139"#define ae2f_consteval\n"\
5140"#endif \n"\
5141"\n"\
5142"#endif\n"\
5143"\n"\
5144"\n"\
5145"\n"\
5146"\n"\
5147"\n"\
5148"\n"\
5149"\n"\
5150"\n"\
5151"template <typename t, typename k> union ae2f_UnionCaster {\n"\
5152" t a;\n"\
5153" k b;\n"\
5154" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
5155" ae2f_constexprmethod k _b() const { return b; }\n"\
5156"};\n"\
5157"\n"\
5158"#endif\n"\
5159"\n"\
5160"\n"\
5161"#ifndef ae2f_Cast_consteval_hpp\n"\
5162"#define ae2f_Cast_consteval_hpp\n"\
5163"#if 90 >= 50\n"\
5164"#define ae2f_LangVer_C 1990\n"\
5165"#else\n"\
5166"#define ae2f_LangVer_C 2090\n"\
5167"#endif\n"\
5168"\n"\
5169"#if 11 >= 50\n"\
5170"#define ae2f_LangVer_CC 1911\n"\
5171"#else\n"\
5172"#define ae2f_LangVer_CC 2011\n"\
5173"#endif\n"\
5174"\n"\
5175"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
5176"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
5177"\n"\
5178"\n"\
5179"#ifdef\t__cplusplus\n"\
5180"#undef\tae2f_stdcc_v\n"\
5181"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
5182"#else\n"\
5183"\n"\
5184"#undef\tae2f_stdcc_v\n"\
5185"#define\tae2f_stdcc_v\t(199711L)\n"\
5186"\n"\
5187"#if __ae2f_lvcheck_cc(2011)\n"\
5188"#undef\tae2f_stdcc_v\n"\
5189"#define\tae2f_stdcc_v\t(201103L)\n"\
5190"#endif\n"\
5191"\n"\
5192"#if __ae2f_lvcheck_cc(2014)\n"\
5193"#undef\tae2f_stdcc_v\n"\
5194"#define\tae2f_stdcc_v\t(201402L)\n"\
5195"#endif\n"\
5196"\n"\
5197"#if __ae2f_lvcheck_cc(2017)\n"\
5198"#undef\tae2f_stdcc_v\n"\
5199"#define\tae2f_stdcc_v\t(201703L)\n"\
5200"#endif\n"\
5201"\n"\
5202"#if __ae2f_lvcheck_cc(2020)\n"\
5203"#undef\tae2f_stdcc_v\n"\
5204"#define\tae2f_stdcc_v\t(202002L)\n"\
5205"#endif\n"\
5206"\n"\
5207"#if __ae2f_lvcheck_cc(2023)\n"\
5208"#undef\tae2f_stdcc_v\n"\
5209"#define\tae2f_stdcc_v\t(202302L)\n"\
5210"#endif\n"\
5211"\n"\
5212"#endif\n"\
5213"\n"\
5214"#ifdef\t__STDC_VERSION__\n"\
5215"#undef\tae2f_stdc_v\n"\
5216"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
5217"#else\n"\
5218"\n"\
5219"#undef\tae2f_stdc_v\n"\
5220"#define ae2f_stdc_v\t(199001L)\n"\
5221"\n"\
5222"#if __ae2f_lvcheck_c(1999)\n"\
5223"#undef\tae2f_stdc_v\n"\
5224"#define ae2f_stdc_v\t(199901L)\n"\
5225"#endif\n"\
5226"\n"\
5227"#if __ae2f_lvcheck_c(2011)\n"\
5228"#undef\tae2f_stdc_v\n"\
5229"#define ae2f_stdc_v\t(201112L)\n"\
5230"#endif\n"\
5231"\n"\
5232"#if __ae2f_lvcheck_c(2017)\n"\
5233"#undef\tae2f_stdc_v\n"\
5234"#define ae2f_stdc_v\t(201710L)\n"\
5235"#endif\n"\
5236"\n"\
5237"#if __ae2f_lvcheck_c(2023)\n"\
5238"#undef\tae2f_stdc_v\n"\
5239"#define ae2f_stdc_v\t(202311L)\n"\
5240"#endif\n"\
5241"\n"\
5242"#endif\n"\
5243"\n"\
5244"#undef\t__ae2f_stdcheck_C\n"\
5245"#undef\t__ae2f_stdcheck_CC\n"\
5246"\n"\
5247"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
5248"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
5249"\n"\
5250"\n"\
5251"\n"\
5252"\n"\
5253"#if __ae2f_stdcheck_CC(201703L)\n"\
5254"#define ae2f_if_constexpr if constexpr\n"\
5255"#else\n"\
5256"#define ae2f_if_constexpr if\n"\
5257"#endif\n"\
5258"\n"\
5259"#if __ae2f_stdcheck_CC(202002L)\n"\
5260"#define ae2f_if_consteval\tif consteval\n"\
5261"#else\n"\
5262"#define ae2f_if_consteval\tif (0)\n"\
5263"#endif\n"\
5264"\n"\
5265"#if __ae2f_stdcheck_CC(202002L)\n"\
5266"#define ae2f_constexprvirtual constexpr virtual\n"\
5267"#define ae2f_constinit\tconstinit\n"\
5268"#else\n"\
5269"#define ae2f_constexprvirtual virtual\n"\
5270"#define ae2f_constinit\t\n"\
5271"#endif \n"\
5272"\n"\
5273"#if __ae2f_stdcheck_CC(201402L)\n"\
5274"#define ae2f_constextendedfun\tconstexpr\n"\
5275"#define ae2f_constextendedeval \tconstexpr\n"\
5276"\n"\
5277"#define ae2f_constextendedmethod\tconstexpr\n"\
5278"#define ae2f_constextendedmethodeval\tconstexpr\n"\
5279"\n"\
5280"#else\n"\
5281"#define ae2f_constextendedfun\tinline\n"\
5282"#define ae2f_constextendedmethod\tinline\n"\
5283"\n"\
5284"#define ae2f_constextendedeval\tinline\n"\
5285"#define ae2f_constextendedmethodeval\tinline\n"\
5286"#endif \n"\
5287"\n"\
5288"#if __ae2f_stdcheck_CC(201103L)\n"\
5289"#define ae2f_constexprmethod\t\tconstexpr\n"\
5290"#define ae2f_constexprfun\t\tconstexpr\n"\
5291"#define ae2f_constevalmethod\t\tconstexpr\n"\
5292"#define ae2f_virtual\t\tvirtual\n"\
5293"#else\n"\
5294"#define ae2f_constexprmethod\t\tinline\n"\
5295"#define ae2f_constexprfun\t\tinline\n"\
5296"#define ae2f_constevalmethod\t\tinline\n"\
5297"#define ae2f_virtual\t\t\n"\
5298"\n"\
5299"#if !defined(__cplusplus) \n"\
5300"\n"\
5301"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
5302"\n"\
5303"#define ae2f_constexpr\tconstexpr\n"\
5304"#else\n"\
5305"#define ae2f_constexpr\n"\
5306"#endif \n"\
5307"\n"\
5308"\n"\
5309"#endif \n"\
5310"\n"\
5311"#endif \n"\
5312"\n"\
5313"#if __ae2f_stdcheck_CC(202002L)\n"\
5314"#undef ae2f_constevalmethod\n"\
5315"#define ae2f_constevalmethod consteval \n"\
5316"#define ae2f_consteval\tconsteval\n"\
5317"#elif __ae2f_stdcheck_CC(0)\n"\
5318"\n"\
5319"#undef constevalmethod\n"\
5320"\n"\
5321"\n"\
5322"#define ae2f_consteval\n"\
5323"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
5324"\n"\
5325"#else\n"\
5326"\n"\
5327"#define ae2f_consteval\n"\
5328"#endif \n"\
5329"\n"\
5330"#endif\n"\
5331"\n"\
5332"#if 90 >= 50\n"\
5333"#define ae2f_LangVer_C 1990\n"\
5334"#else\n"\
5335"#define ae2f_LangVer_C 2090\n"\
5336"#endif\n"\
5337"\n"\
5338"#if 11 >= 50\n"\
5339"#define ae2f_LangVer_CC 1911\n"\
5340"#else\n"\
5341"#define ae2f_LangVer_CC 2011\n"\
5342"#endif\n"\
5343"\n"\
5344"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
5345"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
5346"\n"\
5347"\n"\
5348"\n"\
5349"#ifndef ae2f_Cxx_h\n"\
5350"#define ae2f_Cxx_h\n"\
5351"\n"\
5352"\n"\
5353"\n"\
5354"#define ae2f_NONE\n"\
5355"\n"\
5356"#if __cplusplus\n"\
5357"\n"\
5358"\n"\
5359"\n"\
5360"\n"\
5361"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5362"\n"\
5363"\n"\
5364"\n"\
5365"#define ae2f_WhenC(...) ae2f_NONE\n"\
5366"\n"\
5367"#else\n"\
5368"\n"\
5369"\n"\
5370"\n"\
5371"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5372"\n"\
5373"\n"\
5374"\n"\
5375"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5376"\n"\
5377"#endif\n"\
5378"\n"\
5379"\n"\
5380"\n"\
5381"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5382"\n"\
5383"\n"\
5384"\n"\
5385"\n"\
5386"\n"\
5387"#define ae2f_c_check && !ae2f_is_cxx\n"\
5388"\n"\
5389"\n"\
5390"\n"\
5391"\n"\
5392"\n"\
5393"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5394"\n"\
5395"\n"\
5396"\n"\
5397"#ifndef ae2f_Cxx_Reg_h\n"\
5398"#define ae2f_Cxx_Reg_h\n"\
5399"\n"\
5400"\n"\
5401"\n"\
5402"#ifndef ae2f_Cxx_h\n"\
5403"#define ae2f_Cxx_h\n"\
5404"\n"\
5405"\n"\
5406"\n"\
5407"#define ae2f_NONE\n"\
5408"\n"\
5409"#if __cplusplus\n"\
5410"\n"\
5411"\n"\
5412"\n"\
5413"\n"\
5414"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5415"\n"\
5416"\n"\
5417"\n"\
5418"#define ae2f_WhenC(...) ae2f_NONE\n"\
5419"\n"\
5420"#else\n"\
5421"\n"\
5422"\n"\
5423"\n"\
5424"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5425"\n"\
5426"\n"\
5427"\n"\
5428"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5429"\n"\
5430"#endif\n"\
5431"\n"\
5432"\n"\
5433"\n"\
5434"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5435"\n"\
5436"\n"\
5437"\n"\
5438"\n"\
5439"\n"\
5440"#define ae2f_c_check && !ae2f_is_cxx\n"\
5441"\n"\
5442"\n"\
5443"\n"\
5444"\n"\
5445"\n"\
5446"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5447"\n"\
5448"\n"\
5449"\n"\
5450"#ifndef ae2f_Cxx_Reg_h\n"\
5451"#define ae2f_Cxx_Reg_h\n"\
5452"\n"\
5453"\n"\
5454"\n"\
5455"#ifndef ae2f_Cxx_h\n"\
5456"#define ae2f_Cxx_h\n"\
5457"\n"\
5458"\n"\
5459"\n"\
5460"#define ae2f_NONE\n"\
5461"\n"\
5462"#if __cplusplus\n"\
5463"\n"\
5464"\n"\
5465"\n"\
5466"\n"\
5467"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5468"\n"\
5469"\n"\
5470"\n"\
5471"#define ae2f_WhenC(...) ae2f_NONE\n"\
5472"\n"\
5473"#else\n"\
5474"\n"\
5475"\n"\
5476"\n"\
5477"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5478"\n"\
5479"\n"\
5480"\n"\
5481"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5482"\n"\
5483"#endif\n"\
5484"\n"\
5485"\n"\
5486"\n"\
5487"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5488"\n"\
5489"\n"\
5490"\n"\
5491"\n"\
5492"\n"\
5493"#define ae2f_c_check && !ae2f_is_cxx\n"\
5494"\n"\
5495"\n"\
5496"\n"\
5497"\n"\
5498"\n"\
5499"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5500"\n"\
5501"\n"\
5502"\n"\
5503"#ifndef ae2f_Cxx_Reg_h\n"\
5504"#define ae2f_Cxx_Reg_h\n"\
5505"\n"\
5506"\n"\
5507"\n"\
5508"#ifndef ae2f_Cxx_h\n"\
5509"#define ae2f_Cxx_h\n"\
5510"\n"\
5511"\n"\
5512"\n"\
5513"#define ae2f_NONE\n"\
5514"\n"\
5515"#if __cplusplus\n"\
5516"\n"\
5517"\n"\
5518"\n"\
5519"\n"\
5520"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5521"\n"\
5522"\n"\
5523"\n"\
5524"#define ae2f_WhenC(...) ae2f_NONE\n"\
5525"\n"\
5526"#else\n"\
5527"\n"\
5528"\n"\
5529"\n"\
5530"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5531"\n"\
5532"\n"\
5533"\n"\
5534"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5535"\n"\
5536"#endif\n"\
5537"\n"\
5538"\n"\
5539"\n"\
5540"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5541"\n"\
5542"\n"\
5543"\n"\
5544"\n"\
5545"\n"\
5546"#define ae2f_c_check && !ae2f_is_cxx\n"\
5547"\n"\
5548"\n"\
5549"\n"\
5550"\n"\
5551"\n"\
5552"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5553"\n"\
5554"\n"\
5555"\n"\
5556"#ifndef ae2f_Cxx_Reg_h\n"\
5557"#define ae2f_Cxx_Reg_h\n"\
5558"\n"\
5559"\n"\
5560"\n"\
5561"#ifndef ae2f_Cxx_h\n"\
5562"#define ae2f_Cxx_h\n"\
5563"\n"\
5564"\n"\
5565"\n"\
5566"#define ae2f_NONE\n"\
5567"\n"\
5568"#if __cplusplus\n"\
5569"\n"\
5570"\n"\
5571"\n"\
5572"\n"\
5573"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5574"\n"\
5575"\n"\
5576"\n"\
5577"#define ae2f_WhenC(...) ae2f_NONE\n"\
5578"\n"\
5579"#else\n"\
5580"\n"\
5581"\n"\
5582"\n"\
5583"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5584"\n"\
5585"\n"\
5586"\n"\
5587"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5588"\n"\
5589"#endif\n"\
5590"\n"\
5591"\n"\
5592"\n"\
5593"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5594"\n"\
5595"\n"\
5596"\n"\
5597"\n"\
5598"\n"\
5599"#define ae2f_c_check && !ae2f_is_cxx\n"\
5600"\n"\
5601"\n"\
5602"\n"\
5603"\n"\
5604"\n"\
5605"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5606"\n"\
5607"\n"\
5608"\n"\
5609"#ifndef ae2f_Cxx_Reg_h\n"\
5610"#define ae2f_Cxx_Reg_h\n"\
5611"\n"\
5612"\n"\
5613"\n"\
5614"#ifndef ae2f_Cxx_h\n"\
5615"#define ae2f_Cxx_h\n"\
5616"\n"\
5617"\n"\
5618"\n"\
5619"#define ae2f_NONE\n"\
5620"\n"\
5621"#if __cplusplus\n"\
5622"\n"\
5623"\n"\
5624"\n"\
5625"\n"\
5626"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5627"\n"\
5628"\n"\
5629"\n"\
5630"#define ae2f_WhenC(...) ae2f_NONE\n"\
5631"\n"\
5632"#else\n"\
5633"\n"\
5634"\n"\
5635"\n"\
5636"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5637"\n"\
5638"\n"\
5639"\n"\
5640"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5641"\n"\
5642"#endif\n"\
5643"\n"\
5644"\n"\
5645"\n"\
5646"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5647"\n"\
5648"\n"\
5649"\n"\
5650"\n"\
5651"\n"\
5652"#define ae2f_c_check && !ae2f_is_cxx\n"\
5653"\n"\
5654"\n"\
5655"\n"\
5656"\n"\
5657"\n"\
5658"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5659"\n"\
5660"\n"\
5661"\n"\
5662"#ifndef ae2f_Cxx_Reg_h\n"\
5663"#define ae2f_Cxx_Reg_h\n"\
5664"\n"\
5665"\n"\
5666"\n"\
5667"#ifndef ae2f_Cxx_h\n"\
5668"#define ae2f_Cxx_h\n"\
5669"\n"\
5670"\n"\
5671"\n"\
5672"#define ae2f_NONE\n"\
5673"\n"\
5674"#if __cplusplus\n"\
5675"\n"\
5676"\n"\
5677"\n"\
5678"\n"\
5679"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5680"\n"\
5681"\n"\
5682"\n"\
5683"#define ae2f_WhenC(...) ae2f_NONE\n"\
5684"\n"\
5685"#else\n"\
5686"\n"\
5687"\n"\
5688"\n"\
5689"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5690"\n"\
5691"\n"\
5692"\n"\
5693"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5694"\n"\
5695"#endif\n"\
5696"\n"\
5697"\n"\
5698"\n"\
5699"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5700"\n"\
5701"\n"\
5702"\n"\
5703"\n"\
5704"\n"\
5705"#define ae2f_c_check && !ae2f_is_cxx\n"\
5706"\n"\
5707"\n"\
5708"\n"\
5709"\n"\
5710"\n"\
5711"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5712"\n"\
5713"\n"\
5714"\n"\
5715"#ifndef ae2f_Cxx_Reg_h\n"\
5716"#define ae2f_Cxx_Reg_h\n"\
5717"\n"\
5718"\n"\
5719"\n"\
5720"#ifndef ae2f_Cxx_h\n"\
5721"#define ae2f_Cxx_h\n"\
5722"\n"\
5723"\n"\
5724"\n"\
5725"#define ae2f_NONE\n"\
5726"\n"\
5727"#if __cplusplus\n"\
5728"\n"\
5729"\n"\
5730"\n"\
5731"\n"\
5732"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5733"\n"\
5734"\n"\
5735"\n"\
5736"#define ae2f_WhenC(...) ae2f_NONE\n"\
5737"\n"\
5738"#else\n"\
5739"\n"\
5740"\n"\
5741"\n"\
5742"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5743"\n"\
5744"\n"\
5745"\n"\
5746"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5747"\n"\
5748"#endif\n"\
5749"\n"\
5750"\n"\
5751"\n"\
5752"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5753"\n"\
5754"\n"\
5755"\n"\
5756"\n"\
5757"\n"\
5758"#define ae2f_c_check && !ae2f_is_cxx\n"\
5759"\n"\
5760"\n"\
5761"\n"\
5762"\n"\
5763"\n"\
5764"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5765"\n"\
5766"\n"\
5767"\n"\
5768"#ifndef ae2f_Cxx_Reg_h\n"\
5769"#define ae2f_Cxx_Reg_h\n"\
5770"\n"\
5771"\n"\
5772"\n"\
5773"#ifndef ae2f_Cxx_h\n"\
5774"#define ae2f_Cxx_h\n"\
5775"\n"\
5776"\n"\
5777"\n"\
5778"#define ae2f_NONE\n"\
5779"\n"\
5780"#if __cplusplus\n"\
5781"\n"\
5782"\n"\
5783"\n"\
5784"\n"\
5785"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5786"\n"\
5787"\n"\
5788"\n"\
5789"#define ae2f_WhenC(...) ae2f_NONE\n"\
5790"\n"\
5791"#else\n"\
5792"\n"\
5793"\n"\
5794"\n"\
5795"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5796"\n"\
5797"\n"\
5798"\n"\
5799"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5800"\n"\
5801"#endif\n"\
5802"\n"\
5803"\n"\
5804"\n"\
5805"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5806"\n"\
5807"\n"\
5808"\n"\
5809"\n"\
5810"\n"\
5811"#define ae2f_c_check && !ae2f_is_cxx\n"\
5812"\n"\
5813"\n"\
5814"\n"\
5815"\n"\
5816"\n"\
5817"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5818"\n"\
5819"\n"\
5820"\n"\
5821"#ifndef ae2f_Cxx_Reg_h\n"\
5822"#define ae2f_Cxx_Reg_h\n"\
5823"\n"\
5824"\n"\
5825"\n"\
5826"#ifndef ae2f_Cxx_h\n"\
5827"#define ae2f_Cxx_h\n"\
5828"\n"\
5829"\n"\
5830"\n"\
5831"#define ae2f_NONE\n"\
5832"\n"\
5833"#if __cplusplus\n"\
5834"\n"\
5835"\n"\
5836"\n"\
5837"\n"\
5838"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5839"\n"\
5840"\n"\
5841"\n"\
5842"#define ae2f_WhenC(...) ae2f_NONE\n"\
5843"\n"\
5844"#else\n"\
5845"\n"\
5846"\n"\
5847"\n"\
5848"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5849"\n"\
5850"\n"\
5851"\n"\
5852"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5853"\n"\
5854"#endif\n"\
5855"\n"\
5856"\n"\
5857"\n"\
5858"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5859"\n"\
5860"\n"\
5861"\n"\
5862"\n"\
5863"\n"\
5864"#define ae2f_c_check && !ae2f_is_cxx\n"\
5865"\n"\
5866"\n"\
5867"\n"\
5868"\n"\
5869"\n"\
5870"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5871"\n"\
5872"\n"\
5873"\n"\
5874"#ifndef ae2f_Cxx_Reg_h\n"\
5875"#define ae2f_Cxx_Reg_h\n"\
5876"\n"\
5877"\n"\
5878"\n"\
5879"#ifndef ae2f_Cxx_h\n"\
5880"#define ae2f_Cxx_h\n"\
5881"\n"\
5882"\n"\
5883"\n"\
5884"#define ae2f_NONE\n"\
5885"\n"\
5886"#if __cplusplus\n"\
5887"\n"\
5888"\n"\
5889"\n"\
5890"\n"\
5891"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5892"\n"\
5893"\n"\
5894"\n"\
5895"#define ae2f_WhenC(...) ae2f_NONE\n"\
5896"\n"\
5897"#else\n"\
5898"\n"\
5899"\n"\
5900"\n"\
5901"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5902"\n"\
5903"\n"\
5904"\n"\
5905"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5906"\n"\
5907"#endif\n"\
5908"\n"\
5909"\n"\
5910"\n"\
5911"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5912"\n"\
5913"\n"\
5914"\n"\
5915"\n"\
5916"\n"\
5917"#define ae2f_c_check && !ae2f_is_cxx\n"\
5918"\n"\
5919"\n"\
5920"\n"\
5921"\n"\
5922"\n"\
5923"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5924"\n"\
5925"\n"\
5926"\n"\
5927"#ifndef ae2f_Cxx_Reg_h\n"\
5928"#define ae2f_Cxx_Reg_h\n"\
5929"\n"\
5930"\n"\
5931"\n"\
5932"#ifndef ae2f_Cxx_h\n"\
5933"#define ae2f_Cxx_h\n"\
5934"\n"\
5935"\n"\
5936"\n"\
5937"#define ae2f_NONE\n"\
5938"\n"\
5939"#if __cplusplus\n"\
5940"\n"\
5941"\n"\
5942"\n"\
5943"\n"\
5944"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5945"\n"\
5946"\n"\
5947"\n"\
5948"#define ae2f_WhenC(...) ae2f_NONE\n"\
5949"\n"\
5950"#else\n"\
5951"\n"\
5952"\n"\
5953"\n"\
5954"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5955"\n"\
5956"\n"\
5957"\n"\
5958"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5959"\n"\
5960"#endif\n"\
5961"\n"\
5962"\n"\
5963"\n"\
5964"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5965"\n"\
5966"\n"\
5967"\n"\
5968"\n"\
5969"\n"\
5970"#define ae2f_c_check && !ae2f_is_cxx\n"\
5971"\n"\
5972"\n"\
5973"\n"\
5974"\n"\
5975"\n"\
5976"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5977"\n"\
5978"\n"\
5979"\n"\
5980"#ifndef ae2f_Cxx_Reg_h\n"\
5981"#define ae2f_Cxx_Reg_h\n"\
5982"\n"\
5983"\n"\
5984"\n"\
5985"#ifndef ae2f_Cxx_h\n"\
5986"#define ae2f_Cxx_h\n"\
5987"\n"\
5988"\n"\
5989"\n"\
5990"#define ae2f_NONE\n"\
5991"\n"\
5992"#if __cplusplus\n"\
5993"\n"\
5994"\n"\
5995"\n"\
5996"\n"\
5997"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5998"\n"\
5999"\n"\
6000"\n"\
6001"#define ae2f_WhenC(...) ae2f_NONE\n"\
6002"\n"\
6003"#else\n"\
6004"\n"\
6005"\n"\
6006"\n"\
6007"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6008"\n"\
6009"\n"\
6010"\n"\
6011"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6012"\n"\
6013"#endif\n"\
6014"\n"\
6015"\n"\
6016"\n"\
6017"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6018"\n"\
6019"\n"\
6020"\n"\
6021"\n"\
6022"\n"\
6023"#define ae2f_c_check && !ae2f_is_cxx\n"\
6024"\n"\
6025"\n"\
6026"\n"\
6027"\n"\
6028"\n"\
6029"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6030"\n"\
6031"\n"\
6032"\n"\
6033"#ifndef ae2f_Cxx_Reg_h\n"\
6034"#define ae2f_Cxx_Reg_h\n"\
6035"\n"\
6036"\n"\
6037"\n"\
6038"#ifndef ae2f_Cxx_h\n"\
6039"#define ae2f_Cxx_h\n"\
6040"\n"\
6041"\n"\
6042"\n"\
6043"#define ae2f_NONE\n"\
6044"\n"\
6045"#if __cplusplus\n"\
6046"\n"\
6047"\n"\
6048"\n"\
6049"\n"\
6050"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6051"\n"\
6052"\n"\
6053"\n"\
6054"#define ae2f_WhenC(...) ae2f_NONE\n"\
6055"\n"\
6056"#else\n"\
6057"\n"\
6058"\n"\
6059"\n"\
6060"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6061"\n"\
6062"\n"\
6063"\n"\
6064"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6065"\n"\
6066"#endif\n"\
6067"\n"\
6068"\n"\
6069"\n"\
6070"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6071"\n"\
6072"\n"\
6073"\n"\
6074"\n"\
6075"\n"\
6076"#define ae2f_c_check && !ae2f_is_cxx\n"\
6077"\n"\
6078"\n"\
6079"\n"\
6080"\n"\
6081"\n"\
6082"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6083"\n"\
6084"\n"\
6085"\n"\
6086"#ifndef ae2f_Cxx_Reg_h\n"\
6087"#define ae2f_Cxx_Reg_h\n"\
6088"\n"\
6089"\n"\
6090"\n"\
6091"#ifndef ae2f_Cxx_h\n"\
6092"#define ae2f_Cxx_h\n"\
6093"\n"\
6094"\n"\
6095"\n"\
6096"#define ae2f_NONE\n"\
6097"\n"\
6098"#if __cplusplus\n"\
6099"\n"\
6100"\n"\
6101"\n"\
6102"\n"\
6103"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6104"\n"\
6105"\n"\
6106"\n"\
6107"#define ae2f_WhenC(...) ae2f_NONE\n"\
6108"\n"\
6109"#else\n"\
6110"\n"\
6111"\n"\
6112"\n"\
6113"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6114"\n"\
6115"\n"\
6116"\n"\
6117"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6118"\n"\
6119"#endif\n"\
6120"\n"\
6121"\n"\
6122"\n"\
6123"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6124"\n"\
6125"\n"\
6126"\n"\
6127"\n"\
6128"\n"\
6129"#define ae2f_c_check && !ae2f_is_cxx\n"\
6130"\n"\
6131"\n"\
6132"\n"\
6133"\n"\
6134"\n"\
6135"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6136"\n"\
6137"\n"\
6138"\n"\
6139"#ifndef ae2f_Cxx_Reg_h\n"\
6140"#define ae2f_Cxx_Reg_h\n"\
6141"\n"\
6142"\n"\
6143"\n"\
6144"#ifndef ae2f_Cxx_h\n"\
6145"#define ae2f_Cxx_h\n"\
6146"\n"\
6147"\n"\
6148"\n"\
6149"#define ae2f_NONE\n"\
6150"\n"\
6151"#if __cplusplus\n"\
6152"\n"\
6153"\n"\
6154"\n"\
6155"\n"\
6156"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6157"\n"\
6158"\n"\
6159"\n"\
6160"#define ae2f_WhenC(...) ae2f_NONE\n"\
6161"\n"\
6162"#else\n"\
6163"\n"\
6164"\n"\
6165"\n"\
6166"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6167"\n"\
6168"\n"\
6169"\n"\
6170"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6171"\n"\
6172"#endif\n"\
6173"\n"\
6174"\n"\
6175"\n"\
6176"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6177"\n"\
6178"\n"\
6179"\n"\
6180"\n"\
6181"\n"\
6182"#define ae2f_c_check && !ae2f_is_cxx\n"\
6183"\n"\
6184"\n"\
6185"\n"\
6186"\n"\
6187"\n"\
6188"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6189"\n"\
6190"\n"\
6191"\n"\
6192"#ifndef ae2f_Cxx_Reg_h\n"\
6193"#define ae2f_Cxx_Reg_h\n"\
6194"\n"\
6195"\n"\
6196"\n"\
6197"#ifndef ae2f_Cxx_h\n"\
6198"#define ae2f_Cxx_h\n"\
6199"\n"\
6200"\n"\
6201"\n"\
6202"#define ae2f_NONE\n"\
6203"\n"\
6204"#if __cplusplus\n"\
6205"\n"\
6206"\n"\
6207"\n"\
6208"\n"\
6209"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6210"\n"\
6211"\n"\
6212"\n"\
6213"#define ae2f_WhenC(...) ae2f_NONE\n"\
6214"\n"\
6215"#else\n"\
6216"\n"\
6217"\n"\
6218"\n"\
6219"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6220"\n"\
6221"\n"\
6222"\n"\
6223"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6224"\n"\
6225"#endif\n"\
6226"\n"\
6227"\n"\
6228"\n"\
6229"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6230"\n"\
6231"\n"\
6232"\n"\
6233"\n"\
6234"\n"\
6235"#define ae2f_c_check && !ae2f_is_cxx\n"\
6236"\n"\
6237"\n"\
6238"\n"\
6239"\n"\
6240"\n"\
6241"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6242"\n"\
6243"\n"\
6244"\n"\
6245"#ifndef ae2f_Cxx_Reg_h\n"\
6246"#define ae2f_Cxx_Reg_h\n"\
6247"\n"\
6248"\n"\
6249"\n"\
6250"#ifndef ae2f_Cxx_h\n"\
6251"#define ae2f_Cxx_h\n"\
6252"\n"\
6253"\n"\
6254"\n"\
6255"#define ae2f_NONE\n"\
6256"\n"\
6257"#if __cplusplus\n"\
6258"\n"\
6259"\n"\
6260"\n"\
6261"\n"\
6262"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6263"\n"\
6264"\n"\
6265"\n"\
6266"#define ae2f_WhenC(...) ae2f_NONE\n"\
6267"\n"\
6268"#else\n"\
6269"\n"\
6270"\n"\
6271"\n"\
6272"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6273"\n"\
6274"\n"\
6275"\n"\
6276"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6277"\n"\
6278"#endif\n"\
6279"\n"\
6280"\n"\
6281"\n"\
6282"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6283"\n"\
6284"\n"\
6285"\n"\
6286"\n"\
6287"\n"\
6288"#define ae2f_c_check && !ae2f_is_cxx\n"\
6289"\n"\
6290"\n"\
6291"\n"\
6292"\n"\
6293"\n"\
6294"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6295"\n"\
6296"\n"\
6297"\n"\
6298"#ifndef ae2f_Cxx_Reg_h\n"\
6299"#define ae2f_Cxx_Reg_h\n"\
6300"\n"\
6301"\n"\
6302"\n"\
6303"#ifndef ae2f_Cxx_h\n"\
6304"#define ae2f_Cxx_h\n"\
6305"\n"\
6306"\n"\
6307"\n"\
6308"#define ae2f_NONE\n"\
6309"\n"\
6310"#if __cplusplus\n"\
6311"\n"\
6312"\n"\
6313"\n"\
6314"\n"\
6315"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6316"\n"\
6317"\n"\
6318"\n"\
6319"#define ae2f_WhenC(...) ae2f_NONE\n"\
6320"\n"\
6321"#else\n"\
6322"\n"\
6323"\n"\
6324"\n"\
6325"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6326"\n"\
6327"\n"\
6328"\n"\
6329"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6330"\n"\
6331"#endif\n"\
6332"\n"\
6333"\n"\
6334"\n"\
6335"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6336"\n"\
6337"\n"\
6338"\n"\
6339"\n"\
6340"\n"\
6341"#define ae2f_c_check && !ae2f_is_cxx\n"\
6342"\n"\
6343"\n"\
6344"\n"\
6345"\n"\
6346"\n"\
6347"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6348"\n"\
6349"\n"\
6350"\n"\
6351"#ifndef ae2f_Cxx_Reg_h\n"\
6352"#define ae2f_Cxx_Reg_h\n"\
6353"\n"\
6354"\n"\
6355"\n"\
6356"#ifndef ae2f_Cxx_h\n"\
6357"#define ae2f_Cxx_h\n"\
6358"\n"\
6359"\n"\
6360"\n"\
6361"#define ae2f_NONE\n"\
6362"\n"\
6363"#if __cplusplus\n"\
6364"\n"\
6365"\n"\
6366"\n"\
6367"\n"\
6368"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6369"\n"\
6370"\n"\
6371"\n"\
6372"#define ae2f_WhenC(...) ae2f_NONE\n"\
6373"\n"\
6374"#else\n"\
6375"\n"\
6376"\n"\
6377"\n"\
6378"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6379"\n"\
6380"\n"\
6381"\n"\
6382"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6383"\n"\
6384"#endif\n"\
6385"\n"\
6386"\n"\
6387"\n"\
6388"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6389"\n"\
6390"\n"\
6391"\n"\
6392"\n"\
6393"\n"\
6394"#define ae2f_c_check && !ae2f_is_cxx\n"\
6395"\n"\
6396"\n"\
6397"\n"\
6398"\n"\
6399"\n"\
6400"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6401"\n"\
6402"\n"\
6403"\n"\
6404"#ifndef ae2f_Cxx_Reg_h\n"\
6405"#define ae2f_Cxx_Reg_h\n"\
6406"\n"\
6407"\n"\
6408"\n"\
6409"#ifndef ae2f_Cxx_h\n"\
6410"#define ae2f_Cxx_h\n"\
6411"\n"\
6412"\n"\
6413"\n"\
6414"#define ae2f_NONE\n"\
6415"\n"\
6416"#if __cplusplus\n"\
6417"\n"\
6418"\n"\
6419"\n"\
6420"\n"\
6421"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6422"\n"\
6423"\n"\
6424"\n"\
6425"#define ae2f_WhenC(...) ae2f_NONE\n"\
6426"\n"\
6427"#else\n"\
6428"\n"\
6429"\n"\
6430"\n"\
6431"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6432"\n"\
6433"\n"\
6434"\n"\
6435"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6436"\n"\
6437"#endif\n"\
6438"\n"\
6439"\n"\
6440"\n"\
6441"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6442"\n"\
6443"\n"\
6444"\n"\
6445"\n"\
6446"\n"\
6447"#define ae2f_c_check && !ae2f_is_cxx\n"\
6448"\n"\
6449"\n"\
6450"\n"\
6451"\n"\
6452"\n"\
6453"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6454"\n"\
6455"\n"\
6456"\n"\
6457"#ifndef ae2f_Cxx_Reg_h\n"\
6458"#define ae2f_Cxx_Reg_h\n"\
6459"\n"\
6460"\n"\
6461"\n"\
6462"#ifndef ae2f_Cxx_h\n"\
6463"#define ae2f_Cxx_h\n"\
6464"\n"\
6465"\n"\
6466"\n"\
6467"#define ae2f_NONE\n"\
6468"\n"\
6469"#if __cplusplus\n"\
6470"\n"\
6471"\n"\
6472"\n"\
6473"\n"\
6474"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6475"\n"\
6476"\n"\
6477"\n"\
6478"#define ae2f_WhenC(...) ae2f_NONE\n"\
6479"\n"\
6480"#else\n"\
6481"\n"\
6482"\n"\
6483"\n"\
6484"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6485"\n"\
6486"\n"\
6487"\n"\
6488"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6489"\n"\
6490"#endif\n"\
6491"\n"\
6492"\n"\
6493"\n"\
6494"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6495"\n"\
6496"\n"\
6497"\n"\
6498"\n"\
6499"\n"\
6500"#define ae2f_c_check && !ae2f_is_cxx\n"\
6501"\n"\
6502"\n"\
6503"\n"\
6504"\n"\
6505"\n"\
6506"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6507"\n"\
6508"\n"\
6509"\n"\
6510"#ifndef ae2f_Cxx_Reg_h\n"\
6511"#define ae2f_Cxx_Reg_h\n"\
6512"\n"\
6513"\n"\
6514"\n"\
6515"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6516"\n"\
6517"#endif\n"\
6518"\n"\
6519"\n"\
6520"#endif\n"\
6521"\n"\
6522"\n"\
6523"\n"\
6524"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6525"\n"\
6526"#endif\n"\
6527"\n"\
6528"\n"\
6529"#endif\n"\
6530"\n"\
6531"\n"\
6532"\n"\
6533"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6534"\n"\
6535"#endif\n"\
6536"\n"\
6537"\n"\
6538"#endif\n"\
6539"\n"\
6540"\n"\
6541"\n"\
6542"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6543"\n"\
6544"#endif\n"\
6545"\n"\
6546"\n"\
6547"#endif\n"\
6548"\n"\
6549"\n"\
6550"\n"\
6551"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6552"\n"\
6553"#endif\n"\
6554"\n"\
6555"\n"\
6556"#endif\n"\
6557"\n"\
6558"\n"\
6559"\n"\
6560"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6561"\n"\
6562"#endif\n"\
6563"\n"\
6564"\n"\
6565"#endif\n"\
6566"\n"\
6567"\n"\
6568"\n"\
6569"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6570"\n"\
6571"#endif\n"\
6572"\n"\
6573"\n"\
6574"#endif\n"\
6575"\n"\
6576"\n"\
6577"\n"\
6578"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6579"\n"\
6580"#endif\n"\
6581"\n"\
6582"\n"\
6583"#endif\n"\
6584"\n"\
6585"\n"\
6586"\n"\
6587"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6588"\n"\
6589"#endif\n"\
6590"\n"\
6591"\n"\
6592"#endif\n"\
6593"\n"\
6594"\n"\
6595"\n"\
6596"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6597"\n"\
6598"#endif\n"\
6599"\n"\
6600"\n"\
6601"#endif\n"\
6602"\n"\
6603"\n"\
6604"\n"\
6605"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6606"\n"\
6607"#endif\n"\
6608"\n"\
6609"\n"\
6610"#endif\n"\
6611"\n"\
6612"\n"\
6613"\n"\
6614"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6615"\n"\
6616"#endif\n"\
6617"\n"\
6618"\n"\
6619"#endif\n"\
6620"\n"\
6621"\n"\
6622"\n"\
6623"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6624"\n"\
6625"#endif\n"\
6626"\n"\
6627"\n"\
6628"#endif\n"\
6629"\n"\
6630"\n"\
6631"\n"\
6632"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6633"\n"\
6634"#endif\n"\
6635"\n"\
6636"\n"\
6637"#endif\n"\
6638"\n"\
6639"\n"\
6640"\n"\
6641"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6642"\n"\
6643"#endif\n"\
6644"\n"\
6645"\n"\
6646"#endif\n"\
6647"\n"\
6648"\n"\
6649"\n"\
6650"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6651"\n"\
6652"#endif\n"\
6653"\n"\
6654"\n"\
6655"#endif\n"\
6656"\n"\
6657"\n"\
6658"\n"\
6659"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6660"\n"\
6661"#endif\n"\
6662"\n"\
6663"\n"\
6664"#endif\n"\
6665"\n"\
6666"\n"\
6667"\n"\
6668"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6669"\n"\
6670"#endif\n"\
6671"\n"\
6672"\n"\
6673"#endif\n"\
6674"\n"\
6675"\n"\
6676"\n"\
6677"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6678"\n"\
6679"#endif\n"\
6680"\n"\
6681"\n"\
6682"#endif\n"\
6683"\n"\
6684"\n"\
6685"\n"\
6686"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6687"\n"\
6688"#endif\n"\
6689"\n"\
6690"\n"\
6691"#endif\n"\
6692"\n"\
6693"\n"\
6694"\n"\
6695"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6696"\n"\
6697"#endif\n"\
6698"\n"\
6699"\n"\
6700"#endif\n"\
6701"\n"\
6702"\n"\
6703"\n"\
6704"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6705"\n"\
6706"#endif\n"\
6707"\n"\
6708"\n"\
6709"#endif\n"\
6710"\n"\
6711"\n"\
6712"\n"\
6713"\n"\
6714"#undef ae2f_LP\n"\
6715"#undef ae2f_NONE\n"\
6716"#undef ae2f_opt\n"\
6717"\n"\
6718"\n"\
6719"#define ae2f_NONE\n"\
6720"\n"\
6721"\n"\
6722"#define\tae2f_LP(...) ae2f_NONE\n"\
6723"\n"\
6724"\n"\
6725"#define ae2f_opt ae2f_NONE\n"\
6726"\n"\
6727"\n"\
6728"#define ae2f_FREE(...) ae2f_NONE\n"\
6729"\n"\
6730"\n"\
6731"#define ae2f_v ae2f_NONE\n"\
6732"\n"\
6733"\n"\
6734"\n"\
6735"\n"\
6736"#define ae2f_RecordMk(type, ...) \\\n"\
6737" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
6738"\n"\
6739"\n"\
6740"\n"\
6741"#define ae2f_static_cast(t, v) \\\n"\
6742" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
6743"\n"\
6744"\n"\
6745"\n"\
6746"#define ae2f_dynamic_cast(t, v) \\\n"\
6747" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
6748"\n"\
6749"\n"\
6750"\n"\
6751"#define ae2f_reinterpret_cast(t, v) \\\n"\
6752" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
6753"\n"\
6754"\n"\
6755"\n"\
6756"#define ae2f_const_cast(t, v) \\\n"\
6757" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
6758"\n"\
6759"\n"\
6760"\n"\
6761"\n"\
6762"\n"\
6763"\n"\
6764"\n"\
6765"\n"\
6766"\n"\
6767"\n"\
6768"\n"\
6769"\n"\
6770"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
6771" ae2f_WhenC((union { \\\n"\
6772" tThen a; \\\n"\
6773" tNow b; \\\n"\
6774" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
6775" ._b()\n"\
6776"\n"\
6777"\n"\
6778"\n"\
6779"\n"\
6780"\n"\
6781"\n"\
6782"#define ae2f_struct ae2f_WhenC(struct)\n"\
6783"\n"\
6784"\n"\
6785"\n"\
6786"\n"\
6787"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
6788"\n"\
6789"\n"\
6790"\n"\
6791"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
6792"\n"\
6793"\n"\
6794"\n"\
6795"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
6796"\n"\
6797"\n"\
6798"\n"\
6799"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
6800"\n"\
6801"\n"\
6802"#define unless(...) if (!(__VA_ARGS__))\n"\
6803"\n"\
6804"#define ae2f_structdef_v(key, name, ...) \\\n"\
6805" typedef key name __VA_ARGS__; \\\n"\
6806" key name\n"\
6807"\n"\
6808"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
6809"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
6810"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
6811"\n"\
6812"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
6813"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
6814"\n"\
6815"\n"\
6816"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
6817"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
6818"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
6819"\t\treturn nameeval tmpluse (prmuse); \\\n"\
6820"\t} \\\n"\
6821"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
6822"\n"\
6823"#if !__ae2f_stdcheck_CC(201103L)\n"\
6824"#undef\tae2f_noexcept\n"\
6825"#define ae2f_noexcept\n"\
6826"#else\n"\
6827"#define ae2f_noexcept noexcept\n"\
6828"#endif\n"\
6829"\n"\
6830"\n"\
6831"#undef\tae2f_restrict \n"\
6832"#if ae2f_stdc_v < 199901L\n"\
6833"#define ae2f_restrict\n"\
6834"#else\n"\
6835"#define ae2f_restrict restrict\n"\
6836"#endif \n"\
6837"\n"\
6838"#if __cplusplus\n"\
6839"#define ae2f_restrict\n"\
6840"#endif \n"\
6841"\n"\
6842"#if !__ae2f_stdcheck_CC(201103L)\n"\
6843"\n"\
6844"\n"\
6845"#define ae2f_noexcept\n"\
6846"#define ae2f_constexpr\n"\
6847"#else\n"\
6848"#define ae2f_noexcept noexcept\n"\
6849"#define ae2f_constexpr constexpr\n"\
6850"#endif \n"\
6851"\n"\
6852"#if ae2f_WhenC(!)0\n"\
6853"#undef ae2f_noexcept\n"\
6854"#define ae2f_noexcept\n"\
6855"#endif\n"\
6856"\n"\
6857"#endif\n"\
6858"\n"\
6859"\n"\
6860"\n"\
6861"#ifndef ae2f_Call_h\n"\
6862"#define ae2f_Call_h\n"\
6863"\n"\
6864"#define ON 1\n"\
6865"#define OFF 0\n"\
6866"\n"\
6867"#if (defined(_WIN32) || defined(_WIN64))\n"\
6868"#define ae2f_IS_WIN 1\n"\
6869"#else \n"\
6870"#define ae2f_IS_WIN 0\n"\
6871"#endif\n"\
6872"\n"\
6873"#if (defined(__linux__))\n"\
6874"#define ae2f_IS_LINUX 1\n"\
6875"#else \n"\
6876"#define ae2f_IS_LINUX 0\n"\
6877"#endif\n"\
6878"\n"\
6879"#if defined(__MACH__) || defined(__APPLE__)\n"\
6880"#define ae2f_IS_APPLE 1\n"\
6881"#else\n"\
6882"#define ae2f_IS_APPLE 0\n"\
6883"#endif\n"\
6884"\n"\
6885"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
6886"\n"\
6887"\n"\
6888"\n"\
6889"#define ae2f_IDK 1\n"\
6890"#else\n"\
6891"\n"\
6892"#define ae2f_IDK 0\n"\
6893"#endif\n"\
6894"\n"\
6895"\n"\
6896"\n"\
6897"\n"\
6898"#define ae2f_IS_SHARED ON\n"\
6899"\n"\
6900"\n"\
6901"#if ae2f_IS_SHARED\n"\
6902"\n"\
6903"#if ae2f_IS_WIN\n"\
6904"\n"\
6905"\n"\
6906"\n"\
6907"\n"\
6908"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
6909"\n"\
6910"\n"\
6911"\n"\
6912"\n"\
6913"\n"\
6914"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
6915"#endif\n"\
6916"\n"\
6917"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
6918"\n"\
6919"\n"\
6920"\n"\
6921"\n"\
6922"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
6923"\n"\
6924"\n"\
6925"\n"\
6926"\n"\
6927"\n"\
6928"#define ae2f_SHAREDCALL\n"\
6929"#endif\n"\
6930"\n"\
6931"\n"\
6932"\n"\
6933"#else\n"\
6934"\n"\
6935"\n"\
6936"\n"\
6937"\n"\
6938"\n"\
6939"#define ae2f_SHAREDEXPORT\n"\
6940"\n"\
6941"\n"\
6942"\n"\
6943"\n"\
6944"#define ae2f_SHAREDCALL\n"\
6945"#endif\n"\
6946"\n"\
6947"#endif\n"\
6948"\n"\
6949"\n"\
6950"#undef ae2f_LP\n"\
6951"#undef ae2f_NONE\n"\
6952"#undef ae2f_opt\n"\
6953"\n"\
6954"\n"\
6955"#define ae2f_NONE\n"\
6956"\n"\
6957"\n"\
6958"#define\tae2f_LP(...) ae2f_NONE\n"\
6959"\n"\
6960"\n"\
6961"#define ae2f_opt ae2f_NONE\n"\
6962"\n"\
6963"\n"\
6964"#define ae2f_FREE(...) ae2f_NONE\n"\
6965"\n"\
6966"\n"\
6967"#define ae2f_v ae2f_NONE\n"\
6968"\n"\
6969"\n"\
6970"\n"\
6971"\n"\
6972"#ifndef ae2fCL_AnnAct_h\n"\
6973"#define ae2fCL_AnnAct_h\n"\
6974"\n"\
6975"\n"\
6976"\n"\
6977"\n"\
6978"#ifndef ae2f_Float_h\n"\
6979"#define ae2f_Float_h\n"\
6980"\n"\
6981"\n"\
6982"#ifndef ae2f_float_h\n"\
6983"#define ae2f_float_h\n"\
6984"\n"\
6985"\n"\
6986"\n"\
6987"\n"\
6988"\n"\
6989"#define ae2f_float float\n"\
6990"\n"\
6991"#endif \n"\
6992"\n"\
6993"\n"\
6994"typedef ae2f_float ae2f_float_t;\n"\
6995"\n"\
6996"#endif\n"\
6997"\n"\
6998"\n"\
6999"#undef ae2f_LP\n"\
7000"#undef ae2f_NONE\n"\
7001"#undef ae2f_opt\n"\
7002"\n"\
7003"\n"\
7004"#define ae2f_NONE\n"\
7005"\n"\
7006"\n"\
7007"#define\tae2f_LP(...) ae2f_NONE\n"\
7008"\n"\
7009"\n"\
7010"#define ae2f_opt ae2f_NONE\n"\
7011"\n"\
7012"\n"\
7013"#define ae2f_FREE(...) ae2f_NONE\n"\
7014"\n"\
7015"\n"\
7016"#define ae2f_v ae2f_NONE\n"\
7017"\n"\
7018"\n"\
7019"\n"\
7020"typedef void ae2f_AnnActFFN_t (\n"\
7021"\t\tae2f_float_t*\t\t\t\tret\n"\
7022"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
7023"\t\t, const size_t\t\t\t\tindex\n"\
7024"\t\t, const size_t\t\t\t\tcount\n"\
7025"\t\t);\n"\
7026"\n"\
7027"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
7028"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
7029"\n"\
7030"\n"\
7031"\n"\
7032"\n"\
7033"\n"\
7034"\n"\
7035"\n"\
7036"\n"\
7037"\n"\
7038"typedef void ae2f_AnnLossFFN_t (\n"\
7039"\t\tae2f_float_t* \t\t\t\tret,\n"\
7040"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
7041"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
7042"\t\tconst size_t\t\t\t\tindex,\n"\
7043"\t\tconst size_t\t\t\t\tcount\n"\
7044"\t\t);\n"\
7045"\n"\
7046"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
7047"\n"\
7048"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
7049"\t\tae2f_float_t* \t\t\t\tret,\n"\
7050"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
7051"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
7052"\t\tsize_t\t\t\t\t\tprm_len\n"\
7053"\t\t);\n"\
7054"\n"\
7055"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
7056"\t\tae2f_float_t*\t\t\t\tret,\n"\
7057"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
7058"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
7059"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
7060"\t\tsize_t\t\t\t\t\tprm_len\n"\
7061"\t\t);\n"\
7062"\n"\
7063"#endif\n"\
7064"\n"\
7065"#ifndef ae2f_Ann_Util_h\n"\
7066"#define ae2f_Ann_Util_h\n"\
7067"\n"\
7068"\n"\
7069"\n"\
7070"#if !defined(ae2f_Cast_h)\n"\
7071"\n"\
7072"\n"\
7073"\n"\
7074"#define ae2f_Cast_h\n"\
7075"\n"\
7076"\n"\
7077"\n"\
7078"\n"\
7079"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
7080"\n"\
7081"\n"\
7082"\n"\
7083"\n"\
7084"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
7085"\n"\
7086"\n"\
7087"\n"\
7088"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
7089"#define ae2f_Cast_CasterUnion_hpp\n"\
7090"\n"\
7091"#ifndef ae2f_Cast_consteval_hpp\n"\
7092"#define ae2f_Cast_consteval_hpp\n"\
7093"#if 90 >= 50\n"\
7094"#define ae2f_LangVer_C 1990\n"\
7095"#else\n"\
7096"#define ae2f_LangVer_C 2090\n"\
7097"#endif\n"\
7098"\n"\
7099"#if 11 >= 50\n"\
7100"#define ae2f_LangVer_CC 1911\n"\
7101"#else\n"\
7102"#define ae2f_LangVer_CC 2011\n"\
7103"#endif\n"\
7104"\n"\
7105"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7106"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7107"\n"\
7108"\n"\
7109"#ifdef\t__cplusplus\n"\
7110"#undef\tae2f_stdcc_v\n"\
7111"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
7112"#else\n"\
7113"\n"\
7114"#undef\tae2f_stdcc_v\n"\
7115"#define\tae2f_stdcc_v\t(199711L)\n"\
7116"\n"\
7117"#if __ae2f_lvcheck_cc(2011)\n"\
7118"#undef\tae2f_stdcc_v\n"\
7119"#define\tae2f_stdcc_v\t(201103L)\n"\
7120"#endif\n"\
7121"\n"\
7122"#if __ae2f_lvcheck_cc(2014)\n"\
7123"#undef\tae2f_stdcc_v\n"\
7124"#define\tae2f_stdcc_v\t(201402L)\n"\
7125"#endif\n"\
7126"\n"\
7127"#if __ae2f_lvcheck_cc(2017)\n"\
7128"#undef\tae2f_stdcc_v\n"\
7129"#define\tae2f_stdcc_v\t(201703L)\n"\
7130"#endif\n"\
7131"\n"\
7132"#if __ae2f_lvcheck_cc(2020)\n"\
7133"#undef\tae2f_stdcc_v\n"\
7134"#define\tae2f_stdcc_v\t(202002L)\n"\
7135"#endif\n"\
7136"\n"\
7137"#if __ae2f_lvcheck_cc(2023)\n"\
7138"#undef\tae2f_stdcc_v\n"\
7139"#define\tae2f_stdcc_v\t(202302L)\n"\
7140"#endif\n"\
7141"\n"\
7142"#endif\n"\
7143"\n"\
7144"#ifdef\t__STDC_VERSION__\n"\
7145"#undef\tae2f_stdc_v\n"\
7146"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
7147"#else\n"\
7148"\n"\
7149"#undef\tae2f_stdc_v\n"\
7150"#define ae2f_stdc_v\t(199001L)\n"\
7151"\n"\
7152"#if __ae2f_lvcheck_c(1999)\n"\
7153"#undef\tae2f_stdc_v\n"\
7154"#define ae2f_stdc_v\t(199901L)\n"\
7155"#endif\n"\
7156"\n"\
7157"#if __ae2f_lvcheck_c(2011)\n"\
7158"#undef\tae2f_stdc_v\n"\
7159"#define ae2f_stdc_v\t(201112L)\n"\
7160"#endif\n"\
7161"\n"\
7162"#if __ae2f_lvcheck_c(2017)\n"\
7163"#undef\tae2f_stdc_v\n"\
7164"#define ae2f_stdc_v\t(201710L)\n"\
7165"#endif\n"\
7166"\n"\
7167"#if __ae2f_lvcheck_c(2023)\n"\
7168"#undef\tae2f_stdc_v\n"\
7169"#define ae2f_stdc_v\t(202311L)\n"\
7170"#endif\n"\
7171"\n"\
7172"#endif\n"\
7173"\n"\
7174"#undef\t__ae2f_stdcheck_C\n"\
7175"#undef\t__ae2f_stdcheck_CC\n"\
7176"\n"\
7177"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
7178"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
7179"\n"\
7180"\n"\
7181"\n"\
7182"\n"\
7183"#if __ae2f_stdcheck_CC(201703L)\n"\
7184"#define ae2f_if_constexpr if constexpr\n"\
7185"#else\n"\
7186"#define ae2f_if_constexpr if\n"\
7187"#endif\n"\
7188"\n"\
7189"#if __ae2f_stdcheck_CC(202002L)\n"\
7190"#define ae2f_if_consteval\tif consteval\n"\
7191"#else\n"\
7192"#define ae2f_if_consteval\tif (0)\n"\
7193"#endif\n"\
7194"\n"\
7195"#if __ae2f_stdcheck_CC(202002L)\n"\
7196"#define ae2f_constexprvirtual constexpr virtual\n"\
7197"#define ae2f_constinit\tconstinit\n"\
7198"#else\n"\
7199"#define ae2f_constexprvirtual virtual\n"\
7200"#define ae2f_constinit\t\n"\
7201"#endif \n"\
7202"\n"\
7203"#if __ae2f_stdcheck_CC(201402L)\n"\
7204"#define ae2f_constextendedfun\tconstexpr\n"\
7205"#define ae2f_constextendedeval \tconstexpr\n"\
7206"\n"\
7207"#define ae2f_constextendedmethod\tconstexpr\n"\
7208"#define ae2f_constextendedmethodeval\tconstexpr\n"\
7209"\n"\
7210"#else\n"\
7211"#define ae2f_constextendedfun\tinline\n"\
7212"#define ae2f_constextendedmethod\tinline\n"\
7213"\n"\
7214"#define ae2f_constextendedeval\tinline\n"\
7215"#define ae2f_constextendedmethodeval\tinline\n"\
7216"#endif \n"\
7217"\n"\
7218"#if __ae2f_stdcheck_CC(201103L)\n"\
7219"#define ae2f_constexprmethod\t\tconstexpr\n"\
7220"#define ae2f_constexprfun\t\tconstexpr\n"\
7221"#define ae2f_constevalmethod\t\tconstexpr\n"\
7222"#define ae2f_virtual\t\tvirtual\n"\
7223"#else\n"\
7224"#define ae2f_constexprmethod\t\tinline\n"\
7225"#define ae2f_constexprfun\t\tinline\n"\
7226"#define ae2f_constevalmethod\t\tinline\n"\
7227"#define ae2f_virtual\t\t\n"\
7228"\n"\
7229"#if !defined(__cplusplus) \n"\
7230"\n"\
7231"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
7232"\n"\
7233"#define ae2f_constexpr\tconstexpr\n"\
7234"#else\n"\
7235"#define ae2f_constexpr\n"\
7236"#endif \n"\
7237"\n"\
7238"\n"\
7239"#endif \n"\
7240"\n"\
7241"#endif \n"\
7242"\n"\
7243"#if __ae2f_stdcheck_CC(202002L)\n"\
7244"#undef ae2f_constevalmethod\n"\
7245"#define ae2f_constevalmethod consteval \n"\
7246"#define ae2f_consteval\tconsteval\n"\
7247"#elif __ae2f_stdcheck_CC(0)\n"\
7248"\n"\
7249"#undef constevalmethod\n"\
7250"\n"\
7251"\n"\
7252"#define ae2f_consteval\n"\
7253"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
7254"\n"\
7255"#else\n"\
7256"\n"\
7257"#define ae2f_consteval\n"\
7258"#endif \n"\
7259"\n"\
7260"#endif\n"\
7261"\n"\
7262"\n"\
7263"\n"\
7264"\n"\
7265"\n"\
7266"\n"\
7267"\n"\
7268"\n"\
7269"template <typename t, typename k> union ae2f_UnionCaster {\n"\
7270" t a;\n"\
7271" k b;\n"\
7272" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
7273" ae2f_constexprmethod k _b() const { return b; }\n"\
7274"};\n"\
7275"\n"\
7276"#endif\n"\
7277"\n"\
7278"\n"\
7279"#ifndef ae2f_Cast_consteval_hpp\n"\
7280"#define ae2f_Cast_consteval_hpp\n"\
7281"#if 90 >= 50\n"\
7282"#define ae2f_LangVer_C 1990\n"\
7283"#else\n"\
7284"#define ae2f_LangVer_C 2090\n"\
7285"#endif\n"\
7286"\n"\
7287"#if 11 >= 50\n"\
7288"#define ae2f_LangVer_CC 1911\n"\
7289"#else\n"\
7290"#define ae2f_LangVer_CC 2011\n"\
7291"#endif\n"\
7292"\n"\
7293"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7294"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7295"\n"\
7296"\n"\
7297"#ifdef\t__cplusplus\n"\
7298"#undef\tae2f_stdcc_v\n"\
7299"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
7300"#else\n"\
7301"\n"\
7302"#undef\tae2f_stdcc_v\n"\
7303"#define\tae2f_stdcc_v\t(199711L)\n"\
7304"\n"\
7305"#if __ae2f_lvcheck_cc(2011)\n"\
7306"#undef\tae2f_stdcc_v\n"\
7307"#define\tae2f_stdcc_v\t(201103L)\n"\
7308"#endif\n"\
7309"\n"\
7310"#if __ae2f_lvcheck_cc(2014)\n"\
7311"#undef\tae2f_stdcc_v\n"\
7312"#define\tae2f_stdcc_v\t(201402L)\n"\
7313"#endif\n"\
7314"\n"\
7315"#if __ae2f_lvcheck_cc(2017)\n"\
7316"#undef\tae2f_stdcc_v\n"\
7317"#define\tae2f_stdcc_v\t(201703L)\n"\
7318"#endif\n"\
7319"\n"\
7320"#if __ae2f_lvcheck_cc(2020)\n"\
7321"#undef\tae2f_stdcc_v\n"\
7322"#define\tae2f_stdcc_v\t(202002L)\n"\
7323"#endif\n"\
7324"\n"\
7325"#if __ae2f_lvcheck_cc(2023)\n"\
7326"#undef\tae2f_stdcc_v\n"\
7327"#define\tae2f_stdcc_v\t(202302L)\n"\
7328"#endif\n"\
7329"\n"\
7330"#endif\n"\
7331"\n"\
7332"#ifdef\t__STDC_VERSION__\n"\
7333"#undef\tae2f_stdc_v\n"\
7334"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
7335"#else\n"\
7336"\n"\
7337"#undef\tae2f_stdc_v\n"\
7338"#define ae2f_stdc_v\t(199001L)\n"\
7339"\n"\
7340"#if __ae2f_lvcheck_c(1999)\n"\
7341"#undef\tae2f_stdc_v\n"\
7342"#define ae2f_stdc_v\t(199901L)\n"\
7343"#endif\n"\
7344"\n"\
7345"#if __ae2f_lvcheck_c(2011)\n"\
7346"#undef\tae2f_stdc_v\n"\
7347"#define ae2f_stdc_v\t(201112L)\n"\
7348"#endif\n"\
7349"\n"\
7350"#if __ae2f_lvcheck_c(2017)\n"\
7351"#undef\tae2f_stdc_v\n"\
7352"#define ae2f_stdc_v\t(201710L)\n"\
7353"#endif\n"\
7354"\n"\
7355"#if __ae2f_lvcheck_c(2023)\n"\
7356"#undef\tae2f_stdc_v\n"\
7357"#define ae2f_stdc_v\t(202311L)\n"\
7358"#endif\n"\
7359"\n"\
7360"#endif\n"\
7361"\n"\
7362"#undef\t__ae2f_stdcheck_C\n"\
7363"#undef\t__ae2f_stdcheck_CC\n"\
7364"\n"\
7365"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
7366"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
7367"\n"\
7368"\n"\
7369"\n"\
7370"\n"\
7371"#if __ae2f_stdcheck_CC(201703L)\n"\
7372"#define ae2f_if_constexpr if constexpr\n"\
7373"#else\n"\
7374"#define ae2f_if_constexpr if\n"\
7375"#endif\n"\
7376"\n"\
7377"#if __ae2f_stdcheck_CC(202002L)\n"\
7378"#define ae2f_if_consteval\tif consteval\n"\
7379"#else\n"\
7380"#define ae2f_if_consteval\tif (0)\n"\
7381"#endif\n"\
7382"\n"\
7383"#if __ae2f_stdcheck_CC(202002L)\n"\
7384"#define ae2f_constexprvirtual constexpr virtual\n"\
7385"#define ae2f_constinit\tconstinit\n"\
7386"#else\n"\
7387"#define ae2f_constexprvirtual virtual\n"\
7388"#define ae2f_constinit\t\n"\
7389"#endif \n"\
7390"\n"\
7391"#if __ae2f_stdcheck_CC(201402L)\n"\
7392"#define ae2f_constextendedfun\tconstexpr\n"\
7393"#define ae2f_constextendedeval \tconstexpr\n"\
7394"\n"\
7395"#define ae2f_constextendedmethod\tconstexpr\n"\
7396"#define ae2f_constextendedmethodeval\tconstexpr\n"\
7397"\n"\
7398"#else\n"\
7399"#define ae2f_constextendedfun\tinline\n"\
7400"#define ae2f_constextendedmethod\tinline\n"\
7401"\n"\
7402"#define ae2f_constextendedeval\tinline\n"\
7403"#define ae2f_constextendedmethodeval\tinline\n"\
7404"#endif \n"\
7405"\n"\
7406"#if __ae2f_stdcheck_CC(201103L)\n"\
7407"#define ae2f_constexprmethod\t\tconstexpr\n"\
7408"#define ae2f_constexprfun\t\tconstexpr\n"\
7409"#define ae2f_constevalmethod\t\tconstexpr\n"\
7410"#define ae2f_virtual\t\tvirtual\n"\
7411"#else\n"\
7412"#define ae2f_constexprmethod\t\tinline\n"\
7413"#define ae2f_constexprfun\t\tinline\n"\
7414"#define ae2f_constevalmethod\t\tinline\n"\
7415"#define ae2f_virtual\t\t\n"\
7416"\n"\
7417"#if !defined(__cplusplus) \n"\
7418"\n"\
7419"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
7420"\n"\
7421"#define ae2f_constexpr\tconstexpr\n"\
7422"#else\n"\
7423"#define ae2f_constexpr\n"\
7424"#endif \n"\
7425"\n"\
7426"\n"\
7427"#endif \n"\
7428"\n"\
7429"#endif \n"\
7430"\n"\
7431"#if __ae2f_stdcheck_CC(202002L)\n"\
7432"#undef ae2f_constevalmethod\n"\
7433"#define ae2f_constevalmethod consteval \n"\
7434"#define ae2f_consteval\tconsteval\n"\
7435"#elif __ae2f_stdcheck_CC(0)\n"\
7436"\n"\
7437"#undef constevalmethod\n"\
7438"\n"\
7439"\n"\
7440"#define ae2f_consteval\n"\
7441"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
7442"\n"\
7443"#else\n"\
7444"\n"\
7445"#define ae2f_consteval\n"\
7446"#endif \n"\
7447"\n"\
7448"#endif\n"\
7449"\n"\
7450"#if 90 >= 50\n"\
7451"#define ae2f_LangVer_C 1990\n"\
7452"#else\n"\
7453"#define ae2f_LangVer_C 2090\n"\
7454"#endif\n"\
7455"\n"\
7456"#if 11 >= 50\n"\
7457"#define ae2f_LangVer_CC 1911\n"\
7458"#else\n"\
7459"#define ae2f_LangVer_CC 2011\n"\
7460"#endif\n"\
7461"\n"\
7462"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7463"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7464"\n"\
7465"\n"\
7466"\n"\
7467"#ifndef ae2f_Cxx_h\n"\
7468"#define ae2f_Cxx_h\n"\
7469"\n"\
7470"\n"\
7471"\n"\
7472"#define ae2f_NONE\n"\
7473"\n"\
7474"#if __cplusplus\n"\
7475"\n"\
7476"\n"\
7477"\n"\
7478"\n"\
7479"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7480"\n"\
7481"\n"\
7482"\n"\
7483"#define ae2f_WhenC(...) ae2f_NONE\n"\
7484"\n"\
7485"#else\n"\
7486"\n"\
7487"\n"\
7488"\n"\
7489"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7490"\n"\
7491"\n"\
7492"\n"\
7493"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7494"\n"\
7495"#endif\n"\
7496"\n"\
7497"\n"\
7498"\n"\
7499"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7500"\n"\
7501"\n"\
7502"\n"\
7503"\n"\
7504"\n"\
7505"#define ae2f_c_check && !ae2f_is_cxx\n"\
7506"\n"\
7507"\n"\
7508"\n"\
7509"\n"\
7510"\n"\
7511"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7512"\n"\
7513"\n"\
7514"\n"\
7515"#ifndef ae2f_Cxx_Reg_h\n"\
7516"#define ae2f_Cxx_Reg_h\n"\
7517"\n"\
7518"\n"\
7519"\n"\
7520"#ifndef ae2f_Cxx_h\n"\
7521"#define ae2f_Cxx_h\n"\
7522"\n"\
7523"\n"\
7524"\n"\
7525"#define ae2f_NONE\n"\
7526"\n"\
7527"#if __cplusplus\n"\
7528"\n"\
7529"\n"\
7530"\n"\
7531"\n"\
7532"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7533"\n"\
7534"\n"\
7535"\n"\
7536"#define ae2f_WhenC(...) ae2f_NONE\n"\
7537"\n"\
7538"#else\n"\
7539"\n"\
7540"\n"\
7541"\n"\
7542"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7543"\n"\
7544"\n"\
7545"\n"\
7546"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7547"\n"\
7548"#endif\n"\
7549"\n"\
7550"\n"\
7551"\n"\
7552"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7553"\n"\
7554"\n"\
7555"\n"\
7556"\n"\
7557"\n"\
7558"#define ae2f_c_check && !ae2f_is_cxx\n"\
7559"\n"\
7560"\n"\
7561"\n"\
7562"\n"\
7563"\n"\
7564"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7565"\n"\
7566"\n"\
7567"\n"\
7568"#ifndef ae2f_Cxx_Reg_h\n"\
7569"#define ae2f_Cxx_Reg_h\n"\
7570"\n"\
7571"\n"\
7572"\n"\
7573"#ifndef ae2f_Cxx_h\n"\
7574"#define ae2f_Cxx_h\n"\
7575"\n"\
7576"\n"\
7577"\n"\
7578"#define ae2f_NONE\n"\
7579"\n"\
7580"#if __cplusplus\n"\
7581"\n"\
7582"\n"\
7583"\n"\
7584"\n"\
7585"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7586"\n"\
7587"\n"\
7588"\n"\
7589"#define ae2f_WhenC(...) ae2f_NONE\n"\
7590"\n"\
7591"#else\n"\
7592"\n"\
7593"\n"\
7594"\n"\
7595"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7596"\n"\
7597"\n"\
7598"\n"\
7599"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7600"\n"\
7601"#endif\n"\
7602"\n"\
7603"\n"\
7604"\n"\
7605"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7606"\n"\
7607"\n"\
7608"\n"\
7609"\n"\
7610"\n"\
7611"#define ae2f_c_check && !ae2f_is_cxx\n"\
7612"\n"\
7613"\n"\
7614"\n"\
7615"\n"\
7616"\n"\
7617"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7618"\n"\
7619"\n"\
7620"\n"\
7621"#ifndef ae2f_Cxx_Reg_h\n"\
7622"#define ae2f_Cxx_Reg_h\n"\
7623"\n"\
7624"\n"\
7625"\n"\
7626"#ifndef ae2f_Cxx_h\n"\
7627"#define ae2f_Cxx_h\n"\
7628"\n"\
7629"\n"\
7630"\n"\
7631"#define ae2f_NONE\n"\
7632"\n"\
7633"#if __cplusplus\n"\
7634"\n"\
7635"\n"\
7636"\n"\
7637"\n"\
7638"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7639"\n"\
7640"\n"\
7641"\n"\
7642"#define ae2f_WhenC(...) ae2f_NONE\n"\
7643"\n"\
7644"#else\n"\
7645"\n"\
7646"\n"\
7647"\n"\
7648"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7649"\n"\
7650"\n"\
7651"\n"\
7652"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7653"\n"\
7654"#endif\n"\
7655"\n"\
7656"\n"\
7657"\n"\
7658"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7659"\n"\
7660"\n"\
7661"\n"\
7662"\n"\
7663"\n"\
7664"#define ae2f_c_check && !ae2f_is_cxx\n"\
7665"\n"\
7666"\n"\
7667"\n"\
7668"\n"\
7669"\n"\
7670"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7671"\n"\
7672"\n"\
7673"\n"\
7674"#ifndef ae2f_Cxx_Reg_h\n"\
7675"#define ae2f_Cxx_Reg_h\n"\
7676"\n"\
7677"\n"\
7678"\n"\
7679"#ifndef ae2f_Cxx_h\n"\
7680"#define ae2f_Cxx_h\n"\
7681"\n"\
7682"\n"\
7683"\n"\
7684"#define ae2f_NONE\n"\
7685"\n"\
7686"#if __cplusplus\n"\
7687"\n"\
7688"\n"\
7689"\n"\
7690"\n"\
7691"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7692"\n"\
7693"\n"\
7694"\n"\
7695"#define ae2f_WhenC(...) ae2f_NONE\n"\
7696"\n"\
7697"#else\n"\
7698"\n"\
7699"\n"\
7700"\n"\
7701"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7702"\n"\
7703"\n"\
7704"\n"\
7705"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7706"\n"\
7707"#endif\n"\
7708"\n"\
7709"\n"\
7710"\n"\
7711"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7712"\n"\
7713"\n"\
7714"\n"\
7715"\n"\
7716"\n"\
7717"#define ae2f_c_check && !ae2f_is_cxx\n"\
7718"\n"\
7719"\n"\
7720"\n"\
7721"\n"\
7722"\n"\
7723"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7724"\n"\
7725"\n"\
7726"\n"\
7727"#ifndef ae2f_Cxx_Reg_h\n"\
7728"#define ae2f_Cxx_Reg_h\n"\
7729"\n"\
7730"\n"\
7731"\n"\
7732"#ifndef ae2f_Cxx_h\n"\
7733"#define ae2f_Cxx_h\n"\
7734"\n"\
7735"\n"\
7736"\n"\
7737"#define ae2f_NONE\n"\
7738"\n"\
7739"#if __cplusplus\n"\
7740"\n"\
7741"\n"\
7742"\n"\
7743"\n"\
7744"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7745"\n"\
7746"\n"\
7747"\n"\
7748"#define ae2f_WhenC(...) ae2f_NONE\n"\
7749"\n"\
7750"#else\n"\
7751"\n"\
7752"\n"\
7753"\n"\
7754"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7755"\n"\
7756"\n"\
7757"\n"\
7758"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7759"\n"\
7760"#endif\n"\
7761"\n"\
7762"\n"\
7763"\n"\
7764"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7765"\n"\
7766"\n"\
7767"\n"\
7768"\n"\
7769"\n"\
7770"#define ae2f_c_check && !ae2f_is_cxx\n"\
7771"\n"\
7772"\n"\
7773"\n"\
7774"\n"\
7775"\n"\
7776"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7777"\n"\
7778"\n"\
7779"\n"\
7780"#ifndef ae2f_Cxx_Reg_h\n"\
7781"#define ae2f_Cxx_Reg_h\n"\
7782"\n"\
7783"\n"\
7784"\n"\
7785"#ifndef ae2f_Cxx_h\n"\
7786"#define ae2f_Cxx_h\n"\
7787"\n"\
7788"\n"\
7789"\n"\
7790"#define ae2f_NONE\n"\
7791"\n"\
7792"#if __cplusplus\n"\
7793"\n"\
7794"\n"\
7795"\n"\
7796"\n"\
7797"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7798"\n"\
7799"\n"\
7800"\n"\
7801"#define ae2f_WhenC(...) ae2f_NONE\n"\
7802"\n"\
7803"#else\n"\
7804"\n"\
7805"\n"\
7806"\n"\
7807"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7808"\n"\
7809"\n"\
7810"\n"\
7811"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7812"\n"\
7813"#endif\n"\
7814"\n"\
7815"\n"\
7816"\n"\
7817"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7818"\n"\
7819"\n"\
7820"\n"\
7821"\n"\
7822"\n"\
7823"#define ae2f_c_check && !ae2f_is_cxx\n"\
7824"\n"\
7825"\n"\
7826"\n"\
7827"\n"\
7828"\n"\
7829"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7830"\n"\
7831"\n"\
7832"\n"\
7833"#ifndef ae2f_Cxx_Reg_h\n"\
7834"#define ae2f_Cxx_Reg_h\n"\
7835"\n"\
7836"\n"\
7837"\n"\
7838"#ifndef ae2f_Cxx_h\n"\
7839"#define ae2f_Cxx_h\n"\
7840"\n"\
7841"\n"\
7842"\n"\
7843"#define ae2f_NONE\n"\
7844"\n"\
7845"#if __cplusplus\n"\
7846"\n"\
7847"\n"\
7848"\n"\
7849"\n"\
7850"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7851"\n"\
7852"\n"\
7853"\n"\
7854"#define ae2f_WhenC(...) ae2f_NONE\n"\
7855"\n"\
7856"#else\n"\
7857"\n"\
7858"\n"\
7859"\n"\
7860"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7861"\n"\
7862"\n"\
7863"\n"\
7864"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7865"\n"\
7866"#endif\n"\
7867"\n"\
7868"\n"\
7869"\n"\
7870"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7871"\n"\
7872"\n"\
7873"\n"\
7874"\n"\
7875"\n"\
7876"#define ae2f_c_check && !ae2f_is_cxx\n"\
7877"\n"\
7878"\n"\
7879"\n"\
7880"\n"\
7881"\n"\
7882"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7883"\n"\
7884"\n"\
7885"\n"\
7886"#ifndef ae2f_Cxx_Reg_h\n"\
7887"#define ae2f_Cxx_Reg_h\n"\
7888"\n"\
7889"\n"\
7890"\n"\
7891"#ifndef ae2f_Cxx_h\n"\
7892"#define ae2f_Cxx_h\n"\
7893"\n"\
7894"\n"\
7895"\n"\
7896"#define ae2f_NONE\n"\
7897"\n"\
7898"#if __cplusplus\n"\
7899"\n"\
7900"\n"\
7901"\n"\
7902"\n"\
7903"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7904"\n"\
7905"\n"\
7906"\n"\
7907"#define ae2f_WhenC(...) ae2f_NONE\n"\
7908"\n"\
7909"#else\n"\
7910"\n"\
7911"\n"\
7912"\n"\
7913"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7914"\n"\
7915"\n"\
7916"\n"\
7917"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7918"\n"\
7919"#endif\n"\
7920"\n"\
7921"\n"\
7922"\n"\
7923"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7924"\n"\
7925"\n"\
7926"\n"\
7927"\n"\
7928"\n"\
7929"#define ae2f_c_check && !ae2f_is_cxx\n"\
7930"\n"\
7931"\n"\
7932"\n"\
7933"\n"\
7934"\n"\
7935"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7936"\n"\
7937"\n"\
7938"\n"\
7939"#ifndef ae2f_Cxx_Reg_h\n"\
7940"#define ae2f_Cxx_Reg_h\n"\
7941"\n"\
7942"\n"\
7943"\n"\
7944"#ifndef ae2f_Cxx_h\n"\
7945"#define ae2f_Cxx_h\n"\
7946"\n"\
7947"\n"\
7948"\n"\
7949"#define ae2f_NONE\n"\
7950"\n"\
7951"#if __cplusplus\n"\
7952"\n"\
7953"\n"\
7954"\n"\
7955"\n"\
7956"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7957"\n"\
7958"\n"\
7959"\n"\
7960"#define ae2f_WhenC(...) ae2f_NONE\n"\
7961"\n"\
7962"#else\n"\
7963"\n"\
7964"\n"\
7965"\n"\
7966"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7967"\n"\
7968"\n"\
7969"\n"\
7970"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7971"\n"\
7972"#endif\n"\
7973"\n"\
7974"\n"\
7975"\n"\
7976"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7977"\n"\
7978"\n"\
7979"\n"\
7980"\n"\
7981"\n"\
7982"#define ae2f_c_check && !ae2f_is_cxx\n"\
7983"\n"\
7984"\n"\
7985"\n"\
7986"\n"\
7987"\n"\
7988"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7989"\n"\
7990"\n"\
7991"\n"\
7992"#ifndef ae2f_Cxx_Reg_h\n"\
7993"#define ae2f_Cxx_Reg_h\n"\
7994"\n"\
7995"\n"\
7996"\n"\
7997"#ifndef ae2f_Cxx_h\n"\
7998"#define ae2f_Cxx_h\n"\
7999"\n"\
8000"\n"\
8001"\n"\
8002"#define ae2f_NONE\n"\
8003"\n"\
8004"#if __cplusplus\n"\
8005"\n"\
8006"\n"\
8007"\n"\
8008"\n"\
8009"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8010"\n"\
8011"\n"\
8012"\n"\
8013"#define ae2f_WhenC(...) ae2f_NONE\n"\
8014"\n"\
8015"#else\n"\
8016"\n"\
8017"\n"\
8018"\n"\
8019"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8020"\n"\
8021"\n"\
8022"\n"\
8023"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8024"\n"\
8025"#endif\n"\
8026"\n"\
8027"\n"\
8028"\n"\
8029"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8030"\n"\
8031"\n"\
8032"\n"\
8033"\n"\
8034"\n"\
8035"#define ae2f_c_check && !ae2f_is_cxx\n"\
8036"\n"\
8037"\n"\
8038"\n"\
8039"\n"\
8040"\n"\
8041"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8042"\n"\
8043"\n"\
8044"\n"\
8045"#ifndef ae2f_Cxx_Reg_h\n"\
8046"#define ae2f_Cxx_Reg_h\n"\
8047"\n"\
8048"\n"\
8049"\n"\
8050"#ifndef ae2f_Cxx_h\n"\
8051"#define ae2f_Cxx_h\n"\
8052"\n"\
8053"\n"\
8054"\n"\
8055"#define ae2f_NONE\n"\
8056"\n"\
8057"#if __cplusplus\n"\
8058"\n"\
8059"\n"\
8060"\n"\
8061"\n"\
8062"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8063"\n"\
8064"\n"\
8065"\n"\
8066"#define ae2f_WhenC(...) ae2f_NONE\n"\
8067"\n"\
8068"#else\n"\
8069"\n"\
8070"\n"\
8071"\n"\
8072"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8073"\n"\
8074"\n"\
8075"\n"\
8076"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8077"\n"\
8078"#endif\n"\
8079"\n"\
8080"\n"\
8081"\n"\
8082"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8083"\n"\
8084"\n"\
8085"\n"\
8086"\n"\
8087"\n"\
8088"#define ae2f_c_check && !ae2f_is_cxx\n"\
8089"\n"\
8090"\n"\
8091"\n"\
8092"\n"\
8093"\n"\
8094"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8095"\n"\
8096"\n"\
8097"\n"\
8098"#ifndef ae2f_Cxx_Reg_h\n"\
8099"#define ae2f_Cxx_Reg_h\n"\
8100"\n"\
8101"\n"\
8102"\n"\
8103"#ifndef ae2f_Cxx_h\n"\
8104"#define ae2f_Cxx_h\n"\
8105"\n"\
8106"\n"\
8107"\n"\
8108"#define ae2f_NONE\n"\
8109"\n"\
8110"#if __cplusplus\n"\
8111"\n"\
8112"\n"\
8113"\n"\
8114"\n"\
8115"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8116"\n"\
8117"\n"\
8118"\n"\
8119"#define ae2f_WhenC(...) ae2f_NONE\n"\
8120"\n"\
8121"#else\n"\
8122"\n"\
8123"\n"\
8124"\n"\
8125"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8126"\n"\
8127"\n"\
8128"\n"\
8129"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8130"\n"\
8131"#endif\n"\
8132"\n"\
8133"\n"\
8134"\n"\
8135"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8136"\n"\
8137"\n"\
8138"\n"\
8139"\n"\
8140"\n"\
8141"#define ae2f_c_check && !ae2f_is_cxx\n"\
8142"\n"\
8143"\n"\
8144"\n"\
8145"\n"\
8146"\n"\
8147"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8148"\n"\
8149"\n"\
8150"\n"\
8151"#ifndef ae2f_Cxx_Reg_h\n"\
8152"#define ae2f_Cxx_Reg_h\n"\
8153"\n"\
8154"\n"\
8155"\n"\
8156"#ifndef ae2f_Cxx_h\n"\
8157"#define ae2f_Cxx_h\n"\
8158"\n"\
8159"\n"\
8160"\n"\
8161"#define ae2f_NONE\n"\
8162"\n"\
8163"#if __cplusplus\n"\
8164"\n"\
8165"\n"\
8166"\n"\
8167"\n"\
8168"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8169"\n"\
8170"\n"\
8171"\n"\
8172"#define ae2f_WhenC(...) ae2f_NONE\n"\
8173"\n"\
8174"#else\n"\
8175"\n"\
8176"\n"\
8177"\n"\
8178"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8179"\n"\
8180"\n"\
8181"\n"\
8182"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8183"\n"\
8184"#endif\n"\
8185"\n"\
8186"\n"\
8187"\n"\
8188"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8189"\n"\
8190"\n"\
8191"\n"\
8192"\n"\
8193"\n"\
8194"#define ae2f_c_check && !ae2f_is_cxx\n"\
8195"\n"\
8196"\n"\
8197"\n"\
8198"\n"\
8199"\n"\
8200"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8201"\n"\
8202"\n"\
8203"\n"\
8204"#ifndef ae2f_Cxx_Reg_h\n"\
8205"#define ae2f_Cxx_Reg_h\n"\
8206"\n"\
8207"\n"\
8208"\n"\
8209"#ifndef ae2f_Cxx_h\n"\
8210"#define ae2f_Cxx_h\n"\
8211"\n"\
8212"\n"\
8213"\n"\
8214"#define ae2f_NONE\n"\
8215"\n"\
8216"#if __cplusplus\n"\
8217"\n"\
8218"\n"\
8219"\n"\
8220"\n"\
8221"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8222"\n"\
8223"\n"\
8224"\n"\
8225"#define ae2f_WhenC(...) ae2f_NONE\n"\
8226"\n"\
8227"#else\n"\
8228"\n"\
8229"\n"\
8230"\n"\
8231"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8232"\n"\
8233"\n"\
8234"\n"\
8235"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8236"\n"\
8237"#endif\n"\
8238"\n"\
8239"\n"\
8240"\n"\
8241"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8242"\n"\
8243"\n"\
8244"\n"\
8245"\n"\
8246"\n"\
8247"#define ae2f_c_check && !ae2f_is_cxx\n"\
8248"\n"\
8249"\n"\
8250"\n"\
8251"\n"\
8252"\n"\
8253"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8254"\n"\
8255"\n"\
8256"\n"\
8257"#ifndef ae2f_Cxx_Reg_h\n"\
8258"#define ae2f_Cxx_Reg_h\n"\
8259"\n"\
8260"\n"\
8261"\n"\
8262"#ifndef ae2f_Cxx_h\n"\
8263"#define ae2f_Cxx_h\n"\
8264"\n"\
8265"\n"\
8266"\n"\
8267"#define ae2f_NONE\n"\
8268"\n"\
8269"#if __cplusplus\n"\
8270"\n"\
8271"\n"\
8272"\n"\
8273"\n"\
8274"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8275"\n"\
8276"\n"\
8277"\n"\
8278"#define ae2f_WhenC(...) ae2f_NONE\n"\
8279"\n"\
8280"#else\n"\
8281"\n"\
8282"\n"\
8283"\n"\
8284"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8285"\n"\
8286"\n"\
8287"\n"\
8288"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8289"\n"\
8290"#endif\n"\
8291"\n"\
8292"\n"\
8293"\n"\
8294"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8295"\n"\
8296"\n"\
8297"\n"\
8298"\n"\
8299"\n"\
8300"#define ae2f_c_check && !ae2f_is_cxx\n"\
8301"\n"\
8302"\n"\
8303"\n"\
8304"\n"\
8305"\n"\
8306"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8307"\n"\
8308"\n"\
8309"\n"\
8310"#ifndef ae2f_Cxx_Reg_h\n"\
8311"#define ae2f_Cxx_Reg_h\n"\
8312"\n"\
8313"\n"\
8314"\n"\
8315"#ifndef ae2f_Cxx_h\n"\
8316"#define ae2f_Cxx_h\n"\
8317"\n"\
8318"\n"\
8319"\n"\
8320"#define ae2f_NONE\n"\
8321"\n"\
8322"#if __cplusplus\n"\
8323"\n"\
8324"\n"\
8325"\n"\
8326"\n"\
8327"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8328"\n"\
8329"\n"\
8330"\n"\
8331"#define ae2f_WhenC(...) ae2f_NONE\n"\
8332"\n"\
8333"#else\n"\
8334"\n"\
8335"\n"\
8336"\n"\
8337"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8338"\n"\
8339"\n"\
8340"\n"\
8341"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8342"\n"\
8343"#endif\n"\
8344"\n"\
8345"\n"\
8346"\n"\
8347"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8348"\n"\
8349"\n"\
8350"\n"\
8351"\n"\
8352"\n"\
8353"#define ae2f_c_check && !ae2f_is_cxx\n"\
8354"\n"\
8355"\n"\
8356"\n"\
8357"\n"\
8358"\n"\
8359"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8360"\n"\
8361"\n"\
8362"\n"\
8363"#ifndef ae2f_Cxx_Reg_h\n"\
8364"#define ae2f_Cxx_Reg_h\n"\
8365"\n"\
8366"\n"\
8367"\n"\
8368"#ifndef ae2f_Cxx_h\n"\
8369"#define ae2f_Cxx_h\n"\
8370"\n"\
8371"\n"\
8372"\n"\
8373"#define ae2f_NONE\n"\
8374"\n"\
8375"#if __cplusplus\n"\
8376"\n"\
8377"\n"\
8378"\n"\
8379"\n"\
8380"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8381"\n"\
8382"\n"\
8383"\n"\
8384"#define ae2f_WhenC(...) ae2f_NONE\n"\
8385"\n"\
8386"#else\n"\
8387"\n"\
8388"\n"\
8389"\n"\
8390"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8391"\n"\
8392"\n"\
8393"\n"\
8394"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8395"\n"\
8396"#endif\n"\
8397"\n"\
8398"\n"\
8399"\n"\
8400"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8401"\n"\
8402"\n"\
8403"\n"\
8404"\n"\
8405"\n"\
8406"#define ae2f_c_check && !ae2f_is_cxx\n"\
8407"\n"\
8408"\n"\
8409"\n"\
8410"\n"\
8411"\n"\
8412"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8413"\n"\
8414"\n"\
8415"\n"\
8416"#ifndef ae2f_Cxx_Reg_h\n"\
8417"#define ae2f_Cxx_Reg_h\n"\
8418"\n"\
8419"\n"\
8420"\n"\
8421"#ifndef ae2f_Cxx_h\n"\
8422"#define ae2f_Cxx_h\n"\
8423"\n"\
8424"\n"\
8425"\n"\
8426"#define ae2f_NONE\n"\
8427"\n"\
8428"#if __cplusplus\n"\
8429"\n"\
8430"\n"\
8431"\n"\
8432"\n"\
8433"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8434"\n"\
8435"\n"\
8436"\n"\
8437"#define ae2f_WhenC(...) ae2f_NONE\n"\
8438"\n"\
8439"#else\n"\
8440"\n"\
8441"\n"\
8442"\n"\
8443"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8444"\n"\
8445"\n"\
8446"\n"\
8447"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8448"\n"\
8449"#endif\n"\
8450"\n"\
8451"\n"\
8452"\n"\
8453"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8454"\n"\
8455"\n"\
8456"\n"\
8457"\n"\
8458"\n"\
8459"#define ae2f_c_check && !ae2f_is_cxx\n"\
8460"\n"\
8461"\n"\
8462"\n"\
8463"\n"\
8464"\n"\
8465"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8466"\n"\
8467"\n"\
8468"\n"\
8469"#ifndef ae2f_Cxx_Reg_h\n"\
8470"#define ae2f_Cxx_Reg_h\n"\
8471"\n"\
8472"\n"\
8473"\n"\
8474"#ifndef ae2f_Cxx_h\n"\
8475"#define ae2f_Cxx_h\n"\
8476"\n"\
8477"\n"\
8478"\n"\
8479"#define ae2f_NONE\n"\
8480"\n"\
8481"#if __cplusplus\n"\
8482"\n"\
8483"\n"\
8484"\n"\
8485"\n"\
8486"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8487"\n"\
8488"\n"\
8489"\n"\
8490"#define ae2f_WhenC(...) ae2f_NONE\n"\
8491"\n"\
8492"#else\n"\
8493"\n"\
8494"\n"\
8495"\n"\
8496"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8497"\n"\
8498"\n"\
8499"\n"\
8500"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8501"\n"\
8502"#endif\n"\
8503"\n"\
8504"\n"\
8505"\n"\
8506"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8507"\n"\
8508"\n"\
8509"\n"\
8510"\n"\
8511"\n"\
8512"#define ae2f_c_check && !ae2f_is_cxx\n"\
8513"\n"\
8514"\n"\
8515"\n"\
8516"\n"\
8517"\n"\
8518"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8519"\n"\
8520"\n"\
8521"\n"\
8522"#ifndef ae2f_Cxx_Reg_h\n"\
8523"#define ae2f_Cxx_Reg_h\n"\
8524"\n"\
8525"\n"\
8526"\n"\
8527"#ifndef ae2f_Cxx_h\n"\
8528"#define ae2f_Cxx_h\n"\
8529"\n"\
8530"\n"\
8531"\n"\
8532"#define ae2f_NONE\n"\
8533"\n"\
8534"#if __cplusplus\n"\
8535"\n"\
8536"\n"\
8537"\n"\
8538"\n"\
8539"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8540"\n"\
8541"\n"\
8542"\n"\
8543"#define ae2f_WhenC(...) ae2f_NONE\n"\
8544"\n"\
8545"#else\n"\
8546"\n"\
8547"\n"\
8548"\n"\
8549"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8550"\n"\
8551"\n"\
8552"\n"\
8553"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8554"\n"\
8555"#endif\n"\
8556"\n"\
8557"\n"\
8558"\n"\
8559"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8560"\n"\
8561"\n"\
8562"\n"\
8563"\n"\
8564"\n"\
8565"#define ae2f_c_check && !ae2f_is_cxx\n"\
8566"\n"\
8567"\n"\
8568"\n"\
8569"\n"\
8570"\n"\
8571"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8572"\n"\
8573"\n"\
8574"\n"\
8575"#ifndef ae2f_Cxx_Reg_h\n"\
8576"#define ae2f_Cxx_Reg_h\n"\
8577"\n"\
8578"\n"\
8579"\n"\
8580"#ifndef ae2f_Cxx_h\n"\
8581"#define ae2f_Cxx_h\n"\
8582"\n"\
8583"\n"\
8584"\n"\
8585"#define ae2f_NONE\n"\
8586"\n"\
8587"#if __cplusplus\n"\
8588"\n"\
8589"\n"\
8590"\n"\
8591"\n"\
8592"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8593"\n"\
8594"\n"\
8595"\n"\
8596"#define ae2f_WhenC(...) ae2f_NONE\n"\
8597"\n"\
8598"#else\n"\
8599"\n"\
8600"\n"\
8601"\n"\
8602"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8603"\n"\
8604"\n"\
8605"\n"\
8606"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8607"\n"\
8608"#endif\n"\
8609"\n"\
8610"\n"\
8611"\n"\
8612"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8613"\n"\
8614"\n"\
8615"\n"\
8616"\n"\
8617"\n"\
8618"#define ae2f_c_check && !ae2f_is_cxx\n"\
8619"\n"\
8620"\n"\
8621"\n"\
8622"\n"\
8623"\n"\
8624"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8625"\n"\
8626"\n"\
8627"#endif\n"\
8628"\n"\
8629"\n"\
8630"\n"\
8631"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8632"\n"\
8633"#endif\n"\
8634"\n"\
8635"\n"\
8636"#endif\n"\
8637"\n"\
8638"\n"\
8639"\n"\
8640"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8641"\n"\
8642"#endif\n"\
8643"\n"\
8644"\n"\
8645"#endif\n"\
8646"\n"\
8647"\n"\
8648"\n"\
8649"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8650"\n"\
8651"#endif\n"\
8652"\n"\
8653"\n"\
8654"#endif\n"\
8655"\n"\
8656"\n"\
8657"\n"\
8658"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8659"\n"\
8660"#endif\n"\
8661"\n"\
8662"\n"\
8663"#endif\n"\
8664"\n"\
8665"\n"\
8666"\n"\
8667"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8668"\n"\
8669"#endif\n"\
8670"\n"\
8671"\n"\
8672"#endif\n"\
8673"\n"\
8674"\n"\
8675"\n"\
8676"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8677"\n"\
8678"#endif\n"\
8679"\n"\
8680"\n"\
8681"#endif\n"\
8682"\n"\
8683"\n"\
8684"\n"\
8685"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8686"\n"\
8687"#endif\n"\
8688"\n"\
8689"\n"\
8690"#endif\n"\
8691"\n"\
8692"\n"\
8693"\n"\
8694"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8695"\n"\
8696"#endif\n"\
8697"\n"\
8698"\n"\
8699"#endif\n"\
8700"\n"\
8701"\n"\
8702"\n"\
8703"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8704"\n"\
8705"#endif\n"\
8706"\n"\
8707"\n"\
8708"#endif\n"\
8709"\n"\
8710"\n"\
8711"\n"\
8712"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8713"\n"\
8714"#endif\n"\
8715"\n"\
8716"\n"\
8717"#endif\n"\
8718"\n"\
8719"\n"\
8720"\n"\
8721"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8722"\n"\
8723"#endif\n"\
8724"\n"\
8725"\n"\
8726"#endif\n"\
8727"\n"\
8728"\n"\
8729"\n"\
8730"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8731"\n"\
8732"#endif\n"\
8733"\n"\
8734"\n"\
8735"#endif\n"\
8736"\n"\
8737"\n"\
8738"\n"\
8739"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8740"\n"\
8741"#endif\n"\
8742"\n"\
8743"\n"\
8744"#endif\n"\
8745"\n"\
8746"\n"\
8747"\n"\
8748"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8749"\n"\
8750"#endif\n"\
8751"\n"\
8752"\n"\
8753"#endif\n"\
8754"\n"\
8755"\n"\
8756"\n"\
8757"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8758"\n"\
8759"#endif\n"\
8760"\n"\
8761"\n"\
8762"#endif\n"\
8763"\n"\
8764"\n"\
8765"\n"\
8766"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8767"\n"\
8768"#endif\n"\
8769"\n"\
8770"\n"\
8771"#endif\n"\
8772"\n"\
8773"\n"\
8774"\n"\
8775"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8776"\n"\
8777"#endif\n"\
8778"\n"\
8779"\n"\
8780"#endif\n"\
8781"\n"\
8782"\n"\
8783"\n"\
8784"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8785"\n"\
8786"#endif\n"\
8787"\n"\
8788"\n"\
8789"#endif\n"\
8790"\n"\
8791"\n"\
8792"\n"\
8793"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8794"\n"\
8795"#endif\n"\
8796"\n"\
8797"\n"\
8798"#endif\n"\
8799"\n"\
8800"\n"\
8801"\n"\
8802"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8803"\n"\
8804"#endif\n"\
8805"\n"\
8806"\n"\
8807"#endif\n"\
8808"\n"\
8809"\n"\
8810"\n"\
8811"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8812"\n"\
8813"#endif\n"\
8814"\n"\
8815"\n"\
8816"#endif\n"\
8817"\n"\
8818"\n"\
8819"\n"\
8820"\n"\
8821"#undef ae2f_LP\n"\
8822"#undef ae2f_NONE\n"\
8823"#undef ae2f_opt\n"\
8824"\n"\
8825"\n"\
8826"#define ae2f_NONE\n"\
8827"\n"\
8828"\n"\
8829"#define\tae2f_LP(...) ae2f_NONE\n"\
8830"\n"\
8831"\n"\
8832"#define ae2f_opt ae2f_NONE\n"\
8833"\n"\
8834"\n"\
8835"#define ae2f_FREE(...) ae2f_NONE\n"\
8836"\n"\
8837"\n"\
8838"#define ae2f_v ae2f_NONE\n"\
8839"\n"\
8840"\n"\
8841"\n"\
8842"\n"\
8843"#define ae2f_RecordMk(type, ...) \\\n"\
8844" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
8845"\n"\
8846"\n"\
8847"\n"\
8848"#define ae2f_static_cast(t, v) \\\n"\
8849" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
8850"\n"\
8851"\n"\
8852"\n"\
8853"#define ae2f_dynamic_cast(t, v) \\\n"\
8854" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
8855"\n"\
8856"\n"\
8857"\n"\
8858"#define ae2f_reinterpret_cast(t, v) \\\n"\
8859" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
8860"\n"\
8861"\n"\
8862"\n"\
8863"#define ae2f_const_cast(t, v) \\\n"\
8864" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
8865"\n"\
8866"\n"\
8867"\n"\
8868"\n"\
8869"\n"\
8870"\n"\
8871"\n"\
8872"\n"\
8873"\n"\
8874"\n"\
8875"\n"\
8876"\n"\
8877"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
8878" ae2f_WhenC((union { \\\n"\
8879" tThen a; \\\n"\
8880" tNow b; \\\n"\
8881" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
8882" ._b()\n"\
8883"\n"\
8884"\n"\
8885"\n"\
8886"\n"\
8887"\n"\
8888"\n"\
8889"#define ae2f_struct ae2f_WhenC(struct)\n"\
8890"\n"\
8891"\n"\
8892"\n"\
8893"\n"\
8894"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
8895"\n"\
8896"\n"\
8897"\n"\
8898"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
8899"\n"\
8900"\n"\
8901"\n"\
8902"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
8903"\n"\
8904"\n"\
8905"\n"\
8906"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
8907"\n"\
8908"\n"\
8909"#define unless(...) if (!(__VA_ARGS__))\n"\
8910"\n"\
8911"#define ae2f_structdef_v(key, name, ...) \\\n"\
8912" typedef key name __VA_ARGS__; \\\n"\
8913" key name\n"\
8914"\n"\
8915"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
8916"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
8917"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
8918"\n"\
8919"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
8920"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
8921"\n"\
8922"\n"\
8923"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
8924"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
8925"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
8926"\t\treturn nameeval tmpluse (prmuse); \\\n"\
8927"\t} \\\n"\
8928"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
8929"\n"\
8930"#if !__ae2f_stdcheck_CC(201103L)\n"\
8931"#undef\tae2f_noexcept\n"\
8932"#define ae2f_noexcept\n"\
8933"#else\n"\
8934"#define ae2f_noexcept noexcept\n"\
8935"#endif\n"\
8936"\n"\
8937"\n"\
8938"#undef\tae2f_restrict \n"\
8939"#if ae2f_stdc_v < 199901L\n"\
8940"#define ae2f_restrict\n"\
8941"#else\n"\
8942"#define ae2f_restrict restrict\n"\
8943"#endif \n"\
8944"\n"\
8945"#if __cplusplus\n"\
8946"#define ae2f_restrict\n"\
8947"#endif \n"\
8948"\n"\
8949"#if !__ae2f_stdcheck_CC(201103L)\n"\
8950"\n"\
8951"\n"\
8952"#define ae2f_noexcept\n"\
8953"#define ae2f_constexpr\n"\
8954"#else\n"\
8955"#define ae2f_noexcept noexcept\n"\
8956"#define ae2f_constexpr constexpr\n"\
8957"#endif \n"\
8958"\n"\
8959"#if ae2f_WhenC(!)0\n"\
8960"#undef ae2f_noexcept\n"\
8961"#define ae2f_noexcept\n"\
8962"#endif\n"\
8963"\n"\
8964"#endif\n"\
8965"\n"\
8966"\n"\
8967"\n"\
8968"\n"\
8969"\n"\
8970"\n"\
8971"\n"\
8972"\n"\
8973"\n"\
8974"#define ae2f_PackCount 0\n"\
8975"\n"\
8976"\n"\
8977"#if ae2f_PackCount\n"\
8978"#pragma pack(push, 0)\n"\
8979"#endif\n"\
8980"\n"\
8981"\n"\
8982"\n"\
8983"#ifndef ae2f_Call_h\n"\
8984"#define ae2f_Call_h\n"\
8985"\n"\
8986"#define ON 1\n"\
8987"#define OFF 0\n"\
8988"\n"\
8989"#if (defined(_WIN32) || defined(_WIN64))\n"\
8990"#define ae2f_IS_WIN 1\n"\
8991"#else \n"\
8992"#define ae2f_IS_WIN 0\n"\
8993"#endif\n"\
8994"\n"\
8995"#if (defined(__linux__))\n"\
8996"#define ae2f_IS_LINUX 1\n"\
8997"#else \n"\
8998"#define ae2f_IS_LINUX 0\n"\
8999"#endif\n"\
9000"\n"\
9001"#if defined(__MACH__) || defined(__APPLE__)\n"\
9002"#define ae2f_IS_APPLE 1\n"\
9003"#else\n"\
9004"#define ae2f_IS_APPLE 0\n"\
9005"#endif\n"\
9006"\n"\
9007"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
9008"\n"\
9009"\n"\
9010"\n"\
9011"#define ae2f_IDK 1\n"\
9012"#else\n"\
9013"\n"\
9014"#define ae2f_IDK 0\n"\
9015"#endif\n"\
9016"\n"\
9017"\n"\
9018"\n"\
9019"\n"\
9020"#define ae2f_IS_SHARED ON\n"\
9021"\n"\
9022"\n"\
9023"#if ae2f_IS_SHARED\n"\
9024"\n"\
9025"#if ae2f_IS_WIN\n"\
9026"\n"\
9027"\n"\
9028"\n"\
9029"\n"\
9030"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
9031"\n"\
9032"\n"\
9033"\n"\
9034"\n"\
9035"\n"\
9036"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
9037"#endif\n"\
9038"\n"\
9039"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
9040"\n"\
9041"\n"\
9042"\n"\
9043"\n"\
9044"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
9045"\n"\
9046"\n"\
9047"\n"\
9048"\n"\
9049"\n"\
9050"#define ae2f_SHAREDCALL\n"\
9051"#endif\n"\
9052"\n"\
9053"\n"\
9054"\n"\
9055"#else\n"\
9056"\n"\
9057"\n"\
9058"\n"\
9059"\n"\
9060"\n"\
9061"#define ae2f_SHAREDEXPORT\n"\
9062"\n"\
9063"\n"\
9064"\n"\
9065"\n"\
9066"#define ae2f_SHAREDCALL\n"\
9067"#endif\n"\
9068"\n"\
9069"#endif\n"\
9070"\n"\
9071"\n"\
9072"#ifndef ae2f_MAC_BUILD\n"\
9073"\n"\
9074"#define\tae2f_MAC_BUILD OFF\n"\
9075"#endif\n"\
9076"\n"\
9077"\n"\
9078"\n"\
9079"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
9080"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
9081"\n"\
9082"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
9083"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
9084"\n"\
9085"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
9086"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
9087"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
9088"\n"\
9089"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
9090"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
9091"{ A_t* a; B_t* b; }\n"\
9092"\n"\
9093"#define ae2f_AnnUtilIdx1(idx0, sz0)\t\t\t\t(idx0)\n"\
9094"#define ae2f_AnnUtilIdx2(idx1, sz1, idx0, sz0)\t\t\t((idx1) * (sz0) + (idx0))\n"\
9095"#define ae2f_AnnUtilIdx3(idx2, sz2, idx1, sz1, idx0, sz0)\t((idx2) * (sz1) * (sz0) + (idx1) * (sz0) + (idx0))\n"\
9096"\n"\
9097"\n"\
9098"\n"\
9099"#if ae2f_PackCount\n"\
9100"#pragma pack(pop)\n"\
9101"#endif\n"\
9102"\n"\
9103"\n"\
9104"#endif\n"\
9105"\n"\
9106"\n"\
9107"\n"\
9108"\n"\
9109"\n"\
9110"\n"\
9111"\n"\
9112"\n"\
9113"\n"\
9114"\n"\
9115"\n"\
9116"#define ae2f_PackCount 0\n"\
9117"\n"\
9118"\n"\
9119"#if ae2f_PackCount\n"\
9120"#pragma pack(push, 0)\n"\
9121"#endif\n"\
9122"\n"\
9123"\n"\
9124"\n"\
9125"ae2f_structdef_n(struct, ae2f_AnnSlp_t, ae2f_AnnSlpREG_t) {\n"\
9126"\t\n"\
9127"\tsize_t m_inc;\n"\
9128"\n"\
9129"\t\n"\
9130"\tsize_t m_outc;\n"\
9131"};\n"\
9132"\n"\
9133"\n"\
9134"ae2f_structdef_n(struct, ae2f_AnnSlpPredict_t, ae2f_AnnSlpPredictREG_t) {\n"\
9135"\t\n"\
9136"\tsize_t\t\t\tm_i, m_j;\n"\
9137"\n"\
9138"\tae2f_float_t\t\tm_ret;\n"\
9139"};\n"\
9140"\n"\
9141"ae2f_structdef(struct, ae2f_AnnSlpTrainREG_t) {\n"\
9142"\tsize_t\t\t\tm_i, m_j;\n"\
9143"\n"\
9144"\tae2f_float_t\t\tm_ret;\n"\
9145"\n"\
9146"};\n"\
9147"\n"\
9148"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
9149"\t\n"\
9150"\tsize_t\t\t\tm_i, m_j;\n"\
9151"\n"\
9152"\tae2f_float_t\t\tm_ret;\n"\
9153"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9154"};\n"\
9155"\n"\
9156"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
9157"\tsize_t\t\tm_j;\n"\
9158"\tae2f_float_t\tm_ret;\n"\
9159"\tae2f_float_t\tm_tmp;\n"\
9160"};\n"\
9161"\n"\
9162"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
9163"\tsize_t\t\tm_j;\n"\
9164"\tae2f_float_t\tm_ret;\n"\
9165"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
9166"};\n"\
9167"\n"\
9168"\n"\
9169"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFollowOneREG_t, ae2f_AnnSlpFitOne_t) {\n"\
9170"\t\n"\
9171"\tsize_t\t\t\tm_j;\n"\
9172"};\n"\
9173"\n"\
9174"\n"\
9175"ae2f_structdef(struct, ae2f_AnnSlp);\n"\
9176"\n"\
9177"ae2f_structdef(union, ae2f_AnnSlpMkU0_t) {\n"\
9178"\tae2f_float_t* ae2f_restrict\ta;\n"\
9179"\tae2f_AnnSlp* ae2f_restrict\tb;\n"\
9180"};\n"\
9181"\n"\
9182"\n"\
9183"ae2f_structdef_n(struct, ae2f_AnnSlpMk_t, ae2f_AnnSlpMkREG_t) {\n"\
9184"\t\n"\
9185"\tsize_t m_stack, m_alloccount;\n"\
9186"\t\n"\
9187"\tae2f_AnnSlp* ae2f_restrict m_ptr;\n"\
9188"\t\n"\
9189"\tae2f_AnnSlpMkU0_t m_fieldptr;\n"\
9190"};\n"\
9191"\n"\
9192"ae2f_structdef_n(\n"\
9193"\t\tstruct\n"\
9194"\t\t, ae2f_AnnSlpFollow_t\n"\
9195"\t\t, ae2f_AnnSlpFollowREG_t\n"\
9196"\t\t, ae2f_AnnSlpFitREG_t\n"\
9197"\t\t, ae2f_AnnSlpFetchDeltaREG_t\n"\
9198"\t\t)\n"\
9199"{\n"\
9200"\t\n"\
9201"\tsize_t\t\t\tm_i, m_j;\n"\
9202"};\n"\
9203"\n"\
9204"ae2f_structdef_n(struct, ae2f_AnnSlpFitRAM_t, ae2f_AnnSlpFetchDeltaRAM_t, ae2f_AnnSlpTrainRAM_t) {\n"\
9205"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9206"};\n"\
9207"\n"\
9208"\n"\
9209"ae2f_structdef_n(struct, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
9210"\t\n"\
9211"\tsize_t\t\t\tm_i, m_j;\n"\
9212"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9213"};\n"\
9214"\n"\
9215"\n"\
9216"\n"\
9217"#if ae2f_PackCount\n"\
9218"#pragma pack(pop)\n"\
9219"#endif\n"\
9220"\n"\
9221"\n"\
9222"#endif\n"\
9223"\n"\
9224"\n"\
9225"\n"\
9226"#ifndef ae2fCL_AnnAct_h\n"\
9227"#define ae2fCL_AnnAct_h\n"\
9228"\n"\
9229"\n"\
9230"\n"\
9231"\n"\
9232"#ifndef ae2f_Float_h\n"\
9233"#define ae2f_Float_h\n"\
9234"\n"\
9235"\n"\
9236"#ifndef ae2f_float_h\n"\
9237"#define ae2f_float_h\n"\
9238"\n"\
9239"\n"\
9240"\n"\
9241"\n"\
9242"\n"\
9243"#define ae2f_float float\n"\
9244"\n"\
9245"#endif \n"\
9246"\n"\
9247"\n"\
9248"typedef ae2f_float ae2f_float_t;\n"\
9249"\n"\
9250"#endif\n"\
9251"\n"\
9252"\n"\
9253"#undef ae2f_LP\n"\
9254"#undef ae2f_NONE\n"\
9255"#undef ae2f_opt\n"\
9256"\n"\
9257"\n"\
9258"#define ae2f_NONE\n"\
9259"\n"\
9260"\n"\
9261"#define\tae2f_LP(...) ae2f_NONE\n"\
9262"\n"\
9263"\n"\
9264"#define ae2f_opt ae2f_NONE\n"\
9265"\n"\
9266"\n"\
9267"#define ae2f_FREE(...) ae2f_NONE\n"\
9268"\n"\
9269"\n"\
9270"#define ae2f_v ae2f_NONE\n"\
9271"\n"\
9272"\n"\
9273"\n"\
9274"typedef void ae2f_AnnActFFN_t (\n"\
9275"\t\tae2f_float_t*\t\t\t\tret\n"\
9276"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
9277"\t\t, const size_t\t\t\t\tindex\n"\
9278"\t\t, const size_t\t\t\t\tcount\n"\
9279"\t\t);\n"\
9280"\n"\
9281"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
9282"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
9283"\n"\
9284"\n"\
9285"\n"\
9286"\n"\
9287"\n"\
9288"\n"\
9289"\n"\
9290"\n"\
9291"\n"\
9292"typedef void ae2f_AnnLossFFN_t (\n"\
9293"\t\tae2f_float_t* \t\t\t\tret,\n"\
9294"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
9295"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
9296"\t\tconst size_t\t\t\t\tindex,\n"\
9297"\t\tconst size_t\t\t\t\tcount\n"\
9298"\t\t);\n"\
9299"\n"\
9300"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
9301"\n"\
9302"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
9303"\t\tae2f_float_t* \t\t\t\tret,\n"\
9304"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
9305"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
9306"\t\tsize_t\t\t\t\t\tprm_len\n"\
9307"\t\t);\n"\
9308"\n"\
9309"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
9310"\t\tae2f_float_t*\t\t\t\tret,\n"\
9311"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
9312"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
9313"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
9314"\t\tsize_t\t\t\t\t\tprm_len\n"\
9315"\t\t);\n"\
9316"\n"\
9317"#endif\n"\
9318"\n"\
9319"\n"\
9320"\n"\
9321"\n"\
9322"\n"\
9323"\n"\
9324"\n"\
9325"\n"\
9326"\n"\
9327"#define ae2f_PackCount 0\n"\
9328"\n"\
9329"\n"\
9330"#if ae2f_PackCount\n"\
9331"#pragma pack(push, 0)\n"\
9332"#endif\n"\
9333"\n"\
9334"\n"\
9335"\n"\
9336"ae2f_structdef(struct, ae2f_AnnSlp) \n"\
9337"#if ae2f_NEED_CLASS\n"\
9338"{\n"\
9339"\t\n"\
9340"\tae2f_float_t* ae2f_restrict m_weight;\n"\
9341"\t\n"\
9342"\tae2f_float_t* ae2f_restrict m_bias;\n"\
9343"\t\n"\
9344"\tae2f_float_t* ae2f_restrict m_cachedelta;\n"\
9345"\n"\
9346"\t\n"\
9347"\tae2f_float_t* ae2f_restrict m_cacheact;\n"\
9348"\n"\
9349"\t\n"\
9350"\tae2f_AnnSlpREG_t m_Slp[1];\n"\
9351"\n"\
9352"\t\n"\
9353"\tae2f_AnnActFFN_t * m_act;\n"\
9354"\t\n"\
9355"\tae2f_AnnActFFN_t * m_actderiv;\n"\
9356"\t\n"\
9357"\tae2f_AnnLossFFN_t* m_lossderiv;\n"\
9358"\n"\
9359"\t\n"\
9360"\tae2f_float_t m_learningrate;\n"\
9361"\t\n"\
9362"\tae2f_float_t m_learningrate_bias;\n"\
9363"\n"\
9364"#if ae2f_WhenCXX(!)0\n"\
9365"#define ae2f_TMP\n"\
9366"\n"\
9367"\tinline static void ae2f_TMP operator delete(void* end);\n"\
9368"\tinline static void* ae2f_TMP operator new(\n"\
9369"\t\tsize_t oneonly\n"\
9370"\t\t, ae2f_LP(inc * outc) ae2f_float_t* ae2f_restrict const\tweight_opt,\n"\
9371"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tbias_opt,\n"\
9372"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tcache_opt,\n"\
9373"\n"\
9374"\t\tconst size_t\t\t\t\t\tinc,\n"\
9375"\t\tconst size_t\t\t\t\t\toutc,\n"\
9376"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
9377"\n"\
9378"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
9379"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
9380"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
9381"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
9382"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
9383"\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\terr_opt\n"\
9384"\t\t) throw();\n"\
9385"\n"\
9386"\tinline void ae2f_TMP Predict(\n"\
9387"\t\tae2f_err_t* const err_opt\n"\
9388"\t\t, ae2f_LP(_this::inc)\n"\
9389"\t\tconst ae2f_float_t* const prm_in\n"\
9390"\t\t, ae2f_LP(_this::outc)\n"\
9391"\t\tae2f_float_t* const out\n"\
9392"\t\t) const;\n"\
9393"\n"\
9394"\tinline void ae2f_TMP Follow(\n"\
9395"\t\tae2f_err_t* const reterr_opt\n"\
9396"\t\t, ae2f_LP(_this::inc)\n"\
9397"\t\tconst ae2f_float_t* const prm_in\n"\
9398"\t\t, ae2f_LP(_this::outc) \n"\
9399"\t\tconst ae2f_float_t* const delta\n"\
9400"\t\t);\n"\
9401"\n"\
9402"\tinline void ae2f_TMP Fit(\n"\
9403"\t\tae2f_err_t* const reterr_opt\n"\
9404"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
9405"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
9406"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
9407"\t\t);\n"\
9408"\n"\
9409"\tinline void ae2f_TMP Train(\n"\
9410"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
9411"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
9412"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
9413"\t\t);\n"\
9414"\n"\
9415"#undef ae2f_TMP\n"\
9416"#endif \n"\
9417"}\n"\
9418"#endif\n"\
9419";\n"\
9420"\n"\
9421"\n"\
9422"\n"\
9423"#if ae2f_PackCount\n"\
9424"#pragma pack(pop)\n"\
9425"#endif\n"\
9426"\n"\
9427"\n"\
9428"\n"\
9429"\n"\
9430"#define ae2f_AnnSlpFieldSz(inc, outc) ((((inc) + 2) * ((outc)) * sizeof(ae2f_float_t)) + sizeof(ae2f_AnnSlp))\n"\
9431"\n"\
9432"#if ae2f_NEED_CLASS\n"\
9433"\n"\
9434"\n"\
9435"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpInit(\n"\
9436"\t\tae2f_AnnSlpREG_t* ae2f_restrict _this,\n"\
9437"\t\tconst size_t inc,\n"\
9438"\t\tconst size_t outc,\n"\
9439"\t\tconst size_t offset_opt,\n"\
9440"\t\tae2f_err_t* ae2f_restrict const err_opt,\n"\
9441"\t\tsize_t* ae2f_restrict const initsz_opt\n"\
9442"\t\t) ae2f_noexcept;\n"\
9443"\n"\
9444"\n"\
9445"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpMk(\n"\
9446"\t\tae2f_LP(inc * outc) ae2f_float_t* ae2f_restrict const\tweight_opt,\n"\
9447"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tbias_opt,\n"\
9448"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tcache_opt,\n"\
9449"\n"\
9450"\t\tconst size_t\t\t\t\t\tinc,\n"\
9451"\t\tconst size_t\t\t\t\t\toutc,\n"\
9452"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
9453"\t\tconst size_t\t\t\t\t\textra_opt,\n"\
9454"\t\tae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel) \n"\
9455"\t\tae2f_AnnSlp* ae2f_restrict * ae2f_restrict const\t\tslp,\n"\
9456"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
9457"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
9458"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
9459"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
9460"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
9461"\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\t\terr_opt\n"\
9462"\t\t) ae2f_noexcept;\n"\
9463"\n"\
9464"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpDel(\n"\
9465"\t\tae2f_AnnSlp* ae2f_restrict const slp\n"\
9466"\t\t) ae2f_noexcept;\n"\
9467"\n"\
9468"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpPredict(\n"\
9469"\t\tae2f_err_t* ae2f_restrict const err_opt\n"\
9470"\t\t, const ae2f_AnnSlp* ae2f_restrict const _this\n"\
9471"\t\t, ae2f_LP(_this::inc)\n"\
9472"\t\tconst ae2f_float_t* ae2f_restrict const prm_in\n"\
9473"\t\t, ae2f_LP(_this::outc)\n"\
9474"\t\tae2f_float_t* ae2f_restrict const out\n"\
9475"\t\t) ae2f_noexcept;\n"\
9476"\n"\
9477"\t\n"\
9478"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFollow(\n"\
9479"\t\tae2f_err_t* ae2f_restrict const reterr_opt\n"\
9480"\t\t, const ae2f_AnnSlp* ae2f_restrict const _this\n"\
9481"\t\t, ae2f_LP(_this::inc)\n"\
9482"\t\tconst ae2f_float_t* ae2f_restrict const prm_in\n"\
9483"\t\t, ae2f_LP(_this::outc) \n"\
9484"\t\tconst ae2f_float_t* ae2f_restrict const delta\n"\
9485"\t\t) ae2f_noexcept;\n"\
9486"\n"\
9487"\t\n"\
9488"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFit(\n"\
9489"\t\t\t\tae2f_err_t* const reterr_opt\n"\
9490"\t\t\t\t, const ae2f_AnnSlp* const _this\n"\
9491"\t\t\t\t, ae2f_LP(_this::inc) const ae2f_float_t* ae2f_restrict const prm_inp\n"\
9492"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* ae2f_restrict const prm_out\n"\
9493"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* ae2f_restrict const prm_out_desired\n"\
9494"\t\t\t\t) ae2f_noexcept;\n"\
9495"\n"\
9496"\t\n"\
9497"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFetchDelta(\n"\
9498"\t\t\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\terr\n"\
9499"\t\t\t\t, const ae2f_AnnSlp* ae2f_restrict\t\t\tslp\n"\
9500"\n"\
9501"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* ae2f_restrict const\tout\n"\
9502"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* ae2f_restrict const\tout_desired\n"\
9503"\n"\
9504"\t\t\t\t, ae2f_LP(slp::outc) ae2f_float_t* ae2f_restrict const\tretdelta\n"\
9505"\t\t\t\t) ae2f_noexcept;\n"\
9506"\n"\
9507"\t\n"\
9508"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpTrain(\n"\
9509"\t\t\t\tae2f_err_t* const ae2f_restrict\t\t\t\t\terr\n"\
9510"\t\t\t\t, ae2f_AnnSlp*\tae2f_restrict\t\t\t\tslp\n"\
9511"\t\t\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tae2f_restrict\tinp\n"\
9512"\t\t\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tae2f_restrict\tout_desired\n"\
9513"\t\t\t\t) ae2f_noexcept;\n"\
9514"\n"\
9515"#endif\n"\
9516"\n"\
9517"#if !(ae2f_MAC_BUILD) || 1\n"\
9518"\n"\
9519"#define ae2f_AnnSlpInit\t\t__ae2f_AnnSlpInit_C\n"\
9520"#define ae2f_AnnSlpMk\t\t__ae2f_AnnSlpMk_C\n"\
9521"#define ae2f_AnnSlpDel\t\t__ae2f_AnnSlpDel_C\n"\
9522"#define ae2f_AnnSlpPredict\t__ae2f_AnnSlpPredict_C\n"\
9523"#define ae2f_AnnSlpFollow\t__ae2f_AnnSlpFollow_C\n"\
9524"#define ae2f_AnnSlpFit\t\t__ae2f_AnnSlpFit_C\n"\
9525"#define ae2f_AnnSlpTrain\t__ae2f_AnnSlpTrain_C\n"\
9526"#define ae2f_AnnSlpFetchDelta\t__ae2f_AnnSlpFetchDelta_C\n"\
9527"\n"\
9528"#endif \n"\
9529"#endif\n"\
9530"\n"\
9531"\n"\
9532"\n"\
9533"#undef\t__ae2f_MACRO_GENERATED\n"\
9534"#define\t__ae2f_MACRO_GENERATED\t1\n"\
9535"#ifndef ae2f_Ann_Slp_c\n"\
9536"#if !__ae2f_MACRO_GENERATED\n"\
9537"\n"\
9538"#undef __ae2f_MACRO_GENERATED\n"\
9539"#define __ae2f_MACRO_GENERATED 1\n"\
9540"#endif\n"\
9541"\n"\
9542"#define ae2f_Ann_Slp_c\n"\
9543"\n"\
9544"\n"\
9545"#undef __ae2f_MACRO_GENERATED\n"\
9546"#define __ae2f_MACRO_GENERATED 1\n"\
9547"\n"\
9548"#undef __ae2f_MACRO_GENERATED\n"\
9549"#define __ae2f_MACRO_GENERATED 1\n"\
9550"\n"\
9551"#define __ae2f_AnnSlpDel\tfree\n"\
9552"#define __ae2f_AnnSlpDel_C\tfree\n"\
9553"\n"\
9554"#if ae2f_NEED_CLASS\n"\
9555"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
9556"\t \\\n"\
9557"\t\t \\\n"\
9558" \\\n"\
9559"\t \\\n"\
9560"\t\t rret_init, \\\n"\
9561"\t\t prm_weight_opt, \\\n"\
9562"\t\t prm_bias_opt, \\\n"\
9563"\t\t prm_cache_opt, \\\n"\
9564"\t\t prm_cacheact_opt, \\\n"\
9565"\t\t prm_inc, \\\n"\
9566"\t\t prm_outc \\\n"\
9567") \\\n"\
9568"{ \\\n"\
9569"\t(rret_init) = \\\n"\
9570"\t\tsizeof(ae2f_AnnSlp) \\\n"\
9571"\t\t+ \t((prm_weight_opt) ? 0 : (prm_inc) * (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
9572"\t\t+\t((prm_bias_opt) ? 0 : (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
9573"\t\t+\t((prm_cache_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
9574"\t\t+\t((prm_cacheact_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
9575"\t\t; \\\n"\
9576"}\n"\
9577"\n"\
9578"#define __ae2f_AnnSlpInit_imp( \\\n"\
9579"\t \\\n"\
9580"\t\t \\\n"\
9581" \\\n"\
9582"\t \\\n"\
9583"\t\t reg_init, \\\n"\
9584"\t\t rret_this, \\\n"\
9585"\t\t prm_inc, \\\n"\
9586"\t\t prm_outc, \\\n"\
9587"\t\t prm_incmax_opt \\\n"\
9588") \\\n"\
9589"{ \\\n"\
9590"\t \\\n"\
9591"\tunless(prm_incmax_opt) { \\\n"\
9592"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
9593"\t\t\t\treg_init, 0, 0, 0, 0, prm_inc, prm_outc \\\n"\
9594"\t\t\t\t); \\\n"\
9595"\t\t(rret_this).m_inc\t=\t(prm_inc); \\\n"\
9596"\t} else { \\\n"\
9597"\t\t(rret_this).m_inc\t=\t(prm_incmax_opt); \\\n"\
9598"\t} \\\n"\
9599" \\\n"\
9600"\t(rret_this).m_outc\t=\t(prm_outc); \\\n"\
9601"}\n"\
9602"\n"\
9603"\n"\
9604"#define __ae2f_AnnSlpInit_V( \\\n"\
9605"\t \\\n"\
9606"\t\tv_reg_init, \\\n"\
9607" \\\n"\
9608"\t \\\n"\
9609"\t\t pret_slp, \\\n"\
9610"\t\t prm_inc, \\\n"\
9611"\t\t prm_outc, \\\n"\
9612"\t\t prm_offset_opt, \\\n"\
9613"\t\t pret_err_opt, \\\n"\
9614"\t\t pret_initsz_opt \\\n"\
9615") \\\n"\
9616"{ \\\n"\
9617"\tif((pret_err_opt) && *(pret_err_opt)) \\\n"\
9618"\t\t; \\\n"\
9619"\tunless(pret_slp) \\\n"\
9620"\t\t(pret_err_opt) && (*(pret_err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9621"\telse { \\\n"\
9622"\t\tae2f_reg size_t v_reg_init; \\\n"\
9623"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
9624"\t\t\t\tv_reg_init \\\n"\
9625"\t\t\t\t, *(pret_slp) \\\n"\
9626"\t\t\t\t, prm_inc, prm_outc \\\n"\
9627"\t\t\t\t, 0 \\\n"\
9628"\t\t\t\t); \\\n"\
9629"\t\t(pret_initsz_opt) && (*(pret_initsz_opt) = v_reg_init + prm_offset_opt); \\\n"\
9630"\t} \\\n"\
9631"}\n"\
9632"\n"\
9633"#define __ae2f_AnnSlpInit( \\\n"\
9634"\t \\\n"\
9635"\t\t \\\n"\
9636" \\\n"\
9637"\t \\\n"\
9638"\t\t pret_slp, \\\n"\
9639"\t\t prm_inc, \\\n"\
9640"\t\t prm_outc, \\\n"\
9641"\t\t prm_offset_opt, \\\n"\
9642"\t\t pret_err_opt, \\\n"\
9643"\t\t pret_initsz_opt \\\n"\
9644") \\\n"\
9645"{ \\\n"\
9646"\t__ae2f_AnnSlpInit_V( \\\n"\
9647"\t\t\tv_reg_init, pret_slp \\\n"\
9648"\t\t\t, prm_inc, prm_outc \\\n"\
9649"\t\t\t, prm_offset_opt \\\n"\
9650"\t\t\t, pret_err_opt \\\n"\
9651"\t\t\t, pret_initsz_opt \\\n"\
9652"\t\t\t); \\\n"\
9653"}\n"\
9654"\n"\
9655"#else\n"\
9656"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
9657"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
9658"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9659"\n"\
9660"#undef\t__ae2f_AnnSlpInit_imp\n"\
9661"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
9662"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9663"\n"\
9664"#undef\t__ae2f_AnnSlpInit\n"\
9665"#define __ae2f_AnnSlpInit(...) \\\n"\
9666"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9667"#endif\n"\
9668"\n"\
9669"\n"\
9670"\n"\
9671"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
9672"\n"\
9673"#if ae2f_NEED_CLASS\n"\
9674"#define __ae2f_AnnSlpMkVerbose_imp( \\\n"\
9675"\t \\\n"\
9676"\t\t \\\n"\
9677" \\\n"\
9678"\t \\\n"\
9679"\t\t reg_mk, \\\n"\
9680"\t\t prop_weight_opt, \\\n"\
9681"\t\t prop_bias_opt, \\\n"\
9682"\t\t prop_cache_opt, \\\n"\
9683"\t\t prop_cacheact_opt, \\\n"\
9684"\t\t prm_inc, \\\n"\
9685"\t\t prm_outc, \\\n"\
9686"\t\t prm_offset_opt, \\\n"\
9687"\t\t prm_extra_opt, \\\n"\
9688"\t\t fn_act, \\\n"\
9689"\t\t fn_actderiv, \\\n"\
9690"\t\t fn_lossderiv, \\\n"\
9691"\t\t prm_learningrate, \\\n"\
9692"\t\t prm_learningrate_bias \\\n"\
9693") \\\n"\
9694"{ \\\n"\
9695"\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
9696"\t\t\treg_mk.m_stack \\\n"\
9697"\t\t\t, prop_weight_opt \\\n"\
9698"\t\t\t, prop_bias_opt \\\n"\
9699"\t\t\t, prop_cache_opt \\\n"\
9700"\t\t\t, prop_cacheact_opt \\\n"\
9701"\t\t\t, prm_inc, prm_outc \\\n"\
9702"\t\t\t); \\\n"\
9703"\tif((reg_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
9704"\t\t\t\t\tae2f_AnnSlp* \\\n"\
9705"\t\t\t\t\t, calloc((reg_mk).m_stack + (prm_offset_opt) + (prm_extra_opt), 1))) \\\n"\
9706"\t ) { \\\n"\
9707"\t\t(reg_mk).m_alloccount = 0; \\\n"\
9708"\t\t(reg_mk).m_fieldptr.b = (reg_mk).m_ptr + 1; \\\n"\
9709"\t\t(reg_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
9710"\t\t\t\tae2f_AnnSlp* \\\n"\
9711"\t\t\t\t, ae2f_reinterpret_cast(char*, (reg_mk).m_fieldptr.b) + (prm_offset_opt) \\\n"\
9712"\t\t\t\t); \\\n"\
9713" \\\n"\
9714"\t\tif(prop_weight_opt) { \\\n"\
9715"\t\t\t(reg_mk).m_ptr->m_weight = (prop_weight_opt); \\\n"\
9716"\t\t} else { \\\n"\
9717"\t\t\t(reg_mk).m_ptr->m_weight = ((reg_mk).m_fieldptr.a); \\\n"\
9718"\t\t\t(reg_mk).m_fieldptr.a += (prm_inc) * (prm_outc); \\\n"\
9719"\t\t} \\\n"\
9720" \\\n"\
9721"\t\tif(prop_bias_opt) { \\\n"\
9722"\t\t\t(reg_mk).m_ptr->m_bias = (prop_bias_opt); \\\n"\
9723"\t\t} else { \\\n"\
9724"\t\t\t(reg_mk).m_ptr->m_bias = (reg_mk).m_fieldptr.a; \\\n"\
9725"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
9726"\t\t} \\\n"\
9727" \\\n"\
9728"\t\tif(prop_cache_opt) { \\\n"\
9729"\t\t\t(reg_mk).m_ptr->m_cachedelta = (prop_cache_opt); \\\n"\
9730"\t\t} else { \\\n"\
9731"\t\t\t(reg_mk).m_ptr->m_cachedelta = (reg_mk).m_fieldptr.a; \\\n"\
9732"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
9733"\t\t} \\\n"\
9734" \\\n"\
9735"\t\tif(prop_cacheact_opt) { \\\n"\
9736"\t\t\t(reg_mk).m_ptr->m_cacheact = (prop_cacheact_opt); \\\n"\
9737"\t\t} else { \\\n"\
9738"\t\t\t(reg_mk).m_ptr->m_cacheact = (reg_mk).m_fieldptr.a; \\\n"\
9739"\t\t} \\\n"\
9740" \\\n"\
9741"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
9742"\t\t\t\t(reg_mk).m_stack \\\n"\
9743"\t\t\t\t, reg_mk.m_ptr->m_Slp[0] \\\n"\
9744"\t\t\t\t, prm_inc \\\n"\
9745"\t\t\t\t, prm_outc \\\n"\
9746"\t\t\t\t, prm_inc \\\n"\
9747"\t\t\t\t); \\\n"\
9748" \\\n"\
9749"\t\t(reg_mk).m_ptr[0].m_act = fn_act; \\\n"\
9750"\t\t(reg_mk).m_ptr[0].m_actderiv = fn_actderiv; \\\n"\
9751"\t\t(reg_mk).m_ptr[0].m_lossderiv = fn_lossderiv; \\\n"\
9752"\t\t(reg_mk).m_ptr[0].m_learningrate = prm_learningrate; \\\n"\
9753"\t\t(reg_mk).m_ptr[0].m_learningrate_bias = prm_learningrate_bias; \\\n"\
9754"\t} \\\n"\
9755"}\n"\
9756"\n"\
9757"#define __ae2f_AnnSlpMk( \\\n"\
9758"\t \\\n"\
9759"\t\t \\\n"\
9760" \\\n"\
9761"\t \\\n"\
9762"\t\t weight_opt, \\\n"\
9763"\t\t bias_opt, \\\n"\
9764"\t\t cache_opt, \\\n"\
9765"\t\t inc, \\\n"\
9766"\t\t outc, \\\n"\
9767"\t\t offset_opt, \\\n"\
9768"\t\t extra_opt, \\\n"\
9769"\t\t slp, \\\n"\
9770"\t\t act, \\\n"\
9771"\t\t actderiv, \\\n"\
9772"\t\t lossderiv, \\\n"\
9773"\t\t learningrate, \\\n"\
9774"\t\t learningrate_bias, \\\n"\
9775"\t\t err_opt \\\n"\
9776") \\\n"\
9777"{ \\\n"\
9778"\tif((err_opt) && *(err_opt)) \\\n"\
9779"\t\t; \\\n"\
9780"\telse unless(slp) \\\n"\
9781"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9782"\telse { \\\n"\
9783"\t\tae2f_reg ae2f_AnnSlpMk_t v_mk; \\\n"\
9784"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
9785"\t\t\t\tv_mk \\\n"\
9786"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
9787"\t\t\t\t, inc \\\n"\
9788"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
9789"\t\t\t\t, act, actderiv, lossderiv \\\n"\
9790"\t\t\t\t, learningrate, learningrate_bias \\\n"\
9791"\t\t\t\t); \\\n"\
9792" \\\n"\
9793"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
9794"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9795"\t} \\\n"\
9796"}\n"\
9797"#else\n"\
9798"#undef\t__ae2f_AnnSlpMk_imp\n"\
9799"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
9800"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9801"\n"\
9802"#undef\t__ae2f_AnnSlpMk\n"\
9803"#define\t__ae2f_AnnSlpMk(...) \\\n"\
9804"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9805"#endif\n"\
9806"\n"\
9807"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
9808"\n"\
9809"\n"\
9810"#define __ae2f_AnnSlpPredict_imp( \\\n"\
9811"\t \\\n"\
9812"\t\t \\\n"\
9813" \\\n"\
9814"\t \\\n"\
9815"\t\t reg_predict, \\\n"\
9816"\t\t prmreg_slp, \\\n"\
9817"\t\t pprm_in, \\\n"\
9818"\t\t ret, \\\n"\
9819"\t\t ptr_outcache, \\\n"\
9820"\t\t pprm_weight, \\\n"\
9821"\t\t pprm_bias, \\\n"\
9822"\t\t fn_act \\\n"\
9823") \\\n"\
9824"{ \\\n"\
9825"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--; ) \\\n"\
9826"\t{ \\\n"\
9827"\t\t(reg_predict).m_ret = 0; \\\n"\
9828" \\\n"\
9829"\t\tfor((reg_predict).m_j = (prmreg_slp).m_inc; (reg_predict).m_j--; ) { \\\n"\
9830"\t\t\t(reg_predict).m_ret \\\n"\
9831"\t\t\t\t+= (pprm_in)[(reg_predict).m_j] \\\n"\
9832"\t\t\t\t* ((pprm_weight) + (reg_predict).m_i * (prmreg_slp).m_inc)[(reg_predict).m_j]; \\\n"\
9833"\t\t} \\\n"\
9834" \\\n"\
9835"\t\t(ptr_outcache)[(reg_predict).m_i] = (reg_predict).m_ret + (pprm_bias)[(reg_predict).m_i]; \\\n"\
9836"\t} \\\n"\
9837" \\\n"\
9838"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--;) { \\\n"\
9839"\t\tfn_act(&(ret)[(reg_predict).m_i], (ptr_outcache), (reg_predict).m_i, (prmreg_slp).m_outc); \\\n"\
9840"\t} \\\n"\
9841"}\n"\
9842"\n"\
9843"#define __ae2f_AnnSlpPredict( \\\n"\
9844"\t \\\n"\
9845"\t\t \\\n"\
9846" \\\n"\
9847"\t \\\n"\
9848"\t\t err_opt, \\\n"\
9849"\t\t _this, \\\n"\
9850"\t\t prm_in, \\\n"\
9851"\t\t out, \\\n"\
9852"\t\t out_cache, \\\n"\
9853"\t\t weight, \\\n"\
9854"\t\t bias, \\\n"\
9855"\t\t act_opt \\\n"\
9856") \\\n"\
9857"{ \\\n"\
9858"\tif((err_opt) && *(err_opt)) \\\n"\
9859"\t\t; \\\n"\
9860"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
9861"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
9862"\telse { \\\n"\
9863"\t\tae2f_reg ae2f_AnnSlpPredictREG_t v_predict; \\\n"\
9864" \\\n"\
9865"\t\tif(act_opt) { \\\n"\
9866"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
9867"\t\t\t\t\t(v_predict) \\\n"\
9868"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
9869"\t\t\t\t\t, weight, bias, act_opt \\\n"\
9870"\t\t\t\t\t); \\\n"\
9871"\t\t} else { \\\n"\
9872"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
9873"\t\t\t\t\t(v_predict) \\\n"\
9874"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
9875"\t\t\t\t\t, weight, bias, ae2f_AnnActFFN_PASS \\\n"\
9876"\t\t\t\t\t); \\\n"\
9877"\t\t} \\\n"\
9878"\t} \\\n"\
9879"}\n"\
9880"\n"\
9881"#if ae2f_NEED_CLASS\n"\
9882"#define __ae2f_AnnSlpPredict_C( \\\n"\
9883"\t \\\n"\
9884"\t\t \\\n"\
9885" \\\n"\
9886"\t \\\n"\
9887"\t\t err_opt, \\\n"\
9888"\t\t _this, \\\n"\
9889"\t\t prm_in, \\\n"\
9890"\t\t out \\\n"\
9891") \\\n"\
9892"{ \\\n"\
9893"\tunless(_this) \\\n"\
9894"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9895"\telse { \\\n"\
9896"\t\t__ae2f_AnnSlpPredict( \\\n"\
9897"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
9898"\t\t\t\t, prm_in, out \\\n"\
9899"\t\t\t\t, (_this)->m_cacheact \\\n"\
9900"\t\t\t\t, (_this)->m_weight \\\n"\
9901"\t\t\t\t, (_this)->m_bias \\\n"\
9902"\t\t\t\t, (_this)->m_act \\\n"\
9903"\t\t\t\t); \\\n"\
9904"\t} \\\n"\
9905"}\n"\
9906"#else\n"\
9907"#undef\t__ae2f_AnnSlpPredict_C\n"\
9908"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
9909"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9910"#endif\n"\
9911"\n"\
9912"\n"\
9913"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
9914"\t \\\n"\
9915"\t\t \\\n"\
9916" \\\n"\
9917"\t \\\n"\
9918"\t\t inp, \\\n"\
9919"\t\t delta, \\\n"\
9920"\t\t weight, \\\n"\
9921"\t\t learningrate, \\\n"\
9922"\t\t inp_sz, \\\n"\
9923"\t\t inp_idx, \\\n"\
9924"\t\t out_sz, \\\n"\
9925"\t\t out_idx \\\n"\
9926") \\\n"\
9927"{ \\\n"\
9928"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
9929"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
9930"}\n"\
9931"\n"\
9932"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
9933"\t \\\n"\
9934"\t\t \\\n"\
9935" \\\n"\
9936"\t \\\n"\
9937"\t\t rret_bias, \\\n"\
9938"\t\t prm_delta, \\\n"\
9939"\t\t prm_learningrate_bias \\\n"\
9940") { (rret_bias) -= (prm_delta) * (prm_learningrate_bias); }\n"\
9941"\n"\
9942"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
9943"\t \\\n"\
9944"\t\t \\\n"\
9945" \\\n"\
9946"\t \\\n"\
9947"\t\t reg_follow, \\\n"\
9948"\t\t pprm_in, \\\n"\
9949"\t\t pprm_delta, \\\n"\
9950"\t\t ptr_weight, \\\n"\
9951"\t\t prm_learningrate, \\\n"\
9952"\t\t prm_learningrate_bias, \\\n"\
9953"\t\t prm_isz, \\\n"\
9954"\t\t prm_oidx, \\\n"\
9955"\t\t rret_bias \\\n"\
9956") \\\n"\
9957"{ \\\n"\
9958"\tfor((reg_follow).m_j = (prm_isz); (reg_follow).m_j--; ) { \\\n"\
9959"\t\t((ptr_weight) + (prm_isz) * (prm_oidx))[(reg_follow).m_j] \\\n"\
9960"\t\t\t-= (pprm_delta) * (pprm_in)[(reg_follow).m_j] * (prm_learningrate); \\\n"\
9961"\t} \\\n"\
9962" \\\n"\
9963"\t(rret_bias) -= (pprm_delta) * (prm_learningrate_bias); \\\n"\
9964"}\n"\
9965"\n"\
9966"\n"\
9967"#define __ae2f_AnnSlpFollow_imp( \\\n"\
9968"\t \\\n"\
9969"\t\t \\\n"\
9970" \\\n"\
9971"\t \\\n"\
9972"\t\t reg_follow, \\\n"\
9973"\t\t prm_slp, \\\n"\
9974"\t\t pprm_in, \\\n"\
9975"\t\t pprm_delta, \\\n"\
9976"\t\t ptr_weight, \\\n"\
9977"\t\t ptr_bias, \\\n"\
9978"\t\t prm_learningrate, \\\n"\
9979"\t\t prm_learningrate_bias \\\n"\
9980") \\\n"\
9981"{ \\\n"\
9982"\tfor((reg_follow).m_i = (prm_slp).m_outc; (reg_follow).m_i--; ) { \\\n"\
9983"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
9984"\t\t\t\treg_follow \\\n"\
9985"\t\t\t\t, pprm_in \\\n"\
9986"\t\t\t\t, (pprm_delta)[(reg_follow).m_i] \\\n"\
9987"\t\t\t\t, ((ptr_weight)) \\\n"\
9988"\t\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
9989"\t\t\t\t, (prm_slp).m_inc \\\n"\
9990"\t\t\t\t, (reg_follow).m_i \\\n"\
9991"\t\t\t\t, (ptr_bias)[(reg_follow).m_i] \\\n"\
9992"\t\t\t\t); \\\n"\
9993"\t} \\\n"\
9994"}\n"\
9995"\n"\
9996"#define __ae2f_AnnSlpFollow( \\\n"\
9997"\t \\\n"\
9998"\t\t \\\n"\
9999" \\\n"\
10000"\t \\\n"\
10001"\t\t reterr_opt, \\\n"\
10002"\t\t _this, \\\n"\
10003"\t\t prm_in, \\\n"\
10004"\t\t delta, \\\n"\
10005"\t\t weight, \\\n"\
10006"\t\t bias, \\\n"\
10007"\t\t learningrate, \\\n"\
10008"\t\t learningrate_bias \\\n"\
10009") \\\n"\
10010"{ \\\n"\
10011"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
10012"\t\t; \\\n"\
10013"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
10014"\t\t; \\\n"\
10015"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
10016"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10017"\telse { \\\n"\
10018"\t\tae2f_reg ae2f_AnnSlpFollow_t v_follow; \\\n"\
10019"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
10020"\t\t\t\tv_follow \\\n"\
10021"\t\t\t\t, *(_this) \\\n"\
10022"\t\t\t\t, prm_in \\\n"\
10023"\t\t\t\t, delta \\\n"\
10024"\t\t\t\t, weight, bias \\\n"\
10025"\t\t\t\t, learningrate \\\n"\
10026"\t\t\t\t, learningrate_bias \\\n"\
10027"\t\t\t\t); \\\n"\
10028"\t} \\\n"\
10029"}\n"\
10030"\n"\
10031"#if ae2f_NEED_CLASS\n"\
10032"#define __ae2f_AnnSlpFollow_C( \\\n"\
10033"\t \\\n"\
10034"\t\t \\\n"\
10035" \\\n"\
10036"\t \\\n"\
10037"\t\t reterr_opt, \\\n"\
10038"\t\t _this, \\\n"\
10039"\t\t prm_in, \\\n"\
10040"\t\t delta \\\n"\
10041") { \\\n"\
10042"\tunless((_this)) \\\n"\
10043"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10044"\telse { \\\n"\
10045"\t\t__ae2f_AnnSlpFollow( \\\n"\
10046"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
10047"\t\t\t\t, prm_in, delta \\\n"\
10048"\t\t\t\t, _this->m_weight \\\n"\
10049"\t\t\t\t, (_this)->m_bias \\\n"\
10050"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
10051"\t\t\t\t); \\\n"\
10052"\t} \\\n"\
10053"}\n"\
10054"#else\n"\
10055"#undef\t__ae2f_AnnSlpFollow_C\n"\
10056"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
10057"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10058"#endif\n"\
10059"\n"\
10060"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
10061"\t \\\n"\
10062"\t\t \\\n"\
10063" \\\n"\
10064"\t \\\n"\
10065"\t\t rret, \\\n"\
10066"\t\t ptr_tmp0, \\\n"\
10067"\t\t ptr_tmp1, \\\n"\
10068"\t\t prm_out, \\\n"\
10069"\t\t prm_out_desired, \\\n"\
10070"\t\t prm_oidx, \\\n"\
10071"\t\t prm_osz, \\\n"\
10072"\t\t fn_actderiv, \\\n"\
10073"\t\t fn_lossderiv \\\n"\
10074") \\\n"\
10075"{ \\\n"\
10076"\tfn_actderiv(ptr_tmp0, prm_out, prm_oidx, prm_osz); \\\n"\
10077"\tfn_lossderiv(ptr_tmp1, prm_out, prm_out_desired, prm_oidx, prm_osz); \\\n"\
10078" \\\n"\
10079"\t(rret) = *(ptr_tmp0) * *(ptr_tmp1); \\\n"\
10080"}\n"\
10081"\n"\
10082"#define __ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10083"\t \\\n"\
10084"\t\t \\\n"\
10085" \\\n"\
10086"\t \\\n"\
10087"\t\t ram_delta, \\\n"\
10088"\t\t reg_delta, \\\n"\
10089"\t\t prm_slp, \\\n"\
10090"\t\t pprm_out, \\\n"\
10091"\t\t pprm_out_desired, \\\n"\
10092"\t\t fn_actderiv, \\\n"\
10093"\t\t fn_lossderiv, \\\n"\
10094"\t\t pret_delta \\\n"\
10095") \\\n"\
10096"{\t \\\n"\
10097"\tfor((reg_delta).m_i = (prm_slp).m_outc; (reg_delta).m_i--; ) \\\n"\
10098"\t{ \\\n"\
10099"\t\tfn_actderiv( \\\n"\
10100"\t\t\t\t&(ram_delta).m_tmp1 \\\n"\
10101"\t\t\t\t, (pprm_out) \\\n"\
10102"\t\t\t\t, (reg_delta).m_i \\\n"\
10103"\t\t\t\t, (prm_slp).m_outc \\\n"\
10104"\t\t\t\t); \\\n"\
10105" \\\n"\
10106"\t\tfn_lossderiv( \\\n"\
10107"\t\t\t\t&(ram_delta).m_tmp \\\n"\
10108"\t\t\t\t, (pprm_out) \\\n"\
10109"\t\t\t\t, (pprm_out_desired) \\\n"\
10110"\t\t\t\t, (reg_delta).m_i, (prm_slp).m_outc \\\n"\
10111"\t\t\t\t); \\\n"\
10112" \\\n"\
10113"\t\t(pret_delta)[(reg_delta).m_i] \\\n"\
10114"\t\t\t= (ram_delta).m_tmp * (ram_delta).m_tmp1; \\\n"\
10115"\t} \\\n"\
10116"}\n"\
10117"\n"\
10118"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
10119"\t \\\n"\
10120"\t\t \\\n"\
10121" \\\n"\
10122"\t \\\n"\
10123"\t\t tmp_delta, \\\n"\
10124"\t\t prm_slp, \\\n"\
10125"\t\t pprm_out, \\\n"\
10126"\t\t pprm_out_desired, \\\n"\
10127"\t\t fn_actderiv, \\\n"\
10128"\t\t fn_lossderiv, \\\n"\
10129"\t\t pret_delta \\\n"\
10130") \\\n"\
10131"{ \\\n"\
10132"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10133"\t\t\ttmp_delta, tmp_delta \\\n"\
10134"\t\t\t, prm_slp \\\n"\
10135"\t\t\t, pprm_out, pprm_out_desired \\\n"\
10136"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10137"\t\t\t, pret_delta \\\n"\
10138"\t\t\t); \\\n"\
10139"}\n"\
10140"\n"\
10141"#define __ae2f_AnnSlpFetchDelta( \\\n"\
10142"\t \\\n"\
10143"\t\t \\\n"\
10144" \\\n"\
10145"\t \\\n"\
10146"\t\t err, \\\n"\
10147"\t\t slp, \\\n"\
10148"\t\t out, \\\n"\
10149"\t\t out_desired, \\\n"\
10150"\t\t actderiv_opt, \\\n"\
10151"\t\t lossderiv, \\\n"\
10152"\t\t retdelta \\\n"\
10153") \\\n"\
10154"{ \\\n"\
10155"\tif((err) && *(err)) \\\n"\
10156"\t\t; \\\n"\
10157"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
10158"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10159"\telse unless(lossderiv) \\\n"\
10160"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10161" \\\n"\
10162"\telse { \\\n"\
10163"\t\tae2f_AnnSlpFetchDeltaRAM_t\t\tv_ram_delta; \\\n"\
10164"\t\tae2f_reg ae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
10165" \\\n"\
10166"\t\tif(actderiv_opt) { \\\n"\
10167"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10168"\t\t\t\t\tv_ram_delta \\\n"\
10169"\t\t\t\t\t, v_reg_delta \\\n"\
10170"\t\t\t\t\t, (*(slp)) \\\n"\
10171"\t\t\t\t\t, out, out_desired \\\n"\
10172"\t\t\t\t\t, actderiv_opt \\\n"\
10173"\t\t\t\t\t, lossderiv \\\n"\
10174"\t\t\t\t\t, retdelta \\\n"\
10175"\t\t\t\t\t); \\\n"\
10176"\t\t} \\\n"\
10177"\t\telse { \\\n"\
10178"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10179"\t\t\t\t\tv_ram_delta \\\n"\
10180"\t\t\t\t\t, v_reg_delta \\\n"\
10181"\t\t\t\t\t, (*(slp)) \\\n"\
10182"\t\t\t\t\t, out, out_desired \\\n"\
10183"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
10184"\t\t\t\t\t, lossderiv \\\n"\
10185"\t\t\t\t\t, retdelta \\\n"\
10186"\t\t\t\t\t); \\\n"\
10187"\t\t} \\\n"\
10188"\t} \\\n"\
10189"}\n"\
10190"\n"\
10191"#if\tae2f_NEED_CLASS\n"\
10192"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
10193"\t \\\n"\
10194"\t\t \\\n"\
10195" \\\n"\
10196"\t \\\n"\
10197"\t\t err, \\\n"\
10198"\t\t slp, \\\n"\
10199"\t\t out, \\\n"\
10200"\t\t out_desired, \\\n"\
10201"\t\t retdelta \\\n"\
10202") \\\n"\
10203"{ \\\n"\
10204"\tif((err) && *(err)) \\\n"\
10205"\t\t; \\\n"\
10206"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
10207"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10208"\telse unless((slp)->m_lossderiv) \\\n"\
10209"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10210"\telse { \\\n"\
10211"\t\tae2f_AnnSlpFetchDeltaRAM_t\tv_ram_delta; \\\n"\
10212"\t\tae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
10213" \\\n"\
10214"\t\tif((slp)->m_actderiv) { \\\n"\
10215"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10216"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
10217"\t\t\t\t\t, out, out_desired \\\n"\
10218"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
10219"\t\t\t\t\t, retdelta \\\n"\
10220"\t\t\t\t\t); \\\n"\
10221"\t\t} else { \\\n"\
10222"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10223"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
10224"\t\t\t\t\t, out, out_desired \\\n"\
10225"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS, (slp)->m_lossderiv \\\n"\
10226"\t\t\t\t\t, retdelta \\\n"\
10227"\t\t\t\t\t); \\\n"\
10228"\t\t} \\\n"\
10229"\t} \\\n"\
10230"}\n"\
10231"#else\n"\
10232"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
10233"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
10234"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10235"#endif\n"\
10236"\n"\
10237"\n"\
10238"#define __ae2f_AnnSlpFitVerbose_imp( \\\n"\
10239"\t \\\n"\
10240"\t\t \\\n"\
10241" \\\n"\
10242"\t \\\n"\
10243"\t\t ram_fit, \\\n"\
10244"\t\t reg_fit, \\\n"\
10245"\t\t prm_slp, \\\n"\
10246"\t\t pprm_inp, \\\n"\
10247"\t\t pprm_out, \\\n"\
10248"\t\t pprm_out_desired, \\\n"\
10249"\t\t ptr_weights, \\\n"\
10250"\t\t ptr_bias, \\\n"\
10251"\t\t ptr_cachedelta, \\\n"\
10252"\t\t fn_actderiv, \\\n"\
10253"\t\t fn_lossderiv, \\\n"\
10254"\t\t prm_learningrate, \\\n"\
10255"\t\t prm_learningrate_bias \\\n"\
10256") \\\n"\
10257"{ \\\n"\
10258"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10259"\t\t\tram_fit, reg_fit, prm_slp \\\n"\
10260"\t\t\t, pprm_out, pprm_out_desired \\\n"\
10261"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10262"\t\t\t, ptr_cachedelta \\\n"\
10263"\t\t\t); \\\n"\
10264" \\\n"\
10265"\t__ae2f_AnnSlpFollow_imp( \\\n"\
10266"\t\t\treg_fit, prm_slp, pprm_inp \\\n"\
10267"\t\t\t, ptr_cachedelta, ptr_weights, ptr_bias \\\n"\
10268"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10269"\t\t\t); \\\n"\
10270"}\n"\
10271"\n"\
10272"#define __ae2f_AnnSlpFit_imp( \\\n"\
10273"\t \\\n"\
10274"\t\t \\\n"\
10275" \\\n"\
10276"\t \\\n"\
10277"\t\t v_fit, \\\n"\
10278"\t\t prm_slp, \\\n"\
10279"\t\t pprm_inp, \\\n"\
10280"\t\t pprm_out, \\\n"\
10281"\t\t pprm_out_desired, \\\n"\
10282"\t\t ptr_weights, \\\n"\
10283"\t\t ptr_bias, \\\n"\
10284"\t\t ptr_cachedelta, \\\n"\
10285"\t\t fn_actderiv, \\\n"\
10286"\t\t fn_lossderiv, \\\n"\
10287"\t\t prm_learningrate, \\\n"\
10288"\t\t prm_learningrate_bias \\\n"\
10289") \\\n"\
10290"{ \\\n"\
10291"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10292"\t\t\tv_fit, v_fit \\\n"\
10293"\t\t\t, prm_slp \\\n"\
10294"\t\t\t, pprm_inp, pprm_out, pprm_out_desired \\\n"\
10295"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10296"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10297"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10298"\t\t\t); \\\n"\
10299"}\n"\
10300"\n"\
10301"#define __ae2f_AnnSlpFit( \\\n"\
10302"\t \\\n"\
10303"\t\t \\\n"\
10304" \\\n"\
10305"\t \\\n"\
10306"\t\t reterr_opt, \\\n"\
10307"\t\t _this, \\\n"\
10308"\t\t prm_inp, \\\n"\
10309"\t\t prm_out, \\\n"\
10310"\t\t prm_out_desired, \\\n"\
10311"\t\t weights, \\\n"\
10312"\t\t bias, \\\n"\
10313"\t\t cachedelta, \\\n"\
10314"\t\t actderiv_opt, \\\n"\
10315"\t\t lossderiv, \\\n"\
10316"\t\t learningrate, \\\n"\
10317"\t\t learningrate_bias \\\n"\
10318") \\\n"\
10319"{ \\\n"\
10320"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
10321"\t\t; \\\n"\
10322"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
10323"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10324"\telse unless(lossderiv) \\\n"\
10325"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10326"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
10327"\t\t; \\\n"\
10328"\telse { \\\n"\
10329"\t\tae2f_AnnSlpFitRAM_t\t\tv_ram_fit; \\\n"\
10330"\t\tae2f_reg ae2f_AnnSlpFitREG_t\tv_reg_fit; \\\n"\
10331" \\\n"\
10332"\t\tif(actderiv_opt) { \\\n"\
10333"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10334"\t\t\t\t\tv_ram_fit \\\n"\
10335"\t\t\t\t\t, v_reg_fit \\\n"\
10336"\t\t\t\t\t, (*(_this)) \\\n"\
10337"\t\t\t\t\t, prm_inp \\\n"\
10338"\t\t\t\t\t, prm_out \\\n"\
10339"\t\t\t\t\t, prm_out_desired \\\n"\
10340"\t\t\t\t\t, weights \\\n"\
10341"\t\t\t\t\t, bias \\\n"\
10342"\t\t\t\t\t, cachedelta \\\n"\
10343"\t\t\t\t\t, actderiv_opt \\\n"\
10344"\t\t\t\t\t, lossderiv \\\n"\
10345"\t\t\t\t\t, learningrate \\\n"\
10346"\t\t\t\t\t, learningrate_bias \\\n"\
10347"\t\t\t\t\t); \\\n"\
10348"\t\t} else { \\\n"\
10349"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10350"\t\t\t\t\tv_ram_fit \\\n"\
10351"\t\t\t\t\t, v_reg_fit \\\n"\
10352"\t\t\t\t\t, (*(_this)) \\\n"\
10353"\t\t\t\t\t, prm_inp \\\n"\
10354"\t\t\t\t\t, prm_out \\\n"\
10355"\t\t\t\t\t, prm_out_desired \\\n"\
10356"\t\t\t\t\t, weights \\\n"\
10357"\t\t\t\t\t, bias \\\n"\
10358"\t\t\t\t\t, cachedelta \\\n"\
10359"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
10360"\t\t\t\t\t, lossderiv \\\n"\
10361"\t\t\t\t\t, learningrate \\\n"\
10362"\t\t\t\t\t, learningrate_bias \\\n"\
10363"\t\t\t\t\t); \\\n"\
10364"\t\t} \\\n"\
10365"\t} \\\n"\
10366"}\n"\
10367"\n"\
10368"#if\tae2f_NEED_CLASS\n"\
10369"#define __ae2f_AnnSlpFit_C( \\\n"\
10370"\t \\\n"\
10371"\t\t \\\n"\
10372" \\\n"\
10373"\t \\\n"\
10374"\t\t reterr_opt, \\\n"\
10375"\t\t _this, \\\n"\
10376"\t\t prm_inp, \\\n"\
10377"\t\t prm_out, \\\n"\
10378"\t\t prm_out_desired \\\n"\
10379") { \\\n"\
10380"\tunless(_this) { \\\n"\
10381"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
10382"\t} \\\n"\
10383"\telse { \\\n"\
10384"\t\t__ae2f_AnnSlpFit( \\\n"\
10385"\t\t\t\treterr_opt \\\n"\
10386"\t\t\t\t, (_this)->m_Slp \\\n"\
10387"\t\t\t\t, prm_inp \\\n"\
10388"\t\t\t\t, prm_out \\\n"\
10389"\t\t\t\t, prm_out_desired \\\n"\
10390"\t\t\t\t, (_this)->m_weight \\\n"\
10391"\t\t\t\t, (_this)->m_bias \\\n"\
10392"\t\t\t\t, (_this)->m_cachedelta \\\n"\
10393"\t\t\t\t, (_this)->m_actderiv \\\n"\
10394"\t\t\t\t, (_this)->m_lossderiv \\\n"\
10395"\t\t\t\t, (_this)->m_learningrate \\\n"\
10396"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
10397"\t\t\t\t); \\\n"\
10398"\t} \\\n"\
10399"}\n"\
10400"#else\n"\
10401"#undef\t__ae2f_AnnSlpFit_C\n"\
10402"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
10403"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10404"#endif\n"\
10405"\n"\
10406"#define __ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10407"\t \\\n"\
10408"\t\t \\\n"\
10409" \\\n"\
10410"\t \\\n"\
10411"\t\t ram_train, \\\n"\
10412"\t\t reg_train, \\\n"\
10413"\t\t prm_slp, \\\n"\
10414"\t\t pprm_inp, \\\n"\
10415"\t\t pret_out, \\\n"\
10416"\t\t ptr_out_cache, \\\n"\
10417"\t\t pprm_out_desired, \\\n"\
10418"\t\t ptr_weights, \\\n"\
10419"\t\t ptr_bias, \\\n"\
10420"\t\t ptr_cachedelta, \\\n"\
10421"\t\t fn_act, \\\n"\
10422"\t\t fn_actderiv, \\\n"\
10423"\t\t fn_lossderiv, \\\n"\
10424"\t\t prm_learningrate, \\\n"\
10425"\t\t prm_learningrate_bias \\\n"\
10426") \\\n"\
10427"{ \\\n"\
10428"\t__ae2f_AnnSlpPredict_imp( \\\n"\
10429"\t\t\treg_train \\\n"\
10430"\t\t\t, prm_slp \\\n"\
10431"\t\t\t, pprm_inp \\\n"\
10432"\t\t\t, pret_out \\\n"\
10433"\t\t\t, ptr_out_cache \\\n"\
10434"\t\t\t, ptr_weights \\\n"\
10435"\t\t\t, ptr_bias \\\n"\
10436"\t\t\t, fn_act \\\n"\
10437"\t\t\t); \\\n"\
10438" \\\n"\
10439"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10440"\t\t\tram_train \\\n"\
10441"\t\t\t, reg_train \\\n"\
10442"\t\t\t, prm_slp \\\n"\
10443"\t\t\t, pprm_inp \\\n"\
10444"\t\t\t, pret_out \\\n"\
10445"\t\t\t, pprm_out_desired \\\n"\
10446"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10447"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10448"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10449"\t\t\t); \\\n"\
10450"}\n"\
10451"\n"\
10452"#define __ae2f_AnnSlpTrain_imp( \\\n"\
10453"\t \\\n"\
10454"\t\t \\\n"\
10455" \\\n"\
10456"\t \\\n"\
10457"\t\t tmp_train, \\\n"\
10458"\t\t prm_slp, \\\n"\
10459"\t\t pprm_inp, \\\n"\
10460"\t\t pret_out, \\\n"\
10461"\t\t ptr_out_cache, \\\n"\
10462"\t\t pprm_out_desired, \\\n"\
10463"\t\t ptr_weights, \\\n"\
10464"\t\t ptr_bias, \\\n"\
10465"\t\t ptr_cachedelta, \\\n"\
10466"\t\t fn_act, \\\n"\
10467"\t\t fn_actderiv, \\\n"\
10468"\t\t fn_lossderiv, \\\n"\
10469"\t\t prm_learningrate, \\\n"\
10470"\t\t prm_learningrate_bias \\\n"\
10471") \\\n"\
10472"{ \\\n"\
10473"\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10474"\t\t\ttmp_train, tmp_train \\\n"\
10475"\t\t\t, prm_slp \\\n"\
10476"\t\t\t, pprm_inp, pret_out \\\n"\
10477"\t\t\t, ptr_out_cache, pprm_out_desired \\\n"\
10478"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10479"\t\t\t, fn_act, fn_actderiv, fn_lossderiv \\\n"\
10480"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10481"\t\t\t); \\\n"\
10482"}\n"\
10483"\n"\
10484"#if ae2f_NEED_CLASS\n"\
10485"#define __ae2f_AnnSlpTrain_C( \\\n"\
10486"\t \\\n"\
10487"\t\t \\\n"\
10488" \\\n"\
10489"\t \\\n"\
10490"\t\t err, \\\n"\
10491"\t\t slp, \\\n"\
10492"\t\t inp, \\\n"\
10493"\t\t out_desired \\\n"\
10494") \\\n"\
10495"{ \\\n"\
10496"\tunless(slp) \\\n"\
10497"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10498"\telse { \\\n"\
10499"\t\t__ae2f_AnnSlpTrain( \\\n"\
10500"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
10501"\t\t\t\t, (slp)->m_cacheact \\\n"\
10502"\t\t\t\t, out_desired \\\n"\
10503"\t\t\t\t, (slp)->m_weight \\\n"\
10504"\t\t\t\t, (slp)->m_bias \\\n"\
10505"\t\t\t\t, (slp)->m_cachedelta \\\n"\
10506"\t\t\t\t, (slp)->m_act \\\n"\
10507"\t\t\t\t, (slp)->m_actderiv \\\n"\
10508"\t\t\t\t, (slp)->m_lossderiv \\\n"\
10509"\t\t\t\t, (slp)->m_learningrate \\\n"\
10510"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
10511"\t\t\t\t); \\\n"\
10512"\t} \\\n"\
10513"}\n"\
10514"#else\n"\
10515"#undef\t__ae2f_AnnSlpTrain_C\n"\
10516"#define __ae2f_AnnSlpTrain_C \\\n"\
10517"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10518"\n"\
10519"#endif\n"\
10520"\n"\
10521"#define __ae2f_AnnSlpTrain( \\\n"\
10522"\t \\\n"\
10523"\t\t \\\n"\
10524" \\\n"\
10525"\t \\\n"\
10526"\t\t err, \\\n"\
10527"\t\t slp, \\\n"\
10528"\t\t inp, \\\n"\
10529"\t\t out_cache, \\\n"\
10530"\t\t out_desired, \\\n"\
10531"\t\t weights, \\\n"\
10532"\t\t bias, \\\n"\
10533"\t\t cachedelta, \\\n"\
10534"\t\t act, \\\n"\
10535"\t\t actderiv, \\\n"\
10536"\t\t lossderiv, \\\n"\
10537"\t\t learningrate, \\\n"\
10538"\t\t learningrate_bias \\\n"\
10539") \\\n"\
10540"{ \\\n"\
10541"\tif((err) && *(err)) \\\n"\
10542"\t\t; \\\n"\
10543"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
10544"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10545"\telse unless(lossderiv) \\\n"\
10546"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10547"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
10548"\t\t; \\\n"\
10549"\telse { \\\n"\
10550"\t\tae2f_reg ae2f_AnnSlpTrainREG_t v_reg_train; \\\n"\
10551"\t\tae2f_AnnSlpTrainRAM_t v_ram_train; \\\n"\
10552" \\\n"\
10553"\t\tif (act) { \\\n"\
10554"\t\t\tif(actderiv) { \\\n"\
10555"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10556"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10557"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10558"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10559"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
10560"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10561"\t\t\t\t\t\t); \\\n"\
10562"\t\t\t} else { \\\n"\
10563"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10564"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10565"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10566"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10567"\t\t\t\t\t\t, cachedelta, act, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
10568"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10569"\t\t\t\t\t\t); \\\n"\
10570" \\\n"\
10571"\t\t\t} \\\n"\
10572"\t\t} else { \\\n"\
10573"\t\t\tif(actderiv) { \\\n"\
10574"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10575"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10576"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10577"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10578"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, actderiv, lossderiv \\\n"\
10579"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10580"\t\t\t\t\t\t); \\\n"\
10581"\t\t\t} else { \\\n"\
10582"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10583"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10584"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10585"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10586"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
10587"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10588"\t\t\t\t\t\t); \\\n"\
10589" \\\n"\
10590"\t\t\t} \\\n"\
10591"\t\t} \\\n"\
10592"\t} \\\n"\
10593"}\n"\
10594"\n"\
10595"\n"\
10596"#endif\n"\
10597"\n"\
10598"#undef\t__ae2f_MACRO_GENERATED\n"\
10599"\n"\
10600"#define\t__ae2f_MACRO_GENERATED\t0\n"\
10601"\n"\
10602"\n"\
10603"\n"\
10604"#define __ae2f_AnnSlpMk_imp(v_mk, p_weight_opt, p_bias_opt, p_cache_opt, \\\n"\
10605"\tinc, outc, offset_opt, extra_opt, act, actderiv, lossderiv, lr_w, lr_b)\t\\\n"\
10606"\t__ae2f_AnnSlpMkVerbose_imp(\t\t\t\t\t\t\\\n"\
10607"\t\t\tv_mk, p_weight_opt, p_bias_opt, p_cache_opt\t\t\\\n"\
10608"\t\t\t, ae2f_reinterpret_cast(ae2f_float_t* const, NULL)\t\\\n"\
10609"\t\t\t, inc, outc, offset_opt, extra_opt, act, actderiv, lossderiv, lr_w, lr_b)\n"\
10610"\n"\
10611"#if ae2f_WhenCXX(!)0 && !defined(ae2f_Ann_Slp_cc) && ae2f_NEED_CLASS\n"\
10612"#define ae2f_Ann_Slp_cc\n"\
10613"\n"\
10614"#define ae2f_TMP ae2f_AnnSlp::\n"\
10615"\n"\
10616"inline void ae2f_TMP operator delete(void* end) {\n"\
10617"\tae2f_AnnSlpDel(ae2f_reinterpret_cast(ae2f_AnnSlp*, end));\n"\
10618"}\n"\
10619"\n"\
10620"inline void* ae2f_TMP operator new(\n"\
10621"\t\tsize_t oneonly\n"\
10622"\t\t, ae2f_LP(inc * outc) ae2f_float_t* const\t\tweight_opt,\n"\
10623"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tbias_opt,\n"\
10624"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tcache_opt,\n"\
10625"\n"\
10626"\t\tconst size_t\t\t\t\t\tinc,\n"\
10627"\t\tconst size_t\t\t\t\t\toutc,\n"\
10628"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
10629"\n"\
10630"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
10631"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
10632"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
10633"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
10634"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
10635"\t\tae2f_opt ae2f_err_t* const\t\t\terr_opt\n"\
10636"\t\t) throw() \n"\
10637"{\n"\
10638"\tif(oneonly != sizeof(ae2f_AnnSlp)) return 0;\n"\
10639"\tae2f_AnnSlp* __v[1] = { NULL };\n"\
10640"\n"\
10641"\tae2f_AnnSlpMk(\n"\
10642"\t\t\tweight_opt, bias_opt, cache_opt, inc, outc, offset_opt, 0\n"\
10643"\t\t\t, __v, act, actderiv, lossderiv, learningrate, learningrate_bias, err_opt);\n"\
10644"\n"\
10645"\treturn __v[0];\n"\
10646"}\n"\
10647"\n"\
10648"inline void ae2f_TMP Predict(\n"\
10649"\t\tae2f_err_t* const err_opt\n"\
10650"\t\t, ae2f_LP(_this::inc)\n"\
10651"\t\tconst ae2f_float_t* const prm_in\n"\
10652"\t\t, ae2f_LP(_this::outc)\n"\
10653"\t\tae2f_float_t* const out\n"\
10654"\t\t) const \n"\
10655"{\n"\
10656"\tae2f_AnnSlpPredict(err_opt, this, prm_in, out);\n"\
10657"}\n"\
10658"\n"\
10659"inline void ae2f_TMP Follow(\n"\
10660"\t\tae2f_err_t* const reterr_opt\n"\
10661"\t\t, ae2f_LP(_this::inc)\n"\
10662"\t\tconst ae2f_float_t* const prm_in\n"\
10663"\t\t, ae2f_LP(_this::outc) \n"\
10664"\t\tconst ae2f_float_t* const delta\n"\
10665"\t\t) \n"\
10666"{\n"\
10667"\tae2f_AnnSlpFollow(reterr_opt, this, prm_in, delta);\n"\
10668"}\n"\
10669"\n"\
10670"inline void ae2f_TMP Fit(\n"\
10671"\t\tae2f_err_t* const reterr_opt\n"\
10672"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
10673"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
10674"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
10675"\t\t) \n"\
10676"{\n"\
10677"\tae2f_AnnSlpFit(reterr_opt, this, prm_inp, prm_out, prm_out_desired);\n"\
10678"}\n"\
10679"\n"\
10680"inline void ae2f_TMP Train(\n"\
10681"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
10682"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
10683"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
10684"\t\t) \n"\
10685"{\n"\
10686"\tae2f_AnnSlpTrain(err, this, inp, out_desired);\n"\
10687"}\n"\
10688"\n"\
10689"#undef ae2f_TMP\n"\
10690"\n"\
10691"#endif\n"\
10692"\n"\
10693"\n"\
10694"#undef __ae2f_MACRO_GENERATED\n"\
10695"#define __ae2f_MACRO_GENERATED 1\n"\
10696"#endif\n"\
10697"\n"\
10698"#define ae2f_Ann_Slp_c\n"\
10699"\n"\
10700"\n"\
10701"#undef __ae2f_MACRO_GENERATED\n"\
10702"#define __ae2f_MACRO_GENERATED 1\n"\
10703"\n"\
10704"#undef __ae2f_MACRO_GENERATED\n"\
10705"#define __ae2f_MACRO_GENERATED 1\n"\
10706"\n"\
10707"#define __ae2f_AnnSlpDel\tfree\n"\
10708"#define __ae2f_AnnSlpDel_C\tfree\n"\
10709"\n"\
10710"#if ae2f_NEED_CLASS\n"\
10711"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
10712"\t \\\n"\
10713"\t\t \\\n"\
10714" \\\n"\
10715"\t \\\n"\
10716"\t\t rret_init, \\\n"\
10717"\t\t prm_weight_opt, \\\n"\
10718"\t\t prm_bias_opt, \\\n"\
10719"\t\t prm_cache_opt, \\\n"\
10720"\t\t prm_cacheact_opt, \\\n"\
10721"\t\t prm_inc, \\\n"\
10722"\t\t prm_outc \\\n"\
10723") \\\n"\
10724"{ \\\n"\
10725"\t(rret_init) = \\\n"\
10726"\t\tsizeof(ae2f_AnnSlp) \\\n"\
10727"\t\t+ \t((prm_weight_opt) ? 0 : (prm_inc) * (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
10728"\t\t+\t((prm_bias_opt) ? 0 : (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
10729"\t\t+\t((prm_cache_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
10730"\t\t+\t((prm_cacheact_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
10731"\t\t; \\\n"\
10732"}\n"\
10733"\n"\
10734"#define __ae2f_AnnSlpInit_imp( \\\n"\
10735"\t \\\n"\
10736"\t\t \\\n"\
10737" \\\n"\
10738"\t \\\n"\
10739"\t\t reg_init, \\\n"\
10740"\t\t rret_this, \\\n"\
10741"\t\t prm_inc, \\\n"\
10742"\t\t prm_outc, \\\n"\
10743"\t\t prm_incmax_opt \\\n"\
10744") \\\n"\
10745"{ \\\n"\
10746"\t \\\n"\
10747"\tunless(prm_incmax_opt) { \\\n"\
10748"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
10749"\t\t\t\treg_init, 0, 0, 0, 0, prm_inc, prm_outc \\\n"\
10750"\t\t\t\t); \\\n"\
10751"\t\t(rret_this).m_inc\t=\t(prm_inc); \\\n"\
10752"\t} else { \\\n"\
10753"\t\t(rret_this).m_inc\t=\t(prm_incmax_opt); \\\n"\
10754"\t} \\\n"\
10755" \\\n"\
10756"\t(rret_this).m_outc\t=\t(prm_outc); \\\n"\
10757"}\n"\
10758"\n"\
10759"\n"\
10760"#define __ae2f_AnnSlpInit_V( \\\n"\
10761"\t \\\n"\
10762"\t\tv_reg_init, \\\n"\
10763" \\\n"\
10764"\t \\\n"\
10765"\t\t pret_slp, \\\n"\
10766"\t\t prm_inc, \\\n"\
10767"\t\t prm_outc, \\\n"\
10768"\t\t prm_offset_opt, \\\n"\
10769"\t\t pret_err_opt, \\\n"\
10770"\t\t pret_initsz_opt \\\n"\
10771") \\\n"\
10772"{ \\\n"\
10773"\tif((pret_err_opt) && *(pret_err_opt)) \\\n"\
10774"\t\t; \\\n"\
10775"\tunless(pret_slp) \\\n"\
10776"\t\t(pret_err_opt) && (*(pret_err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10777"\telse { \\\n"\
10778"\t\tae2f_reg size_t v_reg_init; \\\n"\
10779"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
10780"\t\t\t\tv_reg_init \\\n"\
10781"\t\t\t\t, *(pret_slp) \\\n"\
10782"\t\t\t\t, prm_inc, prm_outc \\\n"\
10783"\t\t\t\t, 0 \\\n"\
10784"\t\t\t\t); \\\n"\
10785"\t\t(pret_initsz_opt) && (*(pret_initsz_opt) = v_reg_init + prm_offset_opt); \\\n"\
10786"\t} \\\n"\
10787"}\n"\
10788"\n"\
10789"#define __ae2f_AnnSlpInit( \\\n"\
10790"\t \\\n"\
10791"\t\t \\\n"\
10792" \\\n"\
10793"\t \\\n"\
10794"\t\t pret_slp, \\\n"\
10795"\t\t prm_inc, \\\n"\
10796"\t\t prm_outc, \\\n"\
10797"\t\t prm_offset_opt, \\\n"\
10798"\t\t pret_err_opt, \\\n"\
10799"\t\t pret_initsz_opt \\\n"\
10800") \\\n"\
10801"{ \\\n"\
10802"\t__ae2f_AnnSlpInit_V( \\\n"\
10803"\t\t\tv_reg_init, pret_slp \\\n"\
10804"\t\t\t, prm_inc, prm_outc \\\n"\
10805"\t\t\t, prm_offset_opt \\\n"\
10806"\t\t\t, pret_err_opt \\\n"\
10807"\t\t\t, pret_initsz_opt \\\n"\
10808"\t\t\t); \\\n"\
10809"}\n"\
10810"\n"\
10811"#else\n"\
10812"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
10813"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
10814"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10815"\n"\
10816"#undef\t__ae2f_AnnSlpInit_imp\n"\
10817"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
10818"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10819"\n"\
10820"#undef\t__ae2f_AnnSlpInit\n"\
10821"#define __ae2f_AnnSlpInit(...) \\\n"\
10822"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10823"#endif\n"\
10824"\n"\
10825"\n"\
10826"\n"\
10827"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
10828"\n"\
10829"#if ae2f_NEED_CLASS\n"\
10830"#define __ae2f_AnnSlpMkVerbose_imp( \\\n"\
10831"\t \\\n"\
10832"\t\t \\\n"\
10833" \\\n"\
10834"\t \\\n"\
10835"\t\t reg_mk, \\\n"\
10836"\t\t prop_weight_opt, \\\n"\
10837"\t\t prop_bias_opt, \\\n"\
10838"\t\t prop_cache_opt, \\\n"\
10839"\t\t prop_cacheact_opt, \\\n"\
10840"\t\t prm_inc, \\\n"\
10841"\t\t prm_outc, \\\n"\
10842"\t\t prm_offset_opt, \\\n"\
10843"\t\t prm_extra_opt, \\\n"\
10844"\t\t fn_act, \\\n"\
10845"\t\t fn_actderiv, \\\n"\
10846"\t\t fn_lossderiv, \\\n"\
10847"\t\t prm_learningrate, \\\n"\
10848"\t\t prm_learningrate_bias \\\n"\
10849") \\\n"\
10850"{ \\\n"\
10851"\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
10852"\t\t\treg_mk.m_stack \\\n"\
10853"\t\t\t, prop_weight_opt \\\n"\
10854"\t\t\t, prop_bias_opt \\\n"\
10855"\t\t\t, prop_cache_opt \\\n"\
10856"\t\t\t, prop_cacheact_opt \\\n"\
10857"\t\t\t, prm_inc, prm_outc \\\n"\
10858"\t\t\t); \\\n"\
10859"\tif((reg_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
10860"\t\t\t\t\tae2f_AnnSlp* \\\n"\
10861"\t\t\t\t\t, calloc((reg_mk).m_stack + (prm_offset_opt) + (prm_extra_opt), 1))) \\\n"\
10862"\t ) { \\\n"\
10863"\t\t(reg_mk).m_alloccount = 0; \\\n"\
10864"\t\t(reg_mk).m_fieldptr.b = (reg_mk).m_ptr + 1; \\\n"\
10865"\t\t(reg_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
10866"\t\t\t\tae2f_AnnSlp* \\\n"\
10867"\t\t\t\t, ae2f_reinterpret_cast(char*, (reg_mk).m_fieldptr.b) + (prm_offset_opt) \\\n"\
10868"\t\t\t\t); \\\n"\
10869" \\\n"\
10870"\t\tif(prop_weight_opt) { \\\n"\
10871"\t\t\t(reg_mk).m_ptr->m_weight = (prop_weight_opt); \\\n"\
10872"\t\t} else { \\\n"\
10873"\t\t\t(reg_mk).m_ptr->m_weight = ((reg_mk).m_fieldptr.a); \\\n"\
10874"\t\t\t(reg_mk).m_fieldptr.a += (prm_inc) * (prm_outc); \\\n"\
10875"\t\t} \\\n"\
10876" \\\n"\
10877"\t\tif(prop_bias_opt) { \\\n"\
10878"\t\t\t(reg_mk).m_ptr->m_bias = (prop_bias_opt); \\\n"\
10879"\t\t} else { \\\n"\
10880"\t\t\t(reg_mk).m_ptr->m_bias = (reg_mk).m_fieldptr.a; \\\n"\
10881"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
10882"\t\t} \\\n"\
10883" \\\n"\
10884"\t\tif(prop_cache_opt) { \\\n"\
10885"\t\t\t(reg_mk).m_ptr->m_cachedelta = (prop_cache_opt); \\\n"\
10886"\t\t} else { \\\n"\
10887"\t\t\t(reg_mk).m_ptr->m_cachedelta = (reg_mk).m_fieldptr.a; \\\n"\
10888"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
10889"\t\t} \\\n"\
10890" \\\n"\
10891"\t\tif(prop_cacheact_opt) { \\\n"\
10892"\t\t\t(reg_mk).m_ptr->m_cacheact = (prop_cacheact_opt); \\\n"\
10893"\t\t} else { \\\n"\
10894"\t\t\t(reg_mk).m_ptr->m_cacheact = (reg_mk).m_fieldptr.a; \\\n"\
10895"\t\t} \\\n"\
10896" \\\n"\
10897"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
10898"\t\t\t\t(reg_mk).m_stack \\\n"\
10899"\t\t\t\t, reg_mk.m_ptr->m_Slp[0] \\\n"\
10900"\t\t\t\t, prm_inc \\\n"\
10901"\t\t\t\t, prm_outc \\\n"\
10902"\t\t\t\t, prm_inc \\\n"\
10903"\t\t\t\t); \\\n"\
10904" \\\n"\
10905"\t\t(reg_mk).m_ptr[0].m_act = fn_act; \\\n"\
10906"\t\t(reg_mk).m_ptr[0].m_actderiv = fn_actderiv; \\\n"\
10907"\t\t(reg_mk).m_ptr[0].m_lossderiv = fn_lossderiv; \\\n"\
10908"\t\t(reg_mk).m_ptr[0].m_learningrate = prm_learningrate; \\\n"\
10909"\t\t(reg_mk).m_ptr[0].m_learningrate_bias = prm_learningrate_bias; \\\n"\
10910"\t} \\\n"\
10911"}\n"\
10912"\n"\
10913"#define __ae2f_AnnSlpMk( \\\n"\
10914"\t \\\n"\
10915"\t\t \\\n"\
10916" \\\n"\
10917"\t \\\n"\
10918"\t\t weight_opt, \\\n"\
10919"\t\t bias_opt, \\\n"\
10920"\t\t cache_opt, \\\n"\
10921"\t\t inc, \\\n"\
10922"\t\t outc, \\\n"\
10923"\t\t offset_opt, \\\n"\
10924"\t\t extra_opt, \\\n"\
10925"\t\t slp, \\\n"\
10926"\t\t act, \\\n"\
10927"\t\t actderiv, \\\n"\
10928"\t\t lossderiv, \\\n"\
10929"\t\t learningrate, \\\n"\
10930"\t\t learningrate_bias, \\\n"\
10931"\t\t err_opt \\\n"\
10932") \\\n"\
10933"{ \\\n"\
10934"\tif((err_opt) && *(err_opt)) \\\n"\
10935"\t\t; \\\n"\
10936"\telse unless(slp) \\\n"\
10937"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10938"\telse { \\\n"\
10939"\t\tae2f_reg ae2f_AnnSlpMk_t v_mk; \\\n"\
10940"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
10941"\t\t\t\tv_mk \\\n"\
10942"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
10943"\t\t\t\t, inc \\\n"\
10944"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
10945"\t\t\t\t, act, actderiv, lossderiv \\\n"\
10946"\t\t\t\t, learningrate, learningrate_bias \\\n"\
10947"\t\t\t\t); \\\n"\
10948" \\\n"\
10949"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
10950"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10951"\t} \\\n"\
10952"}\n"\
10953"#else\n"\
10954"#undef\t__ae2f_AnnSlpMk_imp\n"\
10955"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
10956"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10957"\n"\
10958"#undef\t__ae2f_AnnSlpMk\n"\
10959"#define\t__ae2f_AnnSlpMk(...) \\\n"\
10960"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10961"#endif\n"\
10962"\n"\
10963"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
10964"\n"\
10965"\n"\
10966"#define __ae2f_AnnSlpPredict_imp( \\\n"\
10967"\t \\\n"\
10968"\t\t \\\n"\
10969" \\\n"\
10970"\t \\\n"\
10971"\t\t reg_predict, \\\n"\
10972"\t\t prmreg_slp, \\\n"\
10973"\t\t pprm_in, \\\n"\
10974"\t\t ret, \\\n"\
10975"\t\t ptr_outcache, \\\n"\
10976"\t\t pprm_weight, \\\n"\
10977"\t\t pprm_bias, \\\n"\
10978"\t\t fn_act \\\n"\
10979") \\\n"\
10980"{ \\\n"\
10981"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--; ) \\\n"\
10982"\t{ \\\n"\
10983"\t\t(reg_predict).m_ret = 0; \\\n"\
10984" \\\n"\
10985"\t\tfor((reg_predict).m_j = (prmreg_slp).m_inc; (reg_predict).m_j--; ) { \\\n"\
10986"\t\t\t(reg_predict).m_ret \\\n"\
10987"\t\t\t\t+= (pprm_in)[(reg_predict).m_j] \\\n"\
10988"\t\t\t\t* ((pprm_weight) + (reg_predict).m_i * (prmreg_slp).m_inc)[(reg_predict).m_j]; \\\n"\
10989"\t\t} \\\n"\
10990" \\\n"\
10991"\t\t(ptr_outcache)[(reg_predict).m_i] = (reg_predict).m_ret + (pprm_bias)[(reg_predict).m_i]; \\\n"\
10992"\t} \\\n"\
10993" \\\n"\
10994"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--;) { \\\n"\
10995"\t\tfn_act(&(ret)[(reg_predict).m_i], (ptr_outcache), (reg_predict).m_i, (prmreg_slp).m_outc); \\\n"\
10996"\t} \\\n"\
10997"}\n"\
10998"\n"\
10999"#define __ae2f_AnnSlpPredict( \\\n"\
11000"\t \\\n"\
11001"\t\t \\\n"\
11002" \\\n"\
11003"\t \\\n"\
11004"\t\t err_opt, \\\n"\
11005"\t\t _this, \\\n"\
11006"\t\t prm_in, \\\n"\
11007"\t\t out, \\\n"\
11008"\t\t out_cache, \\\n"\
11009"\t\t weight, \\\n"\
11010"\t\t bias, \\\n"\
11011"\t\t act_opt \\\n"\
11012") \\\n"\
11013"{ \\\n"\
11014"\tif((err_opt) && *(err_opt)) \\\n"\
11015"\t\t; \\\n"\
11016"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
11017"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
11018"\telse { \\\n"\
11019"\t\tae2f_reg ae2f_AnnSlpPredictREG_t v_predict; \\\n"\
11020" \\\n"\
11021"\t\tif(act_opt) { \\\n"\
11022"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
11023"\t\t\t\t\t(v_predict) \\\n"\
11024"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
11025"\t\t\t\t\t, weight, bias, act_opt \\\n"\
11026"\t\t\t\t\t); \\\n"\
11027"\t\t} else { \\\n"\
11028"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
11029"\t\t\t\t\t(v_predict) \\\n"\
11030"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
11031"\t\t\t\t\t, weight, bias, ae2f_AnnActFFN_PASS \\\n"\
11032"\t\t\t\t\t); \\\n"\
11033"\t\t} \\\n"\
11034"\t} \\\n"\
11035"}\n"\
11036"\n"\
11037"#if ae2f_NEED_CLASS\n"\
11038"#define __ae2f_AnnSlpPredict_C( \\\n"\
11039"\t \\\n"\
11040"\t\t \\\n"\
11041" \\\n"\
11042"\t \\\n"\
11043"\t\t err_opt, \\\n"\
11044"\t\t _this, \\\n"\
11045"\t\t prm_in, \\\n"\
11046"\t\t out \\\n"\
11047") \\\n"\
11048"{ \\\n"\
11049"\tunless(_this) \\\n"\
11050"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11051"\telse { \\\n"\
11052"\t\t__ae2f_AnnSlpPredict( \\\n"\
11053"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
11054"\t\t\t\t, prm_in, out \\\n"\
11055"\t\t\t\t, (_this)->m_cacheact \\\n"\
11056"\t\t\t\t, (_this)->m_weight \\\n"\
11057"\t\t\t\t, (_this)->m_bias \\\n"\
11058"\t\t\t\t, (_this)->m_act \\\n"\
11059"\t\t\t\t); \\\n"\
11060"\t} \\\n"\
11061"}\n"\
11062"#else\n"\
11063"#undef\t__ae2f_AnnSlpPredict_C\n"\
11064"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
11065"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11066"#endif\n"\
11067"\n"\
11068"\n"\
11069"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
11070"\t \\\n"\
11071"\t\t \\\n"\
11072" \\\n"\
11073"\t \\\n"\
11074"\t\t inp, \\\n"\
11075"\t\t delta, \\\n"\
11076"\t\t weight, \\\n"\
11077"\t\t learningrate, \\\n"\
11078"\t\t inp_sz, \\\n"\
11079"\t\t inp_idx, \\\n"\
11080"\t\t out_sz, \\\n"\
11081"\t\t out_idx \\\n"\
11082") \\\n"\
11083"{ \\\n"\
11084"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
11085"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
11086"}\n"\
11087"\n"\
11088"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
11089"\t \\\n"\
11090"\t\t \\\n"\
11091" \\\n"\
11092"\t \\\n"\
11093"\t\t rret_bias, \\\n"\
11094"\t\t prm_delta, \\\n"\
11095"\t\t prm_learningrate_bias \\\n"\
11096") { (rret_bias) -= (prm_delta) * (prm_learningrate_bias); }\n"\
11097"\n"\
11098"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
11099"\t \\\n"\
11100"\t\t \\\n"\
11101" \\\n"\
11102"\t \\\n"\
11103"\t\t reg_follow, \\\n"\
11104"\t\t pprm_in, \\\n"\
11105"\t\t pprm_delta, \\\n"\
11106"\t\t ptr_weight, \\\n"\
11107"\t\t prm_learningrate, \\\n"\
11108"\t\t prm_learningrate_bias, \\\n"\
11109"\t\t prm_isz, \\\n"\
11110"\t\t prm_oidx, \\\n"\
11111"\t\t rret_bias \\\n"\
11112") \\\n"\
11113"{ \\\n"\
11114"\tfor((reg_follow).m_j = (prm_isz); (reg_follow).m_j--; ) { \\\n"\
11115"\t\t((ptr_weight) + (prm_isz) * (prm_oidx))[(reg_follow).m_j] \\\n"\
11116"\t\t\t-= (pprm_delta) * (pprm_in)[(reg_follow).m_j] * (prm_learningrate); \\\n"\
11117"\t} \\\n"\
11118" \\\n"\
11119"\t(rret_bias) -= (pprm_delta) * (prm_learningrate_bias); \\\n"\
11120"}\n"\
11121"\n"\
11122"\n"\
11123"#define __ae2f_AnnSlpFollow_imp( \\\n"\
11124"\t \\\n"\
11125"\t\t \\\n"\
11126" \\\n"\
11127"\t \\\n"\
11128"\t\t reg_follow, \\\n"\
11129"\t\t prm_slp, \\\n"\
11130"\t\t pprm_in, \\\n"\
11131"\t\t pprm_delta, \\\n"\
11132"\t\t ptr_weight, \\\n"\
11133"\t\t ptr_bias, \\\n"\
11134"\t\t prm_learningrate, \\\n"\
11135"\t\t prm_learningrate_bias \\\n"\
11136") \\\n"\
11137"{ \\\n"\
11138"\tfor((reg_follow).m_i = (prm_slp).m_outc; (reg_follow).m_i--; ) { \\\n"\
11139"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
11140"\t\t\t\treg_follow \\\n"\
11141"\t\t\t\t, pprm_in \\\n"\
11142"\t\t\t\t, (pprm_delta)[(reg_follow).m_i] \\\n"\
11143"\t\t\t\t, ((ptr_weight)) \\\n"\
11144"\t\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11145"\t\t\t\t, (prm_slp).m_inc \\\n"\
11146"\t\t\t\t, (reg_follow).m_i \\\n"\
11147"\t\t\t\t, (ptr_bias)[(reg_follow).m_i] \\\n"\
11148"\t\t\t\t); \\\n"\
11149"\t} \\\n"\
11150"}\n"\
11151"\n"\
11152"#define __ae2f_AnnSlpFollow( \\\n"\
11153"\t \\\n"\
11154"\t\t \\\n"\
11155" \\\n"\
11156"\t \\\n"\
11157"\t\t reterr_opt, \\\n"\
11158"\t\t _this, \\\n"\
11159"\t\t prm_in, \\\n"\
11160"\t\t delta, \\\n"\
11161"\t\t weight, \\\n"\
11162"\t\t bias, \\\n"\
11163"\t\t learningrate, \\\n"\
11164"\t\t learningrate_bias \\\n"\
11165") \\\n"\
11166"{ \\\n"\
11167"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
11168"\t\t; \\\n"\
11169"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
11170"\t\t; \\\n"\
11171"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
11172"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11173"\telse { \\\n"\
11174"\t\tae2f_reg ae2f_AnnSlpFollow_t v_follow; \\\n"\
11175"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
11176"\t\t\t\tv_follow \\\n"\
11177"\t\t\t\t, *(_this) \\\n"\
11178"\t\t\t\t, prm_in \\\n"\
11179"\t\t\t\t, delta \\\n"\
11180"\t\t\t\t, weight, bias \\\n"\
11181"\t\t\t\t, learningrate \\\n"\
11182"\t\t\t\t, learningrate_bias \\\n"\
11183"\t\t\t\t); \\\n"\
11184"\t} \\\n"\
11185"}\n"\
11186"\n"\
11187"#if ae2f_NEED_CLASS\n"\
11188"#define __ae2f_AnnSlpFollow_C( \\\n"\
11189"\t \\\n"\
11190"\t\t \\\n"\
11191" \\\n"\
11192"\t \\\n"\
11193"\t\t reterr_opt, \\\n"\
11194"\t\t _this, \\\n"\
11195"\t\t prm_in, \\\n"\
11196"\t\t delta \\\n"\
11197") { \\\n"\
11198"\tunless((_this)) \\\n"\
11199"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11200"\telse { \\\n"\
11201"\t\t__ae2f_AnnSlpFollow( \\\n"\
11202"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
11203"\t\t\t\t, prm_in, delta \\\n"\
11204"\t\t\t\t, _this->m_weight \\\n"\
11205"\t\t\t\t, (_this)->m_bias \\\n"\
11206"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
11207"\t\t\t\t); \\\n"\
11208"\t} \\\n"\
11209"}\n"\
11210"#else\n"\
11211"#undef\t__ae2f_AnnSlpFollow_C\n"\
11212"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
11213"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11214"#endif\n"\
11215"\n"\
11216"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
11217"\t \\\n"\
11218"\t\t \\\n"\
11219" \\\n"\
11220"\t \\\n"\
11221"\t\t rret, \\\n"\
11222"\t\t ptr_tmp0, \\\n"\
11223"\t\t ptr_tmp1, \\\n"\
11224"\t\t prm_out, \\\n"\
11225"\t\t prm_out_desired, \\\n"\
11226"\t\t prm_oidx, \\\n"\
11227"\t\t prm_osz, \\\n"\
11228"\t\t fn_actderiv, \\\n"\
11229"\t\t fn_lossderiv \\\n"\
11230") \\\n"\
11231"{ \\\n"\
11232"\tfn_actderiv(ptr_tmp0, prm_out, prm_oidx, prm_osz); \\\n"\
11233"\tfn_lossderiv(ptr_tmp1, prm_out, prm_out_desired, prm_oidx, prm_osz); \\\n"\
11234" \\\n"\
11235"\t(rret) = *(ptr_tmp0) * *(ptr_tmp1); \\\n"\
11236"}\n"\
11237"\n"\
11238"#define __ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11239"\t \\\n"\
11240"\t\t \\\n"\
11241" \\\n"\
11242"\t \\\n"\
11243"\t\t ram_delta, \\\n"\
11244"\t\t reg_delta, \\\n"\
11245"\t\t prm_slp, \\\n"\
11246"\t\t pprm_out, \\\n"\
11247"\t\t pprm_out_desired, \\\n"\
11248"\t\t fn_actderiv, \\\n"\
11249"\t\t fn_lossderiv, \\\n"\
11250"\t\t pret_delta \\\n"\
11251") \\\n"\
11252"{\t \\\n"\
11253"\tfor((reg_delta).m_i = (prm_slp).m_outc; (reg_delta).m_i--; ) \\\n"\
11254"\t{ \\\n"\
11255"\t\tfn_actderiv( \\\n"\
11256"\t\t\t\t&(ram_delta).m_tmp1 \\\n"\
11257"\t\t\t\t, (pprm_out) \\\n"\
11258"\t\t\t\t, (reg_delta).m_i \\\n"\
11259"\t\t\t\t, (prm_slp).m_outc \\\n"\
11260"\t\t\t\t); \\\n"\
11261" \\\n"\
11262"\t\tfn_lossderiv( \\\n"\
11263"\t\t\t\t&(ram_delta).m_tmp \\\n"\
11264"\t\t\t\t, (pprm_out) \\\n"\
11265"\t\t\t\t, (pprm_out_desired) \\\n"\
11266"\t\t\t\t, (reg_delta).m_i, (prm_slp).m_outc \\\n"\
11267"\t\t\t\t); \\\n"\
11268" \\\n"\
11269"\t\t(pret_delta)[(reg_delta).m_i] \\\n"\
11270"\t\t\t= (ram_delta).m_tmp * (ram_delta).m_tmp1; \\\n"\
11271"\t} \\\n"\
11272"}\n"\
11273"\n"\
11274"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
11275"\t \\\n"\
11276"\t\t \\\n"\
11277" \\\n"\
11278"\t \\\n"\
11279"\t\t tmp_delta, \\\n"\
11280"\t\t prm_slp, \\\n"\
11281"\t\t pprm_out, \\\n"\
11282"\t\t pprm_out_desired, \\\n"\
11283"\t\t fn_actderiv, \\\n"\
11284"\t\t fn_lossderiv, \\\n"\
11285"\t\t pret_delta \\\n"\
11286") \\\n"\
11287"{ \\\n"\
11288"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11289"\t\t\ttmp_delta, tmp_delta \\\n"\
11290"\t\t\t, prm_slp \\\n"\
11291"\t\t\t, pprm_out, pprm_out_desired \\\n"\
11292"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11293"\t\t\t, pret_delta \\\n"\
11294"\t\t\t); \\\n"\
11295"}\n"\
11296"\n"\
11297"#define __ae2f_AnnSlpFetchDelta( \\\n"\
11298"\t \\\n"\
11299"\t\t \\\n"\
11300" \\\n"\
11301"\t \\\n"\
11302"\t\t err, \\\n"\
11303"\t\t slp, \\\n"\
11304"\t\t out, \\\n"\
11305"\t\t out_desired, \\\n"\
11306"\t\t actderiv_opt, \\\n"\
11307"\t\t lossderiv, \\\n"\
11308"\t\t retdelta \\\n"\
11309") \\\n"\
11310"{ \\\n"\
11311"\tif((err) && *(err)) \\\n"\
11312"\t\t; \\\n"\
11313"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
11314"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11315"\telse unless(lossderiv) \\\n"\
11316"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11317" \\\n"\
11318"\telse { \\\n"\
11319"\t\tae2f_AnnSlpFetchDeltaRAM_t\t\tv_ram_delta; \\\n"\
11320"\t\tae2f_reg ae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
11321" \\\n"\
11322"\t\tif(actderiv_opt) { \\\n"\
11323"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11324"\t\t\t\t\tv_ram_delta \\\n"\
11325"\t\t\t\t\t, v_reg_delta \\\n"\
11326"\t\t\t\t\t, (*(slp)) \\\n"\
11327"\t\t\t\t\t, out, out_desired \\\n"\
11328"\t\t\t\t\t, actderiv_opt \\\n"\
11329"\t\t\t\t\t, lossderiv \\\n"\
11330"\t\t\t\t\t, retdelta \\\n"\
11331"\t\t\t\t\t); \\\n"\
11332"\t\t} \\\n"\
11333"\t\telse { \\\n"\
11334"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11335"\t\t\t\t\tv_ram_delta \\\n"\
11336"\t\t\t\t\t, v_reg_delta \\\n"\
11337"\t\t\t\t\t, (*(slp)) \\\n"\
11338"\t\t\t\t\t, out, out_desired \\\n"\
11339"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
11340"\t\t\t\t\t, lossderiv \\\n"\
11341"\t\t\t\t\t, retdelta \\\n"\
11342"\t\t\t\t\t); \\\n"\
11343"\t\t} \\\n"\
11344"\t} \\\n"\
11345"}\n"\
11346"\n"\
11347"#if\tae2f_NEED_CLASS\n"\
11348"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
11349"\t \\\n"\
11350"\t\t \\\n"\
11351" \\\n"\
11352"\t \\\n"\
11353"\t\t err, \\\n"\
11354"\t\t slp, \\\n"\
11355"\t\t out, \\\n"\
11356"\t\t out_desired, \\\n"\
11357"\t\t retdelta \\\n"\
11358") \\\n"\
11359"{ \\\n"\
11360"\tif((err) && *(err)) \\\n"\
11361"\t\t; \\\n"\
11362"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
11363"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11364"\telse unless((slp)->m_lossderiv) \\\n"\
11365"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11366"\telse { \\\n"\
11367"\t\tae2f_AnnSlpFetchDeltaRAM_t\tv_ram_delta; \\\n"\
11368"\t\tae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
11369" \\\n"\
11370"\t\tif((slp)->m_actderiv) { \\\n"\
11371"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11372"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
11373"\t\t\t\t\t, out, out_desired \\\n"\
11374"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
11375"\t\t\t\t\t, retdelta \\\n"\
11376"\t\t\t\t\t); \\\n"\
11377"\t\t} else { \\\n"\
11378"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11379"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
11380"\t\t\t\t\t, out, out_desired \\\n"\
11381"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS, (slp)->m_lossderiv \\\n"\
11382"\t\t\t\t\t, retdelta \\\n"\
11383"\t\t\t\t\t); \\\n"\
11384"\t\t} \\\n"\
11385"\t} \\\n"\
11386"}\n"\
11387"#else\n"\
11388"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
11389"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
11390"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11391"#endif\n"\
11392"\n"\
11393"\n"\
11394"#define __ae2f_AnnSlpFitVerbose_imp( \\\n"\
11395"\t \\\n"\
11396"\t\t \\\n"\
11397" \\\n"\
11398"\t \\\n"\
11399"\t\t ram_fit, \\\n"\
11400"\t\t reg_fit, \\\n"\
11401"\t\t prm_slp, \\\n"\
11402"\t\t pprm_inp, \\\n"\
11403"\t\t pprm_out, \\\n"\
11404"\t\t pprm_out_desired, \\\n"\
11405"\t\t ptr_weights, \\\n"\
11406"\t\t ptr_bias, \\\n"\
11407"\t\t ptr_cachedelta, \\\n"\
11408"\t\t fn_actderiv, \\\n"\
11409"\t\t fn_lossderiv, \\\n"\
11410"\t\t prm_learningrate, \\\n"\
11411"\t\t prm_learningrate_bias \\\n"\
11412") \\\n"\
11413"{ \\\n"\
11414"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11415"\t\t\tram_fit, reg_fit, prm_slp \\\n"\
11416"\t\t\t, pprm_out, pprm_out_desired \\\n"\
11417"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11418"\t\t\t, ptr_cachedelta \\\n"\
11419"\t\t\t); \\\n"\
11420" \\\n"\
11421"\t__ae2f_AnnSlpFollow_imp( \\\n"\
11422"\t\t\treg_fit, prm_slp, pprm_inp \\\n"\
11423"\t\t\t, ptr_cachedelta, ptr_weights, ptr_bias \\\n"\
11424"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11425"\t\t\t); \\\n"\
11426"}\n"\
11427"\n"\
11428"#define __ae2f_AnnSlpFit_imp( \\\n"\
11429"\t \\\n"\
11430"\t\t \\\n"\
11431" \\\n"\
11432"\t \\\n"\
11433"\t\t v_fit, \\\n"\
11434"\t\t prm_slp, \\\n"\
11435"\t\t pprm_inp, \\\n"\
11436"\t\t pprm_out, \\\n"\
11437"\t\t pprm_out_desired, \\\n"\
11438"\t\t ptr_weights, \\\n"\
11439"\t\t ptr_bias, \\\n"\
11440"\t\t ptr_cachedelta, \\\n"\
11441"\t\t fn_actderiv, \\\n"\
11442"\t\t fn_lossderiv, \\\n"\
11443"\t\t prm_learningrate, \\\n"\
11444"\t\t prm_learningrate_bias \\\n"\
11445") \\\n"\
11446"{ \\\n"\
11447"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11448"\t\t\tv_fit, v_fit \\\n"\
11449"\t\t\t, prm_slp \\\n"\
11450"\t\t\t, pprm_inp, pprm_out, pprm_out_desired \\\n"\
11451"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11452"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11453"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11454"\t\t\t); \\\n"\
11455"}\n"\
11456"\n"\
11457"#define __ae2f_AnnSlpFit( \\\n"\
11458"\t \\\n"\
11459"\t\t \\\n"\
11460" \\\n"\
11461"\t \\\n"\
11462"\t\t reterr_opt, \\\n"\
11463"\t\t _this, \\\n"\
11464"\t\t prm_inp, \\\n"\
11465"\t\t prm_out, \\\n"\
11466"\t\t prm_out_desired, \\\n"\
11467"\t\t weights, \\\n"\
11468"\t\t bias, \\\n"\
11469"\t\t cachedelta, \\\n"\
11470"\t\t actderiv_opt, \\\n"\
11471"\t\t lossderiv, \\\n"\
11472"\t\t learningrate, \\\n"\
11473"\t\t learningrate_bias \\\n"\
11474") \\\n"\
11475"{ \\\n"\
11476"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
11477"\t\t; \\\n"\
11478"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
11479"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11480"\telse unless(lossderiv) \\\n"\
11481"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11482"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
11483"\t\t; \\\n"\
11484"\telse { \\\n"\
11485"\t\tae2f_AnnSlpFitRAM_t\t\tv_ram_fit; \\\n"\
11486"\t\tae2f_reg ae2f_AnnSlpFitREG_t\tv_reg_fit; \\\n"\
11487" \\\n"\
11488"\t\tif(actderiv_opt) { \\\n"\
11489"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11490"\t\t\t\t\tv_ram_fit \\\n"\
11491"\t\t\t\t\t, v_reg_fit \\\n"\
11492"\t\t\t\t\t, (*(_this)) \\\n"\
11493"\t\t\t\t\t, prm_inp \\\n"\
11494"\t\t\t\t\t, prm_out \\\n"\
11495"\t\t\t\t\t, prm_out_desired \\\n"\
11496"\t\t\t\t\t, weights \\\n"\
11497"\t\t\t\t\t, bias \\\n"\
11498"\t\t\t\t\t, cachedelta \\\n"\
11499"\t\t\t\t\t, actderiv_opt \\\n"\
11500"\t\t\t\t\t, lossderiv \\\n"\
11501"\t\t\t\t\t, learningrate \\\n"\
11502"\t\t\t\t\t, learningrate_bias \\\n"\
11503"\t\t\t\t\t); \\\n"\
11504"\t\t} else { \\\n"\
11505"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11506"\t\t\t\t\tv_ram_fit \\\n"\
11507"\t\t\t\t\t, v_reg_fit \\\n"\
11508"\t\t\t\t\t, (*(_this)) \\\n"\
11509"\t\t\t\t\t, prm_inp \\\n"\
11510"\t\t\t\t\t, prm_out \\\n"\
11511"\t\t\t\t\t, prm_out_desired \\\n"\
11512"\t\t\t\t\t, weights \\\n"\
11513"\t\t\t\t\t, bias \\\n"\
11514"\t\t\t\t\t, cachedelta \\\n"\
11515"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
11516"\t\t\t\t\t, lossderiv \\\n"\
11517"\t\t\t\t\t, learningrate \\\n"\
11518"\t\t\t\t\t, learningrate_bias \\\n"\
11519"\t\t\t\t\t); \\\n"\
11520"\t\t} \\\n"\
11521"\t} \\\n"\
11522"}\n"\
11523"\n"\
11524"#if\tae2f_NEED_CLASS\n"\
11525"#define __ae2f_AnnSlpFit_C( \\\n"\
11526"\t \\\n"\
11527"\t\t \\\n"\
11528" \\\n"\
11529"\t \\\n"\
11530"\t\t reterr_opt, \\\n"\
11531"\t\t _this, \\\n"\
11532"\t\t prm_inp, \\\n"\
11533"\t\t prm_out, \\\n"\
11534"\t\t prm_out_desired \\\n"\
11535") { \\\n"\
11536"\tunless(_this) { \\\n"\
11537"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
11538"\t} \\\n"\
11539"\telse { \\\n"\
11540"\t\t__ae2f_AnnSlpFit( \\\n"\
11541"\t\t\t\treterr_opt \\\n"\
11542"\t\t\t\t, (_this)->m_Slp \\\n"\
11543"\t\t\t\t, prm_inp \\\n"\
11544"\t\t\t\t, prm_out \\\n"\
11545"\t\t\t\t, prm_out_desired \\\n"\
11546"\t\t\t\t, (_this)->m_weight \\\n"\
11547"\t\t\t\t, (_this)->m_bias \\\n"\
11548"\t\t\t\t, (_this)->m_cachedelta \\\n"\
11549"\t\t\t\t, (_this)->m_actderiv \\\n"\
11550"\t\t\t\t, (_this)->m_lossderiv \\\n"\
11551"\t\t\t\t, (_this)->m_learningrate \\\n"\
11552"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
11553"\t\t\t\t); \\\n"\
11554"\t} \\\n"\
11555"}\n"\
11556"#else\n"\
11557"#undef\t__ae2f_AnnSlpFit_C\n"\
11558"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
11559"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11560"#endif\n"\
11561"\n"\
11562"#define __ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11563"\t \\\n"\
11564"\t\t \\\n"\
11565" \\\n"\
11566"\t \\\n"\
11567"\t\t ram_train, \\\n"\
11568"\t\t reg_train, \\\n"\
11569"\t\t prm_slp, \\\n"\
11570"\t\t pprm_inp, \\\n"\
11571"\t\t pret_out, \\\n"\
11572"\t\t ptr_out_cache, \\\n"\
11573"\t\t pprm_out_desired, \\\n"\
11574"\t\t ptr_weights, \\\n"\
11575"\t\t ptr_bias, \\\n"\
11576"\t\t ptr_cachedelta, \\\n"\
11577"\t\t fn_act, \\\n"\
11578"\t\t fn_actderiv, \\\n"\
11579"\t\t fn_lossderiv, \\\n"\
11580"\t\t prm_learningrate, \\\n"\
11581"\t\t prm_learningrate_bias \\\n"\
11582") \\\n"\
11583"{ \\\n"\
11584"\t__ae2f_AnnSlpPredict_imp( \\\n"\
11585"\t\t\treg_train \\\n"\
11586"\t\t\t, prm_slp \\\n"\
11587"\t\t\t, pprm_inp \\\n"\
11588"\t\t\t, pret_out \\\n"\
11589"\t\t\t, ptr_out_cache \\\n"\
11590"\t\t\t, ptr_weights \\\n"\
11591"\t\t\t, ptr_bias \\\n"\
11592"\t\t\t, fn_act \\\n"\
11593"\t\t\t); \\\n"\
11594" \\\n"\
11595"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11596"\t\t\tram_train \\\n"\
11597"\t\t\t, reg_train \\\n"\
11598"\t\t\t, prm_slp \\\n"\
11599"\t\t\t, pprm_inp \\\n"\
11600"\t\t\t, pret_out \\\n"\
11601"\t\t\t, pprm_out_desired \\\n"\
11602"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11603"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11604"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11605"\t\t\t); \\\n"\
11606"}\n"\
11607"\n"\
11608"#define __ae2f_AnnSlpTrain_imp( \\\n"\
11609"\t \\\n"\
11610"\t\t \\\n"\
11611" \\\n"\
11612"\t \\\n"\
11613"\t\t tmp_train, \\\n"\
11614"\t\t prm_slp, \\\n"\
11615"\t\t pprm_inp, \\\n"\
11616"\t\t pret_out, \\\n"\
11617"\t\t ptr_out_cache, \\\n"\
11618"\t\t pprm_out_desired, \\\n"\
11619"\t\t ptr_weights, \\\n"\
11620"\t\t ptr_bias, \\\n"\
11621"\t\t ptr_cachedelta, \\\n"\
11622"\t\t fn_act, \\\n"\
11623"\t\t fn_actderiv, \\\n"\
11624"\t\t fn_lossderiv, \\\n"\
11625"\t\t prm_learningrate, \\\n"\
11626"\t\t prm_learningrate_bias \\\n"\
11627") \\\n"\
11628"{ \\\n"\
11629"\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11630"\t\t\ttmp_train, tmp_train \\\n"\
11631"\t\t\t, prm_slp \\\n"\
11632"\t\t\t, pprm_inp, pret_out \\\n"\
11633"\t\t\t, ptr_out_cache, pprm_out_desired \\\n"\
11634"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11635"\t\t\t, fn_act, fn_actderiv, fn_lossderiv \\\n"\
11636"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11637"\t\t\t); \\\n"\
11638"}\n"\
11639"\n"\
11640"#if ae2f_NEED_CLASS\n"\
11641"#define __ae2f_AnnSlpTrain_C( \\\n"\
11642"\t \\\n"\
11643"\t\t \\\n"\
11644" \\\n"\
11645"\t \\\n"\
11646"\t\t err, \\\n"\
11647"\t\t slp, \\\n"\
11648"\t\t inp, \\\n"\
11649"\t\t out_desired \\\n"\
11650") \\\n"\
11651"{ \\\n"\
11652"\tunless(slp) \\\n"\
11653"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11654"\telse { \\\n"\
11655"\t\t__ae2f_AnnSlpTrain( \\\n"\
11656"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
11657"\t\t\t\t, (slp)->m_cacheact \\\n"\
11658"\t\t\t\t, out_desired \\\n"\
11659"\t\t\t\t, (slp)->m_weight \\\n"\
11660"\t\t\t\t, (slp)->m_bias \\\n"\
11661"\t\t\t\t, (slp)->m_cachedelta \\\n"\
11662"\t\t\t\t, (slp)->m_act \\\n"\
11663"\t\t\t\t, (slp)->m_actderiv \\\n"\
11664"\t\t\t\t, (slp)->m_lossderiv \\\n"\
11665"\t\t\t\t, (slp)->m_learningrate \\\n"\
11666"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
11667"\t\t\t\t); \\\n"\
11668"\t} \\\n"\
11669"}\n"\
11670"#else\n"\
11671"#undef\t__ae2f_AnnSlpTrain_C\n"\
11672"#define __ae2f_AnnSlpTrain_C \\\n"\
11673"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11674"\n"\
11675"#endif\n"\
11676"\n"\
11677"#define __ae2f_AnnSlpTrain( \\\n"\
11678"\t \\\n"\
11679"\t\t \\\n"\
11680" \\\n"\
11681"\t \\\n"\
11682"\t\t err, \\\n"\
11683"\t\t slp, \\\n"\
11684"\t\t inp, \\\n"\
11685"\t\t out_cache, \\\n"\
11686"\t\t out_desired, \\\n"\
11687"\t\t weights, \\\n"\
11688"\t\t bias, \\\n"\
11689"\t\t cachedelta, \\\n"\
11690"\t\t act, \\\n"\
11691"\t\t actderiv, \\\n"\
11692"\t\t lossderiv, \\\n"\
11693"\t\t learningrate, \\\n"\
11694"\t\t learningrate_bias \\\n"\
11695") \\\n"\
11696"{ \\\n"\
11697"\tif((err) && *(err)) \\\n"\
11698"\t\t; \\\n"\
11699"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
11700"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11701"\telse unless(lossderiv) \\\n"\
11702"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11703"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
11704"\t\t; \\\n"\
11705"\telse { \\\n"\
11706"\t\tae2f_reg ae2f_AnnSlpTrainREG_t v_reg_train; \\\n"\
11707"\t\tae2f_AnnSlpTrainRAM_t v_ram_train; \\\n"\
11708" \\\n"\
11709"\t\tif (act) { \\\n"\
11710"\t\t\tif(actderiv) { \\\n"\
11711"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11712"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11713"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11714"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11715"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
11716"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11717"\t\t\t\t\t\t); \\\n"\
11718"\t\t\t} else { \\\n"\
11719"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11720"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11721"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11722"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11723"\t\t\t\t\t\t, cachedelta, act, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
11724"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11725"\t\t\t\t\t\t); \\\n"\
11726" \\\n"\
11727"\t\t\t} \\\n"\
11728"\t\t} else { \\\n"\
11729"\t\t\tif(actderiv) { \\\n"\
11730"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11731"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11732"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11733"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11734"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, actderiv, lossderiv \\\n"\
11735"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11736"\t\t\t\t\t\t); \\\n"\
11737"\t\t\t} else { \\\n"\
11738"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11739"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11740"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11741"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11742"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
11743"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11744"\t\t\t\t\t\t); \\\n"\
11745" \\\n"\
11746"\t\t\t} \\\n"\
11747"\t\t} \\\n"\
11748"\t} \\\n"\
11749"}\n"\
11750"\n"\
11751"\n"\
11752"#endif\n"\
11753"\n"\
11754"#undef\t__ae2f_MACRO_GENERATED\n"\
11755"\n"\
11756"#define\t__ae2f_MACRO_GENERATED\t0\n"\
11757"\n"\
11758"\n"\
11759"#undef __ae2f_MACRO_GENERATED\n"\
11760"#define __ae2f_MACRO_GENERATED 1\n"\
11761"\n"\
11762"\n"\
11763"#if !__ae2f_MACRO_GENERATED\n"\
11764"#define _clAtomAddF_tmpl(a, b, c, d, e)\tclAtomAddF_tmpl(d, e)\n"\
11765"#define _clAtomAddF(a, b, c, d)\t\tclAtomAddF(b, c, d)\n"\
11766"#endif\n"\
11767"\n"\
11768"#define _clAtomAddF_t(__global, host_float_t) struct { \\\n"\
11769"\tunion { \\\n"\
11770"\t\thost_float_t\tm_f; \\\n"\
11771"\t\thost_float_t\tm_fa[MAX(1, 4 / sizeof(host_float_t))]; \\\n"\
11772"\t\tuint\t\tm_u[(MAX(1, sizeof(host_float_t) >> 2))]; \\\n"\
11773"\t} m_atom[2]; \\\n"\
11774"\tuint\t\t\tm_count; \\\n"\
11775"\tunion { \\\n"\
11776"\t\t__global volatile uint* \tm_pchg; \\\n"\
11777"\t\t__global volatile host_float_t* m_fp; \\\n"\
11778"\t\tintptr_t\t\t\tm_ip; \\\n"\
11779"\t} m_U0; \\\n"\
11780"}\n"\
11781"\n"\
11782"#if !__ae2f_MACRO_GENERATED\n"\
11783"typedef _clAtomAddF_t(__global, host_float_t) clAtomAddF_t;\n"\
11784"#endif\n"\
11785"\n"\
11786"#define _clAtomAddF( \\\n"\
11787"\t \\\n"\
11788"\t\t__global, \\\n"\
11789" \\\n"\
11790"\t \\\n"\
11791"\t\t v_mem, \\\n"\
11792"\t\t prm_dst, \\\n"\
11793"\t\t prm_val \\\n"\
11794") \\\n"\
11795"{ \\\n"\
11796"\tif(sizeof((v_mem).m_atom[0].m_f) < 4) { \\\n"\
11797"\t\t(v_mem).m_count = 4 / sizeof((v_mem).m_atom[0].m_f); \\\n"\
11798"\t\twhile((v_mem).m_count--) { \\\n"\
11799"\t\t\t(v_mem).m_atom[0].m_fa[(v_mem).m_count] \\\n"\
11800"\t\t\t\t= (prm_dst)[(v_mem).m_count] \\\n"\
11801"\t\t\t\t; \\\n"\
11802"\t\t} \\\n"\
11803"\t} else { \\\n"\
11804"\t\t((v_mem).m_atom)[0].m_f = ((v_mem).m_atom)[1].m_f = *(prm_dst); \\\n"\
11805"\t} \\\n"\
11806" \\\n"\
11807"\t((v_mem).m_atom)[1].m_f += (prm_val); \\\n"\
11808" \\\n"\
11809"\t(v_mem).m_count = MAX(1, (sizeof(((v_mem).m_atom[0].m_f)) >> 2)); \\\n"\
11810"\twhile((v_mem).m_count--) { \\\n"\
11811"\t\t(v_mem).m_U0.m_fp = (prm_dst); \\\n"\
11812"\t\t(v_mem).m_U0.m_pchg += (v_mem).m_count; \\\n"\
11813"\t\tatom_xchg_u( \\\n"\
11814"\t\t\t\t(v_mem).m_U0.m_pchg \\\n"\
11815"\t\t\t\t, (v_mem).m_atom[1].m_u[(v_mem).m_count] \\\n"\
11816"\t\t\t ); \\\n"\
11817"\t} \\\n"\
11818"}\n"\
11819"\n"\
11820"#if !__ae2f_MACRO_GENERATED\n"\
11821"#define _clSlpPredict_t\t_clAtomAddF_t\n"\
11822"typedef clAtomAddF_t clSlpPredict_t;\n"\
11823"#endif \n"\
11824"\n"\
11825"#define _clSlpPredict( \\\n"\
11826"\t \\\n"\
11827"\t\t__global, \\\n"\
11828" \\\n"\
11829"\t \\\n"\
11830"\t\t v_mem, \\\n"\
11831"\t\t ret, \\\n"\
11832"\t\t loc, \\\n"\
11833"\t\t p_inp, \\\n"\
11834"\t\t p_weight, \\\n"\
11835"\t\t p_bias, \\\n"\
11836"\t\t iidx, \\\n"\
11837"\t\t isz, \\\n"\
11838"\t\t oidx, \\\n"\
11839"\t\t osz, \\\n"\
11840"\t\t ACT \\\n"\
11841") \\\n"\
11842"{ \\\n"\
11843"\tif((oidx) < (osz) && (iidx) < (isz)) { \\\n"\
11844"\t\tunless((iidx)) (loc)[oidx] = 0; \\\n"\
11845" \\\n"\
11846"\t\tif(sizeof((v_mem).m_atom[0].m_f) >= 4) { \\\n"\
11847"\t\t\t_clAtomAddF(__global \\\n"\
11848"\t\t\t\t\t, v_mem, &(loc)[oidx] \\\n"\
11849"\t\t\t\t\t, (p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11850"\t\t\t\t ); \\\n"\
11851"\t\t} else { \\\n"\
11852"\t\t\tunless((oidx) & 1) { \\\n"\
11853"\t\t\t\t(v_mem).m_atom[0].m_u[0] = \\\n"\
11854"\t\t\t\t\tCAST(__global uint*, loc)[0]; \\\n"\
11855" \\\n"\
11856"\t\t\t\t(v_mem).m_atom[1].m_fa[0] \\\n"\
11857"\t\t\t\t\t= (v_mem).m_atom[1].m_fa[0] \\\n"\
11858"\t\t\t\t\t+ (p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11859"\t\t\t\t\t; \\\n"\
11860" \\\n"\
11861"\t\t\t\tif((oidx) + 1 < (osz)) \\\n"\
11862"\t\t\t\t\t(v_mem).m_atom[1].m_fa[1] \\\n"\
11863"\t\t\t\t\t\t= (v_mem).m_atom[1].m_fa[1] \\\n"\
11864"\t\t\t\t\t\t+ (p_weight)[((oidx) + 1) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11865"\t\t\t\t\t\t; \\\n"\
11866" \\\n"\
11867"\t\t\t\tatom_xchg_u(CAST(__global uint*, loc), (v_mem).m_atom[1].m_u[0]); \\\n"\
11868"\t\t\t} \\\n"\
11869"\t\t} \\\n"\
11870" \\\n"\
11871"\t\tunless(iidx) { \\\n"\
11872"\t\t\t(loc)[oidx] += (p_bias)[oidx]; \\\n"\
11873"\t\t\tACT(&(ret), (loc), oidx, osz); \\\n"\
11874"\t\t} \\\n"\
11875"\t} \\\n"\
11876" \\\n"\
11877"}\n"\
11878"\n"\
11879"\n"\
11880"#endif\n"\
11881"\n"\
11882"#undef\t__ae2f_MACRO_GENERATED\n"\
11883"\n"\
11884"#define\t__ae2f_MACRO_GENERATED\t0\n"\
11885"\n"\
11886"\n"\
11887"#undef __ae2f_MACRO_GENERATED\n"\
11888"#define __ae2f_MACRO_GENERATED 1\n"\
11889"#ifndef mac_h\n"\
11890"#define mac_h\n"\
11891"\n"\
11892"#ifndef ae2fVK_clspv_addrspec_h\n"\
11893"#define ae2fVK_clspv_addrspec_h\n"\
11894"\n"\
11895"#ifndef ae2fVK_clspv_key_h\n"\
11896"#define ae2fVK_clspv_key_h\n"\
11897"\n"\
11898"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
11899"#define ae2fVK_clspv_IS_OPENCL 0\n"\
11900"#endif\n"\
11901"\n"\
11902"#if ae2fVK_clspv_IS_OPENCL\n"\
11903"\n"\
11904"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
11905"#define ae2fVK_NCL(...)\n"\
11906"\n"\
11907"#else\n"\
11908"\n"\
11909"#define ae2fVK_CL(...)\n"\
11910"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
11911"#endif\n"\
11912"\n"\
11913"#endif\n"\
11914"\n"\
11915"\n"\
11916"#if !ae2fVK_clspv_IS_OPENCL\n"\
11917"#define __kernel\t\n"\
11918"#define __global\t\n"\
11919"#define __constant\tconst\n"\
11920"#define __local\t\t\n"\
11921"#endif\n"\
11922"\n"\
11923"#endif\n"\
11924"\n"\
11925"\n"\
11926"\n"\
11927"#ifndef ae2fVK_clspv_wrkitem_h\n"\
11928"#define ae2fVK_clspv_wrkitem_h\n"\
11929"\n"\
11930"#ifndef ae2fVK_clspv_sclr_h\n"\
11931"#define ae2fVK_clspv_sclr_h\n"\
11932"\n"\
11933"#ifndef ae2fVK_clspv_key_h\n"\
11934"#define ae2fVK_clspv_key_h\n"\
11935"\n"\
11936"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
11937"#define ae2fVK_clspv_IS_OPENCL 0\n"\
11938"#endif\n"\
11939"\n"\
11940"#if ae2fVK_clspv_IS_OPENCL\n"\
11941"\n"\
11942"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
11943"#define ae2fVK_NCL(...)\n"\
11944"\n"\
11945"#else\n"\
11946"\n"\
11947"#define ae2fVK_CL(...)\n"\
11948"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
11949"#endif\n"\
11950"\n"\
11951"#endif\n"\
11952"\n"\
11953"\n"\
11954"#if !ae2fVK_clspv_IS_OPENCL\n"\
11955"\n"\
11956"#define half\tfloat\n"\
11957"#define uchar\tunsigned char\n"\
11958"#define ushort\tunsigned short\n"\
11959"#define uint\tunsigned int\n"\
11960"#define ulong\tunsigned long\n"\
11961"\n"\
11962"\n"\
11963"\n"\
11964"\n"\
11965"#endif\n"\
11966"\n"\
11967"#endif\n"\
11968"\n"\
11969"\n"\
11970"#if !ae2fVK_clspv_IS_OPENCL\n"\
11971"\n"\
11972"uint get_work_dim();\n"\
11973"\n"\
11974"\n"\
11975"size_t get_global_size(uint dimindx);\n"\
11976"\n"\
11977"\n"\
11978"size_t get_global_id(uint dimindx);\n"\
11979"\n"\
11980"\n"\
11981"size_t get_local_size(uint dimindx);\n"\
11982"\n"\
11983"\n"\
11984"size_t get_local_id(uint dimindx);\n"\
11985"\n"\
11986"\n"\
11987"size_t get_num_groups(uint dimindx);\n"\
11988"\n"\
11989"\n"\
11990"\n"\
11991"size_t get_global_offset(uint dimindx);\n"\
11992"\n"\
11993"\n"\
11994"size_t get_group_id(uint dimindx);\n"\
11995"#endif\n"\
11996"\n"\
11997"#if !ae2fVK_clspv_IS_OPENCL \n"\
11998"\n"\
11999"\n"\
12000"uint get_sub_group_size();\n"\
12001"\n"\
12002"\n"\
12003"uint get_max_sub_group_size();\n"\
12004"\n"\
12005"\n"\
12006"uint get_num_sub_groups();\n"\
12007"\n"\
12008"\n"\
12009"uint get_enqueued_num_sub_groups();\n"\
12010"\n"\
12011"\n"\
12012"uint get_sub_group_id();\n"\
12013"\n"\
12014"\n"\
12015"uint get_sub_group_local_id();\n"\
12016"#endif\n"\
12017"\n"\
12018"#endif\n"\
12019"\n"\
12020"\n"\
12021"\n"\
12022"#ifndef ae2fVK_clspv_atom_h\n"\
12023"#define ae2fVK_clspv_atom_h\n"\
12024"\n"\
12025"#ifndef ae2fVK_clspv_sclr_h\n"\
12026"#define ae2fVK_clspv_sclr_h\n"\
12027"\n"\
12028"#ifndef ae2fVK_clspv_key_h\n"\
12029"#define ae2fVK_clspv_key_h\n"\
12030"\n"\
12031"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
12032"#define ae2fVK_clspv_IS_OPENCL 0\n"\
12033"#endif\n"\
12034"\n"\
12035"#if ae2fVK_clspv_IS_OPENCL\n"\
12036"\n"\
12037"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
12038"#define ae2fVK_NCL(...)\n"\
12039"\n"\
12040"#else\n"\
12041"\n"\
12042"#define ae2fVK_CL(...)\n"\
12043"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
12044"#endif\n"\
12045"\n"\
12046"#endif\n"\
12047"\n"\
12048"\n"\
12049"#if !ae2fVK_clspv_IS_OPENCL\n"\
12050"\n"\
12051"#define half\tfloat\n"\
12052"#define uchar\tunsigned char\n"\
12053"#define ushort\tunsigned short\n"\
12054"#define uint\tunsigned int\n"\
12055"#define ulong\tunsigned long\n"\
12056"\n"\
12057"\n"\
12058"\n"\
12059"\n"\
12060"#endif\n"\
12061"\n"\
12062"#endif\n"\
12063"\n"\
12064"\n"\
12065"#if !ae2fVK_clspv_IS_OPENCL \n"\
12066"\n"\
12067"uint atom_cmpxchg_u(volatile uint *p, uint cmp, uint val);\n"\
12068"int atom_cmpxchg_i(volatile int *p, int cmp, int val);\n"\
12069"\n"\
12070"int atom_xchg_i(volatile int *p, int val);\n"\
12071"int atom_xchg_u(volatile uint *p, uint val);\n"\
12072"\n"\
12073"\n"\
12074"#else\n"\
12075"\n"\
12076"#define atom_cmpxchg_i\tatom_cmpxchg\n"\
12077"#define atom_cmpxchg_u\tatom_cmpxchg\n"\
12078"\n"\
12079"#define atom_xchg_u\tatom_xchg\n"\
12080"#define atom_xchg_i\tatom_xchg\n"\
12081"\n"\
12082"#endif\n"\
12083"\n"\
12084"#endif\n"\
12085"\n"\
12086"#ifndef ae2fVK_clspv_stdint_h\n"\
12087"#define ae2fVK_clspv_stdint_h\n"\
12088"\n"\
12089"#ifndef ae2fVK_clspv_sclr_h\n"\
12090"#define ae2fVK_clspv_sclr_h\n"\
12091"\n"\
12092"#ifndef ae2fVK_clspv_key_h\n"\
12093"#define ae2fVK_clspv_key_h\n"\
12094"\n"\
12095"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
12096"#define ae2fVK_clspv_IS_OPENCL 0\n"\
12097"#endif\n"\
12098"\n"\
12099"#if ae2fVK_clspv_IS_OPENCL\n"\
12100"\n"\
12101"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
12102"#define ae2fVK_NCL(...)\n"\
12103"\n"\
12104"#else\n"\
12105"\n"\
12106"#define ae2fVK_CL(...)\n"\
12107"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
12108"#endif\n"\
12109"\n"\
12110"#endif\n"\
12111"\n"\
12112"\n"\
12113"#if !ae2fVK_clspv_IS_OPENCL\n"\
12114"\n"\
12115"#define half\tfloat\n"\
12116"#define uchar\tunsigned char\n"\
12117"#define ushort\tunsigned short\n"\
12118"#define uint\tunsigned int\n"\
12119"#define ulong\tunsigned long\n"\
12120"\n"\
12121"\n"\
12122"\n"\
12123"\n"\
12124"#endif\n"\
12125"\n"\
12126"#endif\n"\
12127"\n"\
12128"\n"\
12129"#if ae2fVK_clspv_IS_OPENCL\n"\
12130"#define int8_t\t\tchar\n"\
12131"#define uint8_t\t\tuchar\n"\
12132"#define int16_t\t\tshort\n"\
12133"#define uint16_t\tushort\n"\
12134"#define int32_t\t\tint\n"\
12135"#define uint32_t\tuint\n"\
12136"#define int64_t\t\tlong\n"\
12137"#define uint64_t\tulong\n"\
12138"#else\n"\
12139"#ifndef ae2fVK_clspv_stdint_h\n"\
12140"#define ae2fVK_clspv_stdint_h\n"\
12141"\n"\
12142"#ifndef ae2fVK_clspv_sclr_h\n"\
12143"#define ae2fVK_clspv_sclr_h\n"\
12144"\n"\
12145"#ifndef ae2fVK_clspv_key_h\n"\
12146"#define ae2fVK_clspv_key_h\n"\
12147"\n"\
12148"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
12149"#define ae2fVK_clspv_IS_OPENCL 0\n"\
12150"#endif\n"\
12151"\n"\
12152"#if ae2fVK_clspv_IS_OPENCL\n"\
12153"\n"\
12154"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
12155"#define ae2fVK_NCL(...)\n"\
12156"\n"\
12157"#else\n"\
12158"\n"\
12159"#define ae2fVK_CL(...)\n"\
12160"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
12161"#endif\n"\
12162"\n"\
12163"#endif\n"\
12164"\n"\
12165"\n"\
12166"#if !ae2fVK_clspv_IS_OPENCL\n"\
12167"\n"\
12168"#define half\tfloat\n"\
12169"#define uchar\tunsigned char\n"\
12170"#define ushort\tunsigned short\n"\
12171"#define uint\tunsigned int\n"\
12172"#define ulong\tunsigned long\n"\
12173"\n"\
12174"\n"\
12175"\n"\
12176"\n"\
12177"#endif\n"\
12178"\n"\
12179"#endif\n"\
12180"\n"\
12181"\n"\
12182"#if ae2fVK_clspv_IS_OPENCL\n"\
12183"#define int8_t\t\tchar\n"\
12184"#define uint8_t\t\tuchar\n"\
12185"#define int16_t\t\tshort\n"\
12186"#define uint16_t\tushort\n"\
12187"#define int32_t\t\tint\n"\
12188"#define uint32_t\tuint\n"\
12189"#define int64_t\t\tlong\n"\
12190"#define uint64_t\tulong\n"\
12191"#else\n"\
12192"\n"\
12193"#endif\n"\
12194"\n"\
12195"#endif\n"\
12196"\n"\
12197"#endif\n"\
12198"\n"\
12199"#endif\n"\
12200"\n"\
12201"\n"\
12202"#define host_float_t ae2f_float\n"\
12203"\n"\
12204"#ifdef ae2f_float_t\n"\
12205"#define ae2f_Float_h\n"\
12206"\n"\
12207"#ifndef ae2f_float_h\n"\
12208"#define ae2f_float_h\n"\
12209"\n"\
12210"\n"\
12211"\n"\
12212"\n"\
12213"\n"\
12214"#define ae2f_float float\n"\
12215"\n"\
12216"#endif \n"\
12217"\n"\
12218"#endif\n"\
12219"\n"\
12220"#define\tCAST(t, x)\t((t)(x))\n"\
12221"#define PTRCAST(t, x, pad)\tCAST(t, CAST(intptr_t, x) + (pad))\n"\
12222"#define MAX(a, b)\t((a) < (b) ? (b) : (a))\n"\
12223"\n"\
12224"#define size_t\t\tuint32_t\n"\
12225"\n"\
12226"\n"\
12227"#define CL_Q_CVRT(x)\tx\n"\
12228"\n"\
12229"#endif\n"\
12230"\n"\
12231"#undef\tae2f_MAC\n"\
12232"#define ae2f_MAC(...)\tvoid\n"\
12233"\n"\
12234"#undef __ae2f_MACRO_GENERATED\n"\
12235"#define __ae2f_MACRO_GENERATED 1\n"\
12236"\n"\
12237"\n"\
12238"#define _clMlpRvrse( \\\n"\
12239"\t \\\n"\
12240"\t\t \\\n"\
12241" \\\n"\
12242"\t \\\n"\
12243"\t\t v_tmp, \\\n"\
12244"\t\t r_delta_then, \\\n"\
12245"\t\t i_oidx, \\\n"\
12246"\t\t i_iidx, \\\n"\
12247"\t\t i_isz, \\\n"\
12248"\t\t i_actderiv_then, \\\n"\
12249"\t\t i_inp, \\\n"\
12250"\t\t i_deltaseed \\\n"\
12251") \\\n"\
12252"{ \\\n"\
12253"\tif((i_iidx) < (i_isz) && !(i_oidx)) { \\\n"\
12254"\t\ti_actderiv_then(&(v_tmp), (i_inp), i_iidx, i_isz); \\\n"\
12255"\t\t(r_delta_then)[i_iidx] = (v_tmp) * (i_deltaseed)[i_iidx]; \\\n"\
12256"\t} \\\n"\
12257"}\n"\
12258"\n"\
12259"\n"\
12260"#define _clMlpGetHD1_t\t_clAtomAddF_t\n"\
12261"\n"\
12262"#if !__ae2f_MACRO_GENERATED\n"\
12263"typedef _clMlpGetHD1_t(__global, host_float_t) clMlpGetHD1_t;\n"\
12264"#endif\n"\
12265"\n"\
12266"#define _clMlpGetHD1( \\\n"\
12267"\t \\\n"\
12268"\t\t__global, \\\n"\
12269" \\\n"\
12270"\t \\\n"\
12271"\t\t v_mem, \\\n"\
12272"\t\t r_delta_then, \\\n"\
12273"\t\t i_weight, \\\n"\
12274"\t\t i_delta, \\\n"\
12275"\t\t i_iidx, \\\n"\
12276"\t\t i_isz, \\\n"\
12277"\t\t i_oidx, \\\n"\
12278"\t\t i_osz \\\n"\
12279") \\\n"\
12280"{ \\\n"\
12281"\tif((i_oidx) < (i_osz) && (i_iidx) < (i_isz)) { \\\n"\
12282"\t\tunless((i_oidx)) (r_delta_then)[i_iidx] = 0; \\\n"\
12283"\t\t_clAtomAddF(__global \\\n"\
12284"\t\t\t\t, (v_mem) \\\n"\
12285"\t\t\t\t, &(r_delta_then)[(i_iidx)] \\\n"\
12286"\t\t\t\t, (i_weight)[(i_isz) * (i_oidx) + (i_iidx)] * (i_delta)[i_oidx] \\\n"\
12287"\t\t\t ); \\\n"\
12288"\t} \\\n"\
12289"}\n"\
12290"\n"\
12291"#endif\n"\
12292"\n"\
12293"#undef\t__ae2f_MACRO_GENERATED\n"\
12294"\n"\
12295"#define\t__ae2f_MACRO_GENERATED\t0\n"\
12296"\n"\
12297"\n"\
12298"#undef __ae2f_MACRO_GENERATED\n"\
12299"#define __ae2f_MACRO_GENERATED 1\n"\
12300"\n"\
12301"#ifndef ACT\n"\
12302"#define ACT(layer_idx, r, y, i, c) *(r) = (y)[i]\n"\
12303"#endif\n"\
12304"\n"\
12305"#ifndef ACT_DERIV\n"\
12306"#define ACT_DERIV(layer_idx, r, y, i, c) *(r) = 1 \n"\
12307"#endif\n"\
12308"\n"\
12309"#ifndef LOSS_DERIV\n"\
12310"#define LOSS_DERIV(r, y, y_desired, i, c) *(r) = (y)[i] - (y_desired)[i]\n"\
12311"#endif\n"\
12312"\n"\
12313"#define pgsz\t\tsz\n"\
12314"\n"\
12315"#define weightsz\tweightsz\n"\
12316"#define pgsz_sqr\tweightsz\n"\
12317"\n"\
12318"\n"\
12319"#define lsz\t\tlsz\n"\
12320"\n"\
12321"\n"\
12322"#define llsz\t\t(lsz - 1)\n"\
12323"\n"\
12324"\n"\
12325"#define p_layerszlist\tCAST(__global uint* restrict, glob)\n"\
12326"\n"\
12327"#define p_outstream\t(CAST(__global host_float_t* restrict, p_layerszlist + lsz))\n"\
12328"#define p_inp\t\tp_outstream\n"\
12329"\n"\
12330"\n"\
12331"#define p_weight\t(p_outstream + lsz * pgsz)\n"\
12332"\n"\
12333"\n"\
12334"#define p_bias\t\t(p_weight + pgsz_sqr * llsz)\n"\
12335"\n"\
12336"\n"\
12337"#define p_deltastream\t(p_bias + llsz * pgsz)\n"\
12338"\n"\
12339"\n"\
12340"#define p_goal\t\t(p_deltastream + llsz * pgsz)\n"\
12341"\n"\
12342"#define _r_inp(lidx)\t(p_outstream + pgsz * (lidx))\n"\
12343"#define _r_out(lidx)\t(p_outstream + pgsz * ((lidx) + 1))\n"\
12344"#define _r_weight(lidx)\t(p_weight + pgsz_sqr * (lidx))\n"\
12345"#define _r_bias(lidx)\t(p_bias + pgsz * (lidx))\n"\
12346"#define _r_delta(lidx)\t(p_deltastream + pgsz * (lidx))\n"\
12347"#define _r_isz(lidx)\t((p_layerszlist)[lidx])\n"\
12348"#define _r_osz(lidx)\t((p_layerszlist)[(lidx) + 1])\n"\
12349"\n"\
12350"#define r_inp\t\t_r_inp(lidx)\n"\
12351"#define r_out\t\t_r_out(lidx)\n"\
12352"#define r_weight\t_r_weight(lidx)\n"\
12353"#define r_bias\t\t_r_bias(lidx)\n"\
12354"#define r_delta\t\t_r_delta(lidx)\n"\
12355"#define r_isz\t\t_r_isz(lidx)\n"\
12356"#define r_osz\t\t_r_osz(lidx)\n"\
12357"\n"\
12358"#define r_inp_then\t_r_inp(lidx-1)\n"\
12359"#define r_out_then\t_r_out(lidx-1)\n"\
12360"#define r_weight_then\t_r_weight(lidx-1)\n"\
12361"#define r_bias_then\t_r_bias(lidx-1)\n"\
12362"#define r_delta_then\t_r_delta(lidx-1)\n"\
12363"#define r_isz_then\t_r_isz(lidx-1)\n"\
12364"#define r_osz_then\t_r_osz(lidx-1)\n"\
12365"\n"\
12366"#define loc\t\tCAST(__local ae2f_float_t*, _loc)\n"\
12367"#define l_inp(O_R)\t(((loc) + pgsz * ((lidx) O_R)))\n"\
12368"#define l_out(O_R)\t(((loc) + pgsz * ((lidx + 1) O_R)))\n"\
12369"\n"\
12370"#define lp_deltastream\t((loc) + pgsz * ((2)))\n"\
12371"#define l_delta\t\t(lp_deltastream + pgsz * ((lidx) & 1))\n"\
12372"#define l_delta_then\t(lp_deltastream + pgsz * (!((lidx) & 1)))\n"\
12373"#define l_tmpoutc\t(lp_deltastream + (pgsz << 1))\n"\
12374"\n"\
12375"\n"\
12376"#define ACT_RUN(r, y, i, c)\t\t\tACT(lidx, r, y, i, c)\n"\
12377"#define ACT_DERIV_RUN(r, y, i, c)\t\tACT_DERIV(lidx, r, y, i, c)\n"\
12378"\n"\
12379"#define ACT_RUN_THEN(r, y, i, c)\t\tACT((lidx - 1), r, y, i, c)\n"\
12380"#define ACT_DERIV_RUN_THEN(r, y, i, c)\t\tACT_DERIV((lidx - 1), r, y, i, c)\n"\
12381"\n"\
12382"typedef const struct sz2_t {\n"\
12383"\tuint32_t\tm_lsz;\n"\
12384"\tuint32_t\tm_wsz;\n"\
12385"} sz2_t;\n"\
12386"\n"\
12387"#undef\tlsz\n"\
12388"#undef\tweightsz\n"\
12389"#define lsz\t\tpush.m_lsz\n"\
12390"#define weightsz\tpush.m_wsz\n"\
12391"\n"\
12392"\n"\
12393"__kernel void kPredict(__global void* restrict glob, __local uint* restrict _loc, sz2_t push) {\n"\
12394"\tconst size_t\n"\
12395"\t\toidx = get_global_id(0)\n"\
12396"\t\t, iidx = get_global_id(1)\n"\
12397"\t\t, sz = get_global_size(0);\n"\
12398"\n"\
12399"\tsize_t\tlidx = 0;\n"\
12400"\t_clAtomAddF_t(__local, ae2f_float_t)\tv_predict;\n"\
12401"\tae2f_float_t\tr_predict;\n"\
12402"\n"\
12403"\t_clSlpPredict(__local, v_predict, r_predict, l_out(&1), r_inp, r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12404"\n"\
12405"\twhile(++lidx < llsz - 1) {\n"\
12406"\t\tif(iidx < r_isz && !oidx) l_inp(&1)[iidx] = r_predict;\n"\
12407"\t\t_clSlpPredict(__local, v_predict, r_predict, l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12408"\t}\n"\
12409"\n"\
12410"\tif(iidx < r_isz && !oidx) l_inp(&1)[iidx] = r_predict;\n"\
12411"\t_clSlpPredict(__local, v_predict, r_out[oidx], l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12412"}\n"\
12413"\n"\
12414"\n"\
12415"\n"\
12416"__kernel void kPredictStream(__global void* restrict glob, __local uint* restrict _loc, const sz2_t push) {\n"\
12417"\tconst size_t\n"\
12418"\t\toidx = get_global_id(0)\n"\
12419"\t\t, iidx = get_global_id(1)\n"\
12420"\t\t, sz = get_global_size(0);\n"\
12421"\n"\
12422"\tsize_t\tlidx = 0;\n"\
12423"\tae2f_float_t\tv_predict;\n"\
12424"\t_clAtomAddF_t(__local, ae2f_float_t)\tslppredict;\n"\
12425"\n"\
12426"\t_clSlpPredict(__local, slppredict, v_predict, l_out(&1), r_inp, r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12427"\t\n"\
12428"\n"\
12429"\twhile(++lidx < llsz - 1) {\n"\
12430"\t\tif(iidx < r_isz && !oidx) l_inp(&1)[iidx] = v_predict;\n"\
12431"\t\t_clSlpPredict(__local, slppredict, v_predict, l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12432"\n"\
12433"\t\tif(oidx < r_osz && !iidx)\n"\
12434"\t\t\tr_out[oidx] = v_predict;\n"\
12435"\t}\n"\
12436"\n"\
12437"\n"\
12438"\tif(iidx < r_isz && !oidx) l_inp(&1)[iidx] = v_predict;\n"\
12439"\t_clSlpPredict(__local, slppredict, r_out[oidx], l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
12440"}\n"\
12441"\n"\
12442"ae2f_structdef(union, lrlszel_t) {\n"\
12443"\thost_float_t\tm_f;\n"\
12444"\tuint\t\tm_u;\n"\
12445"};\n"\
12446"\n"\
12447"const ae2f_structdef(struct, lrlsz_t)\n"\
12448"{\n"\
12449"\tlrlszel_t m_lsz, m_weight, m_bias, m_wsz;\n"\
12450"};\n"\
12451"\n"\
12452"typedef char STATIC_ASSERT_LRLSZEL_SZ[\n"\
12453"\tsizeof(lrlszel_t) == (sizeof(uint) > sizeof(host_float_t) ? sizeof(uint) : sizeof(host_float_t))\n"\
12454"\t? 1 : -1\n"\
12455"];\n"\
12456"\n"\
12457"typedef char STATIC_ASSERT_LRLSZ_SZ[sizeof(lrlsz_t) == sizeof(lrlszel_t) * 4 ? 1 : -1];\n"\
12458"\n"\
12459"#undef\tlsz\n"\
12460"#undef\tm_weight\n"\
12461"#undef\tm_bias\n"\
12462"#undef\tweightsz\n"\
12463"#define lsz\t\tlr.m_lsz.m_u\n"\
12464"#define m_weight\tm_weight.m_f\n"\
12465"#define m_bias\t\tm_bias.m_f\n"\
12466"#define weightsz\tlr.m_wsz.m_u\n"\
12467"\n"\
12468"\n"\
12469"__kernel void kFollow(__global void* restrict glob, __local uint* restrict _loc, lrlsz_t lr) {\n"\
12470"\tsize_t\t\tlidx = llsz - 1;\n"\
12471"\t_clMlpGetHD1_t(__local, ae2f_float_t)\tgethd;\n"\
12472"\tae2f_float_t\tv_tmp;\n"\
12473"\n"\
12474"\tconst size_t\n"\
12475"\t\toidx = get_global_id(0)\n"\
12476"\t\t, iidx = get_global_id(1)\n"\
12477"\t\t, sz = get_global_size(0);\n"\
12478"\n"\
12479"\tif(lsz < 3) {\n"\
12480"\t\t\n"\
12481"\t\treturn;\n"\
12482"\t}\n"\
12483"\n"\
12484"\tif(oidx < r_osz && iidx < r_isz) {\n"\
12485"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12486"\t\t\t\tr_inp[iidx]\n"\
12487"\t\t\t\t, r_delta[oidx]\n"\
12488"\t\t\t\t, r_weight\n"\
12489"\t\t\t\t, lr.m_weight\n"\
12490"\t\t\t\t, r_isz, iidx\n"\
12491"\t\t\t\t, r_osz, oidx\n"\
12492"\t\t\t\t);\n"\
12493"\n"\
12494"\t\tif(iidx == 0) {\n"\
12495"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12496"\t\t\t\t\tr_bias[oidx]\n"\
12497"\t\t\t\t\t, r_delta[oidx]\n"\
12498"\t\t\t\t\t, lr.m_bias\n"\
12499"\t\t\t\t\t);\n"\
12500"\t\t}\n"\
12501"\t}\n"\
12502"\n"\
12503"\t_clMlpGetHD1(\n"\
12504"\t\t\t__local\n"\
12505"\t\t\t, gethd\n"\
12506"\t\t\t, l_delta_then\n"\
12507"\t\t\t, r_weight_then\n"\
12508"\t\t\t, r_delta\n"\
12509"\t\t\t, iidx, r_isz\n"\
12510"\t\t\t, oidx, r_osz\n"\
12511"\t\t );\n"\
12512"\n"\
12513"\t_clMlpRvrse(\n"\
12514"\t\t\tv_tmp\n"\
12515"\t\t\t, l_delta_then\n"\
12516"\t\t\t, oidx, iidx\n"\
12517"\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
12518"\t\t\t, r_inp, l_delta_then\n"\
12519"\t\t );\n"\
12520"\n"\
12521"\t\n"\
12522"\t\n"\
12523"\n"\
12524"\n"\
12525"\twhile(--lidx) {\n"\
12526"\t\tif(oidx < r_osz && iidx < r_isz) {\n"\
12527"\t\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12528"\t\t\t\t\tl_inp()[iidx]\n"\
12529"\t\t\t\t\t, l_delta[oidx]\n"\
12530"\t\t\t\t\t, r_weight\n"\
12531"\t\t\t\t\t, lr.m_weight\n"\
12532"\t\t\t\t\t, r_isz, iidx\n"\
12533"\t\t\t\t\t, r_osz, oidx\n"\
12534"\t\t\t\t\t);\n"\
12535"\n"\
12536"\t\t\tif(iidx == 0) {\n"\
12537"\t\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12538"\t\t\t\t\t\tr_bias[oidx]\n"\
12539"\t\t\t\t\t\t, l_delta[oidx]\n"\
12540"\t\t\t\t\t\t, lr.m_bias\n"\
12541"\t\t\t\t\t\t);\n"\
12542"\t\t\t}\n"\
12543"\t\t}\n"\
12544"\n"\
12545"\t\t_clMlpGetHD1(\n"\
12546"\t\t\t\t__local\n"\
12547"\t\t\t\t, gethd\n"\
12548"\t\t\t\t, l_delta_then\n"\
12549"\t\t\t\t, r_weight_then\n"\
12550"\t\t\t\t, l_delta\n"\
12551"\t\t\t\t, iidx, r_isz\n"\
12552"\t\t\t\t, oidx, r_osz\n"\
12553"\t\t\t );\n"\
12554"\n"\
12555"\t\t_clMlpRvrse(\n"\
12556"\t\t\t\tv_tmp\n"\
12557"\t\t\t\t, l_delta_then\n"\
12558"\t\t\t\t, oidx, iidx\n"\
12559"\t\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
12560"\t\t\t\t, r_inp, l_delta_then\n"\
12561"\t\t\t );\n"\
12562"\n"\
12563"\t\t\n"\
12564"\t\t\n"\
12565"\t}\n"\
12566"\n"\
12567"\tif(oidx < r_osz && iidx < r_isz) {\n"\
12568"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12569"\t\t\t\tr_inp[iidx]\n"\
12570"\t\t\t\t, l_delta[oidx]\n"\
12571"\t\t\t\t, r_weight\n"\
12572"\t\t\t\t, lr.m_weight\n"\
12573"\t\t\t\t, r_isz, iidx\n"\
12574"\t\t\t\t, r_osz, oidx\n"\
12575"\t\t\t\t);\n"\
12576"\n"\
12577"\t\tif(iidx == 0) {\n"\
12578"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12579"\t\t\t\t\tr_bias[oidx]\n"\
12580"\t\t\t\t\t, l_delta[oidx]\n"\
12581"\t\t\t\t\t, lr.m_bias\n"\
12582"\t\t\t\t\t);\n"\
12583"\t\t}\n"\
12584"\t}\n"\
12585"#undef v_tmp\n"\
12586"}\n"\
12587"\n"\
12588"\n"\
12589"__kernel void kTrainAuto(__global void* restrict glob, __local uint* restrict _loc, lrlsz_t lr) {\n"\
12590"\tsize_t\t\tlidx = 0;\n"\
12591"\tconst size_t\n"\
12592"\t\toidx = get_global_id(0)\n"\
12593"\t\t, iidx = get_global_id(1)\n"\
12594"\t\t, sz = get_global_size(0);\n"\
12595"\n"\
12596"\tae2f_float_t\ttmp0, tmp2;\n"\
12597"\n"\
12598"\t_clMlpGetHD1_t(__local, ae2f_float_t)\tgethd;\n"\
12599"#define tmp1\tgethd.m_atom[0].m_f\n"\
12600"\n"\
12601"\n"\
12602"\tif(lsz < 3) {\n"\
12603"\t\treturn;\n"\
12604"\t}\n"\
12605"\n"\
12606"\tif(iidx < r_isz && oidx == 0)\n"\
12607"\t\tl_inp()[iidx] = r_inp[iidx];\n"\
12608"\n"\
12609"\tfor(; lidx < llsz - 1; lidx++) {\n"\
12610"\t\t_clSlpPredict(\n"\
12611"\t\t\t\t__local, gethd\n"\
12612"\t\t\t\t, l_out()[oidx], l_out()\n"\
12613"\t\t\t\t, l_inp(), r_weight, r_bias\n"\
12614"\t\t\t\t, iidx, r_isz, oidx, r_osz\n"\
12615"\t\t\t\t, ACT_RUN\n"\
12616"\t\t\t\t);\n"\
12617"\t}\n"\
12618"\n"\
12619"\t\n"\
12620"\t_clSlpPredict(\n"\
12621"\t\t\t__local, gethd\n"\
12622"\t\t\t, tmp2, l_out(), l_inp()\n"\
12623"\t\t\t, r_weight, r_bias\n"\
12624"\t\t\t, iidx, r_isz, oidx, r_osz\n"\
12625"\t\t\t, ACT_RUN\n"\
12626"\t\t\t);\n"\
12627"\n"\
12628"\tif(oidx < r_osz && iidx == 0) {\n"\
12629"\t\tr_out[oidx] = tmp2;\n"\
12630"\t\tl_out()[oidx] = tmp2;\n"\
12631"\n"\
12632"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
12633"\t\t\t\ttmp0\n"\
12634"\t\t\t\t, &tmp2, &tmp1\n"\
12635"\t\t\t\t, l_out()\n"\
12636"\t\t\t\t, p_goal\n"\
12637"\t\t\t\t, oidx, r_osz\n"\
12638"\t\t\t\t, ACT_DERIV_RUN\n"\
12639"\t\t\t\t, LOSS_DERIV\n"\
12640"\t\t\t\t);\n"\
12641"\t}\n"\
12642"\n"\
12643"\t\n"\
12644"\t++lidx;\n"\
12645"\n"\
12646"\t\n"\
12647"\twhile(--lidx) {\n"\
12648"\t\tif(oidx < r_osz && iidx < r_isz) {\n"\
12649"\t\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12650"\t\t\t\t\tl_inp()[iidx]\n"\
12651"\t\t\t\t\t, tmp0\n"\
12652"\t\t\t\t\t, r_weight\n"\
12653"\t\t\t\t\t, lr.m_weight\n"\
12654"\t\t\t\t\t, r_isz, iidx\n"\
12655"\t\t\t\t\t, r_osz, oidx\n"\
12656"\t\t\t\t\t);\n"\
12657"\t\t\tunless(iidx) {\n"\
12658"\t\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12659"\t\t\t\t\t\tr_bias[oidx]\n"\
12660"\t\t\t\t\t\t, tmp0\n"\
12661"\t\t\t\t\t\t, lr.m_bias\n"\
12662"\t\t\t\t\t\t);\n"\
12663"\t\t\t}\n"\
12664"\t\t}\n"\
12665"\n"\
12666"\t\t_clMlpGetHD1(\n"\
12667"\t\t\t\t__local\n"\
12668"\t\t\t\t, gethd\n"\
12669"\t\t\t\t, l_delta_then\n"\
12670"\t\t\t\t, r_weight_then\n"\
12671"\t\t\t\t, l_delta\n"\
12672"\t\t\t\t, iidx, r_isz\n"\
12673"\t\t\t\t, oidx, r_osz\n"\
12674"\t\t\t );\n"\
12675"\n"\
12676"\t\t_clMlpRvrse(\n"\
12677"\t\t\t\ttmp0\n"\
12678"\t\t\t\t, l_delta_then\n"\
12679"\t\t\t\t, oidx, iidx\n"\
12680"\t\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
12681"\t\t\t\t, l_inp(), l_delta_then\n"\
12682"\t\t\t );\n"\
12683"\t\ttmp0 = l_delta_then[iidx];\n"\
12684"\t\t\n"\
12685"\t}\n"\
12686"\n"\
12687"\t\n"\
12688"\tif(oidx < r_osz && iidx < r_isz) {\n"\
12689"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12690"\t\t\t\tl_inp()[iidx]\n"\
12691"\t\t\t\t, tmp0\n"\
12692"\t\t\t\t, r_weight\n"\
12693"\t\t\t\t, lr.m_weight\n"\
12694"\t\t\t\t, r_isz, iidx\n"\
12695"\t\t\t\t, r_osz, oidx\n"\
12696"\t\t\t\t);\n"\
12697"\n"\
12698"\t\tunless(iidx) {\n"\
12699"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12700"\t\t\t\t\tr_bias[oidx]\n"\
12701"\t\t\t\t\t, tmp0\n"\
12702"\t\t\t\t\t, lr.m_bias\n"\
12703"\t\t\t\t\t);\n"\
12704"\t\t}\n"\
12705"\t}\n"\
12706"}\n"\
12707"\n"\
12708"#undef\t__ae2f_MACRO_GENERATED\n"\
12709"\n"\
12710"#define\t__ae2f_MACRO_GENERATED\t0\n"\
12711"\n"\
12712""
#define ae2f_enumdef(name,...)
Definition Cast.h:111
#define ae2f_structdef(key, name)
Definition Cast.h:110
#define ae2f_const_cast(t, v)
Definition Cast.h:57
#define ae2f_static_cast(t, v)
Definition Cast.h:42
#define ae2f_reinterpret_cast(t, v)
Definition Cast.h:52
#define unless(...)
Invokes when condition is false.
Definition Cast.h:103
#define ae2f_opt
Definition Guide.h:26
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:23
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
Definition errGlob.h:40
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
Definition errGlob.h:50
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
Definition errGlob.h:45
uint8_t ae2f_err_t
Informs that this number represents the error.
Definition errGlob.h:19
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
Definition errGlob.h:32
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
Definition errGlob.h:28
#define __ae2f_MACRO_GENERATED
Definition Conv.auto.h:2
#define __ae2fVK_AnnMlpOutStreamSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:130
#define __ae2fVK_AnnMlpWeightOff(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:139
#define __ae2fVK_AnnMlpUnMapRanged_imp
Definition Mlp.core.h:171
#define __ae2fVK_AnnMlpGoalOff(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:157
#define __ae2fVK_AnnMlpMapRangedGeneric_imp
Definition Mlp.core.h:170
#define __ae2fVK_AnnMlpOutStreamOff(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:133
#define __ae2fVK_AnnMlpMdlOff(...)
Definition Mlp.core.h:128
#define __ae2fVK_AnnMlpBiasSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:142
#define __ae2fVK_AnnMlpMdlSz(i_depth,...)
Definition Mlp.core.h:125
#define __ae2fVK_AnnMlpGoalSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:154
#define __ae2fVK_AnnMlpDeltaStreamOff(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:151
#define __ae2fVK_AnnMlpGlobMemSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:160
#define __ae2fVK_AnnMlpBiasOff(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:145
#define __ae2fVK_AnnMlpDeltaStreamSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:148
#define __ae2fVK_AnnMlpWeightSz(i_depth, i_outc, i_weightc)
Definition Mlp.core.h:136
#define __ae2fVK_AnnSlpDeltaOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:185
#define __ae2fVK_AnnSlpGlobSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:190
#define __ae2fVK_AnnSlpOutSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:170
#define __ae2fVK_AnnSlpInpSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:169
#define __ae2fVK_AnnSlpGoalSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:172
#define __ae2fVK_AnnSlpDeltaSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:171
#define __ae2fVK_AnnSlpBiasSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:168
#define __ae2fVK_AnnSlpInpOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:179
#define __ae2fVK_AnnSlpWeightSz_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:167
#define __ae2fVK_AnnSlpWeightOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:174
#define __ae2fVK_AnnSlpOutOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:182
#define __ae2fVK_AnnSlpBiasOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:176
#define __ae2fVK_AnnSlpGoalOff_V(CLFLOAT, i_inp, i_out)
Definition Slp.core.h:187
#define ae2f_MAC_BUILD
Definition Util.h:5
#define ae2fVK_AnnMlpSHADER
#define __ae2fVK_AnnSlpDescPoolMk_imp(v_descpool, r_pool, r_reterr, iv_slp, i_vkdescpoolcreatflags, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpDescPoolCmdClean_imp(iv_slp, i_pool, i_cmd)
#define __ae2fVK_AnnSlpDescPoolCmdMk_imp(COMMANDONRECORDING, v_cmdmk, r_cmd, iv_slp, i_pool, iv_err, i_desccount, i_offglob, i_szglob, i_offloc, i_szloc, i_desclayout, i_pipe, i_pipelayout, i_vkcmdbuf)
#define __ae2fVK_AnnSlpDescPoolClean_imp(i_slp, i_pool)
#define __ae2fVK_AnnMlpMk_imp_V(cllocfloat_t, v_mk, iv_weight_opt, iv_bias_opt, iv_outstream_opt, iv_deltastream_opt, i_len_count, i_len, i_len_swap, i_prm_offset, i_extra, i_act, i_actderiv, i_lossderiv, i_learningrate, i_learningrate_bias, i_vkdev, i_vkmemprops, iv_vkalloccalls, i_vkcldeclaration, i_vkcldefinition)
Definition Mlp.auto.h:107
#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp(r_handle, ir_err, i_first, i_second, i_third)
Definition Slp.auto.h:794
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
Definition Slp.auto.h:868
#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp(CMDONERR, r_reterr, pipecreat, pipelayout, shadermod, entrypoint, idx_pipe, idx_pipelayout)
Definition Slp.auto.h:208
#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(CMDONERR, v_vkpushconstrange, v_vkpipelayoutcreatinfo, r_reterr, iv_slpptr, idx, szrequired, vkalloccalls, vkdev)
Definition Slp.auto.h:247
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
Definition Slp.auto.h:941
#define __ae2fVK_AnnSlpMkAllocVKMem_imp(CMDONERR, sz, r_vkres, r_vkbuf, r_vkdevmem, v_errbit, v_vkbufcreatinfo, v_memallocinfo, vkbufuseflags, vksharemode, vkdev, v_vkmemreq, vkalloccalls, v_memtypeidx, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
Definition Slp.auto.h:109
#define __ae2f_AnnMlpMk_imp(reg_mk, prm_depth, pprm_szvector, propptr_szswap_opt, lppfn_act_opt, lppfn_actderiv_opt, pfn_lossderiv, propptr_deltastream_opt, propptr_outcache_opt, propptr_weight_opt, propptr_bias_opt, prm_learningrate, prm_learningrate_bias, prm_offset_opt, prm_extra_opt)
Automatically allocates ae2f_AnnMlp and store its pointer at (reg_mk).m_mkbase.
Definition Mlp.auto.h:163
#define ae2f_MAC(...)
Definition mac.h:28