1#define ae2fVK_AnnSlpSHADER \
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"#undef\t__ae2f_MACRO_GENERATED\n"\
12"#define\t__ae2f_MACRO_GENERATED\t1\n"\
13"#ifndef Slp_h\n"\
14"#define Slp_h\n"\
15"\n"\
16"#define ae2f_NEED_CLASS 0\n"\
17"\n"\
18"#ifndef mac_h\n"\
19"#define mac_h\n"\
20"\n"\
21"#ifndef ae2fVK_clspv_addrspec_h\n"\
22"#define ae2fVK_clspv_addrspec_h\n"\
23"\n"\
24"#ifndef ae2fVK_clspv_key_h\n"\
25"#define ae2fVK_clspv_key_h\n"\
26"\n"\
27"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
28"#define ae2fVK_clspv_IS_OPENCL 0\n"\
29"#endif\n"\
30"\n"\
31"#if ae2fVK_clspv_IS_OPENCL\n"\
32"\n"\
33"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
34"#define ae2fVK_NCL(...)\n"\
35"\n"\
36"#else\n"\
37"\n"\
38"#define ae2fVK_CL(...)\n"\
39"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
40"#endif\n"\
41"\n"\
42"#endif\n"\
43"\n"\
44"\n"\
45"#if !ae2fVK_clspv_IS_OPENCL\n"\
46"#define __kernel\t\n"\
47"#define __global\t\n"\
48"#define __constant\tconst\n"\
49"#define __local\t\t\n"\
50"#endif\n"\
51"\n"\
52"#endif\n"\
53"\n"\
54"\n"\
55"\n"\
56"#ifndef ae2fVK_clspv_wrkitem_h\n"\
57"#define ae2fVK_clspv_wrkitem_h\n"\
58"\n"\
59"#ifndef ae2fVK_clspv_sclr_h\n"\
60"#define ae2fVK_clspv_sclr_h\n"\
61"\n"\
62"#ifndef ae2fVK_clspv_key_h\n"\
63"#define ae2fVK_clspv_key_h\n"\
64"\n"\
65"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
66"#define ae2fVK_clspv_IS_OPENCL 0\n"\
67"#endif\n"\
68"\n"\
69"#if ae2fVK_clspv_IS_OPENCL\n"\
70"\n"\
71"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
72"#define ae2fVK_NCL(...)\n"\
73"\n"\
74"#else\n"\
75"\n"\
76"#define ae2fVK_CL(...)\n"\
77"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
78"#endif\n"\
79"\n"\
80"#endif\n"\
81"\n"\
82"\n"\
83"#if !ae2fVK_clspv_IS_OPENCL\n"\
84"\n"\
85"#define half\tfloat\n"\
86"#define uchar\tunsigned char\n"\
87"#define ushort\tunsigned short\n"\
88"#define uint\tunsigned int\n"\
89"#define ulong\tunsigned long\n"\
90"\n"\
91"\n"\
92"\n"\
93"\n"\
94"#endif\n"\
95"\n"\
96"#endif\n"\
97"\n"\
98"\n"\
99"#if !ae2fVK_clspv_IS_OPENCL\n"\
100"\n"\
101"uint get_work_dim();\n"\
102"\n"\
103"\n"\
104"size_t get_global_size(uint dimindx);\n"\
105"\n"\
106"\n"\
107"size_t get_global_id(uint dimindx);\n"\
108"\n"\
109"\n"\
110"size_t get_local_size(uint dimindx);\n"\
111"\n"\
112"\n"\
113"size_t get_local_id(uint dimindx);\n"\
114"\n"\
115"\n"\
116"size_t get_num_groups(uint dimindx);\n"\
117"\n"\
118"\n"\
119"\n"\
120"size_t get_global_offset(uint dimindx);\n"\
121"\n"\
122"\n"\
123"size_t get_group_id(uint dimindx);\n"\
124"#endif\n"\
125"\n"\
126"#if !ae2fVK_clspv_IS_OPENCL \n"\
127"\n"\
128"\n"\
129"uint get_sub_group_size();\n"\
130"\n"\
131"\n"\
132"uint get_max_sub_group_size();\n"\
133"\n"\
134"\n"\
135"uint get_num_sub_groups();\n"\
136"\n"\
137"\n"\
138"uint get_enqueued_num_sub_groups();\n"\
139"\n"\
140"\n"\
141"uint get_sub_group_id();\n"\
142"\n"\
143"\n"\
144"uint get_sub_group_local_id();\n"\
145"#endif\n"\
146"\n"\
147"#endif\n"\
148"\n"\
149"\n"\
150"\n"\
151"#ifndef ae2fVK_clspv_atom_h\n"\
152"#define ae2fVK_clspv_atom_h\n"\
153"\n"\
154"#ifndef ae2fVK_clspv_sclr_h\n"\
155"#define ae2fVK_clspv_sclr_h\n"\
156"\n"\
157"#ifndef ae2fVK_clspv_key_h\n"\
158"#define ae2fVK_clspv_key_h\n"\
159"\n"\
160"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
161"#define ae2fVK_clspv_IS_OPENCL 0\n"\
162"#endif\n"\
163"\n"\
164"#if ae2fVK_clspv_IS_OPENCL\n"\
165"\n"\
166"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
167"#define ae2fVK_NCL(...)\n"\
168"\n"\
169"#else\n"\
170"\n"\
171"#define ae2fVK_CL(...)\n"\
172"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
173"#endif\n"\
174"\n"\
175"#endif\n"\
176"\n"\
177"\n"\
178"#if !ae2fVK_clspv_IS_OPENCL\n"\
179"\n"\
180"#define half\tfloat\n"\
181"#define uchar\tunsigned char\n"\
182"#define ushort\tunsigned short\n"\
183"#define uint\tunsigned int\n"\
184"#define ulong\tunsigned long\n"\
185"\n"\
186"\n"\
187"\n"\
188"\n"\
189"#endif\n"\
190"\n"\
191"#endif\n"\
192"\n"\
193"\n"\
194"#if !ae2fVK_clspv_IS_OPENCL \n"\
195"\n"\
196"uint atom_cmpxchg_u(volatile uint *p, uint cmp, uint val);\n"\
197"int atom_cmpxchg_i(volatile int *p, int cmp, int val);\n"\
198"\n"\
199"int atom_xchg_i(volatile int *p, int val);\n"\
200"int atom_xchg_u(volatile uint *p, uint val);\n"\
201"\n"\
202"\n"\
203"#else\n"\
204"\n"\
205"#define atom_cmpxchg_i\tatom_cmpxchg\n"\
206"#define atom_cmpxchg_u\tatom_cmpxchg\n"\
207"\n"\
208"#define atom_xchg_u\tatom_xchg\n"\
209"#define atom_xchg_i\tatom_xchg\n"\
210"\n"\
211"#endif\n"\
212"\n"\
213"#endif\n"\
214"\n"\
215"#ifndef ae2fVK_clspv_stdint_h\n"\
216"#define ae2fVK_clspv_stdint_h\n"\
217"\n"\
218"#ifndef ae2fVK_clspv_sclr_h\n"\
219"#define ae2fVK_clspv_sclr_h\n"\
220"\n"\
221"#ifndef ae2fVK_clspv_key_h\n"\
222"#define ae2fVK_clspv_key_h\n"\
223"\n"\
224"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
225"#define ae2fVK_clspv_IS_OPENCL 0\n"\
226"#endif\n"\
227"\n"\
228"#if ae2fVK_clspv_IS_OPENCL\n"\
229"\n"\
230"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
231"#define ae2fVK_NCL(...)\n"\
232"\n"\
233"#else\n"\
234"\n"\
235"#define ae2fVK_CL(...)\n"\
236"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
237"#endif\n"\
238"\n"\
239"#endif\n"\
240"\n"\
241"\n"\
242"#if !ae2fVK_clspv_IS_OPENCL\n"\
243"\n"\
244"#define half\tfloat\n"\
245"#define uchar\tunsigned char\n"\
246"#define ushort\tunsigned short\n"\
247"#define uint\tunsigned int\n"\
248"#define ulong\tunsigned long\n"\
249"\n"\
250"\n"\
251"\n"\
252"\n"\
253"#endif\n"\
254"\n"\
255"#endif\n"\
256"\n"\
257"\n"\
258"#if ae2fVK_clspv_IS_OPENCL\n"\
259"#define int8_t\t\tchar\n"\
260"#define uint8_t\t\tuchar\n"\
261"#define int16_t\t\tshort\n"\
262"#define uint16_t\tushort\n"\
263"#define int32_t\t\tint\n"\
264"#define uint32_t\tuint\n"\
265"#define int64_t\t\tlong\n"\
266"#define uint64_t\tulong\n"\
267"#else\n"\
268"#ifndef ae2fVK_clspv_stdint_h\n"\
269"#define ae2fVK_clspv_stdint_h\n"\
270"\n"\
271"#ifndef ae2fVK_clspv_sclr_h\n"\
272"#define ae2fVK_clspv_sclr_h\n"\
273"\n"\
274"#ifndef ae2fVK_clspv_key_h\n"\
275"#define ae2fVK_clspv_key_h\n"\
276"\n"\
277"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
278"#define ae2fVK_clspv_IS_OPENCL 0\n"\
279"#endif\n"\
280"\n"\
281"#if ae2fVK_clspv_IS_OPENCL\n"\
282"\n"\
283"#define ae2fVK_CL(...)\t__VA_ARGS__\n"\
284"#define ae2fVK_NCL(...)\n"\
285"\n"\
286"#else\n"\
287"\n"\
288"#define ae2fVK_CL(...)\n"\
289"#define ae2fVK_NCL(...)\t__VA_ARGS__\n"\
290"#endif\n"\
291"\n"\
292"#endif\n"\
293"\n"\
294"\n"\
295"#if !ae2fVK_clspv_IS_OPENCL\n"\
296"\n"\
297"#define half\tfloat\n"\
298"#define uchar\tunsigned char\n"\
299"#define ushort\tunsigned short\n"\
300"#define uint\tunsigned int\n"\
301"#define ulong\tunsigned long\n"\
302"\n"\
303"\n"\
304"\n"\
305"\n"\
306"#endif\n"\
307"\n"\
308"#endif\n"\
309"\n"\
310"\n"\
311"#if ae2fVK_clspv_IS_OPENCL\n"\
312"#define int8_t\t\tchar\n"\
313"#define uint8_t\t\tuchar\n"\
314"#define int16_t\t\tshort\n"\
315"#define uint16_t\tushort\n"\
316"#define int32_t\t\tint\n"\
317"#define uint32_t\tuint\n"\
318"#define int64_t\t\tlong\n"\
319"#define uint64_t\tulong\n"\
320"#else\n"\
321"\n"\
322"#endif\n"\
323"\n"\
324"#endif\n"\
325"\n"\
326"#endif\n"\
327"\n"\
328"#endif\n"\
329"\n"\
330"\n"\
331"#define host_float_t ae2f_float\n"\
332"\n"\
333"#ifdef ae2f_float_t\n"\
334"#define ae2f_Float_h\n"\
335"\n"\
336"#ifndef ae2f_float_h\n"\
337"#define ae2f_float_h\n"\
338"\n"\
339"\n"\
340"\n"\
341"\n"\
342"\n"\
343"#define ae2f_float float\n"\
344"\n"\
345"#endif \n"\
346"\n"\
347"#endif\n"\
348"\n"\
349"#define\tCAST(t, x)\t((t)(x))\n"\
350"#define PTRCAST(t, x, pad)\tCAST(t, CAST(intptr_t, x) + (pad))\n"\
351"#define MAX(a, b)\t((a) < (b) ? (b) : (a))\n"\
352"\n"\
353"#define size_t\t\tuint32_t\n"\
354"\n"\
355"\n"\
356"#define CL_Q_CVRT(x)\tx\n"\
357"\n"\
358"#endif\n"\
359"\n"\
360"#undef\tae2f_MAC\n"\
361"#define ae2f_MAC(...)\tvoid\n"\
362"\n"\
363"#undef __ae2f_MACRO_GENERATED\n"\
364"#define __ae2f_MACRO_GENERATED 1\n"\
365"#ifndef ae2f_Ann_Slp_Core_h\n"\
366"#define ae2f_Ann_Slp_Core_h\n"\
367"\n"\
368"\n"\
369"\n"\
370"#ifndef ae2f_Float_h\n"\
371"#define ae2f_Float_h\n"\
372"\n"\
373"\n"\
374"#ifndef ae2f_float_h\n"\
375"#define ae2f_float_h\n"\
376"\n"\
377"\n"\
378"\n"\
379"\n"\
380"\n"\
381"#define ae2f_float float\n"\
382"\n"\
383"#endif \n"\
384"\n"\
385"\n"\
386"typedef ae2f_float ae2f_float_t;\n"\
387"\n"\
388"#endif\n"\
389"\n"\
390"\n"\
391"\n"\
392"#if !defined(ae2f_errGlobal_h)\n"\
393"#define ae2f_errGlobal_h\n"\
394"\n"\
395"\n"\
396"\n"\
397"\n"\
398"\n"\
399"typedef uint8_t ae2f_err_t;\n"\
400"\n"\
401"\n"\
402"\n"\
403"#define ae2f_errGlob_OK 0\n"\
404"\n"\
405"\n"\
406"\n"\
407"\n"\
408"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
409"\n"\
410"\n"\
411"\n"\
412"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
413"\n"\
414"\n"\
415"\n"\
416"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
417"\n"\
418"\n"\
419"\n"\
420"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
421"\n"\
422"\n"\
423"\n"\
424"\n"\
425"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
426"\n"\
427"\n"\
428"\n"\
429"\n"\
430"#define ae2f_errGlob_NFOUND 0b100000\n"\
431"\n"\
432"\n"\
433"\n"\
434"\n"\
435"\n"\
436"\n"\
437"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
438"\n"\
439"\n"\
440"\n"\
441"\n"\
442"\n"\
443"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
444"\n"\
445"#endif\n"\
446"\n"\
447"\n"\
448"#if !defined(ae2f_Cast_h)\n"\
449"\n"\
450"\n"\
451"\n"\
452"#define ae2f_Cast_h\n"\
453"\n"\
454"\n"\
455"\n"\
456"\n"\
457"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
458"\n"\
459"\n"\
460"\n"\
461"\n"\
462"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
463"\n"\
464"\n"\
465"\n"\
466"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
467"#define ae2f_Cast_CasterUnion_hpp\n"\
468"\n"\
469"#ifndef ae2f_Cast_consteval_hpp\n"\
470"#define ae2f_Cast_consteval_hpp\n"\
471"#if 90 >= 50\n"\
472"#define ae2f_LangVer_C 1990\n"\
473"#else\n"\
474"#define ae2f_LangVer_C 2090\n"\
475"#endif\n"\
476"\n"\
477"#if 11 >= 50\n"\
478"#define ae2f_LangVer_CC 1911\n"\
479"#else\n"\
480"#define ae2f_LangVer_CC 2011\n"\
481"#endif\n"\
482"\n"\
483"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
484"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
485"\n"\
486"\n"\
487"#ifdef\t__cplusplus\n"\
488"#undef\tae2f_stdcc_v\n"\
489"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
490"#else\n"\
491"\n"\
492"#undef\tae2f_stdcc_v\n"\
493"#define\tae2f_stdcc_v\t(199711L)\n"\
494"\n"\
495"#if __ae2f_lvcheck_cc(2011)\n"\
496"#undef\tae2f_stdcc_v\n"\
497"#define\tae2f_stdcc_v\t(201103L)\n"\
498"#endif\n"\
499"\n"\
500"#if __ae2f_lvcheck_cc(2014)\n"\
501"#undef\tae2f_stdcc_v\n"\
502"#define\tae2f_stdcc_v\t(201402L)\n"\
503"#endif\n"\
504"\n"\
505"#if __ae2f_lvcheck_cc(2017)\n"\
506"#undef\tae2f_stdcc_v\n"\
507"#define\tae2f_stdcc_v\t(201703L)\n"\
508"#endif\n"\
509"\n"\
510"#if __ae2f_lvcheck_cc(2020)\n"\
511"#undef\tae2f_stdcc_v\n"\
512"#define\tae2f_stdcc_v\t(202002L)\n"\
513"#endif\n"\
514"\n"\
515"#if __ae2f_lvcheck_cc(2023)\n"\
516"#undef\tae2f_stdcc_v\n"\
517"#define\tae2f_stdcc_v\t(202302L)\n"\
518"#endif\n"\
519"\n"\
520"#endif\n"\
521"\n"\
522"#ifdef\t__STDC_VERSION__\n"\
523"#undef\tae2f_stdc_v\n"\
524"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
525"#else\n"\
526"\n"\
527"#undef\tae2f_stdc_v\n"\
528"#define ae2f_stdc_v\t(199001L)\n"\
529"\n"\
530"#if __ae2f_lvcheck_c(1999)\n"\
531"#undef\tae2f_stdc_v\n"\
532"#define ae2f_stdc_v\t(199901L)\n"\
533"#endif\n"\
534"\n"\
535"#if __ae2f_lvcheck_c(2011)\n"\
536"#undef\tae2f_stdc_v\n"\
537"#define ae2f_stdc_v\t(201112L)\n"\
538"#endif\n"\
539"\n"\
540"#if __ae2f_lvcheck_c(2017)\n"\
541"#undef\tae2f_stdc_v\n"\
542"#define ae2f_stdc_v\t(201710L)\n"\
543"#endif\n"\
544"\n"\
545"#if __ae2f_lvcheck_c(2023)\n"\
546"#undef\tae2f_stdc_v\n"\
547"#define ae2f_stdc_v\t(202311L)\n"\
548"#endif\n"\
549"\n"\
550"#endif\n"\
551"\n"\
552"#undef\t__ae2f_stdcheck_C\n"\
553"#undef\t__ae2f_stdcheck_CC\n"\
554"\n"\
555"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
556"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
557"\n"\
558"\n"\
559"\n"\
560"\n"\
561"#if __ae2f_stdcheck_CC(201703L)\n"\
562"#define ae2f_if_constexpr if constexpr\n"\
563"#else\n"\
564"#define ae2f_if_constexpr if\n"\
565"#endif\n"\
566"\n"\
567"#if __ae2f_stdcheck_CC(202002L)\n"\
568"#define ae2f_if_consteval\tif consteval\n"\
569"#else\n"\
570"#define ae2f_if_consteval\tif (0)\n"\
571"#endif\n"\
572"\n"\
573"#if __ae2f_stdcheck_CC(202002L)\n"\
574"#define ae2f_constexprvirtual constexpr virtual\n"\
575"#define ae2f_constinit\tconstinit\n"\
576"#else\n"\
577"#define ae2f_constexprvirtual virtual\n"\
578"#define ae2f_constinit\t\n"\
579"#endif \n"\
580"\n"\
581"#if __ae2f_stdcheck_CC(201402L)\n"\
582"#define ae2f_constextendedfun\tconstexpr\n"\
583"#define ae2f_constextendedeval \tconstexpr\n"\
584"\n"\
585"#define ae2f_constextendedmethod\tconstexpr\n"\
586"#define ae2f_constextendedmethodeval\tconstexpr\n"\
587"\n"\
588"#else\n"\
589"#define ae2f_constextendedfun\tinline\n"\
590"#define ae2f_constextendedmethod\tinline\n"\
591"\n"\
592"#define ae2f_constextendedeval\tinline\n"\
593"#define ae2f_constextendedmethodeval\tinline\n"\
594"#endif \n"\
595"\n"\
596"#if __ae2f_stdcheck_CC(201103L)\n"\
597"#define ae2f_constexprmethod\t\tconstexpr\n"\
598"#define ae2f_constexprfun\t\tconstexpr\n"\
599"#define ae2f_constevalmethod\t\tconstexpr\n"\
600"#define ae2f_virtual\t\tvirtual\n"\
601"#else\n"\
602"#define ae2f_constexprmethod\t\tinline\n"\
603"#define ae2f_constexprfun\t\tinline\n"\
604"#define ae2f_constevalmethod\t\tinline\n"\
605"#define ae2f_virtual\t\t\n"\
606"\n"\
607"#if !defined(__cplusplus) \n"\
608"\n"\
609"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
610"\n"\
611"#define ae2f_constexpr\tconstexpr\n"\
612"#else\n"\
613"#define ae2f_constexpr\n"\
614"#endif \n"\
615"\n"\
616"\n"\
617"#endif \n"\
618"\n"\
619"#endif \n"\
620"\n"\
621"#if __ae2f_stdcheck_CC(202002L)\n"\
622"#undef ae2f_constevalmethod\n"\
623"#define ae2f_constevalmethod consteval \n"\
624"#define ae2f_consteval\tconsteval\n"\
625"#elif __ae2f_stdcheck_CC(0)\n"\
626"\n"\
627"#undef constevalmethod\n"\
628"\n"\
629"\n"\
630"#define ae2f_consteval\n"\
631"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
632"\n"\
633"#else\n"\
634"\n"\
635"#define ae2f_consteval\n"\
636"#endif \n"\
637"\n"\
638"#endif\n"\
639"\n"\
640"\n"\
641"\n"\
642"\n"\
643"\n"\
644"\n"\
645"\n"\
646"\n"\
647"template <typename t, typename k> union ae2f_UnionCaster {\n"\
648" t a;\n"\
649" k b;\n"\
650" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
651" ae2f_constexprmethod k _b() const { return b; }\n"\
652"};\n"\
653"\n"\
654"#endif\n"\
655"\n"\
656"\n"\
657"#ifndef ae2f_Cast_consteval_hpp\n"\
658"#define ae2f_Cast_consteval_hpp\n"\
659"#if 90 >= 50\n"\
660"#define ae2f_LangVer_C 1990\n"\
661"#else\n"\
662"#define ae2f_LangVer_C 2090\n"\
663"#endif\n"\
664"\n"\
665"#if 11 >= 50\n"\
666"#define ae2f_LangVer_CC 1911\n"\
667"#else\n"\
668"#define ae2f_LangVer_CC 2011\n"\
669"#endif\n"\
670"\n"\
671"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
672"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
673"\n"\
674"\n"\
675"#ifdef\t__cplusplus\n"\
676"#undef\tae2f_stdcc_v\n"\
677"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
678"#else\n"\
679"\n"\
680"#undef\tae2f_stdcc_v\n"\
681"#define\tae2f_stdcc_v\t(199711L)\n"\
682"\n"\
683"#if __ae2f_lvcheck_cc(2011)\n"\
684"#undef\tae2f_stdcc_v\n"\
685"#define\tae2f_stdcc_v\t(201103L)\n"\
686"#endif\n"\
687"\n"\
688"#if __ae2f_lvcheck_cc(2014)\n"\
689"#undef\tae2f_stdcc_v\n"\
690"#define\tae2f_stdcc_v\t(201402L)\n"\
691"#endif\n"\
692"\n"\
693"#if __ae2f_lvcheck_cc(2017)\n"\
694"#undef\tae2f_stdcc_v\n"\
695"#define\tae2f_stdcc_v\t(201703L)\n"\
696"#endif\n"\
697"\n"\
698"#if __ae2f_lvcheck_cc(2020)\n"\
699"#undef\tae2f_stdcc_v\n"\
700"#define\tae2f_stdcc_v\t(202002L)\n"\
701"#endif\n"\
702"\n"\
703"#if __ae2f_lvcheck_cc(2023)\n"\
704"#undef\tae2f_stdcc_v\n"\
705"#define\tae2f_stdcc_v\t(202302L)\n"\
706"#endif\n"\
707"\n"\
708"#endif\n"\
709"\n"\
710"#ifdef\t__STDC_VERSION__\n"\
711"#undef\tae2f_stdc_v\n"\
712"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
713"#else\n"\
714"\n"\
715"#undef\tae2f_stdc_v\n"\
716"#define ae2f_stdc_v\t(199001L)\n"\
717"\n"\
718"#if __ae2f_lvcheck_c(1999)\n"\
719"#undef\tae2f_stdc_v\n"\
720"#define ae2f_stdc_v\t(199901L)\n"\
721"#endif\n"\
722"\n"\
723"#if __ae2f_lvcheck_c(2011)\n"\
724"#undef\tae2f_stdc_v\n"\
725"#define ae2f_stdc_v\t(201112L)\n"\
726"#endif\n"\
727"\n"\
728"#if __ae2f_lvcheck_c(2017)\n"\
729"#undef\tae2f_stdc_v\n"\
730"#define ae2f_stdc_v\t(201710L)\n"\
731"#endif\n"\
732"\n"\
733"#if __ae2f_lvcheck_c(2023)\n"\
734"#undef\tae2f_stdc_v\n"\
735"#define ae2f_stdc_v\t(202311L)\n"\
736"#endif\n"\
737"\n"\
738"#endif\n"\
739"\n"\
740"#undef\t__ae2f_stdcheck_C\n"\
741"#undef\t__ae2f_stdcheck_CC\n"\
742"\n"\
743"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
744"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
745"\n"\
746"\n"\
747"\n"\
748"\n"\
749"#if __ae2f_stdcheck_CC(201703L)\n"\
750"#define ae2f_if_constexpr if constexpr\n"\
751"#else\n"\
752"#define ae2f_if_constexpr if\n"\
753"#endif\n"\
754"\n"\
755"#if __ae2f_stdcheck_CC(202002L)\n"\
756"#define ae2f_if_consteval\tif consteval\n"\
757"#else\n"\
758"#define ae2f_if_consteval\tif (0)\n"\
759"#endif\n"\
760"\n"\
761"#if __ae2f_stdcheck_CC(202002L)\n"\
762"#define ae2f_constexprvirtual constexpr virtual\n"\
763"#define ae2f_constinit\tconstinit\n"\
764"#else\n"\
765"#define ae2f_constexprvirtual virtual\n"\
766"#define ae2f_constinit\t\n"\
767"#endif \n"\
768"\n"\
769"#if __ae2f_stdcheck_CC(201402L)\n"\
770"#define ae2f_constextendedfun\tconstexpr\n"\
771"#define ae2f_constextendedeval \tconstexpr\n"\
772"\n"\
773"#define ae2f_constextendedmethod\tconstexpr\n"\
774"#define ae2f_constextendedmethodeval\tconstexpr\n"\
775"\n"\
776"#else\n"\
777"#define ae2f_constextendedfun\tinline\n"\
778"#define ae2f_constextendedmethod\tinline\n"\
779"\n"\
780"#define ae2f_constextendedeval\tinline\n"\
781"#define ae2f_constextendedmethodeval\tinline\n"\
782"#endif \n"\
783"\n"\
784"#if __ae2f_stdcheck_CC(201103L)\n"\
785"#define ae2f_constexprmethod\t\tconstexpr\n"\
786"#define ae2f_constexprfun\t\tconstexpr\n"\
787"#define ae2f_constevalmethod\t\tconstexpr\n"\
788"#define ae2f_virtual\t\tvirtual\n"\
789"#else\n"\
790"#define ae2f_constexprmethod\t\tinline\n"\
791"#define ae2f_constexprfun\t\tinline\n"\
792"#define ae2f_constevalmethod\t\tinline\n"\
793"#define ae2f_virtual\t\t\n"\
794"\n"\
795"#if !defined(__cplusplus) \n"\
796"\n"\
797"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
798"\n"\
799"#define ae2f_constexpr\tconstexpr\n"\
800"#else\n"\
801"#define ae2f_constexpr\n"\
802"#endif \n"\
803"\n"\
804"\n"\
805"#endif \n"\
806"\n"\
807"#endif \n"\
808"\n"\
809"#if __ae2f_stdcheck_CC(202002L)\n"\
810"#undef ae2f_constevalmethod\n"\
811"#define ae2f_constevalmethod consteval \n"\
812"#define ae2f_consteval\tconsteval\n"\
813"#elif __ae2f_stdcheck_CC(0)\n"\
814"\n"\
815"#undef constevalmethod\n"\
816"\n"\
817"\n"\
818"#define ae2f_consteval\n"\
819"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
820"\n"\
821"#else\n"\
822"\n"\
823"#define ae2f_consteval\n"\
824"#endif \n"\
825"\n"\
826"#endif\n"\
827"\n"\
828"#if 90 >= 50\n"\
829"#define ae2f_LangVer_C 1990\n"\
830"#else\n"\
831"#define ae2f_LangVer_C 2090\n"\
832"#endif\n"\
833"\n"\
834"#if 11 >= 50\n"\
835"#define ae2f_LangVer_CC 1911\n"\
836"#else\n"\
837"#define ae2f_LangVer_CC 2011\n"\
838"#endif\n"\
839"\n"\
840"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
841"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
842"\n"\
843"\n"\
844"\n"\
845"#ifndef ae2f_Cxx_h\n"\
846"#define ae2f_Cxx_h\n"\
847"\n"\
848"\n"\
849"\n"\
850"#define ae2f_NONE\n"\
851"\n"\
852"#if __cplusplus\n"\
853"\n"\
854"\n"\
855"\n"\
856"\n"\
857"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
858"\n"\
859"\n"\
860"\n"\
861"#define ae2f_WhenC(...) ae2f_NONE\n"\
862"\n"\
863"#else\n"\
864"\n"\
865"\n"\
866"\n"\
867"#define ae2f_WhenC(...) __VA_ARGS__\n"\
868"\n"\
869"\n"\
870"\n"\
871"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
872"\n"\
873"#endif\n"\
874"\n"\
875"\n"\
876"\n"\
877"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
878"\n"\
879"\n"\
880"\n"\
881"\n"\
882"\n"\
883"#define ae2f_c_check && !ae2f_is_cxx\n"\
884"\n"\
885"\n"\
886"\n"\
887"\n"\
888"\n"\
889"#define ae2f_cxx_check && ae2f_is_cxx\n"\
890"\n"\
891"\n"\
892"\n"\
893"#ifndef ae2f_Cxx_Reg_h\n"\
894"#define ae2f_Cxx_Reg_h\n"\
895"\n"\
896"\n"\
897"\n"\
898"#ifndef ae2f_Cxx_h\n"\
899"#define ae2f_Cxx_h\n"\
900"\n"\
901"\n"\
902"\n"\
903"#define ae2f_NONE\n"\
904"\n"\
905"#if __cplusplus\n"\
906"\n"\
907"\n"\
908"\n"\
909"\n"\
910"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
911"\n"\
912"\n"\
913"\n"\
914"#define ae2f_WhenC(...) ae2f_NONE\n"\
915"\n"\
916"#else\n"\
917"\n"\
918"\n"\
919"\n"\
920"#define ae2f_WhenC(...) __VA_ARGS__\n"\
921"\n"\
922"\n"\
923"\n"\
924"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
925"\n"\
926"#endif\n"\
927"\n"\
928"\n"\
929"\n"\
930"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
931"\n"\
932"\n"\
933"\n"\
934"\n"\
935"\n"\
936"#define ae2f_c_check && !ae2f_is_cxx\n"\
937"\n"\
938"\n"\
939"\n"\
940"\n"\
941"\n"\
942"#define ae2f_cxx_check && ae2f_is_cxx\n"\
943"\n"\
944"\n"\
945"\n"\
946"#ifndef ae2f_Cxx_Reg_h\n"\
947"#define ae2f_Cxx_Reg_h\n"\
948"\n"\
949"\n"\
950"\n"\
951"#ifndef ae2f_Cxx_h\n"\
952"#define ae2f_Cxx_h\n"\
953"\n"\
954"\n"\
955"\n"\
956"#define ae2f_NONE\n"\
957"\n"\
958"#if __cplusplus\n"\
959"\n"\
960"\n"\
961"\n"\
962"\n"\
963"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
964"\n"\
965"\n"\
966"\n"\
967"#define ae2f_WhenC(...) ae2f_NONE\n"\
968"\n"\
969"#else\n"\
970"\n"\
971"\n"\
972"\n"\
973"#define ae2f_WhenC(...) __VA_ARGS__\n"\
974"\n"\
975"\n"\
976"\n"\
977"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
978"\n"\
979"#endif\n"\
980"\n"\
981"\n"\
982"\n"\
983"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
984"\n"\
985"\n"\
986"\n"\
987"\n"\
988"\n"\
989"#define ae2f_c_check && !ae2f_is_cxx\n"\
990"\n"\
991"\n"\
992"\n"\
993"\n"\
994"\n"\
995"#define ae2f_cxx_check && ae2f_is_cxx\n"\
996"\n"\
997"\n"\
998"\n"\
999"#ifndef ae2f_Cxx_Reg_h\n"\
1000"#define ae2f_Cxx_Reg_h\n"\
1001"\n"\
1002"\n"\
1003"\n"\
1004"#ifndef ae2f_Cxx_h\n"\
1005"#define ae2f_Cxx_h\n"\
1006"\n"\
1007"\n"\
1008"\n"\
1009"#define ae2f_NONE\n"\
1010"\n"\
1011"#if __cplusplus\n"\
1012"\n"\
1013"\n"\
1014"\n"\
1015"\n"\
1016"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1017"\n"\
1018"\n"\
1019"\n"\
1020"#define ae2f_WhenC(...) ae2f_NONE\n"\
1021"\n"\
1022"#else\n"\
1023"\n"\
1024"\n"\
1025"\n"\
1026"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1027"\n"\
1028"\n"\
1029"\n"\
1030"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1031"\n"\
1032"#endif\n"\
1033"\n"\
1034"\n"\
1035"\n"\
1036"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1037"\n"\
1038"\n"\
1039"\n"\
1040"\n"\
1041"\n"\
1042"#define ae2f_c_check && !ae2f_is_cxx\n"\
1043"\n"\
1044"\n"\
1045"\n"\
1046"\n"\
1047"\n"\
1048"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1049"\n"\
1050"\n"\
1051"\n"\
1052"#ifndef ae2f_Cxx_Reg_h\n"\
1053"#define ae2f_Cxx_Reg_h\n"\
1054"\n"\
1055"\n"\
1056"\n"\
1057"#ifndef ae2f_Cxx_h\n"\
1058"#define ae2f_Cxx_h\n"\
1059"\n"\
1060"\n"\
1061"\n"\
1062"#define ae2f_NONE\n"\
1063"\n"\
1064"#if __cplusplus\n"\
1065"\n"\
1066"\n"\
1067"\n"\
1068"\n"\
1069"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1070"\n"\
1071"\n"\
1072"\n"\
1073"#define ae2f_WhenC(...) ae2f_NONE\n"\
1074"\n"\
1075"#else\n"\
1076"\n"\
1077"\n"\
1078"\n"\
1079"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1080"\n"\
1081"\n"\
1082"\n"\
1083"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1084"\n"\
1085"#endif\n"\
1086"\n"\
1087"\n"\
1088"\n"\
1089"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1090"\n"\
1091"\n"\
1092"\n"\
1093"\n"\
1094"\n"\
1095"#define ae2f_c_check && !ae2f_is_cxx\n"\
1096"\n"\
1097"\n"\
1098"\n"\
1099"\n"\
1100"\n"\
1101"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1102"\n"\
1103"\n"\
1104"\n"\
1105"#ifndef ae2f_Cxx_Reg_h\n"\
1106"#define ae2f_Cxx_Reg_h\n"\
1107"\n"\
1108"\n"\
1109"\n"\
1110"#ifndef ae2f_Cxx_h\n"\
1111"#define ae2f_Cxx_h\n"\
1112"\n"\
1113"\n"\
1114"\n"\
1115"#define ae2f_NONE\n"\
1116"\n"\
1117"#if __cplusplus\n"\
1118"\n"\
1119"\n"\
1120"\n"\
1121"\n"\
1122"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1123"\n"\
1124"\n"\
1125"\n"\
1126"#define ae2f_WhenC(...) ae2f_NONE\n"\
1127"\n"\
1128"#else\n"\
1129"\n"\
1130"\n"\
1131"\n"\
1132"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1133"\n"\
1134"\n"\
1135"\n"\
1136"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1137"\n"\
1138"#endif\n"\
1139"\n"\
1140"\n"\
1141"\n"\
1142"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1143"\n"\
1144"\n"\
1145"\n"\
1146"\n"\
1147"\n"\
1148"#define ae2f_c_check && !ae2f_is_cxx\n"\
1149"\n"\
1150"\n"\
1151"\n"\
1152"\n"\
1153"\n"\
1154"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1155"\n"\
1156"\n"\
1157"\n"\
1158"#ifndef ae2f_Cxx_Reg_h\n"\
1159"#define ae2f_Cxx_Reg_h\n"\
1160"\n"\
1161"\n"\
1162"\n"\
1163"#ifndef ae2f_Cxx_h\n"\
1164"#define ae2f_Cxx_h\n"\
1165"\n"\
1166"\n"\
1167"\n"\
1168"#define ae2f_NONE\n"\
1169"\n"\
1170"#if __cplusplus\n"\
1171"\n"\
1172"\n"\
1173"\n"\
1174"\n"\
1175"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1176"\n"\
1177"\n"\
1178"\n"\
1179"#define ae2f_WhenC(...) ae2f_NONE\n"\
1180"\n"\
1181"#else\n"\
1182"\n"\
1183"\n"\
1184"\n"\
1185"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1186"\n"\
1187"\n"\
1188"\n"\
1189"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1190"\n"\
1191"#endif\n"\
1192"\n"\
1193"\n"\
1194"\n"\
1195"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1196"\n"\
1197"\n"\
1198"\n"\
1199"\n"\
1200"\n"\
1201"#define ae2f_c_check && !ae2f_is_cxx\n"\
1202"\n"\
1203"\n"\
1204"\n"\
1205"\n"\
1206"\n"\
1207"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1208"\n"\
1209"\n"\
1210"\n"\
1211"#ifndef ae2f_Cxx_Reg_h\n"\
1212"#define ae2f_Cxx_Reg_h\n"\
1213"\n"\
1214"\n"\
1215"\n"\
1216"#ifndef ae2f_Cxx_h\n"\
1217"#define ae2f_Cxx_h\n"\
1218"\n"\
1219"\n"\
1220"\n"\
1221"#define ae2f_NONE\n"\
1222"\n"\
1223"#if __cplusplus\n"\
1224"\n"\
1225"\n"\
1226"\n"\
1227"\n"\
1228"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1229"\n"\
1230"\n"\
1231"\n"\
1232"#define ae2f_WhenC(...) ae2f_NONE\n"\
1233"\n"\
1234"#else\n"\
1235"\n"\
1236"\n"\
1237"\n"\
1238"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1239"\n"\
1240"\n"\
1241"\n"\
1242"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1243"\n"\
1244"#endif\n"\
1245"\n"\
1246"\n"\
1247"\n"\
1248"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1249"\n"\
1250"\n"\
1251"\n"\
1252"\n"\
1253"\n"\
1254"#define ae2f_c_check && !ae2f_is_cxx\n"\
1255"\n"\
1256"\n"\
1257"\n"\
1258"\n"\
1259"\n"\
1260"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1261"\n"\
1262"\n"\
1263"\n"\
1264"#ifndef ae2f_Cxx_Reg_h\n"\
1265"#define ae2f_Cxx_Reg_h\n"\
1266"\n"\
1267"\n"\
1268"\n"\
1269"#ifndef ae2f_Cxx_h\n"\
1270"#define ae2f_Cxx_h\n"\
1271"\n"\
1272"\n"\
1273"\n"\
1274"#define ae2f_NONE\n"\
1275"\n"\
1276"#if __cplusplus\n"\
1277"\n"\
1278"\n"\
1279"\n"\
1280"\n"\
1281"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1282"\n"\
1283"\n"\
1284"\n"\
1285"#define ae2f_WhenC(...) ae2f_NONE\n"\
1286"\n"\
1287"#else\n"\
1288"\n"\
1289"\n"\
1290"\n"\
1291"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1292"\n"\
1293"\n"\
1294"\n"\
1295"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1296"\n"\
1297"#endif\n"\
1298"\n"\
1299"\n"\
1300"\n"\
1301"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1302"\n"\
1303"\n"\
1304"\n"\
1305"\n"\
1306"\n"\
1307"#define ae2f_c_check && !ae2f_is_cxx\n"\
1308"\n"\
1309"\n"\
1310"\n"\
1311"\n"\
1312"\n"\
1313"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1314"\n"\
1315"\n"\
1316"\n"\
1317"#ifndef ae2f_Cxx_Reg_h\n"\
1318"#define ae2f_Cxx_Reg_h\n"\
1319"\n"\
1320"\n"\
1321"\n"\
1322"#ifndef ae2f_Cxx_h\n"\
1323"#define ae2f_Cxx_h\n"\
1324"\n"\
1325"\n"\
1326"\n"\
1327"#define ae2f_NONE\n"\
1328"\n"\
1329"#if __cplusplus\n"\
1330"\n"\
1331"\n"\
1332"\n"\
1333"\n"\
1334"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1335"\n"\
1336"\n"\
1337"\n"\
1338"#define ae2f_WhenC(...) ae2f_NONE\n"\
1339"\n"\
1340"#else\n"\
1341"\n"\
1342"\n"\
1343"\n"\
1344"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1345"\n"\
1346"\n"\
1347"\n"\
1348"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1349"\n"\
1350"#endif\n"\
1351"\n"\
1352"\n"\
1353"\n"\
1354"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1355"\n"\
1356"\n"\
1357"\n"\
1358"\n"\
1359"\n"\
1360"#define ae2f_c_check && !ae2f_is_cxx\n"\
1361"\n"\
1362"\n"\
1363"\n"\
1364"\n"\
1365"\n"\
1366"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1367"\n"\
1368"\n"\
1369"\n"\
1370"#ifndef ae2f_Cxx_Reg_h\n"\
1371"#define ae2f_Cxx_Reg_h\n"\
1372"\n"\
1373"\n"\
1374"\n"\
1375"#ifndef ae2f_Cxx_h\n"\
1376"#define ae2f_Cxx_h\n"\
1377"\n"\
1378"\n"\
1379"\n"\
1380"#define ae2f_NONE\n"\
1381"\n"\
1382"#if __cplusplus\n"\
1383"\n"\
1384"\n"\
1385"\n"\
1386"\n"\
1387"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1388"\n"\
1389"\n"\
1390"\n"\
1391"#define ae2f_WhenC(...) ae2f_NONE\n"\
1392"\n"\
1393"#else\n"\
1394"\n"\
1395"\n"\
1396"\n"\
1397"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1398"\n"\
1399"\n"\
1400"\n"\
1401"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1402"\n"\
1403"#endif\n"\
1404"\n"\
1405"\n"\
1406"\n"\
1407"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1408"\n"\
1409"\n"\
1410"\n"\
1411"\n"\
1412"\n"\
1413"#define ae2f_c_check && !ae2f_is_cxx\n"\
1414"\n"\
1415"\n"\
1416"\n"\
1417"\n"\
1418"\n"\
1419"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1420"\n"\
1421"\n"\
1422"\n"\
1423"#ifndef ae2f_Cxx_Reg_h\n"\
1424"#define ae2f_Cxx_Reg_h\n"\
1425"\n"\
1426"\n"\
1427"\n"\
1428"#ifndef ae2f_Cxx_h\n"\
1429"#define ae2f_Cxx_h\n"\
1430"\n"\
1431"\n"\
1432"\n"\
1433"#define ae2f_NONE\n"\
1434"\n"\
1435"#if __cplusplus\n"\
1436"\n"\
1437"\n"\
1438"\n"\
1439"\n"\
1440"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1441"\n"\
1442"\n"\
1443"\n"\
1444"#define ae2f_WhenC(...) ae2f_NONE\n"\
1445"\n"\
1446"#else\n"\
1447"\n"\
1448"\n"\
1449"\n"\
1450"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1451"\n"\
1452"\n"\
1453"\n"\
1454"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1455"\n"\
1456"#endif\n"\
1457"\n"\
1458"\n"\
1459"\n"\
1460"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1461"\n"\
1462"\n"\
1463"\n"\
1464"\n"\
1465"\n"\
1466"#define ae2f_c_check && !ae2f_is_cxx\n"\
1467"\n"\
1468"\n"\
1469"\n"\
1470"\n"\
1471"\n"\
1472"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1473"\n"\
1474"\n"\
1475"\n"\
1476"#ifndef ae2f_Cxx_Reg_h\n"\
1477"#define ae2f_Cxx_Reg_h\n"\
1478"\n"\
1479"\n"\
1480"\n"\
1481"#ifndef ae2f_Cxx_h\n"\
1482"#define ae2f_Cxx_h\n"\
1483"\n"\
1484"\n"\
1485"\n"\
1486"#define ae2f_NONE\n"\
1487"\n"\
1488"#if __cplusplus\n"\
1489"\n"\
1490"\n"\
1491"\n"\
1492"\n"\
1493"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1494"\n"\
1495"\n"\
1496"\n"\
1497"#define ae2f_WhenC(...) ae2f_NONE\n"\
1498"\n"\
1499"#else\n"\
1500"\n"\
1501"\n"\
1502"\n"\
1503"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1504"\n"\
1505"\n"\
1506"\n"\
1507"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1508"\n"\
1509"#endif\n"\
1510"\n"\
1511"\n"\
1512"\n"\
1513"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1514"\n"\
1515"\n"\
1516"\n"\
1517"\n"\
1518"\n"\
1519"#define ae2f_c_check && !ae2f_is_cxx\n"\
1520"\n"\
1521"\n"\
1522"\n"\
1523"\n"\
1524"\n"\
1525"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1526"\n"\
1527"\n"\
1528"\n"\
1529"#ifndef ae2f_Cxx_Reg_h\n"\
1530"#define ae2f_Cxx_Reg_h\n"\
1531"\n"\
1532"\n"\
1533"\n"\
1534"#ifndef ae2f_Cxx_h\n"\
1535"#define ae2f_Cxx_h\n"\
1536"\n"\
1537"\n"\
1538"\n"\
1539"#define ae2f_NONE\n"\
1540"\n"\
1541"#if __cplusplus\n"\
1542"\n"\
1543"\n"\
1544"\n"\
1545"\n"\
1546"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1547"\n"\
1548"\n"\
1549"\n"\
1550"#define ae2f_WhenC(...) ae2f_NONE\n"\
1551"\n"\
1552"#else\n"\
1553"\n"\
1554"\n"\
1555"\n"\
1556"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1557"\n"\
1558"\n"\
1559"\n"\
1560"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1561"\n"\
1562"#endif\n"\
1563"\n"\
1564"\n"\
1565"\n"\
1566"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1567"\n"\
1568"\n"\
1569"\n"\
1570"\n"\
1571"\n"\
1572"#define ae2f_c_check && !ae2f_is_cxx\n"\
1573"\n"\
1574"\n"\
1575"\n"\
1576"\n"\
1577"\n"\
1578"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1579"\n"\
1580"\n"\
1581"\n"\
1582"#ifndef ae2f_Cxx_Reg_h\n"\
1583"#define ae2f_Cxx_Reg_h\n"\
1584"\n"\
1585"\n"\
1586"\n"\
1587"#ifndef ae2f_Cxx_h\n"\
1588"#define ae2f_Cxx_h\n"\
1589"\n"\
1590"\n"\
1591"\n"\
1592"#define ae2f_NONE\n"\
1593"\n"\
1594"#if __cplusplus\n"\
1595"\n"\
1596"\n"\
1597"\n"\
1598"\n"\
1599"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1600"\n"\
1601"\n"\
1602"\n"\
1603"#define ae2f_WhenC(...) ae2f_NONE\n"\
1604"\n"\
1605"#else\n"\
1606"\n"\
1607"\n"\
1608"\n"\
1609"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1610"\n"\
1611"\n"\
1612"\n"\
1613"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1614"\n"\
1615"#endif\n"\
1616"\n"\
1617"\n"\
1618"\n"\
1619"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1620"\n"\
1621"\n"\
1622"\n"\
1623"\n"\
1624"\n"\
1625"#define ae2f_c_check && !ae2f_is_cxx\n"\
1626"\n"\
1627"\n"\
1628"\n"\
1629"\n"\
1630"\n"\
1631"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1632"\n"\
1633"\n"\
1634"\n"\
1635"#ifndef ae2f_Cxx_Reg_h\n"\
1636"#define ae2f_Cxx_Reg_h\n"\
1637"\n"\
1638"\n"\
1639"\n"\
1640"#ifndef ae2f_Cxx_h\n"\
1641"#define ae2f_Cxx_h\n"\
1642"\n"\
1643"\n"\
1644"\n"\
1645"#define ae2f_NONE\n"\
1646"\n"\
1647"#if __cplusplus\n"\
1648"\n"\
1649"\n"\
1650"\n"\
1651"\n"\
1652"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1653"\n"\
1654"\n"\
1655"\n"\
1656"#define ae2f_WhenC(...) ae2f_NONE\n"\
1657"\n"\
1658"#else\n"\
1659"\n"\
1660"\n"\
1661"\n"\
1662"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1663"\n"\
1664"\n"\
1665"\n"\
1666"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1667"\n"\
1668"#endif\n"\
1669"\n"\
1670"\n"\
1671"\n"\
1672"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1673"\n"\
1674"\n"\
1675"\n"\
1676"\n"\
1677"\n"\
1678"#define ae2f_c_check && !ae2f_is_cxx\n"\
1679"\n"\
1680"\n"\
1681"\n"\
1682"\n"\
1683"\n"\
1684"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1685"\n"\
1686"\n"\
1687"\n"\
1688"#ifndef ae2f_Cxx_Reg_h\n"\
1689"#define ae2f_Cxx_Reg_h\n"\
1690"\n"\
1691"\n"\
1692"\n"\
1693"#ifndef ae2f_Cxx_h\n"\
1694"#define ae2f_Cxx_h\n"\
1695"\n"\
1696"\n"\
1697"\n"\
1698"#define ae2f_NONE\n"\
1699"\n"\
1700"#if __cplusplus\n"\
1701"\n"\
1702"\n"\
1703"\n"\
1704"\n"\
1705"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1706"\n"\
1707"\n"\
1708"\n"\
1709"#define ae2f_WhenC(...) ae2f_NONE\n"\
1710"\n"\
1711"#else\n"\
1712"\n"\
1713"\n"\
1714"\n"\
1715"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1716"\n"\
1717"\n"\
1718"\n"\
1719"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1720"\n"\
1721"#endif\n"\
1722"\n"\
1723"\n"\
1724"\n"\
1725"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1726"\n"\
1727"\n"\
1728"\n"\
1729"\n"\
1730"\n"\
1731"#define ae2f_c_check && !ae2f_is_cxx\n"\
1732"\n"\
1733"\n"\
1734"\n"\
1735"\n"\
1736"\n"\
1737"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1738"\n"\
1739"\n"\
1740"\n"\
1741"#ifndef ae2f_Cxx_Reg_h\n"\
1742"#define ae2f_Cxx_Reg_h\n"\
1743"\n"\
1744"\n"\
1745"\n"\
1746"#ifndef ae2f_Cxx_h\n"\
1747"#define ae2f_Cxx_h\n"\
1748"\n"\
1749"\n"\
1750"\n"\
1751"#define ae2f_NONE\n"\
1752"\n"\
1753"#if __cplusplus\n"\
1754"\n"\
1755"\n"\
1756"\n"\
1757"\n"\
1758"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1759"\n"\
1760"\n"\
1761"\n"\
1762"#define ae2f_WhenC(...) ae2f_NONE\n"\
1763"\n"\
1764"#else\n"\
1765"\n"\
1766"\n"\
1767"\n"\
1768"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1769"\n"\
1770"\n"\
1771"\n"\
1772"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1773"\n"\
1774"#endif\n"\
1775"\n"\
1776"\n"\
1777"\n"\
1778"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1779"\n"\
1780"\n"\
1781"\n"\
1782"\n"\
1783"\n"\
1784"#define ae2f_c_check && !ae2f_is_cxx\n"\
1785"\n"\
1786"\n"\
1787"\n"\
1788"\n"\
1789"\n"\
1790"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1791"\n"\
1792"\n"\
1793"\n"\
1794"#ifndef ae2f_Cxx_Reg_h\n"\
1795"#define ae2f_Cxx_Reg_h\n"\
1796"\n"\
1797"\n"\
1798"\n"\
1799"#ifndef ae2f_Cxx_h\n"\
1800"#define ae2f_Cxx_h\n"\
1801"\n"\
1802"\n"\
1803"\n"\
1804"#define ae2f_NONE\n"\
1805"\n"\
1806"#if __cplusplus\n"\
1807"\n"\
1808"\n"\
1809"\n"\
1810"\n"\
1811"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1812"\n"\
1813"\n"\
1814"\n"\
1815"#define ae2f_WhenC(...) ae2f_NONE\n"\
1816"\n"\
1817"#else\n"\
1818"\n"\
1819"\n"\
1820"\n"\
1821"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1822"\n"\
1823"\n"\
1824"\n"\
1825"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1826"\n"\
1827"#endif\n"\
1828"\n"\
1829"\n"\
1830"\n"\
1831"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1832"\n"\
1833"\n"\
1834"\n"\
1835"\n"\
1836"\n"\
1837"#define ae2f_c_check && !ae2f_is_cxx\n"\
1838"\n"\
1839"\n"\
1840"\n"\
1841"\n"\
1842"\n"\
1843"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1844"\n"\
1845"\n"\
1846"\n"\
1847"#ifndef ae2f_Cxx_Reg_h\n"\
1848"#define ae2f_Cxx_Reg_h\n"\
1849"\n"\
1850"\n"\
1851"\n"\
1852"#ifndef ae2f_Cxx_h\n"\
1853"#define ae2f_Cxx_h\n"\
1854"\n"\
1855"\n"\
1856"\n"\
1857"#define ae2f_NONE\n"\
1858"\n"\
1859"#if __cplusplus\n"\
1860"\n"\
1861"\n"\
1862"\n"\
1863"\n"\
1864"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1865"\n"\
1866"\n"\
1867"\n"\
1868"#define ae2f_WhenC(...) ae2f_NONE\n"\
1869"\n"\
1870"#else\n"\
1871"\n"\
1872"\n"\
1873"\n"\
1874"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1875"\n"\
1876"\n"\
1877"\n"\
1878"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1879"\n"\
1880"#endif\n"\
1881"\n"\
1882"\n"\
1883"\n"\
1884"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1885"\n"\
1886"\n"\
1887"\n"\
1888"\n"\
1889"\n"\
1890"#define ae2f_c_check && !ae2f_is_cxx\n"\
1891"\n"\
1892"\n"\
1893"\n"\
1894"\n"\
1895"\n"\
1896"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1897"\n"\
1898"\n"\
1899"\n"\
1900"#ifndef ae2f_Cxx_Reg_h\n"\
1901"#define ae2f_Cxx_Reg_h\n"\
1902"\n"\
1903"\n"\
1904"\n"\
1905"#ifndef ae2f_Cxx_h\n"\
1906"#define ae2f_Cxx_h\n"\
1907"\n"\
1908"\n"\
1909"\n"\
1910"#define ae2f_NONE\n"\
1911"\n"\
1912"#if __cplusplus\n"\
1913"\n"\
1914"\n"\
1915"\n"\
1916"\n"\
1917"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1918"\n"\
1919"\n"\
1920"\n"\
1921"#define ae2f_WhenC(...) ae2f_NONE\n"\
1922"\n"\
1923"#else\n"\
1924"\n"\
1925"\n"\
1926"\n"\
1927"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1928"\n"\
1929"\n"\
1930"\n"\
1931"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1932"\n"\
1933"#endif\n"\
1934"\n"\
1935"\n"\
1936"\n"\
1937"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1938"\n"\
1939"\n"\
1940"\n"\
1941"\n"\
1942"\n"\
1943"#define ae2f_c_check && !ae2f_is_cxx\n"\
1944"\n"\
1945"\n"\
1946"\n"\
1947"\n"\
1948"\n"\
1949"#define ae2f_cxx_check && ae2f_is_cxx\n"\
1950"\n"\
1951"\n"\
1952"\n"\
1953"#ifndef ae2f_Cxx_Reg_h\n"\
1954"#define ae2f_Cxx_Reg_h\n"\
1955"\n"\
1956"\n"\
1957"\n"\
1958"#ifndef ae2f_Cxx_h\n"\
1959"#define ae2f_Cxx_h\n"\
1960"\n"\
1961"\n"\
1962"\n"\
1963"#define ae2f_NONE\n"\
1964"\n"\
1965"#if __cplusplus\n"\
1966"\n"\
1967"\n"\
1968"\n"\
1969"\n"\
1970"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
1971"\n"\
1972"\n"\
1973"\n"\
1974"#define ae2f_WhenC(...) ae2f_NONE\n"\
1975"\n"\
1976"#else\n"\
1977"\n"\
1978"\n"\
1979"\n"\
1980"#define ae2f_WhenC(...) __VA_ARGS__\n"\
1981"\n"\
1982"\n"\
1983"\n"\
1984"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1985"\n"\
1986"#endif\n"\
1987"\n"\
1988"\n"\
1989"\n"\
1990"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1991"\n"\
1992"\n"\
1993"\n"\
1994"\n"\
1995"\n"\
1996"#define ae2f_c_check && !ae2f_is_cxx\n"\
1997"\n"\
1998"\n"\
1999"\n"\
2000"\n"\
2001"\n"\
2002"#define ae2f_cxx_check && ae2f_is_cxx\n"\
2003"\n"\
2004"\n"\
2005"\n"\
2006"#ifndef ae2f_Cxx_Reg_h\n"\
2007"#define ae2f_Cxx_Reg_h\n"\
2008"\n"\
2009"\n"\
2010"\n"\
2011"#ifndef ae2f_Cxx_h\n"\
2012"#define ae2f_Cxx_h\n"\
2013"\n"\
2014"\n"\
2015"\n"\
2016"#define ae2f_NONE\n"\
2017"\n"\
2018"#if __cplusplus\n"\
2019"\n"\
2020"\n"\
2021"\n"\
2022"\n"\
2023"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
2024"\n"\
2025"\n"\
2026"\n"\
2027"#define ae2f_WhenC(...) ae2f_NONE\n"\
2028"\n"\
2029"#else\n"\
2030"\n"\
2031"\n"\
2032"\n"\
2033"#define ae2f_WhenC(...) __VA_ARGS__\n"\
2034"\n"\
2035"\n"\
2036"\n"\
2037"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
2038"\n"\
2039"#endif\n"\
2040"\n"\
2041"\n"\
2042"\n"\
2043"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2044"\n"\
2045"\n"\
2046"\n"\
2047"\n"\
2048"\n"\
2049"#define ae2f_c_check && !ae2f_is_cxx\n"\
2050"\n"\
2051"\n"\
2052"\n"\
2053"\n"\
2054"\n"\
2055"#define ae2f_cxx_check && ae2f_is_cxx\n"\
2056"\n"\
2057"\n"\
2058"\n"\
2059"#ifndef ae2f_Cxx_Reg_h\n"\
2060"#define ae2f_Cxx_Reg_h\n"\
2061"\n"\
2062"\n"\
2063"\n"\
2064"#ifndef ae2f_Cxx_h\n"\
2065"#define ae2f_Cxx_h\n"\
2066"\n"\
2067"\n"\
2068"\n"\
2069"#define ae2f_NONE\n"\
2070"\n"\
2071"#if __cplusplus\n"\
2072"\n"\
2073"\n"\
2074"\n"\
2075"\n"\
2076"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
2077"\n"\
2078"\n"\
2079"\n"\
2080"#define ae2f_WhenC(...) ae2f_NONE\n"\
2081"\n"\
2082"#else\n"\
2083"\n"\
2084"\n"\
2085"\n"\
2086"#define ae2f_WhenC(...) __VA_ARGS__\n"\
2087"\n"\
2088"\n"\
2089"\n"\
2090"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
2091"\n"\
2092"#endif\n"\
2093"\n"\
2094"\n"\
2095"\n"\
2096"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2097"\n"\
2098"\n"\
2099"\n"\
2100"\n"\
2101"\n"\
2102"#define ae2f_c_check && !ae2f_is_cxx\n"\
2103"\n"\
2104"\n"\
2105"\n"\
2106"\n"\
2107"\n"\
2108"#define ae2f_cxx_check && ae2f_is_cxx\n"\
2109"\n"\
2110"\n"\
2111"#endif\n"\
2112"\n"\
2113"\n"\
2114"\n"\
2115"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2116"\n"\
2117"#endif\n"\
2118"\n"\
2119"\n"\
2120"#endif\n"\
2121"\n"\
2122"\n"\
2123"\n"\
2124"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2125"\n"\
2126"#endif\n"\
2127"\n"\
2128"\n"\
2129"#endif\n"\
2130"\n"\
2131"\n"\
2132"\n"\
2133"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2134"\n"\
2135"#endif\n"\
2136"\n"\
2137"\n"\
2138"#endif\n"\
2139"\n"\
2140"\n"\
2141"\n"\
2142"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2143"\n"\
2144"#endif\n"\
2145"\n"\
2146"\n"\
2147"#endif\n"\
2148"\n"\
2149"\n"\
2150"\n"\
2151"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2152"\n"\
2153"#endif\n"\
2154"\n"\
2155"\n"\
2156"#endif\n"\
2157"\n"\
2158"\n"\
2159"\n"\
2160"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2161"\n"\
2162"#endif\n"\
2163"\n"\
2164"\n"\
2165"#endif\n"\
2166"\n"\
2167"\n"\
2168"\n"\
2169"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2170"\n"\
2171"#endif\n"\
2172"\n"\
2173"\n"\
2174"#endif\n"\
2175"\n"\
2176"\n"\
2177"\n"\
2178"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2179"\n"\
2180"#endif\n"\
2181"\n"\
2182"\n"\
2183"#endif\n"\
2184"\n"\
2185"\n"\
2186"\n"\
2187"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2188"\n"\
2189"#endif\n"\
2190"\n"\
2191"\n"\
2192"#endif\n"\
2193"\n"\
2194"\n"\
2195"\n"\
2196"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2197"\n"\
2198"#endif\n"\
2199"\n"\
2200"\n"\
2201"#endif\n"\
2202"\n"\
2203"\n"\
2204"\n"\
2205"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2206"\n"\
2207"#endif\n"\
2208"\n"\
2209"\n"\
2210"#endif\n"\
2211"\n"\
2212"\n"\
2213"\n"\
2214"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2215"\n"\
2216"#endif\n"\
2217"\n"\
2218"\n"\
2219"#endif\n"\
2220"\n"\
2221"\n"\
2222"\n"\
2223"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2224"\n"\
2225"#endif\n"\
2226"\n"\
2227"\n"\
2228"#endif\n"\
2229"\n"\
2230"\n"\
2231"\n"\
2232"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2233"\n"\
2234"#endif\n"\
2235"\n"\
2236"\n"\
2237"#endif\n"\
2238"\n"\
2239"\n"\
2240"\n"\
2241"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2242"\n"\
2243"#endif\n"\
2244"\n"\
2245"\n"\
2246"#endif\n"\
2247"\n"\
2248"\n"\
2249"\n"\
2250"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2251"\n"\
2252"#endif\n"\
2253"\n"\
2254"\n"\
2255"#endif\n"\
2256"\n"\
2257"\n"\
2258"\n"\
2259"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2260"\n"\
2261"#endif\n"\
2262"\n"\
2263"\n"\
2264"#endif\n"\
2265"\n"\
2266"\n"\
2267"\n"\
2268"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2269"\n"\
2270"#endif\n"\
2271"\n"\
2272"\n"\
2273"#endif\n"\
2274"\n"\
2275"\n"\
2276"\n"\
2277"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2278"\n"\
2279"#endif\n"\
2280"\n"\
2281"\n"\
2282"#endif\n"\
2283"\n"\
2284"\n"\
2285"\n"\
2286"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2287"\n"\
2288"#endif\n"\
2289"\n"\
2290"\n"\
2291"#endif\n"\
2292"\n"\
2293"\n"\
2294"\n"\
2295"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2296"\n"\
2297"#endif\n"\
2298"\n"\
2299"\n"\
2300"#endif\n"\
2301"\n"\
2302"\n"\
2303"\n"\
2304"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2305"\n"\
2306"#endif\n"\
2307"\n"\
2308"\n"\
2309"#endif\n"\
2310"\n"\
2311"\n"\
2312"\n"\
2313"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
2314"\n"\
2315"#endif\n"\
2316"\n"\
2317"\n"\
2318"#endif\n"\
2319"\n"\
2320"\n"\
2321"\n"\
2322"\n"\
2323"#undef ae2f_LP\n"\
2324"#undef ae2f_NONE\n"\
2325"#undef ae2f_opt\n"\
2326"\n"\
2327"\n"\
2328"#define ae2f_NONE\n"\
2329"\n"\
2330"\n"\
2331"#define\tae2f_LP(...) ae2f_NONE\n"\
2332"\n"\
2333"\n"\
2334"#define ae2f_opt ae2f_NONE\n"\
2335"\n"\
2336"\n"\
2337"#define ae2f_FREE(...) ae2f_NONE\n"\
2338"\n"\
2339"\n"\
2340"#define ae2f_v ae2f_NONE\n"\
2341"\n"\
2342"\n"\
2343"\n"\
2344"\n"\
2345"#define ae2f_RecordMk(type, ...) \\\n"\
2346" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
2347"\n"\
2348"\n"\
2349"\n"\
2350"#define ae2f_static_cast(t, v) \\\n"\
2351" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
2352"\n"\
2353"\n"\
2354"\n"\
2355"#define ae2f_dynamic_cast(t, v) \\\n"\
2356" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
2357"\n"\
2358"\n"\
2359"\n"\
2360"#define ae2f_reinterpret_cast(t, v) \\\n"\
2361" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
2362"\n"\
2363"\n"\
2364"\n"\
2365"#define ae2f_const_cast(t, v) \\\n"\
2366" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
2367"\n"\
2368"\n"\
2369"\n"\
2370"\n"\
2371"\n"\
2372"\n"\
2373"\n"\
2374"\n"\
2375"\n"\
2376"\n"\
2377"\n"\
2378"\n"\
2379"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
2380" ae2f_WhenC((union { \\\n"\
2381" tThen a; \\\n"\
2382" tNow b; \\\n"\
2383" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
2384" ._b()\n"\
2385"\n"\
2386"\n"\
2387"\n"\
2388"\n"\
2389"\n"\
2390"\n"\
2391"#define ae2f_struct ae2f_WhenC(struct)\n"\
2392"\n"\
2393"\n"\
2394"\n"\
2395"\n"\
2396"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
2397"\n"\
2398"\n"\
2399"\n"\
2400"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
2401"\n"\
2402"\n"\
2403"\n"\
2404"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
2405"\n"\
2406"\n"\
2407"\n"\
2408"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
2409"\n"\
2410"\n"\
2411"#define unless(...) if (!(__VA_ARGS__))\n"\
2412"\n"\
2413"#define ae2f_structdef_v(key, name, ...) \\\n"\
2414" typedef key name __VA_ARGS__; \\\n"\
2415" key name\n"\
2416"\n"\
2417"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
2418"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
2419"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
2420"\n"\
2421"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
2422"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
2423"\n"\
2424"\n"\
2425"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
2426"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
2427"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
2428"\t\treturn nameeval tmpluse (prmuse); \\\n"\
2429"\t} \\\n"\
2430"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
2431"\n"\
2432"#if !__ae2f_stdcheck_CC(201103L)\n"\
2433"#undef\tae2f_noexcept\n"\
2434"#define ae2f_noexcept\n"\
2435"#else\n"\
2436"#define ae2f_noexcept noexcept\n"\
2437"#endif\n"\
2438"\n"\
2439"\n"\
2440"#undef\tae2f_restrict \n"\
2441"#if ae2f_stdc_v < 199901L\n"\
2442"#define ae2f_restrict\n"\
2443"#else\n"\
2444"#define ae2f_restrict restrict\n"\
2445"#endif \n"\
2446"\n"\
2447"#if __cplusplus\n"\
2448"#define ae2f_restrict\n"\
2449"#endif \n"\
2450"\n"\
2451"#if !__ae2f_stdcheck_CC(201103L)\n"\
2452"\n"\
2453"\n"\
2454"#define ae2f_noexcept\n"\
2455"#define ae2f_constexpr\n"\
2456"#else\n"\
2457"#define ae2f_noexcept noexcept\n"\
2458"#define ae2f_constexpr constexpr\n"\
2459"#endif \n"\
2460"\n"\
2461"#if ae2f_WhenC(!)0\n"\
2462"#undef ae2f_noexcept\n"\
2463"#define ae2f_noexcept\n"\
2464"#endif\n"\
2465"\n"\
2466"#endif\n"\
2467"\n"\
2468"\n"\
2469"\n"\
2470"#ifndef ae2f_Call_h\n"\
2471"#define ae2f_Call_h\n"\
2472"\n"\
2473"#define ON 1\n"\
2474"#define OFF 0\n"\
2475"\n"\
2476"#if (defined(_WIN32) || defined(_WIN64))\n"\
2477"#define ae2f_IS_WIN 1\n"\
2478"#else \n"\
2479"#define ae2f_IS_WIN 0\n"\
2480"#endif\n"\
2481"\n"\
2482"#if (defined(__linux__))\n"\
2483"#define ae2f_IS_LINUX 1\n"\
2484"#else \n"\
2485"#define ae2f_IS_LINUX 0\n"\
2486"#endif\n"\
2487"\n"\
2488"#if defined(__MACH__) || defined(__APPLE__)\n"\
2489"#define ae2f_IS_APPLE 1\n"\
2490"#else\n"\
2491"#define ae2f_IS_APPLE 0\n"\
2492"#endif\n"\
2493"\n"\
2494"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
2495"\n"\
2496"\n"\
2497"\n"\
2498"#define ae2f_IDK 1\n"\
2499"#else\n"\
2500"\n"\
2501"#define ae2f_IDK 0\n"\
2502"#endif\n"\
2503"\n"\
2504"\n"\
2505"\n"\
2506"\n"\
2507"#define ae2f_IS_SHARED ON\n"\
2508"\n"\
2509"\n"\
2510"#if ae2f_IS_SHARED\n"\
2511"\n"\
2512"#if ae2f_IS_WIN\n"\
2513"\n"\
2514"\n"\
2515"\n"\
2516"\n"\
2517"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
2518"\n"\
2519"\n"\
2520"\n"\
2521"\n"\
2522"\n"\
2523"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
2524"#endif\n"\
2525"\n"\
2526"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
2527"\n"\
2528"\n"\
2529"\n"\
2530"\n"\
2531"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
2532"\n"\
2533"\n"\
2534"\n"\
2535"\n"\
2536"\n"\
2537"#define ae2f_SHAREDCALL\n"\
2538"#endif\n"\
2539"\n"\
2540"\n"\
2541"\n"\
2542"#else\n"\
2543"\n"\
2544"\n"\
2545"\n"\
2546"\n"\
2547"\n"\
2548"#define ae2f_SHAREDEXPORT\n"\
2549"\n"\
2550"\n"\
2551"\n"\
2552"\n"\
2553"#define ae2f_SHAREDCALL\n"\
2554"#endif\n"\
2555"\n"\
2556"#endif\n"\
2557"\n"\
2558"\n"\
2559"#undef ae2f_LP\n"\
2560"#undef ae2f_NONE\n"\
2561"#undef ae2f_opt\n"\
2562"\n"\
2563"\n"\
2564"#define ae2f_NONE\n"\
2565"\n"\
2566"\n"\
2567"#define\tae2f_LP(...) ae2f_NONE\n"\
2568"\n"\
2569"\n"\
2570"#define ae2f_opt ae2f_NONE\n"\
2571"\n"\
2572"\n"\
2573"#define ae2f_FREE(...) ae2f_NONE\n"\
2574"\n"\
2575"\n"\
2576"#define ae2f_v ae2f_NONE\n"\
2577"\n"\
2578"\n"\
2579"\n"\
2580"\n"\
2581"#ifndef ae2fCL_AnnAct_h\n"\
2582"#define ae2fCL_AnnAct_h\n"\
2583"\n"\
2584"\n"\
2585"\n"\
2586"\n"\
2587"#ifndef ae2f_Float_h\n"\
2588"#define ae2f_Float_h\n"\
2589"\n"\
2590"\n"\
2591"#ifndef ae2f_float_h\n"\
2592"#define ae2f_float_h\n"\
2593"\n"\
2594"\n"\
2595"\n"\
2596"\n"\
2597"\n"\
2598"#define ae2f_float float\n"\
2599"\n"\
2600"#endif \n"\
2601"\n"\
2602"\n"\
2603"typedef ae2f_float ae2f_float_t;\n"\
2604"\n"\
2605"#endif\n"\
2606"\n"\
2607"\n"\
2608"#undef ae2f_LP\n"\
2609"#undef ae2f_NONE\n"\
2610"#undef ae2f_opt\n"\
2611"\n"\
2612"\n"\
2613"#define ae2f_NONE\n"\
2614"\n"\
2615"\n"\
2616"#define\tae2f_LP(...) ae2f_NONE\n"\
2617"\n"\
2618"\n"\
2619"#define ae2f_opt ae2f_NONE\n"\
2620"\n"\
2621"\n"\
2622"#define ae2f_FREE(...) ae2f_NONE\n"\
2623"\n"\
2624"\n"\
2625"#define ae2f_v ae2f_NONE\n"\
2626"\n"\
2627"\n"\
2628"\n"\
2629"typedef void ae2f_AnnActFFN_t (\n"\
2630"\t\tae2f_float_t*\t\t\t\tret\n"\
2631"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
2632"\t\t, const size_t\t\t\t\tindex\n"\
2633"\t\t, const size_t\t\t\t\tcount\n"\
2634"\t\t);\n"\
2635"\n"\
2636"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
2637"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
2638"\n"\
2639"\n"\
2640"\n"\
2641"\n"\
2642"\n"\
2643"\n"\
2644"\n"\
2645"\n"\
2646"\n"\
2647"typedef void ae2f_AnnLossFFN_t (\n"\
2648"\t\tae2f_float_t* \t\t\t\tret,\n"\
2649"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
2650"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
2651"\t\tconst size_t\t\t\t\tindex,\n"\
2652"\t\tconst size_t\t\t\t\tcount\n"\
2653"\t\t);\n"\
2654"\n"\
2655"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
2656"\n"\
2657"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
2658"\t\tae2f_float_t* \t\t\t\tret,\n"\
2659"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
2660"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
2661"\t\tsize_t\t\t\t\t\tprm_len\n"\
2662"\t\t);\n"\
2663"\n"\
2664"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
2665"\t\tae2f_float_t*\t\t\t\tret,\n"\
2666"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
2667"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
2668"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
2669"\t\tsize_t\t\t\t\t\tprm_len\n"\
2670"\t\t);\n"\
2671"\n"\
2672"#endif\n"\
2673"\n"\
2674"#ifndef ae2f_Ann_Util_h\n"\
2675"#define ae2f_Ann_Util_h\n"\
2676"\n"\
2677"\n"\
2678"\n"\
2679"#if !defined(ae2f_Cast_h)\n"\
2680"\n"\
2681"\n"\
2682"\n"\
2683"#define ae2f_Cast_h\n"\
2684"\n"\
2685"\n"\
2686"\n"\
2687"\n"\
2688"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
2689"\n"\
2690"\n"\
2691"\n"\
2692"\n"\
2693"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
2694"\n"\
2695"\n"\
2696"\n"\
2697"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
2698"#define ae2f_Cast_CasterUnion_hpp\n"\
2699"\n"\
2700"#ifndef ae2f_Cast_consteval_hpp\n"\
2701"#define ae2f_Cast_consteval_hpp\n"\
2702"#if 90 >= 50\n"\
2703"#define ae2f_LangVer_C 1990\n"\
2704"#else\n"\
2705"#define ae2f_LangVer_C 2090\n"\
2706"#endif\n"\
2707"\n"\
2708"#if 11 >= 50\n"\
2709"#define ae2f_LangVer_CC 1911\n"\
2710"#else\n"\
2711"#define ae2f_LangVer_CC 2011\n"\
2712"#endif\n"\
2713"\n"\
2714"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2715"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2716"\n"\
2717"\n"\
2718"#ifdef\t__cplusplus\n"\
2719"#undef\tae2f_stdcc_v\n"\
2720"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2721"#else\n"\
2722"\n"\
2723"#undef\tae2f_stdcc_v\n"\
2724"#define\tae2f_stdcc_v\t(199711L)\n"\
2725"\n"\
2726"#if __ae2f_lvcheck_cc(2011)\n"\
2727"#undef\tae2f_stdcc_v\n"\
2728"#define\tae2f_stdcc_v\t(201103L)\n"\
2729"#endif\n"\
2730"\n"\
2731"#if __ae2f_lvcheck_cc(2014)\n"\
2732"#undef\tae2f_stdcc_v\n"\
2733"#define\tae2f_stdcc_v\t(201402L)\n"\
2734"#endif\n"\
2735"\n"\
2736"#if __ae2f_lvcheck_cc(2017)\n"\
2737"#undef\tae2f_stdcc_v\n"\
2738"#define\tae2f_stdcc_v\t(201703L)\n"\
2739"#endif\n"\
2740"\n"\
2741"#if __ae2f_lvcheck_cc(2020)\n"\
2742"#undef\tae2f_stdcc_v\n"\
2743"#define\tae2f_stdcc_v\t(202002L)\n"\
2744"#endif\n"\
2745"\n"\
2746"#if __ae2f_lvcheck_cc(2023)\n"\
2747"#undef\tae2f_stdcc_v\n"\
2748"#define\tae2f_stdcc_v\t(202302L)\n"\
2749"#endif\n"\
2750"\n"\
2751"#endif\n"\
2752"\n"\
2753"#ifdef\t__STDC_VERSION__\n"\
2754"#undef\tae2f_stdc_v\n"\
2755"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2756"#else\n"\
2757"\n"\
2758"#undef\tae2f_stdc_v\n"\
2759"#define ae2f_stdc_v\t(199001L)\n"\
2760"\n"\
2761"#if __ae2f_lvcheck_c(1999)\n"\
2762"#undef\tae2f_stdc_v\n"\
2763"#define ae2f_stdc_v\t(199901L)\n"\
2764"#endif\n"\
2765"\n"\
2766"#if __ae2f_lvcheck_c(2011)\n"\
2767"#undef\tae2f_stdc_v\n"\
2768"#define ae2f_stdc_v\t(201112L)\n"\
2769"#endif\n"\
2770"\n"\
2771"#if __ae2f_lvcheck_c(2017)\n"\
2772"#undef\tae2f_stdc_v\n"\
2773"#define ae2f_stdc_v\t(201710L)\n"\
2774"#endif\n"\
2775"\n"\
2776"#if __ae2f_lvcheck_c(2023)\n"\
2777"#undef\tae2f_stdc_v\n"\
2778"#define ae2f_stdc_v\t(202311L)\n"\
2779"#endif\n"\
2780"\n"\
2781"#endif\n"\
2782"\n"\
2783"#undef\t__ae2f_stdcheck_C\n"\
2784"#undef\t__ae2f_stdcheck_CC\n"\
2785"\n"\
2786"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2787"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2788"\n"\
2789"\n"\
2790"\n"\
2791"\n"\
2792"#if __ae2f_stdcheck_CC(201703L)\n"\
2793"#define ae2f_if_constexpr if constexpr\n"\
2794"#else\n"\
2795"#define ae2f_if_constexpr if\n"\
2796"#endif\n"\
2797"\n"\
2798"#if __ae2f_stdcheck_CC(202002L)\n"\
2799"#define ae2f_if_consteval\tif consteval\n"\
2800"#else\n"\
2801"#define ae2f_if_consteval\tif (0)\n"\
2802"#endif\n"\
2803"\n"\
2804"#if __ae2f_stdcheck_CC(202002L)\n"\
2805"#define ae2f_constexprvirtual constexpr virtual\n"\
2806"#define ae2f_constinit\tconstinit\n"\
2807"#else\n"\
2808"#define ae2f_constexprvirtual virtual\n"\
2809"#define ae2f_constinit\t\n"\
2810"#endif \n"\
2811"\n"\
2812"#if __ae2f_stdcheck_CC(201402L)\n"\
2813"#define ae2f_constextendedfun\tconstexpr\n"\
2814"#define ae2f_constextendedeval \tconstexpr\n"\
2815"\n"\
2816"#define ae2f_constextendedmethod\tconstexpr\n"\
2817"#define ae2f_constextendedmethodeval\tconstexpr\n"\
2818"\n"\
2819"#else\n"\
2820"#define ae2f_constextendedfun\tinline\n"\
2821"#define ae2f_constextendedmethod\tinline\n"\
2822"\n"\
2823"#define ae2f_constextendedeval\tinline\n"\
2824"#define ae2f_constextendedmethodeval\tinline\n"\
2825"#endif \n"\
2826"\n"\
2827"#if __ae2f_stdcheck_CC(201103L)\n"\
2828"#define ae2f_constexprmethod\t\tconstexpr\n"\
2829"#define ae2f_constexprfun\t\tconstexpr\n"\
2830"#define ae2f_constevalmethod\t\tconstexpr\n"\
2831"#define ae2f_virtual\t\tvirtual\n"\
2832"#else\n"\
2833"#define ae2f_constexprmethod\t\tinline\n"\
2834"#define ae2f_constexprfun\t\tinline\n"\
2835"#define ae2f_constevalmethod\t\tinline\n"\
2836"#define ae2f_virtual\t\t\n"\
2837"\n"\
2838"#if !defined(__cplusplus) \n"\
2839"\n"\
2840"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
2841"\n"\
2842"#define ae2f_constexpr\tconstexpr\n"\
2843"#else\n"\
2844"#define ae2f_constexpr\n"\
2845"#endif \n"\
2846"\n"\
2847"\n"\
2848"#endif \n"\
2849"\n"\
2850"#endif \n"\
2851"\n"\
2852"#if __ae2f_stdcheck_CC(202002L)\n"\
2853"#undef ae2f_constevalmethod\n"\
2854"#define ae2f_constevalmethod consteval \n"\
2855"#define ae2f_consteval\tconsteval\n"\
2856"#elif __ae2f_stdcheck_CC(0)\n"\
2857"\n"\
2858"#undef constevalmethod\n"\
2859"\n"\
2860"\n"\
2861"#define ae2f_consteval\n"\
2862"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
2863"\n"\
2864"#else\n"\
2865"\n"\
2866"#define ae2f_consteval\n"\
2867"#endif \n"\
2868"\n"\
2869"#endif\n"\
2870"\n"\
2871"\n"\
2872"\n"\
2873"\n"\
2874"\n"\
2875"\n"\
2876"\n"\
2877"\n"\
2878"template <typename t, typename k> union ae2f_UnionCaster {\n"\
2879" t a;\n"\
2880" k b;\n"\
2881" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
2882" ae2f_constexprmethod k _b() const { return b; }\n"\
2883"};\n"\
2884"\n"\
2885"#endif\n"\
2886"\n"\
2887"\n"\
2888"#ifndef ae2f_Cast_consteval_hpp\n"\
2889"#define ae2f_Cast_consteval_hpp\n"\
2890"#if 90 >= 50\n"\
2891"#define ae2f_LangVer_C 1990\n"\
2892"#else\n"\
2893"#define ae2f_LangVer_C 2090\n"\
2894"#endif\n"\
2895"\n"\
2896"#if 11 >= 50\n"\
2897"#define ae2f_LangVer_CC 1911\n"\
2898"#else\n"\
2899"#define ae2f_LangVer_CC 2011\n"\
2900"#endif\n"\
2901"\n"\
2902"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2903"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2904"\n"\
2905"\n"\
2906"#ifdef\t__cplusplus\n"\
2907"#undef\tae2f_stdcc_v\n"\
2908"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2909"#else\n"\
2910"\n"\
2911"#undef\tae2f_stdcc_v\n"\
2912"#define\tae2f_stdcc_v\t(199711L)\n"\
2913"\n"\
2914"#if __ae2f_lvcheck_cc(2011)\n"\
2915"#undef\tae2f_stdcc_v\n"\
2916"#define\tae2f_stdcc_v\t(201103L)\n"\
2917"#endif\n"\
2918"\n"\
2919"#if __ae2f_lvcheck_cc(2014)\n"\
2920"#undef\tae2f_stdcc_v\n"\
2921"#define\tae2f_stdcc_v\t(201402L)\n"\
2922"#endif\n"\
2923"\n"\
2924"#if __ae2f_lvcheck_cc(2017)\n"\
2925"#undef\tae2f_stdcc_v\n"\
2926"#define\tae2f_stdcc_v\t(201703L)\n"\
2927"#endif\n"\
2928"\n"\
2929"#if __ae2f_lvcheck_cc(2020)\n"\
2930"#undef\tae2f_stdcc_v\n"\
2931"#define\tae2f_stdcc_v\t(202002L)\n"\
2932"#endif\n"\
2933"\n"\
2934"#if __ae2f_lvcheck_cc(2023)\n"\
2935"#undef\tae2f_stdcc_v\n"\
2936"#define\tae2f_stdcc_v\t(202302L)\n"\
2937"#endif\n"\
2938"\n"\
2939"#endif\n"\
2940"\n"\
2941"#ifdef\t__STDC_VERSION__\n"\
2942"#undef\tae2f_stdc_v\n"\
2943"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2944"#else\n"\
2945"\n"\
2946"#undef\tae2f_stdc_v\n"\
2947"#define ae2f_stdc_v\t(199001L)\n"\
2948"\n"\
2949"#if __ae2f_lvcheck_c(1999)\n"\
2950"#undef\tae2f_stdc_v\n"\
2951"#define ae2f_stdc_v\t(199901L)\n"\
2952"#endif\n"\
2953"\n"\
2954"#if __ae2f_lvcheck_c(2011)\n"\
2955"#undef\tae2f_stdc_v\n"\
2956"#define ae2f_stdc_v\t(201112L)\n"\
2957"#endif\n"\
2958"\n"\
2959"#if __ae2f_lvcheck_c(2017)\n"\
2960"#undef\tae2f_stdc_v\n"\
2961"#define ae2f_stdc_v\t(201710L)\n"\
2962"#endif\n"\
2963"\n"\
2964"#if __ae2f_lvcheck_c(2023)\n"\
2965"#undef\tae2f_stdc_v\n"\
2966"#define ae2f_stdc_v\t(202311L)\n"\
2967"#endif\n"\
2968"\n"\
2969"#endif\n"\
2970"\n"\
2971"#undef\t__ae2f_stdcheck_C\n"\
2972"#undef\t__ae2f_stdcheck_CC\n"\
2973"\n"\
2974"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2975"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2976"\n"\
2977"\n"\
2978"\n"\
2979"\n"\
2980"#if __ae2f_stdcheck_CC(201703L)\n"\
2981"#define ae2f_if_constexpr if constexpr\n"\
2982"#else\n"\
2983"#define ae2f_if_constexpr if\n"\
2984"#endif\n"\
2985"\n"\
2986"#if __ae2f_stdcheck_CC(202002L)\n"\
2987"#define ae2f_if_consteval\tif consteval\n"\
2988"#else\n"\
2989"#define ae2f_if_consteval\tif (0)\n"\
2990"#endif\n"\
2991"\n"\
2992"#if __ae2f_stdcheck_CC(202002L)\n"\
2993"#define ae2f_constexprvirtual constexpr virtual\n"\
2994"#define ae2f_constinit\tconstinit\n"\
2995"#else\n"\
2996"#define ae2f_constexprvirtual virtual\n"\
2997"#define ae2f_constinit\t\n"\
2998"#endif \n"\
2999"\n"\
3000"#if __ae2f_stdcheck_CC(201402L)\n"\
3001"#define ae2f_constextendedfun\tconstexpr\n"\
3002"#define ae2f_constextendedeval \tconstexpr\n"\
3003"\n"\
3004"#define ae2f_constextendedmethod\tconstexpr\n"\
3005"#define ae2f_constextendedmethodeval\tconstexpr\n"\
3006"\n"\
3007"#else\n"\
3008"#define ae2f_constextendedfun\tinline\n"\
3009"#define ae2f_constextendedmethod\tinline\n"\
3010"\n"\
3011"#define ae2f_constextendedeval\tinline\n"\
3012"#define ae2f_constextendedmethodeval\tinline\n"\
3013"#endif \n"\
3014"\n"\
3015"#if __ae2f_stdcheck_CC(201103L)\n"\
3016"#define ae2f_constexprmethod\t\tconstexpr\n"\
3017"#define ae2f_constexprfun\t\tconstexpr\n"\
3018"#define ae2f_constevalmethod\t\tconstexpr\n"\
3019"#define ae2f_virtual\t\tvirtual\n"\
3020"#else\n"\
3021"#define ae2f_constexprmethod\t\tinline\n"\
3022"#define ae2f_constexprfun\t\tinline\n"\
3023"#define ae2f_constevalmethod\t\tinline\n"\
3024"#define ae2f_virtual\t\t\n"\
3025"\n"\
3026"#if !defined(__cplusplus) \n"\
3027"\n"\
3028"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
3029"\n"\
3030"#define ae2f_constexpr\tconstexpr\n"\
3031"#else\n"\
3032"#define ae2f_constexpr\n"\
3033"#endif \n"\
3034"\n"\
3035"\n"\
3036"#endif \n"\
3037"\n"\
3038"#endif \n"\
3039"\n"\
3040"#if __ae2f_stdcheck_CC(202002L)\n"\
3041"#undef ae2f_constevalmethod\n"\
3042"#define ae2f_constevalmethod consteval \n"\
3043"#define ae2f_consteval\tconsteval\n"\
3044"#elif __ae2f_stdcheck_CC(0)\n"\
3045"\n"\
3046"#undef constevalmethod\n"\
3047"\n"\
3048"\n"\
3049"#define ae2f_consteval\n"\
3050"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
3051"\n"\
3052"#else\n"\
3053"\n"\
3054"#define ae2f_consteval\n"\
3055"#endif \n"\
3056"\n"\
3057"#endif\n"\
3058"\n"\
3059"#if 90 >= 50\n"\
3060"#define ae2f_LangVer_C 1990\n"\
3061"#else\n"\
3062"#define ae2f_LangVer_C 2090\n"\
3063"#endif\n"\
3064"\n"\
3065"#if 11 >= 50\n"\
3066"#define ae2f_LangVer_CC 1911\n"\
3067"#else\n"\
3068"#define ae2f_LangVer_CC 2011\n"\
3069"#endif\n"\
3070"\n"\
3071"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3072"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3073"\n"\
3074"\n"\
3075"\n"\
3076"#ifndef ae2f_Cxx_h\n"\
3077"#define ae2f_Cxx_h\n"\
3078"\n"\
3079"\n"\
3080"\n"\
3081"#define ae2f_NONE\n"\
3082"\n"\
3083"#if __cplusplus\n"\
3084"\n"\
3085"\n"\
3086"\n"\
3087"\n"\
3088"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3089"\n"\
3090"\n"\
3091"\n"\
3092"#define ae2f_WhenC(...) ae2f_NONE\n"\
3093"\n"\
3094"#else\n"\
3095"\n"\
3096"\n"\
3097"\n"\
3098"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3099"\n"\
3100"\n"\
3101"\n"\
3102"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3103"\n"\
3104"#endif\n"\
3105"\n"\
3106"\n"\
3107"\n"\
3108"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3109"\n"\
3110"\n"\
3111"\n"\
3112"\n"\
3113"\n"\
3114"#define ae2f_c_check && !ae2f_is_cxx\n"\
3115"\n"\
3116"\n"\
3117"\n"\
3118"\n"\
3119"\n"\
3120"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3121"\n"\
3122"\n"\
3123"\n"\
3124"#ifndef ae2f_Cxx_Reg_h\n"\
3125"#define ae2f_Cxx_Reg_h\n"\
3126"\n"\
3127"\n"\
3128"\n"\
3129"#ifndef ae2f_Cxx_h\n"\
3130"#define ae2f_Cxx_h\n"\
3131"\n"\
3132"\n"\
3133"\n"\
3134"#define ae2f_NONE\n"\
3135"\n"\
3136"#if __cplusplus\n"\
3137"\n"\
3138"\n"\
3139"\n"\
3140"\n"\
3141"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3142"\n"\
3143"\n"\
3144"\n"\
3145"#define ae2f_WhenC(...) ae2f_NONE\n"\
3146"\n"\
3147"#else\n"\
3148"\n"\
3149"\n"\
3150"\n"\
3151"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3152"\n"\
3153"\n"\
3154"\n"\
3155"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3156"\n"\
3157"#endif\n"\
3158"\n"\
3159"\n"\
3160"\n"\
3161"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3162"\n"\
3163"\n"\
3164"\n"\
3165"\n"\
3166"\n"\
3167"#define ae2f_c_check && !ae2f_is_cxx\n"\
3168"\n"\
3169"\n"\
3170"\n"\
3171"\n"\
3172"\n"\
3173"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3174"\n"\
3175"\n"\
3176"\n"\
3177"#ifndef ae2f_Cxx_Reg_h\n"\
3178"#define ae2f_Cxx_Reg_h\n"\
3179"\n"\
3180"\n"\
3181"\n"\
3182"#ifndef ae2f_Cxx_h\n"\
3183"#define ae2f_Cxx_h\n"\
3184"\n"\
3185"\n"\
3186"\n"\
3187"#define ae2f_NONE\n"\
3188"\n"\
3189"#if __cplusplus\n"\
3190"\n"\
3191"\n"\
3192"\n"\
3193"\n"\
3194"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3195"\n"\
3196"\n"\
3197"\n"\
3198"#define ae2f_WhenC(...) ae2f_NONE\n"\
3199"\n"\
3200"#else\n"\
3201"\n"\
3202"\n"\
3203"\n"\
3204"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3205"\n"\
3206"\n"\
3207"\n"\
3208"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3209"\n"\
3210"#endif\n"\
3211"\n"\
3212"\n"\
3213"\n"\
3214"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3215"\n"\
3216"\n"\
3217"\n"\
3218"\n"\
3219"\n"\
3220"#define ae2f_c_check && !ae2f_is_cxx\n"\
3221"\n"\
3222"\n"\
3223"\n"\
3224"\n"\
3225"\n"\
3226"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3227"\n"\
3228"\n"\
3229"\n"\
3230"#ifndef ae2f_Cxx_Reg_h\n"\
3231"#define ae2f_Cxx_Reg_h\n"\
3232"\n"\
3233"\n"\
3234"\n"\
3235"#ifndef ae2f_Cxx_h\n"\
3236"#define ae2f_Cxx_h\n"\
3237"\n"\
3238"\n"\
3239"\n"\
3240"#define ae2f_NONE\n"\
3241"\n"\
3242"#if __cplusplus\n"\
3243"\n"\
3244"\n"\
3245"\n"\
3246"\n"\
3247"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3248"\n"\
3249"\n"\
3250"\n"\
3251"#define ae2f_WhenC(...) ae2f_NONE\n"\
3252"\n"\
3253"#else\n"\
3254"\n"\
3255"\n"\
3256"\n"\
3257"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3258"\n"\
3259"\n"\
3260"\n"\
3261"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3262"\n"\
3263"#endif\n"\
3264"\n"\
3265"\n"\
3266"\n"\
3267"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3268"\n"\
3269"\n"\
3270"\n"\
3271"\n"\
3272"\n"\
3273"#define ae2f_c_check && !ae2f_is_cxx\n"\
3274"\n"\
3275"\n"\
3276"\n"\
3277"\n"\
3278"\n"\
3279"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3280"\n"\
3281"\n"\
3282"\n"\
3283"#ifndef ae2f_Cxx_Reg_h\n"\
3284"#define ae2f_Cxx_Reg_h\n"\
3285"\n"\
3286"\n"\
3287"\n"\
3288"#ifndef ae2f_Cxx_h\n"\
3289"#define ae2f_Cxx_h\n"\
3290"\n"\
3291"\n"\
3292"\n"\
3293"#define ae2f_NONE\n"\
3294"\n"\
3295"#if __cplusplus\n"\
3296"\n"\
3297"\n"\
3298"\n"\
3299"\n"\
3300"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3301"\n"\
3302"\n"\
3303"\n"\
3304"#define ae2f_WhenC(...) ae2f_NONE\n"\
3305"\n"\
3306"#else\n"\
3307"\n"\
3308"\n"\
3309"\n"\
3310"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3311"\n"\
3312"\n"\
3313"\n"\
3314"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3315"\n"\
3316"#endif\n"\
3317"\n"\
3318"\n"\
3319"\n"\
3320"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3321"\n"\
3322"\n"\
3323"\n"\
3324"\n"\
3325"\n"\
3326"#define ae2f_c_check && !ae2f_is_cxx\n"\
3327"\n"\
3328"\n"\
3329"\n"\
3330"\n"\
3331"\n"\
3332"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3333"\n"\
3334"\n"\
3335"\n"\
3336"#ifndef ae2f_Cxx_Reg_h\n"\
3337"#define ae2f_Cxx_Reg_h\n"\
3338"\n"\
3339"\n"\
3340"\n"\
3341"#ifndef ae2f_Cxx_h\n"\
3342"#define ae2f_Cxx_h\n"\
3343"\n"\
3344"\n"\
3345"\n"\
3346"#define ae2f_NONE\n"\
3347"\n"\
3348"#if __cplusplus\n"\
3349"\n"\
3350"\n"\
3351"\n"\
3352"\n"\
3353"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3354"\n"\
3355"\n"\
3356"\n"\
3357"#define ae2f_WhenC(...) ae2f_NONE\n"\
3358"\n"\
3359"#else\n"\
3360"\n"\
3361"\n"\
3362"\n"\
3363"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3364"\n"\
3365"\n"\
3366"\n"\
3367"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3368"\n"\
3369"#endif\n"\
3370"\n"\
3371"\n"\
3372"\n"\
3373"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3374"\n"\
3375"\n"\
3376"\n"\
3377"\n"\
3378"\n"\
3379"#define ae2f_c_check && !ae2f_is_cxx\n"\
3380"\n"\
3381"\n"\
3382"\n"\
3383"\n"\
3384"\n"\
3385"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3386"\n"\
3387"\n"\
3388"\n"\
3389"#ifndef ae2f_Cxx_Reg_h\n"\
3390"#define ae2f_Cxx_Reg_h\n"\
3391"\n"\
3392"\n"\
3393"\n"\
3394"#ifndef ae2f_Cxx_h\n"\
3395"#define ae2f_Cxx_h\n"\
3396"\n"\
3397"\n"\
3398"\n"\
3399"#define ae2f_NONE\n"\
3400"\n"\
3401"#if __cplusplus\n"\
3402"\n"\
3403"\n"\
3404"\n"\
3405"\n"\
3406"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3407"\n"\
3408"\n"\
3409"\n"\
3410"#define ae2f_WhenC(...) ae2f_NONE\n"\
3411"\n"\
3412"#else\n"\
3413"\n"\
3414"\n"\
3415"\n"\
3416"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3417"\n"\
3418"\n"\
3419"\n"\
3420"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3421"\n"\
3422"#endif\n"\
3423"\n"\
3424"\n"\
3425"\n"\
3426"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3427"\n"\
3428"\n"\
3429"\n"\
3430"\n"\
3431"\n"\
3432"#define ae2f_c_check && !ae2f_is_cxx\n"\
3433"\n"\
3434"\n"\
3435"\n"\
3436"\n"\
3437"\n"\
3438"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3439"\n"\
3440"\n"\
3441"\n"\
3442"#ifndef ae2f_Cxx_Reg_h\n"\
3443"#define ae2f_Cxx_Reg_h\n"\
3444"\n"\
3445"\n"\
3446"\n"\
3447"#ifndef ae2f_Cxx_h\n"\
3448"#define ae2f_Cxx_h\n"\
3449"\n"\
3450"\n"\
3451"\n"\
3452"#define ae2f_NONE\n"\
3453"\n"\
3454"#if __cplusplus\n"\
3455"\n"\
3456"\n"\
3457"\n"\
3458"\n"\
3459"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3460"\n"\
3461"\n"\
3462"\n"\
3463"#define ae2f_WhenC(...) ae2f_NONE\n"\
3464"\n"\
3465"#else\n"\
3466"\n"\
3467"\n"\
3468"\n"\
3469"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3470"\n"\
3471"\n"\
3472"\n"\
3473"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3474"\n"\
3475"#endif\n"\
3476"\n"\
3477"\n"\
3478"\n"\
3479"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3480"\n"\
3481"\n"\
3482"\n"\
3483"\n"\
3484"\n"\
3485"#define ae2f_c_check && !ae2f_is_cxx\n"\
3486"\n"\
3487"\n"\
3488"\n"\
3489"\n"\
3490"\n"\
3491"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3492"\n"\
3493"\n"\
3494"\n"\
3495"#ifndef ae2f_Cxx_Reg_h\n"\
3496"#define ae2f_Cxx_Reg_h\n"\
3497"\n"\
3498"\n"\
3499"\n"\
3500"#ifndef ae2f_Cxx_h\n"\
3501"#define ae2f_Cxx_h\n"\
3502"\n"\
3503"\n"\
3504"\n"\
3505"#define ae2f_NONE\n"\
3506"\n"\
3507"#if __cplusplus\n"\
3508"\n"\
3509"\n"\
3510"\n"\
3511"\n"\
3512"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3513"\n"\
3514"\n"\
3515"\n"\
3516"#define ae2f_WhenC(...) ae2f_NONE\n"\
3517"\n"\
3518"#else\n"\
3519"\n"\
3520"\n"\
3521"\n"\
3522"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3523"\n"\
3524"\n"\
3525"\n"\
3526"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3527"\n"\
3528"#endif\n"\
3529"\n"\
3530"\n"\
3531"\n"\
3532"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3533"\n"\
3534"\n"\
3535"\n"\
3536"\n"\
3537"\n"\
3538"#define ae2f_c_check && !ae2f_is_cxx\n"\
3539"\n"\
3540"\n"\
3541"\n"\
3542"\n"\
3543"\n"\
3544"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3545"\n"\
3546"\n"\
3547"\n"\
3548"#ifndef ae2f_Cxx_Reg_h\n"\
3549"#define ae2f_Cxx_Reg_h\n"\
3550"\n"\
3551"\n"\
3552"\n"\
3553"#ifndef ae2f_Cxx_h\n"\
3554"#define ae2f_Cxx_h\n"\
3555"\n"\
3556"\n"\
3557"\n"\
3558"#define ae2f_NONE\n"\
3559"\n"\
3560"#if __cplusplus\n"\
3561"\n"\
3562"\n"\
3563"\n"\
3564"\n"\
3565"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3566"\n"\
3567"\n"\
3568"\n"\
3569"#define ae2f_WhenC(...) ae2f_NONE\n"\
3570"\n"\
3571"#else\n"\
3572"\n"\
3573"\n"\
3574"\n"\
3575"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3576"\n"\
3577"\n"\
3578"\n"\
3579"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3580"\n"\
3581"#endif\n"\
3582"\n"\
3583"\n"\
3584"\n"\
3585"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3586"\n"\
3587"\n"\
3588"\n"\
3589"\n"\
3590"\n"\
3591"#define ae2f_c_check && !ae2f_is_cxx\n"\
3592"\n"\
3593"\n"\
3594"\n"\
3595"\n"\
3596"\n"\
3597"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3598"\n"\
3599"\n"\
3600"\n"\
3601"#ifndef ae2f_Cxx_Reg_h\n"\
3602"#define ae2f_Cxx_Reg_h\n"\
3603"\n"\
3604"\n"\
3605"\n"\
3606"#ifndef ae2f_Cxx_h\n"\
3607"#define ae2f_Cxx_h\n"\
3608"\n"\
3609"\n"\
3610"\n"\
3611"#define ae2f_NONE\n"\
3612"\n"\
3613"#if __cplusplus\n"\
3614"\n"\
3615"\n"\
3616"\n"\
3617"\n"\
3618"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3619"\n"\
3620"\n"\
3621"\n"\
3622"#define ae2f_WhenC(...) ae2f_NONE\n"\
3623"\n"\
3624"#else\n"\
3625"\n"\
3626"\n"\
3627"\n"\
3628"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3629"\n"\
3630"\n"\
3631"\n"\
3632"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3633"\n"\
3634"#endif\n"\
3635"\n"\
3636"\n"\
3637"\n"\
3638"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3639"\n"\
3640"\n"\
3641"\n"\
3642"\n"\
3643"\n"\
3644"#define ae2f_c_check && !ae2f_is_cxx\n"\
3645"\n"\
3646"\n"\
3647"\n"\
3648"\n"\
3649"\n"\
3650"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3651"\n"\
3652"\n"\
3653"\n"\
3654"#ifndef ae2f_Cxx_Reg_h\n"\
3655"#define ae2f_Cxx_Reg_h\n"\
3656"\n"\
3657"\n"\
3658"\n"\
3659"#ifndef ae2f_Cxx_h\n"\
3660"#define ae2f_Cxx_h\n"\
3661"\n"\
3662"\n"\
3663"\n"\
3664"#define ae2f_NONE\n"\
3665"\n"\
3666"#if __cplusplus\n"\
3667"\n"\
3668"\n"\
3669"\n"\
3670"\n"\
3671"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3672"\n"\
3673"\n"\
3674"\n"\
3675"#define ae2f_WhenC(...) ae2f_NONE\n"\
3676"\n"\
3677"#else\n"\
3678"\n"\
3679"\n"\
3680"\n"\
3681"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3682"\n"\
3683"\n"\
3684"\n"\
3685"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3686"\n"\
3687"#endif\n"\
3688"\n"\
3689"\n"\
3690"\n"\
3691"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3692"\n"\
3693"\n"\
3694"\n"\
3695"\n"\
3696"\n"\
3697"#define ae2f_c_check && !ae2f_is_cxx\n"\
3698"\n"\
3699"\n"\
3700"\n"\
3701"\n"\
3702"\n"\
3703"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3704"\n"\
3705"\n"\
3706"\n"\
3707"#ifndef ae2f_Cxx_Reg_h\n"\
3708"#define ae2f_Cxx_Reg_h\n"\
3709"\n"\
3710"\n"\
3711"\n"\
3712"#ifndef ae2f_Cxx_h\n"\
3713"#define ae2f_Cxx_h\n"\
3714"\n"\
3715"\n"\
3716"\n"\
3717"#define ae2f_NONE\n"\
3718"\n"\
3719"#if __cplusplus\n"\
3720"\n"\
3721"\n"\
3722"\n"\
3723"\n"\
3724"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3725"\n"\
3726"\n"\
3727"\n"\
3728"#define ae2f_WhenC(...) ae2f_NONE\n"\
3729"\n"\
3730"#else\n"\
3731"\n"\
3732"\n"\
3733"\n"\
3734"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3735"\n"\
3736"\n"\
3737"\n"\
3738"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3739"\n"\
3740"#endif\n"\
3741"\n"\
3742"\n"\
3743"\n"\
3744"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3745"\n"\
3746"\n"\
3747"\n"\
3748"\n"\
3749"\n"\
3750"#define ae2f_c_check && !ae2f_is_cxx\n"\
3751"\n"\
3752"\n"\
3753"\n"\
3754"\n"\
3755"\n"\
3756"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3757"\n"\
3758"\n"\
3759"\n"\
3760"#ifndef ae2f_Cxx_Reg_h\n"\
3761"#define ae2f_Cxx_Reg_h\n"\
3762"\n"\
3763"\n"\
3764"\n"\
3765"#ifndef ae2f_Cxx_h\n"\
3766"#define ae2f_Cxx_h\n"\
3767"\n"\
3768"\n"\
3769"\n"\
3770"#define ae2f_NONE\n"\
3771"\n"\
3772"#if __cplusplus\n"\
3773"\n"\
3774"\n"\
3775"\n"\
3776"\n"\
3777"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3778"\n"\
3779"\n"\
3780"\n"\
3781"#define ae2f_WhenC(...) ae2f_NONE\n"\
3782"\n"\
3783"#else\n"\
3784"\n"\
3785"\n"\
3786"\n"\
3787"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3788"\n"\
3789"\n"\
3790"\n"\
3791"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3792"\n"\
3793"#endif\n"\
3794"\n"\
3795"\n"\
3796"\n"\
3797"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3798"\n"\
3799"\n"\
3800"\n"\
3801"\n"\
3802"\n"\
3803"#define ae2f_c_check && !ae2f_is_cxx\n"\
3804"\n"\
3805"\n"\
3806"\n"\
3807"\n"\
3808"\n"\
3809"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3810"\n"\
3811"\n"\
3812"\n"\
3813"#ifndef ae2f_Cxx_Reg_h\n"\
3814"#define ae2f_Cxx_Reg_h\n"\
3815"\n"\
3816"\n"\
3817"\n"\
3818"#ifndef ae2f_Cxx_h\n"\
3819"#define ae2f_Cxx_h\n"\
3820"\n"\
3821"\n"\
3822"\n"\
3823"#define ae2f_NONE\n"\
3824"\n"\
3825"#if __cplusplus\n"\
3826"\n"\
3827"\n"\
3828"\n"\
3829"\n"\
3830"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3831"\n"\
3832"\n"\
3833"\n"\
3834"#define ae2f_WhenC(...) ae2f_NONE\n"\
3835"\n"\
3836"#else\n"\
3837"\n"\
3838"\n"\
3839"\n"\
3840"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3841"\n"\
3842"\n"\
3843"\n"\
3844"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3845"\n"\
3846"#endif\n"\
3847"\n"\
3848"\n"\
3849"\n"\
3850"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3851"\n"\
3852"\n"\
3853"\n"\
3854"\n"\
3855"\n"\
3856"#define ae2f_c_check && !ae2f_is_cxx\n"\
3857"\n"\
3858"\n"\
3859"\n"\
3860"\n"\
3861"\n"\
3862"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3863"\n"\
3864"\n"\
3865"\n"\
3866"#ifndef ae2f_Cxx_Reg_h\n"\
3867"#define ae2f_Cxx_Reg_h\n"\
3868"\n"\
3869"\n"\
3870"\n"\
3871"#ifndef ae2f_Cxx_h\n"\
3872"#define ae2f_Cxx_h\n"\
3873"\n"\
3874"\n"\
3875"\n"\
3876"#define ae2f_NONE\n"\
3877"\n"\
3878"#if __cplusplus\n"\
3879"\n"\
3880"\n"\
3881"\n"\
3882"\n"\
3883"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3884"\n"\
3885"\n"\
3886"\n"\
3887"#define ae2f_WhenC(...) ae2f_NONE\n"\
3888"\n"\
3889"#else\n"\
3890"\n"\
3891"\n"\
3892"\n"\
3893"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3894"\n"\
3895"\n"\
3896"\n"\
3897"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3898"\n"\
3899"#endif\n"\
3900"\n"\
3901"\n"\
3902"\n"\
3903"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3904"\n"\
3905"\n"\
3906"\n"\
3907"\n"\
3908"\n"\
3909"#define ae2f_c_check && !ae2f_is_cxx\n"\
3910"\n"\
3911"\n"\
3912"\n"\
3913"\n"\
3914"\n"\
3915"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3916"\n"\
3917"\n"\
3918"\n"\
3919"#ifndef ae2f_Cxx_Reg_h\n"\
3920"#define ae2f_Cxx_Reg_h\n"\
3921"\n"\
3922"\n"\
3923"\n"\
3924"#ifndef ae2f_Cxx_h\n"\
3925"#define ae2f_Cxx_h\n"\
3926"\n"\
3927"\n"\
3928"\n"\
3929"#define ae2f_NONE\n"\
3930"\n"\
3931"#if __cplusplus\n"\
3932"\n"\
3933"\n"\
3934"\n"\
3935"\n"\
3936"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3937"\n"\
3938"\n"\
3939"\n"\
3940"#define ae2f_WhenC(...) ae2f_NONE\n"\
3941"\n"\
3942"#else\n"\
3943"\n"\
3944"\n"\
3945"\n"\
3946"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3947"\n"\
3948"\n"\
3949"\n"\
3950"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3951"\n"\
3952"#endif\n"\
3953"\n"\
3954"\n"\
3955"\n"\
3956"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3957"\n"\
3958"\n"\
3959"\n"\
3960"\n"\
3961"\n"\
3962"#define ae2f_c_check && !ae2f_is_cxx\n"\
3963"\n"\
3964"\n"\
3965"\n"\
3966"\n"\
3967"\n"\
3968"#define ae2f_cxx_check && ae2f_is_cxx\n"\
3969"\n"\
3970"\n"\
3971"\n"\
3972"#ifndef ae2f_Cxx_Reg_h\n"\
3973"#define ae2f_Cxx_Reg_h\n"\
3974"\n"\
3975"\n"\
3976"\n"\
3977"#ifndef ae2f_Cxx_h\n"\
3978"#define ae2f_Cxx_h\n"\
3979"\n"\
3980"\n"\
3981"\n"\
3982"#define ae2f_NONE\n"\
3983"\n"\
3984"#if __cplusplus\n"\
3985"\n"\
3986"\n"\
3987"\n"\
3988"\n"\
3989"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3990"\n"\
3991"\n"\
3992"\n"\
3993"#define ae2f_WhenC(...) ae2f_NONE\n"\
3994"\n"\
3995"#else\n"\
3996"\n"\
3997"\n"\
3998"\n"\
3999"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4000"\n"\
4001"\n"\
4002"\n"\
4003"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4004"\n"\
4005"#endif\n"\
4006"\n"\
4007"\n"\
4008"\n"\
4009"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4010"\n"\
4011"\n"\
4012"\n"\
4013"\n"\
4014"\n"\
4015"#define ae2f_c_check && !ae2f_is_cxx\n"\
4016"\n"\
4017"\n"\
4018"\n"\
4019"\n"\
4020"\n"\
4021"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4022"\n"\
4023"\n"\
4024"\n"\
4025"#ifndef ae2f_Cxx_Reg_h\n"\
4026"#define ae2f_Cxx_Reg_h\n"\
4027"\n"\
4028"\n"\
4029"\n"\
4030"#ifndef ae2f_Cxx_h\n"\
4031"#define ae2f_Cxx_h\n"\
4032"\n"\
4033"\n"\
4034"\n"\
4035"#define ae2f_NONE\n"\
4036"\n"\
4037"#if __cplusplus\n"\
4038"\n"\
4039"\n"\
4040"\n"\
4041"\n"\
4042"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4043"\n"\
4044"\n"\
4045"\n"\
4046"#define ae2f_WhenC(...) ae2f_NONE\n"\
4047"\n"\
4048"#else\n"\
4049"\n"\
4050"\n"\
4051"\n"\
4052"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4053"\n"\
4054"\n"\
4055"\n"\
4056"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4057"\n"\
4058"#endif\n"\
4059"\n"\
4060"\n"\
4061"\n"\
4062"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4063"\n"\
4064"\n"\
4065"\n"\
4066"\n"\
4067"\n"\
4068"#define ae2f_c_check && !ae2f_is_cxx\n"\
4069"\n"\
4070"\n"\
4071"\n"\
4072"\n"\
4073"\n"\
4074"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4075"\n"\
4076"\n"\
4077"\n"\
4078"#ifndef ae2f_Cxx_Reg_h\n"\
4079"#define ae2f_Cxx_Reg_h\n"\
4080"\n"\
4081"\n"\
4082"\n"\
4083"#ifndef ae2f_Cxx_h\n"\
4084"#define ae2f_Cxx_h\n"\
4085"\n"\
4086"\n"\
4087"\n"\
4088"#define ae2f_NONE\n"\
4089"\n"\
4090"#if __cplusplus\n"\
4091"\n"\
4092"\n"\
4093"\n"\
4094"\n"\
4095"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4096"\n"\
4097"\n"\
4098"\n"\
4099"#define ae2f_WhenC(...) ae2f_NONE\n"\
4100"\n"\
4101"#else\n"\
4102"\n"\
4103"\n"\
4104"\n"\
4105"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4106"\n"\
4107"\n"\
4108"\n"\
4109"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4110"\n"\
4111"#endif\n"\
4112"\n"\
4113"\n"\
4114"\n"\
4115"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4116"\n"\
4117"\n"\
4118"\n"\
4119"\n"\
4120"\n"\
4121"#define ae2f_c_check && !ae2f_is_cxx\n"\
4122"\n"\
4123"\n"\
4124"\n"\
4125"\n"\
4126"\n"\
4127"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4128"\n"\
4129"\n"\
4130"\n"\
4131"#ifndef ae2f_Cxx_Reg_h\n"\
4132"#define ae2f_Cxx_Reg_h\n"\
4133"\n"\
4134"\n"\
4135"\n"\
4136"#ifndef ae2f_Cxx_h\n"\
4137"#define ae2f_Cxx_h\n"\
4138"\n"\
4139"\n"\
4140"\n"\
4141"#define ae2f_NONE\n"\
4142"\n"\
4143"#if __cplusplus\n"\
4144"\n"\
4145"\n"\
4146"\n"\
4147"\n"\
4148"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4149"\n"\
4150"\n"\
4151"\n"\
4152"#define ae2f_WhenC(...) ae2f_NONE\n"\
4153"\n"\
4154"#else\n"\
4155"\n"\
4156"\n"\
4157"\n"\
4158"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4159"\n"\
4160"\n"\
4161"\n"\
4162"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4163"\n"\
4164"#endif\n"\
4165"\n"\
4166"\n"\
4167"\n"\
4168"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4169"\n"\
4170"\n"\
4171"\n"\
4172"\n"\
4173"\n"\
4174"#define ae2f_c_check && !ae2f_is_cxx\n"\
4175"\n"\
4176"\n"\
4177"\n"\
4178"\n"\
4179"\n"\
4180"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4181"\n"\
4182"\n"\
4183"\n"\
4184"#ifndef ae2f_Cxx_Reg_h\n"\
4185"#define ae2f_Cxx_Reg_h\n"\
4186"\n"\
4187"\n"\
4188"\n"\
4189"#ifndef ae2f_Cxx_h\n"\
4190"#define ae2f_Cxx_h\n"\
4191"\n"\
4192"\n"\
4193"\n"\
4194"#define ae2f_NONE\n"\
4195"\n"\
4196"#if __cplusplus\n"\
4197"\n"\
4198"\n"\
4199"\n"\
4200"\n"\
4201"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4202"\n"\
4203"\n"\
4204"\n"\
4205"#define ae2f_WhenC(...) ae2f_NONE\n"\
4206"\n"\
4207"#else\n"\
4208"\n"\
4209"\n"\
4210"\n"\
4211"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4212"\n"\
4213"\n"\
4214"\n"\
4215"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4216"\n"\
4217"#endif\n"\
4218"\n"\
4219"\n"\
4220"\n"\
4221"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4222"\n"\
4223"\n"\
4224"\n"\
4225"\n"\
4226"\n"\
4227"#define ae2f_c_check && !ae2f_is_cxx\n"\
4228"\n"\
4229"\n"\
4230"\n"\
4231"\n"\
4232"\n"\
4233"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4234"\n"\
4235"\n"\
4236"\n"\
4237"#ifndef ae2f_Cxx_Reg_h\n"\
4238"#define ae2f_Cxx_Reg_h\n"\
4239"\n"\
4240"\n"\
4241"\n"\
4242"#ifndef ae2f_Cxx_h\n"\
4243"#define ae2f_Cxx_h\n"\
4244"\n"\
4245"\n"\
4246"\n"\
4247"#define ae2f_NONE\n"\
4248"\n"\
4249"#if __cplusplus\n"\
4250"\n"\
4251"\n"\
4252"\n"\
4253"\n"\
4254"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4255"\n"\
4256"\n"\
4257"\n"\
4258"#define ae2f_WhenC(...) ae2f_NONE\n"\
4259"\n"\
4260"#else\n"\
4261"\n"\
4262"\n"\
4263"\n"\
4264"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4265"\n"\
4266"\n"\
4267"\n"\
4268"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
4269"\n"\
4270"#endif\n"\
4271"\n"\
4272"\n"\
4273"\n"\
4274"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
4275"\n"\
4276"\n"\
4277"\n"\
4278"\n"\
4279"\n"\
4280"#define ae2f_c_check && !ae2f_is_cxx\n"\
4281"\n"\
4282"\n"\
4283"\n"\
4284"\n"\
4285"\n"\
4286"#define ae2f_cxx_check && ae2f_is_cxx\n"\
4287"\n"\
4288"\n"\
4289"\n"\
4290"#ifndef ae2f_Cxx_Reg_h\n"\
4291"#define ae2f_Cxx_Reg_h\n"\
4292"\n"\
4293"\n"\
4294"\n"\
4295"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4296"\n"\
4297"#endif\n"\
4298"\n"\
4299"\n"\
4300"#endif\n"\
4301"\n"\
4302"\n"\
4303"\n"\
4304"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4305"\n"\
4306"#endif\n"\
4307"\n"\
4308"\n"\
4309"#endif\n"\
4310"\n"\
4311"\n"\
4312"\n"\
4313"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4314"\n"\
4315"#endif\n"\
4316"\n"\
4317"\n"\
4318"#endif\n"\
4319"\n"\
4320"\n"\
4321"\n"\
4322"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4323"\n"\
4324"#endif\n"\
4325"\n"\
4326"\n"\
4327"#endif\n"\
4328"\n"\
4329"\n"\
4330"\n"\
4331"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4332"\n"\
4333"#endif\n"\
4334"\n"\
4335"\n"\
4336"#endif\n"\
4337"\n"\
4338"\n"\
4339"\n"\
4340"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4341"\n"\
4342"#endif\n"\
4343"\n"\
4344"\n"\
4345"#endif\n"\
4346"\n"\
4347"\n"\
4348"\n"\
4349"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4350"\n"\
4351"#endif\n"\
4352"\n"\
4353"\n"\
4354"#endif\n"\
4355"\n"\
4356"\n"\
4357"\n"\
4358"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4359"\n"\
4360"#endif\n"\
4361"\n"\
4362"\n"\
4363"#endif\n"\
4364"\n"\
4365"\n"\
4366"\n"\
4367"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4368"\n"\
4369"#endif\n"\
4370"\n"\
4371"\n"\
4372"#endif\n"\
4373"\n"\
4374"\n"\
4375"\n"\
4376"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4377"\n"\
4378"#endif\n"\
4379"\n"\
4380"\n"\
4381"#endif\n"\
4382"\n"\
4383"\n"\
4384"\n"\
4385"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4386"\n"\
4387"#endif\n"\
4388"\n"\
4389"\n"\
4390"#endif\n"\
4391"\n"\
4392"\n"\
4393"\n"\
4394"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4395"\n"\
4396"#endif\n"\
4397"\n"\
4398"\n"\
4399"#endif\n"\
4400"\n"\
4401"\n"\
4402"\n"\
4403"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4404"\n"\
4405"#endif\n"\
4406"\n"\
4407"\n"\
4408"#endif\n"\
4409"\n"\
4410"\n"\
4411"\n"\
4412"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4413"\n"\
4414"#endif\n"\
4415"\n"\
4416"\n"\
4417"#endif\n"\
4418"\n"\
4419"\n"\
4420"\n"\
4421"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4422"\n"\
4423"#endif\n"\
4424"\n"\
4425"\n"\
4426"#endif\n"\
4427"\n"\
4428"\n"\
4429"\n"\
4430"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4431"\n"\
4432"#endif\n"\
4433"\n"\
4434"\n"\
4435"#endif\n"\
4436"\n"\
4437"\n"\
4438"\n"\
4439"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4440"\n"\
4441"#endif\n"\
4442"\n"\
4443"\n"\
4444"#endif\n"\
4445"\n"\
4446"\n"\
4447"\n"\
4448"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4449"\n"\
4450"#endif\n"\
4451"\n"\
4452"\n"\
4453"#endif\n"\
4454"\n"\
4455"\n"\
4456"\n"\
4457"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4458"\n"\
4459"#endif\n"\
4460"\n"\
4461"\n"\
4462"#endif\n"\
4463"\n"\
4464"\n"\
4465"\n"\
4466"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4467"\n"\
4468"#endif\n"\
4469"\n"\
4470"\n"\
4471"#endif\n"\
4472"\n"\
4473"\n"\
4474"\n"\
4475"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4476"\n"\
4477"#endif\n"\
4478"\n"\
4479"\n"\
4480"#endif\n"\
4481"\n"\
4482"\n"\
4483"\n"\
4484"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4485"\n"\
4486"#endif\n"\
4487"\n"\
4488"\n"\
4489"#endif\n"\
4490"\n"\
4491"\n"\
4492"\n"\
4493"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
4494"\n"\
4495"#endif\n"\
4496"\n"\
4497"\n"\
4498"#endif\n"\
4499"\n"\
4500"\n"\
4501"\n"\
4502"\n"\
4503"#undef ae2f_LP\n"\
4504"#undef ae2f_NONE\n"\
4505"#undef ae2f_opt\n"\
4506"\n"\
4507"\n"\
4508"#define ae2f_NONE\n"\
4509"\n"\
4510"\n"\
4511"#define\tae2f_LP(...) ae2f_NONE\n"\
4512"\n"\
4513"\n"\
4514"#define ae2f_opt ae2f_NONE\n"\
4515"\n"\
4516"\n"\
4517"#define ae2f_FREE(...) ae2f_NONE\n"\
4518"\n"\
4519"\n"\
4520"#define ae2f_v ae2f_NONE\n"\
4521"\n"\
4522"\n"\
4523"\n"\
4524"\n"\
4525"#define ae2f_RecordMk(type, ...) \\\n"\
4526" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
4527"\n"\
4528"\n"\
4529"\n"\
4530"#define ae2f_static_cast(t, v) \\\n"\
4531" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
4532"\n"\
4533"\n"\
4534"\n"\
4535"#define ae2f_dynamic_cast(t, v) \\\n"\
4536" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
4537"\n"\
4538"\n"\
4539"\n"\
4540"#define ae2f_reinterpret_cast(t, v) \\\n"\
4541" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
4542"\n"\
4543"\n"\
4544"\n"\
4545"#define ae2f_const_cast(t, v) \\\n"\
4546" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
4547"\n"\
4548"\n"\
4549"\n"\
4550"\n"\
4551"\n"\
4552"\n"\
4553"\n"\
4554"\n"\
4555"\n"\
4556"\n"\
4557"\n"\
4558"\n"\
4559"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
4560" ae2f_WhenC((union { \\\n"\
4561" tThen a; \\\n"\
4562" tNow b; \\\n"\
4563" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
4564" ._b()\n"\
4565"\n"\
4566"\n"\
4567"\n"\
4568"\n"\
4569"\n"\
4570"\n"\
4571"#define ae2f_struct ae2f_WhenC(struct)\n"\
4572"\n"\
4573"\n"\
4574"\n"\
4575"\n"\
4576"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
4577"\n"\
4578"\n"\
4579"\n"\
4580"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
4581"\n"\
4582"\n"\
4583"\n"\
4584"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
4585"\n"\
4586"\n"\
4587"\n"\
4588"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
4589"\n"\
4590"\n"\
4591"#define unless(...) if (!(__VA_ARGS__))\n"\
4592"\n"\
4593"#define ae2f_structdef_v(key, name, ...) \\\n"\
4594" typedef key name __VA_ARGS__; \\\n"\
4595" key name\n"\
4596"\n"\
4597"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
4598"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
4599"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
4600"\n"\
4601"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
4602"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
4603"\n"\
4604"\n"\
4605"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
4606"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
4607"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
4608"\t\treturn nameeval tmpluse (prmuse); \\\n"\
4609"\t} \\\n"\
4610"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
4611"\n"\
4612"#if !__ae2f_stdcheck_CC(201103L)\n"\
4613"#undef\tae2f_noexcept\n"\
4614"#define ae2f_noexcept\n"\
4615"#else\n"\
4616"#define ae2f_noexcept noexcept\n"\
4617"#endif\n"\
4618"\n"\
4619"\n"\
4620"#undef\tae2f_restrict \n"\
4621"#if ae2f_stdc_v < 199901L\n"\
4622"#define ae2f_restrict\n"\
4623"#else\n"\
4624"#define ae2f_restrict restrict\n"\
4625"#endif \n"\
4626"\n"\
4627"#if __cplusplus\n"\
4628"#define ae2f_restrict\n"\
4629"#endif \n"\
4630"\n"\
4631"#if !__ae2f_stdcheck_CC(201103L)\n"\
4632"\n"\
4633"\n"\
4634"#define ae2f_noexcept\n"\
4635"#define ae2f_constexpr\n"\
4636"#else\n"\
4637"#define ae2f_noexcept noexcept\n"\
4638"#define ae2f_constexpr constexpr\n"\
4639"#endif \n"\
4640"\n"\
4641"#if ae2f_WhenC(!)0\n"\
4642"#undef ae2f_noexcept\n"\
4643"#define ae2f_noexcept\n"\
4644"#endif\n"\
4645"\n"\
4646"#endif\n"\
4647"\n"\
4648"\n"\
4649"\n"\
4650"\n"\
4651"\n"\
4652"\n"\
4653"\n"\
4654"\n"\
4655"\n"\
4656"#define ae2f_PackCount 0\n"\
4657"\n"\
4658"\n"\
4659"#if ae2f_PackCount\n"\
4660"#pragma pack(push, 0)\n"\
4661"#endif\n"\
4662"\n"\
4663"\n"\
4664"\n"\
4665"#ifndef ae2f_Call_h\n"\
4666"#define ae2f_Call_h\n"\
4667"\n"\
4668"#define ON 1\n"\
4669"#define OFF 0\n"\
4670"\n"\
4671"#if (defined(_WIN32) || defined(_WIN64))\n"\
4672"#define ae2f_IS_WIN 1\n"\
4673"#else \n"\
4674"#define ae2f_IS_WIN 0\n"\
4675"#endif\n"\
4676"\n"\
4677"#if (defined(__linux__))\n"\
4678"#define ae2f_IS_LINUX 1\n"\
4679"#else \n"\
4680"#define ae2f_IS_LINUX 0\n"\
4681"#endif\n"\
4682"\n"\
4683"#if defined(__MACH__) || defined(__APPLE__)\n"\
4684"#define ae2f_IS_APPLE 1\n"\
4685"#else\n"\
4686"#define ae2f_IS_APPLE 0\n"\
4687"#endif\n"\
4688"\n"\
4689"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
4690"\n"\
4691"\n"\
4692"\n"\
4693"#define ae2f_IDK 1\n"\
4694"#else\n"\
4695"\n"\
4696"#define ae2f_IDK 0\n"\
4697"#endif\n"\
4698"\n"\
4699"\n"\
4700"\n"\
4701"\n"\
4702"#define ae2f_IS_SHARED ON\n"\
4703"\n"\
4704"\n"\
4705"#if ae2f_IS_SHARED\n"\
4706"\n"\
4707"#if ae2f_IS_WIN\n"\
4708"\n"\
4709"\n"\
4710"\n"\
4711"\n"\
4712"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
4713"\n"\
4714"\n"\
4715"\n"\
4716"\n"\
4717"\n"\
4718"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
4719"#endif\n"\
4720"\n"\
4721"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
4722"\n"\
4723"\n"\
4724"\n"\
4725"\n"\
4726"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
4727"\n"\
4728"\n"\
4729"\n"\
4730"\n"\
4731"\n"\
4732"#define ae2f_SHAREDCALL\n"\
4733"#endif\n"\
4734"\n"\
4735"\n"\
4736"\n"\
4737"#else\n"\
4738"\n"\
4739"\n"\
4740"\n"\
4741"\n"\
4742"\n"\
4743"#define ae2f_SHAREDEXPORT\n"\
4744"\n"\
4745"\n"\
4746"\n"\
4747"\n"\
4748"#define ae2f_SHAREDCALL\n"\
4749"#endif\n"\
4750"\n"\
4751"#endif\n"\
4752"\n"\
4753"\n"\
4754"#ifndef ae2f_MAC_BUILD\n"\
4755"\n"\
4756"#define\tae2f_MAC_BUILD OFF\n"\
4757"#endif\n"\
4758"\n"\
4759"\n"\
4760"\n"\
4761"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
4762"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
4763"\n"\
4764"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
4765"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
4766"\n"\
4767"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
4768"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
4769"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
4770"\n"\
4771"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
4772"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
4773"{ A_t* a; B_t* b; }\n"\
4774"\n"\
4775"#define ae2f_AnnUtilIdx1(idx0, sz0)\t\t\t\t(idx0)\n"\
4776"#define ae2f_AnnUtilIdx2(idx1, sz1, idx0, sz0)\t\t\t((idx1) * (sz0) + (idx0))\n"\
4777"#define ae2f_AnnUtilIdx3(idx2, sz2, idx1, sz1, idx0, sz0)\t((idx2) * (sz1) * (sz0) + (idx1) * (sz0) + (idx0))\n"\
4778"\n"\
4779"\n"\
4780"\n"\
4781"#if ae2f_PackCount\n"\
4782"#pragma pack(pop)\n"\
4783"#endif\n"\
4784"\n"\
4785"\n"\
4786"#endif\n"\
4787"\n"\
4788"\n"\
4789"\n"\
4790"\n"\
4791"\n"\
4792"\n"\
4793"\n"\
4794"\n"\
4795"\n"\
4796"\n"\
4797"\n"\
4798"#define ae2f_PackCount 0\n"\
4799"\n"\
4800"\n"\
4801"#if ae2f_PackCount\n"\
4802"#pragma pack(push, 0)\n"\
4803"#endif\n"\
4804"\n"\
4805"\n"\
4806"\n"\
4807"ae2f_structdef_n(struct, ae2f_AnnSlp_t, ae2f_AnnSlpREG_t) {\n"\
4808"\t\n"\
4809"\tsize_t m_inc;\n"\
4810"\n"\
4811"\t\n"\
4812"\tsize_t m_outc;\n"\
4813"};\n"\
4814"\n"\
4815"\n"\
4816"ae2f_structdef_n(struct, ae2f_AnnSlpPredict_t, ae2f_AnnSlpPredictREG_t) {\n"\
4817"\t\n"\
4818"\tsize_t\t\t\tm_i, m_j;\n"\
4819"\n"\
4820"\tae2f_float_t\t\tm_ret;\n"\
4821"};\n"\
4822"\n"\
4823"ae2f_structdef(struct, ae2f_AnnSlpTrainREG_t) {\n"\
4824"\tsize_t\t\t\tm_i, m_j;\n"\
4825"\n"\
4826"\tae2f_float_t\t\tm_ret;\n"\
4827"\n"\
4828"};\n"\
4829"\n"\
4830"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
4831"\t\n"\
4832"\tsize_t\t\t\tm_i, m_j;\n"\
4833"\n"\
4834"\tae2f_float_t\t\tm_ret;\n"\
4835"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4836"};\n"\
4837"\n"\
4838"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
4839"\tsize_t\t\tm_j;\n"\
4840"\tae2f_float_t\tm_ret;\n"\
4841"\tae2f_float_t\tm_tmp;\n"\
4842"};\n"\
4843"\n"\
4844"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
4845"\tsize_t\t\tm_j;\n"\
4846"\tae2f_float_t\tm_ret;\n"\
4847"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
4848"};\n"\
4849"\n"\
4850"\n"\
4851"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFollowOneREG_t, ae2f_AnnSlpFitOne_t) {\n"\
4852"\t\n"\
4853"\tsize_t\t\t\tm_j;\n"\
4854"};\n"\
4855"\n"\
4856"\n"\
4857"ae2f_structdef(struct, ae2f_AnnSlp);\n"\
4858"\n"\
4859"ae2f_structdef(union, ae2f_AnnSlpMkU0_t) {\n"\
4860"\tae2f_float_t* ae2f_restrict\ta;\n"\
4861"\tae2f_AnnSlp* ae2f_restrict\tb;\n"\
4862"};\n"\
4863"\n"\
4864"\n"\
4865"ae2f_structdef_n(struct, ae2f_AnnSlpMk_t, ae2f_AnnSlpMkREG_t) {\n"\
4866"\t\n"\
4867"\tsize_t m_stack, m_alloccount;\n"\
4868"\t\n"\
4869"\tae2f_AnnSlp* ae2f_restrict m_ptr;\n"\
4870"\t\n"\
4871"\tae2f_AnnSlpMkU0_t m_fieldptr;\n"\
4872"};\n"\
4873"\n"\
4874"ae2f_structdef_n(\n"\
4875"\t\tstruct\n"\
4876"\t\t, ae2f_AnnSlpFollow_t\n"\
4877"\t\t, ae2f_AnnSlpFollowREG_t\n"\
4878"\t\t, ae2f_AnnSlpFitREG_t\n"\
4879"\t\t, ae2f_AnnSlpFetchDeltaREG_t\n"\
4880"\t\t)\n"\
4881"{\n"\
4882"\t\n"\
4883"\tsize_t\t\t\tm_i, m_j;\n"\
4884"};\n"\
4885"\n"\
4886"ae2f_structdef_n(struct, ae2f_AnnSlpFitRAM_t, ae2f_AnnSlpFetchDeltaRAM_t, ae2f_AnnSlpTrainRAM_t) {\n"\
4887"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4888"};\n"\
4889"\n"\
4890"\n"\
4891"ae2f_structdef_n(struct, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
4892"\t\n"\
4893"\tsize_t\t\t\tm_i, m_j;\n"\
4894"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
4895"};\n"\
4896"\n"\
4897"\n"\
4898"\n"\
4899"#if ae2f_PackCount\n"\
4900"#pragma pack(pop)\n"\
4901"#endif\n"\
4902"\n"\
4903"\n"\
4904"#endif\n"\
4905"\n"\
4906"#undef __ae2f_MACRO_GENERATED\n"\
4907"#define __ae2f_MACRO_GENERATED 1\n"\
4908"#undef\t__ae2f_MACRO_GENERATED\n"\
4909"#define\t__ae2f_MACRO_GENERATED\t1\n"\
4910"#ifndef ae2f_Ann_Slp_c\n"\
4911"#if !__ae2f_MACRO_GENERATED\n"\
4912"#ifndef ae2f_NEED_CLASS\n"\
4913"#define ae2f_NEED_CLASS\t1\n"\
4914"#endif\n"\
4915"\n"\
4916"\n"\
4917"#ifndef ae2f_Ann_Slp_h\n"\
4918"#define ae2f_Ann_Slp_h\n"\
4919"\n"\
4920"#ifndef ae2f_Ann_Slp_Core_h\n"\
4921"#define ae2f_Ann_Slp_Core_h\n"\
4922"\n"\
4923"\n"\
4924"\n"\
4925"#ifndef ae2f_Float_h\n"\
4926"#define ae2f_Float_h\n"\
4927"\n"\
4928"\n"\
4929"#ifndef ae2f_float_h\n"\
4930"#define ae2f_float_h\n"\
4931"\n"\
4932"\n"\
4933"\n"\
4934"\n"\
4935"\n"\
4936"#define ae2f_float float\n"\
4937"\n"\
4938"#endif \n"\
4939"\n"\
4940"\n"\
4941"typedef ae2f_float ae2f_float_t;\n"\
4942"\n"\
4943"#endif\n"\
4944"\n"\
4945"\n"\
4946"\n"\
4947"#if !defined(ae2f_errGlobal_h)\n"\
4948"#define ae2f_errGlobal_h\n"\
4949"\n"\
4950"\n"\
4951"\n"\
4952"\n"\
4953"\n"\
4954"typedef uint8_t ae2f_err_t;\n"\
4955"\n"\
4956"\n"\
4957"\n"\
4958"#define ae2f_errGlob_OK 0\n"\
4959"\n"\
4960"\n"\
4961"\n"\
4962"\n"\
4963"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
4964"\n"\
4965"\n"\
4966"\n"\
4967"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
4968"\n"\
4969"\n"\
4970"\n"\
4971"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
4972"\n"\
4973"\n"\
4974"\n"\
4975"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
4976"\n"\
4977"\n"\
4978"\n"\
4979"\n"\
4980"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
4981"\n"\
4982"\n"\
4983"\n"\
4984"\n"\
4985"#define ae2f_errGlob_NFOUND 0b100000\n"\
4986"\n"\
4987"\n"\
4988"\n"\
4989"\n"\
4990"\n"\
4991"\n"\
4992"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
4993"\n"\
4994"\n"\
4995"\n"\
4996"\n"\
4997"\n"\
4998"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
4999"\n"\
5000"#endif\n"\
5001"\n"\
5002"\n"\
5003"#if !defined(ae2f_Cast_h)\n"\
5004"\n"\
5005"\n"\
5006"\n"\
5007"#define ae2f_Cast_h\n"\
5008"\n"\
5009"\n"\
5010"\n"\
5011"\n"\
5012"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
5013"\n"\
5014"\n"\
5015"\n"\
5016"\n"\
5017"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
5018"\n"\
5019"\n"\
5020"\n"\
5021"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
5022"#define ae2f_Cast_CasterUnion_hpp\n"\
5023"\n"\
5024"#ifndef ae2f_Cast_consteval_hpp\n"\
5025"#define ae2f_Cast_consteval_hpp\n"\
5026"#if 90 >= 50\n"\
5027"#define ae2f_LangVer_C 1990\n"\
5028"#else\n"\
5029"#define ae2f_LangVer_C 2090\n"\
5030"#endif\n"\
5031"\n"\
5032"#if 11 >= 50\n"\
5033"#define ae2f_LangVer_CC 1911\n"\
5034"#else\n"\
5035"#define ae2f_LangVer_CC 2011\n"\
5036"#endif\n"\
5037"\n"\
5038"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
5039"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
5040"\n"\
5041"\n"\
5042"#ifdef\t__cplusplus\n"\
5043"#undef\tae2f_stdcc_v\n"\
5044"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
5045"#else\n"\
5046"\n"\
5047"#undef\tae2f_stdcc_v\n"\
5048"#define\tae2f_stdcc_v\t(199711L)\n"\
5049"\n"\
5050"#if __ae2f_lvcheck_cc(2011)\n"\
5051"#undef\tae2f_stdcc_v\n"\
5052"#define\tae2f_stdcc_v\t(201103L)\n"\
5053"#endif\n"\
5054"\n"\
5055"#if __ae2f_lvcheck_cc(2014)\n"\
5056"#undef\tae2f_stdcc_v\n"\
5057"#define\tae2f_stdcc_v\t(201402L)\n"\
5058"#endif\n"\
5059"\n"\
5060"#if __ae2f_lvcheck_cc(2017)\n"\
5061"#undef\tae2f_stdcc_v\n"\
5062"#define\tae2f_stdcc_v\t(201703L)\n"\
5063"#endif\n"\
5064"\n"\
5065"#if __ae2f_lvcheck_cc(2020)\n"\
5066"#undef\tae2f_stdcc_v\n"\
5067"#define\tae2f_stdcc_v\t(202002L)\n"\
5068"#endif\n"\
5069"\n"\
5070"#if __ae2f_lvcheck_cc(2023)\n"\
5071"#undef\tae2f_stdcc_v\n"\
5072"#define\tae2f_stdcc_v\t(202302L)\n"\
5073"#endif\n"\
5074"\n"\
5075"#endif\n"\
5076"\n"\
5077"#ifdef\t__STDC_VERSION__\n"\
5078"#undef\tae2f_stdc_v\n"\
5079"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
5080"#else\n"\
5081"\n"\
5082"#undef\tae2f_stdc_v\n"\
5083"#define ae2f_stdc_v\t(199001L)\n"\
5084"\n"\
5085"#if __ae2f_lvcheck_c(1999)\n"\
5086"#undef\tae2f_stdc_v\n"\
5087"#define ae2f_stdc_v\t(199901L)\n"\
5088"#endif\n"\
5089"\n"\
5090"#if __ae2f_lvcheck_c(2011)\n"\
5091"#undef\tae2f_stdc_v\n"\
5092"#define ae2f_stdc_v\t(201112L)\n"\
5093"#endif\n"\
5094"\n"\
5095"#if __ae2f_lvcheck_c(2017)\n"\
5096"#undef\tae2f_stdc_v\n"\
5097"#define ae2f_stdc_v\t(201710L)\n"\
5098"#endif\n"\
5099"\n"\
5100"#if __ae2f_lvcheck_c(2023)\n"\
5101"#undef\tae2f_stdc_v\n"\
5102"#define ae2f_stdc_v\t(202311L)\n"\
5103"#endif\n"\
5104"\n"\
5105"#endif\n"\
5106"\n"\
5107"#undef\t__ae2f_stdcheck_C\n"\
5108"#undef\t__ae2f_stdcheck_CC\n"\
5109"\n"\
5110"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
5111"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
5112"\n"\
5113"\n"\
5114"\n"\
5115"\n"\
5116"#if __ae2f_stdcheck_CC(201703L)\n"\
5117"#define ae2f_if_constexpr if constexpr\n"\
5118"#else\n"\
5119"#define ae2f_if_constexpr if\n"\
5120"#endif\n"\
5121"\n"\
5122"#if __ae2f_stdcheck_CC(202002L)\n"\
5123"#define ae2f_if_consteval\tif consteval\n"\
5124"#else\n"\
5125"#define ae2f_if_consteval\tif (0)\n"\
5126"#endif\n"\
5127"\n"\
5128"#if __ae2f_stdcheck_CC(202002L)\n"\
5129"#define ae2f_constexprvirtual constexpr virtual\n"\
5130"#define ae2f_constinit\tconstinit\n"\
5131"#else\n"\
5132"#define ae2f_constexprvirtual virtual\n"\
5133"#define ae2f_constinit\t\n"\
5134"#endif \n"\
5135"\n"\
5136"#if __ae2f_stdcheck_CC(201402L)\n"\
5137"#define ae2f_constextendedfun\tconstexpr\n"\
5138"#define ae2f_constextendedeval \tconstexpr\n"\
5139"\n"\
5140"#define ae2f_constextendedmethod\tconstexpr\n"\
5141"#define ae2f_constextendedmethodeval\tconstexpr\n"\
5142"\n"\
5143"#else\n"\
5144"#define ae2f_constextendedfun\tinline\n"\
5145"#define ae2f_constextendedmethod\tinline\n"\
5146"\n"\
5147"#define ae2f_constextendedeval\tinline\n"\
5148"#define ae2f_constextendedmethodeval\tinline\n"\
5149"#endif \n"\
5150"\n"\
5151"#if __ae2f_stdcheck_CC(201103L)\n"\
5152"#define ae2f_constexprmethod\t\tconstexpr\n"\
5153"#define ae2f_constexprfun\t\tconstexpr\n"\
5154"#define ae2f_constevalmethod\t\tconstexpr\n"\
5155"#define ae2f_virtual\t\tvirtual\n"\
5156"#else\n"\
5157"#define ae2f_constexprmethod\t\tinline\n"\
5158"#define ae2f_constexprfun\t\tinline\n"\
5159"#define ae2f_constevalmethod\t\tinline\n"\
5160"#define ae2f_virtual\t\t\n"\
5161"\n"\
5162"#if !defined(__cplusplus) \n"\
5163"\n"\
5164"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
5165"\n"\
5166"#define ae2f_constexpr\tconstexpr\n"\
5167"#else\n"\
5168"#define ae2f_constexpr\n"\
5169"#endif \n"\
5170"\n"\
5171"\n"\
5172"#endif \n"\
5173"\n"\
5174"#endif \n"\
5175"\n"\
5176"#if __ae2f_stdcheck_CC(202002L)\n"\
5177"#undef ae2f_constevalmethod\n"\
5178"#define ae2f_constevalmethod consteval \n"\
5179"#define ae2f_consteval\tconsteval\n"\
5180"#elif __ae2f_stdcheck_CC(0)\n"\
5181"\n"\
5182"#undef constevalmethod\n"\
5183"\n"\
5184"\n"\
5185"#define ae2f_consteval\n"\
5186"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
5187"\n"\
5188"#else\n"\
5189"\n"\
5190"#define ae2f_consteval\n"\
5191"#endif \n"\
5192"\n"\
5193"#endif\n"\
5194"\n"\
5195"\n"\
5196"\n"\
5197"\n"\
5198"\n"\
5199"\n"\
5200"\n"\
5201"\n"\
5202"template <typename t, typename k> union ae2f_UnionCaster {\n"\
5203" t a;\n"\
5204" k b;\n"\
5205" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
5206" ae2f_constexprmethod k _b() const { return b; }\n"\
5207"};\n"\
5208"\n"\
5209"#endif\n"\
5210"\n"\
5211"\n"\
5212"#ifndef ae2f_Cast_consteval_hpp\n"\
5213"#define ae2f_Cast_consteval_hpp\n"\
5214"#if 90 >= 50\n"\
5215"#define ae2f_LangVer_C 1990\n"\
5216"#else\n"\
5217"#define ae2f_LangVer_C 2090\n"\
5218"#endif\n"\
5219"\n"\
5220"#if 11 >= 50\n"\
5221"#define ae2f_LangVer_CC 1911\n"\
5222"#else\n"\
5223"#define ae2f_LangVer_CC 2011\n"\
5224"#endif\n"\
5225"\n"\
5226"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
5227"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
5228"\n"\
5229"\n"\
5230"#ifdef\t__cplusplus\n"\
5231"#undef\tae2f_stdcc_v\n"\
5232"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
5233"#else\n"\
5234"\n"\
5235"#undef\tae2f_stdcc_v\n"\
5236"#define\tae2f_stdcc_v\t(199711L)\n"\
5237"\n"\
5238"#if __ae2f_lvcheck_cc(2011)\n"\
5239"#undef\tae2f_stdcc_v\n"\
5240"#define\tae2f_stdcc_v\t(201103L)\n"\
5241"#endif\n"\
5242"\n"\
5243"#if __ae2f_lvcheck_cc(2014)\n"\
5244"#undef\tae2f_stdcc_v\n"\
5245"#define\tae2f_stdcc_v\t(201402L)\n"\
5246"#endif\n"\
5247"\n"\
5248"#if __ae2f_lvcheck_cc(2017)\n"\
5249"#undef\tae2f_stdcc_v\n"\
5250"#define\tae2f_stdcc_v\t(201703L)\n"\
5251"#endif\n"\
5252"\n"\
5253"#if __ae2f_lvcheck_cc(2020)\n"\
5254"#undef\tae2f_stdcc_v\n"\
5255"#define\tae2f_stdcc_v\t(202002L)\n"\
5256"#endif\n"\
5257"\n"\
5258"#if __ae2f_lvcheck_cc(2023)\n"\
5259"#undef\tae2f_stdcc_v\n"\
5260"#define\tae2f_stdcc_v\t(202302L)\n"\
5261"#endif\n"\
5262"\n"\
5263"#endif\n"\
5264"\n"\
5265"#ifdef\t__STDC_VERSION__\n"\
5266"#undef\tae2f_stdc_v\n"\
5267"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
5268"#else\n"\
5269"\n"\
5270"#undef\tae2f_stdc_v\n"\
5271"#define ae2f_stdc_v\t(199001L)\n"\
5272"\n"\
5273"#if __ae2f_lvcheck_c(1999)\n"\
5274"#undef\tae2f_stdc_v\n"\
5275"#define ae2f_stdc_v\t(199901L)\n"\
5276"#endif\n"\
5277"\n"\
5278"#if __ae2f_lvcheck_c(2011)\n"\
5279"#undef\tae2f_stdc_v\n"\
5280"#define ae2f_stdc_v\t(201112L)\n"\
5281"#endif\n"\
5282"\n"\
5283"#if __ae2f_lvcheck_c(2017)\n"\
5284"#undef\tae2f_stdc_v\n"\
5285"#define ae2f_stdc_v\t(201710L)\n"\
5286"#endif\n"\
5287"\n"\
5288"#if __ae2f_lvcheck_c(2023)\n"\
5289"#undef\tae2f_stdc_v\n"\
5290"#define ae2f_stdc_v\t(202311L)\n"\
5291"#endif\n"\
5292"\n"\
5293"#endif\n"\
5294"\n"\
5295"#undef\t__ae2f_stdcheck_C\n"\
5296"#undef\t__ae2f_stdcheck_CC\n"\
5297"\n"\
5298"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
5299"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
5300"\n"\
5301"\n"\
5302"\n"\
5303"\n"\
5304"#if __ae2f_stdcheck_CC(201703L)\n"\
5305"#define ae2f_if_constexpr if constexpr\n"\
5306"#else\n"\
5307"#define ae2f_if_constexpr if\n"\
5308"#endif\n"\
5309"\n"\
5310"#if __ae2f_stdcheck_CC(202002L)\n"\
5311"#define ae2f_if_consteval\tif consteval\n"\
5312"#else\n"\
5313"#define ae2f_if_consteval\tif (0)\n"\
5314"#endif\n"\
5315"\n"\
5316"#if __ae2f_stdcheck_CC(202002L)\n"\
5317"#define ae2f_constexprvirtual constexpr virtual\n"\
5318"#define ae2f_constinit\tconstinit\n"\
5319"#else\n"\
5320"#define ae2f_constexprvirtual virtual\n"\
5321"#define ae2f_constinit\t\n"\
5322"#endif \n"\
5323"\n"\
5324"#if __ae2f_stdcheck_CC(201402L)\n"\
5325"#define ae2f_constextendedfun\tconstexpr\n"\
5326"#define ae2f_constextendedeval \tconstexpr\n"\
5327"\n"\
5328"#define ae2f_constextendedmethod\tconstexpr\n"\
5329"#define ae2f_constextendedmethodeval\tconstexpr\n"\
5330"\n"\
5331"#else\n"\
5332"#define ae2f_constextendedfun\tinline\n"\
5333"#define ae2f_constextendedmethod\tinline\n"\
5334"\n"\
5335"#define ae2f_constextendedeval\tinline\n"\
5336"#define ae2f_constextendedmethodeval\tinline\n"\
5337"#endif \n"\
5338"\n"\
5339"#if __ae2f_stdcheck_CC(201103L)\n"\
5340"#define ae2f_constexprmethod\t\tconstexpr\n"\
5341"#define ae2f_constexprfun\t\tconstexpr\n"\
5342"#define ae2f_constevalmethod\t\tconstexpr\n"\
5343"#define ae2f_virtual\t\tvirtual\n"\
5344"#else\n"\
5345"#define ae2f_constexprmethod\t\tinline\n"\
5346"#define ae2f_constexprfun\t\tinline\n"\
5347"#define ae2f_constevalmethod\t\tinline\n"\
5348"#define ae2f_virtual\t\t\n"\
5349"\n"\
5350"#if !defined(__cplusplus) \n"\
5351"\n"\
5352"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
5353"\n"\
5354"#define ae2f_constexpr\tconstexpr\n"\
5355"#else\n"\
5356"#define ae2f_constexpr\n"\
5357"#endif \n"\
5358"\n"\
5359"\n"\
5360"#endif \n"\
5361"\n"\
5362"#endif \n"\
5363"\n"\
5364"#if __ae2f_stdcheck_CC(202002L)\n"\
5365"#undef ae2f_constevalmethod\n"\
5366"#define ae2f_constevalmethod consteval \n"\
5367"#define ae2f_consteval\tconsteval\n"\
5368"#elif __ae2f_stdcheck_CC(0)\n"\
5369"\n"\
5370"#undef constevalmethod\n"\
5371"\n"\
5372"\n"\
5373"#define ae2f_consteval\n"\
5374"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
5375"\n"\
5376"#else\n"\
5377"\n"\
5378"#define ae2f_consteval\n"\
5379"#endif \n"\
5380"\n"\
5381"#endif\n"\
5382"\n"\
5383"#if 90 >= 50\n"\
5384"#define ae2f_LangVer_C 1990\n"\
5385"#else\n"\
5386"#define ae2f_LangVer_C 2090\n"\
5387"#endif\n"\
5388"\n"\
5389"#if 11 >= 50\n"\
5390"#define ae2f_LangVer_CC 1911\n"\
5391"#else\n"\
5392"#define ae2f_LangVer_CC 2011\n"\
5393"#endif\n"\
5394"\n"\
5395"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
5396"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
5397"\n"\
5398"\n"\
5399"\n"\
5400"#ifndef ae2f_Cxx_h\n"\
5401"#define ae2f_Cxx_h\n"\
5402"\n"\
5403"\n"\
5404"\n"\
5405"#define ae2f_NONE\n"\
5406"\n"\
5407"#if __cplusplus\n"\
5408"\n"\
5409"\n"\
5410"\n"\
5411"\n"\
5412"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5413"\n"\
5414"\n"\
5415"\n"\
5416"#define ae2f_WhenC(...) ae2f_NONE\n"\
5417"\n"\
5418"#else\n"\
5419"\n"\
5420"\n"\
5421"\n"\
5422"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5423"\n"\
5424"\n"\
5425"\n"\
5426"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5427"\n"\
5428"#endif\n"\
5429"\n"\
5430"\n"\
5431"\n"\
5432"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5433"\n"\
5434"\n"\
5435"\n"\
5436"\n"\
5437"\n"\
5438"#define ae2f_c_check && !ae2f_is_cxx\n"\
5439"\n"\
5440"\n"\
5441"\n"\
5442"\n"\
5443"\n"\
5444"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5445"\n"\
5446"\n"\
5447"\n"\
5448"#ifndef ae2f_Cxx_Reg_h\n"\
5449"#define ae2f_Cxx_Reg_h\n"\
5450"\n"\
5451"\n"\
5452"\n"\
5453"#ifndef ae2f_Cxx_h\n"\
5454"#define ae2f_Cxx_h\n"\
5455"\n"\
5456"\n"\
5457"\n"\
5458"#define ae2f_NONE\n"\
5459"\n"\
5460"#if __cplusplus\n"\
5461"\n"\
5462"\n"\
5463"\n"\
5464"\n"\
5465"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5466"\n"\
5467"\n"\
5468"\n"\
5469"#define ae2f_WhenC(...) ae2f_NONE\n"\
5470"\n"\
5471"#else\n"\
5472"\n"\
5473"\n"\
5474"\n"\
5475"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5476"\n"\
5477"\n"\
5478"\n"\
5479"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5480"\n"\
5481"#endif\n"\
5482"\n"\
5483"\n"\
5484"\n"\
5485"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5486"\n"\
5487"\n"\
5488"\n"\
5489"\n"\
5490"\n"\
5491"#define ae2f_c_check && !ae2f_is_cxx\n"\
5492"\n"\
5493"\n"\
5494"\n"\
5495"\n"\
5496"\n"\
5497"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5498"\n"\
5499"\n"\
5500"\n"\
5501"#ifndef ae2f_Cxx_Reg_h\n"\
5502"#define ae2f_Cxx_Reg_h\n"\
5503"\n"\
5504"\n"\
5505"\n"\
5506"#ifndef ae2f_Cxx_h\n"\
5507"#define ae2f_Cxx_h\n"\
5508"\n"\
5509"\n"\
5510"\n"\
5511"#define ae2f_NONE\n"\
5512"\n"\
5513"#if __cplusplus\n"\
5514"\n"\
5515"\n"\
5516"\n"\
5517"\n"\
5518"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5519"\n"\
5520"\n"\
5521"\n"\
5522"#define ae2f_WhenC(...) ae2f_NONE\n"\
5523"\n"\
5524"#else\n"\
5525"\n"\
5526"\n"\
5527"\n"\
5528"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5529"\n"\
5530"\n"\
5531"\n"\
5532"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5533"\n"\
5534"#endif\n"\
5535"\n"\
5536"\n"\
5537"\n"\
5538"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5539"\n"\
5540"\n"\
5541"\n"\
5542"\n"\
5543"\n"\
5544"#define ae2f_c_check && !ae2f_is_cxx\n"\
5545"\n"\
5546"\n"\
5547"\n"\
5548"\n"\
5549"\n"\
5550"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5551"\n"\
5552"\n"\
5553"\n"\
5554"#ifndef ae2f_Cxx_Reg_h\n"\
5555"#define ae2f_Cxx_Reg_h\n"\
5556"\n"\
5557"\n"\
5558"\n"\
5559"#ifndef ae2f_Cxx_h\n"\
5560"#define ae2f_Cxx_h\n"\
5561"\n"\
5562"\n"\
5563"\n"\
5564"#define ae2f_NONE\n"\
5565"\n"\
5566"#if __cplusplus\n"\
5567"\n"\
5568"\n"\
5569"\n"\
5570"\n"\
5571"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5572"\n"\
5573"\n"\
5574"\n"\
5575"#define ae2f_WhenC(...) ae2f_NONE\n"\
5576"\n"\
5577"#else\n"\
5578"\n"\
5579"\n"\
5580"\n"\
5581"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5582"\n"\
5583"\n"\
5584"\n"\
5585"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5586"\n"\
5587"#endif\n"\
5588"\n"\
5589"\n"\
5590"\n"\
5591"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5592"\n"\
5593"\n"\
5594"\n"\
5595"\n"\
5596"\n"\
5597"#define ae2f_c_check && !ae2f_is_cxx\n"\
5598"\n"\
5599"\n"\
5600"\n"\
5601"\n"\
5602"\n"\
5603"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5604"\n"\
5605"\n"\
5606"\n"\
5607"#ifndef ae2f_Cxx_Reg_h\n"\
5608"#define ae2f_Cxx_Reg_h\n"\
5609"\n"\
5610"\n"\
5611"\n"\
5612"#ifndef ae2f_Cxx_h\n"\
5613"#define ae2f_Cxx_h\n"\
5614"\n"\
5615"\n"\
5616"\n"\
5617"#define ae2f_NONE\n"\
5618"\n"\
5619"#if __cplusplus\n"\
5620"\n"\
5621"\n"\
5622"\n"\
5623"\n"\
5624"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5625"\n"\
5626"\n"\
5627"\n"\
5628"#define ae2f_WhenC(...) ae2f_NONE\n"\
5629"\n"\
5630"#else\n"\
5631"\n"\
5632"\n"\
5633"\n"\
5634"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5635"\n"\
5636"\n"\
5637"\n"\
5638"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5639"\n"\
5640"#endif\n"\
5641"\n"\
5642"\n"\
5643"\n"\
5644"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5645"\n"\
5646"\n"\
5647"\n"\
5648"\n"\
5649"\n"\
5650"#define ae2f_c_check && !ae2f_is_cxx\n"\
5651"\n"\
5652"\n"\
5653"\n"\
5654"\n"\
5655"\n"\
5656"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5657"\n"\
5658"\n"\
5659"\n"\
5660"#ifndef ae2f_Cxx_Reg_h\n"\
5661"#define ae2f_Cxx_Reg_h\n"\
5662"\n"\
5663"\n"\
5664"\n"\
5665"#ifndef ae2f_Cxx_h\n"\
5666"#define ae2f_Cxx_h\n"\
5667"\n"\
5668"\n"\
5669"\n"\
5670"#define ae2f_NONE\n"\
5671"\n"\
5672"#if __cplusplus\n"\
5673"\n"\
5674"\n"\
5675"\n"\
5676"\n"\
5677"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5678"\n"\
5679"\n"\
5680"\n"\
5681"#define ae2f_WhenC(...) ae2f_NONE\n"\
5682"\n"\
5683"#else\n"\
5684"\n"\
5685"\n"\
5686"\n"\
5687"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5688"\n"\
5689"\n"\
5690"\n"\
5691"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5692"\n"\
5693"#endif\n"\
5694"\n"\
5695"\n"\
5696"\n"\
5697"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5698"\n"\
5699"\n"\
5700"\n"\
5701"\n"\
5702"\n"\
5703"#define ae2f_c_check && !ae2f_is_cxx\n"\
5704"\n"\
5705"\n"\
5706"\n"\
5707"\n"\
5708"\n"\
5709"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5710"\n"\
5711"\n"\
5712"\n"\
5713"#ifndef ae2f_Cxx_Reg_h\n"\
5714"#define ae2f_Cxx_Reg_h\n"\
5715"\n"\
5716"\n"\
5717"\n"\
5718"#ifndef ae2f_Cxx_h\n"\
5719"#define ae2f_Cxx_h\n"\
5720"\n"\
5721"\n"\
5722"\n"\
5723"#define ae2f_NONE\n"\
5724"\n"\
5725"#if __cplusplus\n"\
5726"\n"\
5727"\n"\
5728"\n"\
5729"\n"\
5730"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5731"\n"\
5732"\n"\
5733"\n"\
5734"#define ae2f_WhenC(...) ae2f_NONE\n"\
5735"\n"\
5736"#else\n"\
5737"\n"\
5738"\n"\
5739"\n"\
5740"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5741"\n"\
5742"\n"\
5743"\n"\
5744"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5745"\n"\
5746"#endif\n"\
5747"\n"\
5748"\n"\
5749"\n"\
5750"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5751"\n"\
5752"\n"\
5753"\n"\
5754"\n"\
5755"\n"\
5756"#define ae2f_c_check && !ae2f_is_cxx\n"\
5757"\n"\
5758"\n"\
5759"\n"\
5760"\n"\
5761"\n"\
5762"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5763"\n"\
5764"\n"\
5765"\n"\
5766"#ifndef ae2f_Cxx_Reg_h\n"\
5767"#define ae2f_Cxx_Reg_h\n"\
5768"\n"\
5769"\n"\
5770"\n"\
5771"#ifndef ae2f_Cxx_h\n"\
5772"#define ae2f_Cxx_h\n"\
5773"\n"\
5774"\n"\
5775"\n"\
5776"#define ae2f_NONE\n"\
5777"\n"\
5778"#if __cplusplus\n"\
5779"\n"\
5780"\n"\
5781"\n"\
5782"\n"\
5783"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5784"\n"\
5785"\n"\
5786"\n"\
5787"#define ae2f_WhenC(...) ae2f_NONE\n"\
5788"\n"\
5789"#else\n"\
5790"\n"\
5791"\n"\
5792"\n"\
5793"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5794"\n"\
5795"\n"\
5796"\n"\
5797"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5798"\n"\
5799"#endif\n"\
5800"\n"\
5801"\n"\
5802"\n"\
5803"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5804"\n"\
5805"\n"\
5806"\n"\
5807"\n"\
5808"\n"\
5809"#define ae2f_c_check && !ae2f_is_cxx\n"\
5810"\n"\
5811"\n"\
5812"\n"\
5813"\n"\
5814"\n"\
5815"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5816"\n"\
5817"\n"\
5818"\n"\
5819"#ifndef ae2f_Cxx_Reg_h\n"\
5820"#define ae2f_Cxx_Reg_h\n"\
5821"\n"\
5822"\n"\
5823"\n"\
5824"#ifndef ae2f_Cxx_h\n"\
5825"#define ae2f_Cxx_h\n"\
5826"\n"\
5827"\n"\
5828"\n"\
5829"#define ae2f_NONE\n"\
5830"\n"\
5831"#if __cplusplus\n"\
5832"\n"\
5833"\n"\
5834"\n"\
5835"\n"\
5836"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5837"\n"\
5838"\n"\
5839"\n"\
5840"#define ae2f_WhenC(...) ae2f_NONE\n"\
5841"\n"\
5842"#else\n"\
5843"\n"\
5844"\n"\
5845"\n"\
5846"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5847"\n"\
5848"\n"\
5849"\n"\
5850"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5851"\n"\
5852"#endif\n"\
5853"\n"\
5854"\n"\
5855"\n"\
5856"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5857"\n"\
5858"\n"\
5859"\n"\
5860"\n"\
5861"\n"\
5862"#define ae2f_c_check && !ae2f_is_cxx\n"\
5863"\n"\
5864"\n"\
5865"\n"\
5866"\n"\
5867"\n"\
5868"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5869"\n"\
5870"\n"\
5871"\n"\
5872"#ifndef ae2f_Cxx_Reg_h\n"\
5873"#define ae2f_Cxx_Reg_h\n"\
5874"\n"\
5875"\n"\
5876"\n"\
5877"#ifndef ae2f_Cxx_h\n"\
5878"#define ae2f_Cxx_h\n"\
5879"\n"\
5880"\n"\
5881"\n"\
5882"#define ae2f_NONE\n"\
5883"\n"\
5884"#if __cplusplus\n"\
5885"\n"\
5886"\n"\
5887"\n"\
5888"\n"\
5889"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5890"\n"\
5891"\n"\
5892"\n"\
5893"#define ae2f_WhenC(...) ae2f_NONE\n"\
5894"\n"\
5895"#else\n"\
5896"\n"\
5897"\n"\
5898"\n"\
5899"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5900"\n"\
5901"\n"\
5902"\n"\
5903"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5904"\n"\
5905"#endif\n"\
5906"\n"\
5907"\n"\
5908"\n"\
5909"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5910"\n"\
5911"\n"\
5912"\n"\
5913"\n"\
5914"\n"\
5915"#define ae2f_c_check && !ae2f_is_cxx\n"\
5916"\n"\
5917"\n"\
5918"\n"\
5919"\n"\
5920"\n"\
5921"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5922"\n"\
5923"\n"\
5924"\n"\
5925"#ifndef ae2f_Cxx_Reg_h\n"\
5926"#define ae2f_Cxx_Reg_h\n"\
5927"\n"\
5928"\n"\
5929"\n"\
5930"#ifndef ae2f_Cxx_h\n"\
5931"#define ae2f_Cxx_h\n"\
5932"\n"\
5933"\n"\
5934"\n"\
5935"#define ae2f_NONE\n"\
5936"\n"\
5937"#if __cplusplus\n"\
5938"\n"\
5939"\n"\
5940"\n"\
5941"\n"\
5942"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5943"\n"\
5944"\n"\
5945"\n"\
5946"#define ae2f_WhenC(...) ae2f_NONE\n"\
5947"\n"\
5948"#else\n"\
5949"\n"\
5950"\n"\
5951"\n"\
5952"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5953"\n"\
5954"\n"\
5955"\n"\
5956"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5957"\n"\
5958"#endif\n"\
5959"\n"\
5960"\n"\
5961"\n"\
5962"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5963"\n"\
5964"\n"\
5965"\n"\
5966"\n"\
5967"\n"\
5968"#define ae2f_c_check && !ae2f_is_cxx\n"\
5969"\n"\
5970"\n"\
5971"\n"\
5972"\n"\
5973"\n"\
5974"#define ae2f_cxx_check && ae2f_is_cxx\n"\
5975"\n"\
5976"\n"\
5977"\n"\
5978"#ifndef ae2f_Cxx_Reg_h\n"\
5979"#define ae2f_Cxx_Reg_h\n"\
5980"\n"\
5981"\n"\
5982"\n"\
5983"#ifndef ae2f_Cxx_h\n"\
5984"#define ae2f_Cxx_h\n"\
5985"\n"\
5986"\n"\
5987"\n"\
5988"#define ae2f_NONE\n"\
5989"\n"\
5990"#if __cplusplus\n"\
5991"\n"\
5992"\n"\
5993"\n"\
5994"\n"\
5995"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5996"\n"\
5997"\n"\
5998"\n"\
5999"#define ae2f_WhenC(...) ae2f_NONE\n"\
6000"\n"\
6001"#else\n"\
6002"\n"\
6003"\n"\
6004"\n"\
6005"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6006"\n"\
6007"\n"\
6008"\n"\
6009"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6010"\n"\
6011"#endif\n"\
6012"\n"\
6013"\n"\
6014"\n"\
6015"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6016"\n"\
6017"\n"\
6018"\n"\
6019"\n"\
6020"\n"\
6021"#define ae2f_c_check && !ae2f_is_cxx\n"\
6022"\n"\
6023"\n"\
6024"\n"\
6025"\n"\
6026"\n"\
6027"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6028"\n"\
6029"\n"\
6030"\n"\
6031"#ifndef ae2f_Cxx_Reg_h\n"\
6032"#define ae2f_Cxx_Reg_h\n"\
6033"\n"\
6034"\n"\
6035"\n"\
6036"#ifndef ae2f_Cxx_h\n"\
6037"#define ae2f_Cxx_h\n"\
6038"\n"\
6039"\n"\
6040"\n"\
6041"#define ae2f_NONE\n"\
6042"\n"\
6043"#if __cplusplus\n"\
6044"\n"\
6045"\n"\
6046"\n"\
6047"\n"\
6048"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6049"\n"\
6050"\n"\
6051"\n"\
6052"#define ae2f_WhenC(...) ae2f_NONE\n"\
6053"\n"\
6054"#else\n"\
6055"\n"\
6056"\n"\
6057"\n"\
6058"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6059"\n"\
6060"\n"\
6061"\n"\
6062"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6063"\n"\
6064"#endif\n"\
6065"\n"\
6066"\n"\
6067"\n"\
6068"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6069"\n"\
6070"\n"\
6071"\n"\
6072"\n"\
6073"\n"\
6074"#define ae2f_c_check && !ae2f_is_cxx\n"\
6075"\n"\
6076"\n"\
6077"\n"\
6078"\n"\
6079"\n"\
6080"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6081"\n"\
6082"\n"\
6083"\n"\
6084"#ifndef ae2f_Cxx_Reg_h\n"\
6085"#define ae2f_Cxx_Reg_h\n"\
6086"\n"\
6087"\n"\
6088"\n"\
6089"#ifndef ae2f_Cxx_h\n"\
6090"#define ae2f_Cxx_h\n"\
6091"\n"\
6092"\n"\
6093"\n"\
6094"#define ae2f_NONE\n"\
6095"\n"\
6096"#if __cplusplus\n"\
6097"\n"\
6098"\n"\
6099"\n"\
6100"\n"\
6101"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6102"\n"\
6103"\n"\
6104"\n"\
6105"#define ae2f_WhenC(...) ae2f_NONE\n"\
6106"\n"\
6107"#else\n"\
6108"\n"\
6109"\n"\
6110"\n"\
6111"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6112"\n"\
6113"\n"\
6114"\n"\
6115"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6116"\n"\
6117"#endif\n"\
6118"\n"\
6119"\n"\
6120"\n"\
6121"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6122"\n"\
6123"\n"\
6124"\n"\
6125"\n"\
6126"\n"\
6127"#define ae2f_c_check && !ae2f_is_cxx\n"\
6128"\n"\
6129"\n"\
6130"\n"\
6131"\n"\
6132"\n"\
6133"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6134"\n"\
6135"\n"\
6136"\n"\
6137"#ifndef ae2f_Cxx_Reg_h\n"\
6138"#define ae2f_Cxx_Reg_h\n"\
6139"\n"\
6140"\n"\
6141"\n"\
6142"#ifndef ae2f_Cxx_h\n"\
6143"#define ae2f_Cxx_h\n"\
6144"\n"\
6145"\n"\
6146"\n"\
6147"#define ae2f_NONE\n"\
6148"\n"\
6149"#if __cplusplus\n"\
6150"\n"\
6151"\n"\
6152"\n"\
6153"\n"\
6154"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6155"\n"\
6156"\n"\
6157"\n"\
6158"#define ae2f_WhenC(...) ae2f_NONE\n"\
6159"\n"\
6160"#else\n"\
6161"\n"\
6162"\n"\
6163"\n"\
6164"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6165"\n"\
6166"\n"\
6167"\n"\
6168"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6169"\n"\
6170"#endif\n"\
6171"\n"\
6172"\n"\
6173"\n"\
6174"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6175"\n"\
6176"\n"\
6177"\n"\
6178"\n"\
6179"\n"\
6180"#define ae2f_c_check && !ae2f_is_cxx\n"\
6181"\n"\
6182"\n"\
6183"\n"\
6184"\n"\
6185"\n"\
6186"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6187"\n"\
6188"\n"\
6189"\n"\
6190"#ifndef ae2f_Cxx_Reg_h\n"\
6191"#define ae2f_Cxx_Reg_h\n"\
6192"\n"\
6193"\n"\
6194"\n"\
6195"#ifndef ae2f_Cxx_h\n"\
6196"#define ae2f_Cxx_h\n"\
6197"\n"\
6198"\n"\
6199"\n"\
6200"#define ae2f_NONE\n"\
6201"\n"\
6202"#if __cplusplus\n"\
6203"\n"\
6204"\n"\
6205"\n"\
6206"\n"\
6207"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6208"\n"\
6209"\n"\
6210"\n"\
6211"#define ae2f_WhenC(...) ae2f_NONE\n"\
6212"\n"\
6213"#else\n"\
6214"\n"\
6215"\n"\
6216"\n"\
6217"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6218"\n"\
6219"\n"\
6220"\n"\
6221"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6222"\n"\
6223"#endif\n"\
6224"\n"\
6225"\n"\
6226"\n"\
6227"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6228"\n"\
6229"\n"\
6230"\n"\
6231"\n"\
6232"\n"\
6233"#define ae2f_c_check && !ae2f_is_cxx\n"\
6234"\n"\
6235"\n"\
6236"\n"\
6237"\n"\
6238"\n"\
6239"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6240"\n"\
6241"\n"\
6242"\n"\
6243"#ifndef ae2f_Cxx_Reg_h\n"\
6244"#define ae2f_Cxx_Reg_h\n"\
6245"\n"\
6246"\n"\
6247"\n"\
6248"#ifndef ae2f_Cxx_h\n"\
6249"#define ae2f_Cxx_h\n"\
6250"\n"\
6251"\n"\
6252"\n"\
6253"#define ae2f_NONE\n"\
6254"\n"\
6255"#if __cplusplus\n"\
6256"\n"\
6257"\n"\
6258"\n"\
6259"\n"\
6260"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6261"\n"\
6262"\n"\
6263"\n"\
6264"#define ae2f_WhenC(...) ae2f_NONE\n"\
6265"\n"\
6266"#else\n"\
6267"\n"\
6268"\n"\
6269"\n"\
6270"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6271"\n"\
6272"\n"\
6273"\n"\
6274"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6275"\n"\
6276"#endif\n"\
6277"\n"\
6278"\n"\
6279"\n"\
6280"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6281"\n"\
6282"\n"\
6283"\n"\
6284"\n"\
6285"\n"\
6286"#define ae2f_c_check && !ae2f_is_cxx\n"\
6287"\n"\
6288"\n"\
6289"\n"\
6290"\n"\
6291"\n"\
6292"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6293"\n"\
6294"\n"\
6295"\n"\
6296"#ifndef ae2f_Cxx_Reg_h\n"\
6297"#define ae2f_Cxx_Reg_h\n"\
6298"\n"\
6299"\n"\
6300"\n"\
6301"#ifndef ae2f_Cxx_h\n"\
6302"#define ae2f_Cxx_h\n"\
6303"\n"\
6304"\n"\
6305"\n"\
6306"#define ae2f_NONE\n"\
6307"\n"\
6308"#if __cplusplus\n"\
6309"\n"\
6310"\n"\
6311"\n"\
6312"\n"\
6313"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6314"\n"\
6315"\n"\
6316"\n"\
6317"#define ae2f_WhenC(...) ae2f_NONE\n"\
6318"\n"\
6319"#else\n"\
6320"\n"\
6321"\n"\
6322"\n"\
6323"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6324"\n"\
6325"\n"\
6326"\n"\
6327"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6328"\n"\
6329"#endif\n"\
6330"\n"\
6331"\n"\
6332"\n"\
6333"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6334"\n"\
6335"\n"\
6336"\n"\
6337"\n"\
6338"\n"\
6339"#define ae2f_c_check && !ae2f_is_cxx\n"\
6340"\n"\
6341"\n"\
6342"\n"\
6343"\n"\
6344"\n"\
6345"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6346"\n"\
6347"\n"\
6348"\n"\
6349"#ifndef ae2f_Cxx_Reg_h\n"\
6350"#define ae2f_Cxx_Reg_h\n"\
6351"\n"\
6352"\n"\
6353"\n"\
6354"#ifndef ae2f_Cxx_h\n"\
6355"#define ae2f_Cxx_h\n"\
6356"\n"\
6357"\n"\
6358"\n"\
6359"#define ae2f_NONE\n"\
6360"\n"\
6361"#if __cplusplus\n"\
6362"\n"\
6363"\n"\
6364"\n"\
6365"\n"\
6366"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6367"\n"\
6368"\n"\
6369"\n"\
6370"#define ae2f_WhenC(...) ae2f_NONE\n"\
6371"\n"\
6372"#else\n"\
6373"\n"\
6374"\n"\
6375"\n"\
6376"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6377"\n"\
6378"\n"\
6379"\n"\
6380"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6381"\n"\
6382"#endif\n"\
6383"\n"\
6384"\n"\
6385"\n"\
6386"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6387"\n"\
6388"\n"\
6389"\n"\
6390"\n"\
6391"\n"\
6392"#define ae2f_c_check && !ae2f_is_cxx\n"\
6393"\n"\
6394"\n"\
6395"\n"\
6396"\n"\
6397"\n"\
6398"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6399"\n"\
6400"\n"\
6401"\n"\
6402"#ifndef ae2f_Cxx_Reg_h\n"\
6403"#define ae2f_Cxx_Reg_h\n"\
6404"\n"\
6405"\n"\
6406"\n"\
6407"#ifndef ae2f_Cxx_h\n"\
6408"#define ae2f_Cxx_h\n"\
6409"\n"\
6410"\n"\
6411"\n"\
6412"#define ae2f_NONE\n"\
6413"\n"\
6414"#if __cplusplus\n"\
6415"\n"\
6416"\n"\
6417"\n"\
6418"\n"\
6419"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6420"\n"\
6421"\n"\
6422"\n"\
6423"#define ae2f_WhenC(...) ae2f_NONE\n"\
6424"\n"\
6425"#else\n"\
6426"\n"\
6427"\n"\
6428"\n"\
6429"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6430"\n"\
6431"\n"\
6432"\n"\
6433"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6434"\n"\
6435"#endif\n"\
6436"\n"\
6437"\n"\
6438"\n"\
6439"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6440"\n"\
6441"\n"\
6442"\n"\
6443"\n"\
6444"\n"\
6445"#define ae2f_c_check && !ae2f_is_cxx\n"\
6446"\n"\
6447"\n"\
6448"\n"\
6449"\n"\
6450"\n"\
6451"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6452"\n"\
6453"\n"\
6454"\n"\
6455"#ifndef ae2f_Cxx_Reg_h\n"\
6456"#define ae2f_Cxx_Reg_h\n"\
6457"\n"\
6458"\n"\
6459"\n"\
6460"#ifndef ae2f_Cxx_h\n"\
6461"#define ae2f_Cxx_h\n"\
6462"\n"\
6463"\n"\
6464"\n"\
6465"#define ae2f_NONE\n"\
6466"\n"\
6467"#if __cplusplus\n"\
6468"\n"\
6469"\n"\
6470"\n"\
6471"\n"\
6472"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6473"\n"\
6474"\n"\
6475"\n"\
6476"#define ae2f_WhenC(...) ae2f_NONE\n"\
6477"\n"\
6478"#else\n"\
6479"\n"\
6480"\n"\
6481"\n"\
6482"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6483"\n"\
6484"\n"\
6485"\n"\
6486"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6487"\n"\
6488"#endif\n"\
6489"\n"\
6490"\n"\
6491"\n"\
6492"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6493"\n"\
6494"\n"\
6495"\n"\
6496"\n"\
6497"\n"\
6498"#define ae2f_c_check && !ae2f_is_cxx\n"\
6499"\n"\
6500"\n"\
6501"\n"\
6502"\n"\
6503"\n"\
6504"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6505"\n"\
6506"\n"\
6507"\n"\
6508"#ifndef ae2f_Cxx_Reg_h\n"\
6509"#define ae2f_Cxx_Reg_h\n"\
6510"\n"\
6511"\n"\
6512"\n"\
6513"#ifndef ae2f_Cxx_h\n"\
6514"#define ae2f_Cxx_h\n"\
6515"\n"\
6516"\n"\
6517"\n"\
6518"#define ae2f_NONE\n"\
6519"\n"\
6520"#if __cplusplus\n"\
6521"\n"\
6522"\n"\
6523"\n"\
6524"\n"\
6525"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6526"\n"\
6527"\n"\
6528"\n"\
6529"#define ae2f_WhenC(...) ae2f_NONE\n"\
6530"\n"\
6531"#else\n"\
6532"\n"\
6533"\n"\
6534"\n"\
6535"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6536"\n"\
6537"\n"\
6538"\n"\
6539"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6540"\n"\
6541"#endif\n"\
6542"\n"\
6543"\n"\
6544"\n"\
6545"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6546"\n"\
6547"\n"\
6548"\n"\
6549"\n"\
6550"\n"\
6551"#define ae2f_c_check && !ae2f_is_cxx\n"\
6552"\n"\
6553"\n"\
6554"\n"\
6555"\n"\
6556"\n"\
6557"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6558"\n"\
6559"\n"\
6560"\n"\
6561"#ifndef ae2f_Cxx_Reg_h\n"\
6562"#define ae2f_Cxx_Reg_h\n"\
6563"\n"\
6564"\n"\
6565"\n"\
6566"#ifndef ae2f_Cxx_h\n"\
6567"#define ae2f_Cxx_h\n"\
6568"\n"\
6569"\n"\
6570"\n"\
6571"#define ae2f_NONE\n"\
6572"\n"\
6573"#if __cplusplus\n"\
6574"\n"\
6575"\n"\
6576"\n"\
6577"\n"\
6578"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
6579"\n"\
6580"\n"\
6581"\n"\
6582"#define ae2f_WhenC(...) ae2f_NONE\n"\
6583"\n"\
6584"#else\n"\
6585"\n"\
6586"\n"\
6587"\n"\
6588"#define ae2f_WhenC(...) __VA_ARGS__\n"\
6589"\n"\
6590"\n"\
6591"\n"\
6592"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
6593"\n"\
6594"#endif\n"\
6595"\n"\
6596"\n"\
6597"\n"\
6598"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
6599"\n"\
6600"\n"\
6601"\n"\
6602"\n"\
6603"\n"\
6604"#define ae2f_c_check && !ae2f_is_cxx\n"\
6605"\n"\
6606"\n"\
6607"\n"\
6608"\n"\
6609"\n"\
6610"#define ae2f_cxx_check && ae2f_is_cxx\n"\
6611"\n"\
6612"\n"\
6613"#endif\n"\
6614"\n"\
6615"\n"\
6616"\n"\
6617"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6618"\n"\
6619"#endif\n"\
6620"\n"\
6621"\n"\
6622"#endif\n"\
6623"\n"\
6624"\n"\
6625"\n"\
6626"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6627"\n"\
6628"#endif\n"\
6629"\n"\
6630"\n"\
6631"#endif\n"\
6632"\n"\
6633"\n"\
6634"\n"\
6635"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6636"\n"\
6637"#endif\n"\
6638"\n"\
6639"\n"\
6640"#endif\n"\
6641"\n"\
6642"\n"\
6643"\n"\
6644"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6645"\n"\
6646"#endif\n"\
6647"\n"\
6648"\n"\
6649"#endif\n"\
6650"\n"\
6651"\n"\
6652"\n"\
6653"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6654"\n"\
6655"#endif\n"\
6656"\n"\
6657"\n"\
6658"#endif\n"\
6659"\n"\
6660"\n"\
6661"\n"\
6662"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6663"\n"\
6664"#endif\n"\
6665"\n"\
6666"\n"\
6667"#endif\n"\
6668"\n"\
6669"\n"\
6670"\n"\
6671"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6672"\n"\
6673"#endif\n"\
6674"\n"\
6675"\n"\
6676"#endif\n"\
6677"\n"\
6678"\n"\
6679"\n"\
6680"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6681"\n"\
6682"#endif\n"\
6683"\n"\
6684"\n"\
6685"#endif\n"\
6686"\n"\
6687"\n"\
6688"\n"\
6689"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6690"\n"\
6691"#endif\n"\
6692"\n"\
6693"\n"\
6694"#endif\n"\
6695"\n"\
6696"\n"\
6697"\n"\
6698"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6699"\n"\
6700"#endif\n"\
6701"\n"\
6702"\n"\
6703"#endif\n"\
6704"\n"\
6705"\n"\
6706"\n"\
6707"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6708"\n"\
6709"#endif\n"\
6710"\n"\
6711"\n"\
6712"#endif\n"\
6713"\n"\
6714"\n"\
6715"\n"\
6716"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6717"\n"\
6718"#endif\n"\
6719"\n"\
6720"\n"\
6721"#endif\n"\
6722"\n"\
6723"\n"\
6724"\n"\
6725"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6726"\n"\
6727"#endif\n"\
6728"\n"\
6729"\n"\
6730"#endif\n"\
6731"\n"\
6732"\n"\
6733"\n"\
6734"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6735"\n"\
6736"#endif\n"\
6737"\n"\
6738"\n"\
6739"#endif\n"\
6740"\n"\
6741"\n"\
6742"\n"\
6743"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6744"\n"\
6745"#endif\n"\
6746"\n"\
6747"\n"\
6748"#endif\n"\
6749"\n"\
6750"\n"\
6751"\n"\
6752"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6753"\n"\
6754"#endif\n"\
6755"\n"\
6756"\n"\
6757"#endif\n"\
6758"\n"\
6759"\n"\
6760"\n"\
6761"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6762"\n"\
6763"#endif\n"\
6764"\n"\
6765"\n"\
6766"#endif\n"\
6767"\n"\
6768"\n"\
6769"\n"\
6770"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6771"\n"\
6772"#endif\n"\
6773"\n"\
6774"\n"\
6775"#endif\n"\
6776"\n"\
6777"\n"\
6778"\n"\
6779"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6780"\n"\
6781"#endif\n"\
6782"\n"\
6783"\n"\
6784"#endif\n"\
6785"\n"\
6786"\n"\
6787"\n"\
6788"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6789"\n"\
6790"#endif\n"\
6791"\n"\
6792"\n"\
6793"#endif\n"\
6794"\n"\
6795"\n"\
6796"\n"\
6797"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6798"\n"\
6799"#endif\n"\
6800"\n"\
6801"\n"\
6802"#endif\n"\
6803"\n"\
6804"\n"\
6805"\n"\
6806"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
6807"\n"\
6808"#endif\n"\
6809"\n"\
6810"\n"\
6811"#endif\n"\
6812"\n"\
6813"\n"\
6814"\n"\
6815"\n"\
6816"#undef ae2f_LP\n"\
6817"#undef ae2f_NONE\n"\
6818"#undef ae2f_opt\n"\
6819"\n"\
6820"\n"\
6821"#define ae2f_NONE\n"\
6822"\n"\
6823"\n"\
6824"#define\tae2f_LP(...) ae2f_NONE\n"\
6825"\n"\
6826"\n"\
6827"#define ae2f_opt ae2f_NONE\n"\
6828"\n"\
6829"\n"\
6830"#define ae2f_FREE(...) ae2f_NONE\n"\
6831"\n"\
6832"\n"\
6833"#define ae2f_v ae2f_NONE\n"\
6834"\n"\
6835"\n"\
6836"\n"\
6837"\n"\
6838"#define ae2f_RecordMk(type, ...) \\\n"\
6839" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
6840"\n"\
6841"\n"\
6842"\n"\
6843"#define ae2f_static_cast(t, v) \\\n"\
6844" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
6845"\n"\
6846"\n"\
6847"\n"\
6848"#define ae2f_dynamic_cast(t, v) \\\n"\
6849" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
6850"\n"\
6851"\n"\
6852"\n"\
6853"#define ae2f_reinterpret_cast(t, v) \\\n"\
6854" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
6855"\n"\
6856"\n"\
6857"\n"\
6858"#define ae2f_const_cast(t, v) \\\n"\
6859" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
6860"\n"\
6861"\n"\
6862"\n"\
6863"\n"\
6864"\n"\
6865"\n"\
6866"\n"\
6867"\n"\
6868"\n"\
6869"\n"\
6870"\n"\
6871"\n"\
6872"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
6873" ae2f_WhenC((union { \\\n"\
6874" tThen a; \\\n"\
6875" tNow b; \\\n"\
6876" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
6877" ._b()\n"\
6878"\n"\
6879"\n"\
6880"\n"\
6881"\n"\
6882"\n"\
6883"\n"\
6884"#define ae2f_struct ae2f_WhenC(struct)\n"\
6885"\n"\
6886"\n"\
6887"\n"\
6888"\n"\
6889"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
6890"\n"\
6891"\n"\
6892"\n"\
6893"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
6894"\n"\
6895"\n"\
6896"\n"\
6897"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
6898"\n"\
6899"\n"\
6900"\n"\
6901"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
6902"\n"\
6903"\n"\
6904"#define unless(...) if (!(__VA_ARGS__))\n"\
6905"\n"\
6906"#define ae2f_structdef_v(key, name, ...) \\\n"\
6907" typedef key name __VA_ARGS__; \\\n"\
6908" key name\n"\
6909"\n"\
6910"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
6911"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
6912"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
6913"\n"\
6914"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
6915"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
6916"\n"\
6917"\n"\
6918"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
6919"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
6920"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
6921"\t\treturn nameeval tmpluse (prmuse); \\\n"\
6922"\t} \\\n"\
6923"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
6924"\n"\
6925"#if !__ae2f_stdcheck_CC(201103L)\n"\
6926"#undef\tae2f_noexcept\n"\
6927"#define ae2f_noexcept\n"\
6928"#else\n"\
6929"#define ae2f_noexcept noexcept\n"\
6930"#endif\n"\
6931"\n"\
6932"\n"\
6933"#undef\tae2f_restrict \n"\
6934"#if ae2f_stdc_v < 199901L\n"\
6935"#define ae2f_restrict\n"\
6936"#else\n"\
6937"#define ae2f_restrict restrict\n"\
6938"#endif \n"\
6939"\n"\
6940"#if __cplusplus\n"\
6941"#define ae2f_restrict\n"\
6942"#endif \n"\
6943"\n"\
6944"#if !__ae2f_stdcheck_CC(201103L)\n"\
6945"\n"\
6946"\n"\
6947"#define ae2f_noexcept\n"\
6948"#define ae2f_constexpr\n"\
6949"#else\n"\
6950"#define ae2f_noexcept noexcept\n"\
6951"#define ae2f_constexpr constexpr\n"\
6952"#endif \n"\
6953"\n"\
6954"#if ae2f_WhenC(!)0\n"\
6955"#undef ae2f_noexcept\n"\
6956"#define ae2f_noexcept\n"\
6957"#endif\n"\
6958"\n"\
6959"#endif\n"\
6960"\n"\
6961"\n"\
6962"\n"\
6963"#ifndef ae2f_Call_h\n"\
6964"#define ae2f_Call_h\n"\
6965"\n"\
6966"#define ON 1\n"\
6967"#define OFF 0\n"\
6968"\n"\
6969"#if (defined(_WIN32) || defined(_WIN64))\n"\
6970"#define ae2f_IS_WIN 1\n"\
6971"#else \n"\
6972"#define ae2f_IS_WIN 0\n"\
6973"#endif\n"\
6974"\n"\
6975"#if (defined(__linux__))\n"\
6976"#define ae2f_IS_LINUX 1\n"\
6977"#else \n"\
6978"#define ae2f_IS_LINUX 0\n"\
6979"#endif\n"\
6980"\n"\
6981"#if defined(__MACH__) || defined(__APPLE__)\n"\
6982"#define ae2f_IS_APPLE 1\n"\
6983"#else\n"\
6984"#define ae2f_IS_APPLE 0\n"\
6985"#endif\n"\
6986"\n"\
6987"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
6988"\n"\
6989"\n"\
6990"\n"\
6991"#define ae2f_IDK 1\n"\
6992"#else\n"\
6993"\n"\
6994"#define ae2f_IDK 0\n"\
6995"#endif\n"\
6996"\n"\
6997"\n"\
6998"\n"\
6999"\n"\
7000"#define ae2f_IS_SHARED ON\n"\
7001"\n"\
7002"\n"\
7003"#if ae2f_IS_SHARED\n"\
7004"\n"\
7005"#if ae2f_IS_WIN\n"\
7006"\n"\
7007"\n"\
7008"\n"\
7009"\n"\
7010"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
7011"\n"\
7012"\n"\
7013"\n"\
7014"\n"\
7015"\n"\
7016"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
7017"#endif\n"\
7018"\n"\
7019"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
7020"\n"\
7021"\n"\
7022"\n"\
7023"\n"\
7024"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
7025"\n"\
7026"\n"\
7027"\n"\
7028"\n"\
7029"\n"\
7030"#define ae2f_SHAREDCALL\n"\
7031"#endif\n"\
7032"\n"\
7033"\n"\
7034"\n"\
7035"#else\n"\
7036"\n"\
7037"\n"\
7038"\n"\
7039"\n"\
7040"\n"\
7041"#define ae2f_SHAREDEXPORT\n"\
7042"\n"\
7043"\n"\
7044"\n"\
7045"\n"\
7046"#define ae2f_SHAREDCALL\n"\
7047"#endif\n"\
7048"\n"\
7049"#endif\n"\
7050"\n"\
7051"\n"\
7052"#undef ae2f_LP\n"\
7053"#undef ae2f_NONE\n"\
7054"#undef ae2f_opt\n"\
7055"\n"\
7056"\n"\
7057"#define ae2f_NONE\n"\
7058"\n"\
7059"\n"\
7060"#define\tae2f_LP(...) ae2f_NONE\n"\
7061"\n"\
7062"\n"\
7063"#define ae2f_opt ae2f_NONE\n"\
7064"\n"\
7065"\n"\
7066"#define ae2f_FREE(...) ae2f_NONE\n"\
7067"\n"\
7068"\n"\
7069"#define ae2f_v ae2f_NONE\n"\
7070"\n"\
7071"\n"\
7072"\n"\
7073"\n"\
7074"#ifndef ae2fCL_AnnAct_h\n"\
7075"#define ae2fCL_AnnAct_h\n"\
7076"\n"\
7077"\n"\
7078"\n"\
7079"\n"\
7080"#ifndef ae2f_Float_h\n"\
7081"#define ae2f_Float_h\n"\
7082"\n"\
7083"\n"\
7084"#ifndef ae2f_float_h\n"\
7085"#define ae2f_float_h\n"\
7086"\n"\
7087"\n"\
7088"\n"\
7089"\n"\
7090"\n"\
7091"#define ae2f_float float\n"\
7092"\n"\
7093"#endif \n"\
7094"\n"\
7095"\n"\
7096"typedef ae2f_float ae2f_float_t;\n"\
7097"\n"\
7098"#endif\n"\
7099"\n"\
7100"\n"\
7101"#undef ae2f_LP\n"\
7102"#undef ae2f_NONE\n"\
7103"#undef ae2f_opt\n"\
7104"\n"\
7105"\n"\
7106"#define ae2f_NONE\n"\
7107"\n"\
7108"\n"\
7109"#define\tae2f_LP(...) ae2f_NONE\n"\
7110"\n"\
7111"\n"\
7112"#define ae2f_opt ae2f_NONE\n"\
7113"\n"\
7114"\n"\
7115"#define ae2f_FREE(...) ae2f_NONE\n"\
7116"\n"\
7117"\n"\
7118"#define ae2f_v ae2f_NONE\n"\
7119"\n"\
7120"\n"\
7121"\n"\
7122"typedef void ae2f_AnnActFFN_t (\n"\
7123"\t\tae2f_float_t*\t\t\t\tret\n"\
7124"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
7125"\t\t, const size_t\t\t\t\tindex\n"\
7126"\t\t, const size_t\t\t\t\tcount\n"\
7127"\t\t);\n"\
7128"\n"\
7129"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
7130"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
7131"\n"\
7132"\n"\
7133"\n"\
7134"\n"\
7135"\n"\
7136"\n"\
7137"\n"\
7138"\n"\
7139"\n"\
7140"typedef void ae2f_AnnLossFFN_t (\n"\
7141"\t\tae2f_float_t* \t\t\t\tret,\n"\
7142"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
7143"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
7144"\t\tconst size_t\t\t\t\tindex,\n"\
7145"\t\tconst size_t\t\t\t\tcount\n"\
7146"\t\t);\n"\
7147"\n"\
7148"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
7149"\n"\
7150"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
7151"\t\tae2f_float_t* \t\t\t\tret,\n"\
7152"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
7153"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
7154"\t\tsize_t\t\t\t\t\tprm_len\n"\
7155"\t\t);\n"\
7156"\n"\
7157"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
7158"\t\tae2f_float_t*\t\t\t\tret,\n"\
7159"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
7160"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
7161"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
7162"\t\tsize_t\t\t\t\t\tprm_len\n"\
7163"\t\t);\n"\
7164"\n"\
7165"#endif\n"\
7166"\n"\
7167"#ifndef ae2f_Ann_Util_h\n"\
7168"#define ae2f_Ann_Util_h\n"\
7169"\n"\
7170"\n"\
7171"\n"\
7172"#if !defined(ae2f_Cast_h)\n"\
7173"\n"\
7174"\n"\
7175"\n"\
7176"#define ae2f_Cast_h\n"\
7177"\n"\
7178"\n"\
7179"\n"\
7180"\n"\
7181"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
7182"\n"\
7183"\n"\
7184"\n"\
7185"\n"\
7186"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
7187"\n"\
7188"\n"\
7189"\n"\
7190"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
7191"#define ae2f_Cast_CasterUnion_hpp\n"\
7192"\n"\
7193"#ifndef ae2f_Cast_consteval_hpp\n"\
7194"#define ae2f_Cast_consteval_hpp\n"\
7195"#if 90 >= 50\n"\
7196"#define ae2f_LangVer_C 1990\n"\
7197"#else\n"\
7198"#define ae2f_LangVer_C 2090\n"\
7199"#endif\n"\
7200"\n"\
7201"#if 11 >= 50\n"\
7202"#define ae2f_LangVer_CC 1911\n"\
7203"#else\n"\
7204"#define ae2f_LangVer_CC 2011\n"\
7205"#endif\n"\
7206"\n"\
7207"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7208"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7209"\n"\
7210"\n"\
7211"#ifdef\t__cplusplus\n"\
7212"#undef\tae2f_stdcc_v\n"\
7213"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
7214"#else\n"\
7215"\n"\
7216"#undef\tae2f_stdcc_v\n"\
7217"#define\tae2f_stdcc_v\t(199711L)\n"\
7218"\n"\
7219"#if __ae2f_lvcheck_cc(2011)\n"\
7220"#undef\tae2f_stdcc_v\n"\
7221"#define\tae2f_stdcc_v\t(201103L)\n"\
7222"#endif\n"\
7223"\n"\
7224"#if __ae2f_lvcheck_cc(2014)\n"\
7225"#undef\tae2f_stdcc_v\n"\
7226"#define\tae2f_stdcc_v\t(201402L)\n"\
7227"#endif\n"\
7228"\n"\
7229"#if __ae2f_lvcheck_cc(2017)\n"\
7230"#undef\tae2f_stdcc_v\n"\
7231"#define\tae2f_stdcc_v\t(201703L)\n"\
7232"#endif\n"\
7233"\n"\
7234"#if __ae2f_lvcheck_cc(2020)\n"\
7235"#undef\tae2f_stdcc_v\n"\
7236"#define\tae2f_stdcc_v\t(202002L)\n"\
7237"#endif\n"\
7238"\n"\
7239"#if __ae2f_lvcheck_cc(2023)\n"\
7240"#undef\tae2f_stdcc_v\n"\
7241"#define\tae2f_stdcc_v\t(202302L)\n"\
7242"#endif\n"\
7243"\n"\
7244"#endif\n"\
7245"\n"\
7246"#ifdef\t__STDC_VERSION__\n"\
7247"#undef\tae2f_stdc_v\n"\
7248"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
7249"#else\n"\
7250"\n"\
7251"#undef\tae2f_stdc_v\n"\
7252"#define ae2f_stdc_v\t(199001L)\n"\
7253"\n"\
7254"#if __ae2f_lvcheck_c(1999)\n"\
7255"#undef\tae2f_stdc_v\n"\
7256"#define ae2f_stdc_v\t(199901L)\n"\
7257"#endif\n"\
7258"\n"\
7259"#if __ae2f_lvcheck_c(2011)\n"\
7260"#undef\tae2f_stdc_v\n"\
7261"#define ae2f_stdc_v\t(201112L)\n"\
7262"#endif\n"\
7263"\n"\
7264"#if __ae2f_lvcheck_c(2017)\n"\
7265"#undef\tae2f_stdc_v\n"\
7266"#define ae2f_stdc_v\t(201710L)\n"\
7267"#endif\n"\
7268"\n"\
7269"#if __ae2f_lvcheck_c(2023)\n"\
7270"#undef\tae2f_stdc_v\n"\
7271"#define ae2f_stdc_v\t(202311L)\n"\
7272"#endif\n"\
7273"\n"\
7274"#endif\n"\
7275"\n"\
7276"#undef\t__ae2f_stdcheck_C\n"\
7277"#undef\t__ae2f_stdcheck_CC\n"\
7278"\n"\
7279"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
7280"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
7281"\n"\
7282"\n"\
7283"\n"\
7284"\n"\
7285"#if __ae2f_stdcheck_CC(201703L)\n"\
7286"#define ae2f_if_constexpr if constexpr\n"\
7287"#else\n"\
7288"#define ae2f_if_constexpr if\n"\
7289"#endif\n"\
7290"\n"\
7291"#if __ae2f_stdcheck_CC(202002L)\n"\
7292"#define ae2f_if_consteval\tif consteval\n"\
7293"#else\n"\
7294"#define ae2f_if_consteval\tif (0)\n"\
7295"#endif\n"\
7296"\n"\
7297"#if __ae2f_stdcheck_CC(202002L)\n"\
7298"#define ae2f_constexprvirtual constexpr virtual\n"\
7299"#define ae2f_constinit\tconstinit\n"\
7300"#else\n"\
7301"#define ae2f_constexprvirtual virtual\n"\
7302"#define ae2f_constinit\t\n"\
7303"#endif \n"\
7304"\n"\
7305"#if __ae2f_stdcheck_CC(201402L)\n"\
7306"#define ae2f_constextendedfun\tconstexpr\n"\
7307"#define ae2f_constextendedeval \tconstexpr\n"\
7308"\n"\
7309"#define ae2f_constextendedmethod\tconstexpr\n"\
7310"#define ae2f_constextendedmethodeval\tconstexpr\n"\
7311"\n"\
7312"#else\n"\
7313"#define ae2f_constextendedfun\tinline\n"\
7314"#define ae2f_constextendedmethod\tinline\n"\
7315"\n"\
7316"#define ae2f_constextendedeval\tinline\n"\
7317"#define ae2f_constextendedmethodeval\tinline\n"\
7318"#endif \n"\
7319"\n"\
7320"#if __ae2f_stdcheck_CC(201103L)\n"\
7321"#define ae2f_constexprmethod\t\tconstexpr\n"\
7322"#define ae2f_constexprfun\t\tconstexpr\n"\
7323"#define ae2f_constevalmethod\t\tconstexpr\n"\
7324"#define ae2f_virtual\t\tvirtual\n"\
7325"#else\n"\
7326"#define ae2f_constexprmethod\t\tinline\n"\
7327"#define ae2f_constexprfun\t\tinline\n"\
7328"#define ae2f_constevalmethod\t\tinline\n"\
7329"#define ae2f_virtual\t\t\n"\
7330"\n"\
7331"#if !defined(__cplusplus) \n"\
7332"\n"\
7333"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
7334"\n"\
7335"#define ae2f_constexpr\tconstexpr\n"\
7336"#else\n"\
7337"#define ae2f_constexpr\n"\
7338"#endif \n"\
7339"\n"\
7340"\n"\
7341"#endif \n"\
7342"\n"\
7343"#endif \n"\
7344"\n"\
7345"#if __ae2f_stdcheck_CC(202002L)\n"\
7346"#undef ae2f_constevalmethod\n"\
7347"#define ae2f_constevalmethod consteval \n"\
7348"#define ae2f_consteval\tconsteval\n"\
7349"#elif __ae2f_stdcheck_CC(0)\n"\
7350"\n"\
7351"#undef constevalmethod\n"\
7352"\n"\
7353"\n"\
7354"#define ae2f_consteval\n"\
7355"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
7356"\n"\
7357"#else\n"\
7358"\n"\
7359"#define ae2f_consteval\n"\
7360"#endif \n"\
7361"\n"\
7362"#endif\n"\
7363"\n"\
7364"\n"\
7365"\n"\
7366"\n"\
7367"\n"\
7368"\n"\
7369"\n"\
7370"\n"\
7371"template <typename t, typename k> union ae2f_UnionCaster {\n"\
7372" t a;\n"\
7373" k b;\n"\
7374" ae2f_constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
7375" ae2f_constexprmethod k _b() const { return b; }\n"\
7376"};\n"\
7377"\n"\
7378"#endif\n"\
7379"\n"\
7380"\n"\
7381"#ifndef ae2f_Cast_consteval_hpp\n"\
7382"#define ae2f_Cast_consteval_hpp\n"\
7383"#if 90 >= 50\n"\
7384"#define ae2f_LangVer_C 1990\n"\
7385"#else\n"\
7386"#define ae2f_LangVer_C 2090\n"\
7387"#endif\n"\
7388"\n"\
7389"#if 11 >= 50\n"\
7390"#define ae2f_LangVer_CC 1911\n"\
7391"#else\n"\
7392"#define ae2f_LangVer_CC 2011\n"\
7393"#endif\n"\
7394"\n"\
7395"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7396"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7397"\n"\
7398"\n"\
7399"#ifdef\t__cplusplus\n"\
7400"#undef\tae2f_stdcc_v\n"\
7401"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
7402"#else\n"\
7403"\n"\
7404"#undef\tae2f_stdcc_v\n"\
7405"#define\tae2f_stdcc_v\t(199711L)\n"\
7406"\n"\
7407"#if __ae2f_lvcheck_cc(2011)\n"\
7408"#undef\tae2f_stdcc_v\n"\
7409"#define\tae2f_stdcc_v\t(201103L)\n"\
7410"#endif\n"\
7411"\n"\
7412"#if __ae2f_lvcheck_cc(2014)\n"\
7413"#undef\tae2f_stdcc_v\n"\
7414"#define\tae2f_stdcc_v\t(201402L)\n"\
7415"#endif\n"\
7416"\n"\
7417"#if __ae2f_lvcheck_cc(2017)\n"\
7418"#undef\tae2f_stdcc_v\n"\
7419"#define\tae2f_stdcc_v\t(201703L)\n"\
7420"#endif\n"\
7421"\n"\
7422"#if __ae2f_lvcheck_cc(2020)\n"\
7423"#undef\tae2f_stdcc_v\n"\
7424"#define\tae2f_stdcc_v\t(202002L)\n"\
7425"#endif\n"\
7426"\n"\
7427"#if __ae2f_lvcheck_cc(2023)\n"\
7428"#undef\tae2f_stdcc_v\n"\
7429"#define\tae2f_stdcc_v\t(202302L)\n"\
7430"#endif\n"\
7431"\n"\
7432"#endif\n"\
7433"\n"\
7434"#ifdef\t__STDC_VERSION__\n"\
7435"#undef\tae2f_stdc_v\n"\
7436"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
7437"#else\n"\
7438"\n"\
7439"#undef\tae2f_stdc_v\n"\
7440"#define ae2f_stdc_v\t(199001L)\n"\
7441"\n"\
7442"#if __ae2f_lvcheck_c(1999)\n"\
7443"#undef\tae2f_stdc_v\n"\
7444"#define ae2f_stdc_v\t(199901L)\n"\
7445"#endif\n"\
7446"\n"\
7447"#if __ae2f_lvcheck_c(2011)\n"\
7448"#undef\tae2f_stdc_v\n"\
7449"#define ae2f_stdc_v\t(201112L)\n"\
7450"#endif\n"\
7451"\n"\
7452"#if __ae2f_lvcheck_c(2017)\n"\
7453"#undef\tae2f_stdc_v\n"\
7454"#define ae2f_stdc_v\t(201710L)\n"\
7455"#endif\n"\
7456"\n"\
7457"#if __ae2f_lvcheck_c(2023)\n"\
7458"#undef\tae2f_stdc_v\n"\
7459"#define ae2f_stdc_v\t(202311L)\n"\
7460"#endif\n"\
7461"\n"\
7462"#endif\n"\
7463"\n"\
7464"#undef\t__ae2f_stdcheck_C\n"\
7465"#undef\t__ae2f_stdcheck_CC\n"\
7466"\n"\
7467"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
7468"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
7469"\n"\
7470"\n"\
7471"\n"\
7472"\n"\
7473"#if __ae2f_stdcheck_CC(201703L)\n"\
7474"#define ae2f_if_constexpr if constexpr\n"\
7475"#else\n"\
7476"#define ae2f_if_constexpr if\n"\
7477"#endif\n"\
7478"\n"\
7479"#if __ae2f_stdcheck_CC(202002L)\n"\
7480"#define ae2f_if_consteval\tif consteval\n"\
7481"#else\n"\
7482"#define ae2f_if_consteval\tif (0)\n"\
7483"#endif\n"\
7484"\n"\
7485"#if __ae2f_stdcheck_CC(202002L)\n"\
7486"#define ae2f_constexprvirtual constexpr virtual\n"\
7487"#define ae2f_constinit\tconstinit\n"\
7488"#else\n"\
7489"#define ae2f_constexprvirtual virtual\n"\
7490"#define ae2f_constinit\t\n"\
7491"#endif \n"\
7492"\n"\
7493"#if __ae2f_stdcheck_CC(201402L)\n"\
7494"#define ae2f_constextendedfun\tconstexpr\n"\
7495"#define ae2f_constextendedeval \tconstexpr\n"\
7496"\n"\
7497"#define ae2f_constextendedmethod\tconstexpr\n"\
7498"#define ae2f_constextendedmethodeval\tconstexpr\n"\
7499"\n"\
7500"#else\n"\
7501"#define ae2f_constextendedfun\tinline\n"\
7502"#define ae2f_constextendedmethod\tinline\n"\
7503"\n"\
7504"#define ae2f_constextendedeval\tinline\n"\
7505"#define ae2f_constextendedmethodeval\tinline\n"\
7506"#endif \n"\
7507"\n"\
7508"#if __ae2f_stdcheck_CC(201103L)\n"\
7509"#define ae2f_constexprmethod\t\tconstexpr\n"\
7510"#define ae2f_constexprfun\t\tconstexpr\n"\
7511"#define ae2f_constevalmethod\t\tconstexpr\n"\
7512"#define ae2f_virtual\t\tvirtual\n"\
7513"#else\n"\
7514"#define ae2f_constexprmethod\t\tinline\n"\
7515"#define ae2f_constexprfun\t\tinline\n"\
7516"#define ae2f_constevalmethod\t\tinline\n"\
7517"#define ae2f_virtual\t\t\n"\
7518"\n"\
7519"#if !defined(__cplusplus) \n"\
7520"\n"\
7521"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
7522"\n"\
7523"#define ae2f_constexpr\tconstexpr\n"\
7524"#else\n"\
7525"#define ae2f_constexpr\n"\
7526"#endif \n"\
7527"\n"\
7528"\n"\
7529"#endif \n"\
7530"\n"\
7531"#endif \n"\
7532"\n"\
7533"#if __ae2f_stdcheck_CC(202002L)\n"\
7534"#undef ae2f_constevalmethod\n"\
7535"#define ae2f_constevalmethod consteval \n"\
7536"#define ae2f_consteval\tconsteval\n"\
7537"#elif __ae2f_stdcheck_CC(0)\n"\
7538"\n"\
7539"#undef constevalmethod\n"\
7540"\n"\
7541"\n"\
7542"#define ae2f_consteval\n"\
7543"#define ae2f_constevalmethod ae2f_constexprmethod\n"\
7544"\n"\
7545"#else\n"\
7546"\n"\
7547"#define ae2f_consteval\n"\
7548"#endif \n"\
7549"\n"\
7550"#endif\n"\
7551"\n"\
7552"#if 90 >= 50\n"\
7553"#define ae2f_LangVer_C 1990\n"\
7554"#else\n"\
7555"#define ae2f_LangVer_C 2090\n"\
7556"#endif\n"\
7557"\n"\
7558"#if 11 >= 50\n"\
7559"#define ae2f_LangVer_CC 1911\n"\
7560"#else\n"\
7561"#define ae2f_LangVer_CC 2011\n"\
7562"#endif\n"\
7563"\n"\
7564"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
7565"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
7566"\n"\
7567"\n"\
7568"\n"\
7569"#ifndef ae2f_Cxx_h\n"\
7570"#define ae2f_Cxx_h\n"\
7571"\n"\
7572"\n"\
7573"\n"\
7574"#define ae2f_NONE\n"\
7575"\n"\
7576"#if __cplusplus\n"\
7577"\n"\
7578"\n"\
7579"\n"\
7580"\n"\
7581"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7582"\n"\
7583"\n"\
7584"\n"\
7585"#define ae2f_WhenC(...) ae2f_NONE\n"\
7586"\n"\
7587"#else\n"\
7588"\n"\
7589"\n"\
7590"\n"\
7591"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7592"\n"\
7593"\n"\
7594"\n"\
7595"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7596"\n"\
7597"#endif\n"\
7598"\n"\
7599"\n"\
7600"\n"\
7601"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7602"\n"\
7603"\n"\
7604"\n"\
7605"\n"\
7606"\n"\
7607"#define ae2f_c_check && !ae2f_is_cxx\n"\
7608"\n"\
7609"\n"\
7610"\n"\
7611"\n"\
7612"\n"\
7613"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7614"\n"\
7615"\n"\
7616"\n"\
7617"#ifndef ae2f_Cxx_Reg_h\n"\
7618"#define ae2f_Cxx_Reg_h\n"\
7619"\n"\
7620"\n"\
7621"\n"\
7622"#ifndef ae2f_Cxx_h\n"\
7623"#define ae2f_Cxx_h\n"\
7624"\n"\
7625"\n"\
7626"\n"\
7627"#define ae2f_NONE\n"\
7628"\n"\
7629"#if __cplusplus\n"\
7630"\n"\
7631"\n"\
7632"\n"\
7633"\n"\
7634"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7635"\n"\
7636"\n"\
7637"\n"\
7638"#define ae2f_WhenC(...) ae2f_NONE\n"\
7639"\n"\
7640"#else\n"\
7641"\n"\
7642"\n"\
7643"\n"\
7644"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7645"\n"\
7646"\n"\
7647"\n"\
7648"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7649"\n"\
7650"#endif\n"\
7651"\n"\
7652"\n"\
7653"\n"\
7654"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7655"\n"\
7656"\n"\
7657"\n"\
7658"\n"\
7659"\n"\
7660"#define ae2f_c_check && !ae2f_is_cxx\n"\
7661"\n"\
7662"\n"\
7663"\n"\
7664"\n"\
7665"\n"\
7666"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7667"\n"\
7668"\n"\
7669"\n"\
7670"#ifndef ae2f_Cxx_Reg_h\n"\
7671"#define ae2f_Cxx_Reg_h\n"\
7672"\n"\
7673"\n"\
7674"\n"\
7675"#ifndef ae2f_Cxx_h\n"\
7676"#define ae2f_Cxx_h\n"\
7677"\n"\
7678"\n"\
7679"\n"\
7680"#define ae2f_NONE\n"\
7681"\n"\
7682"#if __cplusplus\n"\
7683"\n"\
7684"\n"\
7685"\n"\
7686"\n"\
7687"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7688"\n"\
7689"\n"\
7690"\n"\
7691"#define ae2f_WhenC(...) ae2f_NONE\n"\
7692"\n"\
7693"#else\n"\
7694"\n"\
7695"\n"\
7696"\n"\
7697"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7698"\n"\
7699"\n"\
7700"\n"\
7701"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7702"\n"\
7703"#endif\n"\
7704"\n"\
7705"\n"\
7706"\n"\
7707"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7708"\n"\
7709"\n"\
7710"\n"\
7711"\n"\
7712"\n"\
7713"#define ae2f_c_check && !ae2f_is_cxx\n"\
7714"\n"\
7715"\n"\
7716"\n"\
7717"\n"\
7718"\n"\
7719"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7720"\n"\
7721"\n"\
7722"\n"\
7723"#ifndef ae2f_Cxx_Reg_h\n"\
7724"#define ae2f_Cxx_Reg_h\n"\
7725"\n"\
7726"\n"\
7727"\n"\
7728"#ifndef ae2f_Cxx_h\n"\
7729"#define ae2f_Cxx_h\n"\
7730"\n"\
7731"\n"\
7732"\n"\
7733"#define ae2f_NONE\n"\
7734"\n"\
7735"#if __cplusplus\n"\
7736"\n"\
7737"\n"\
7738"\n"\
7739"\n"\
7740"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7741"\n"\
7742"\n"\
7743"\n"\
7744"#define ae2f_WhenC(...) ae2f_NONE\n"\
7745"\n"\
7746"#else\n"\
7747"\n"\
7748"\n"\
7749"\n"\
7750"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7751"\n"\
7752"\n"\
7753"\n"\
7754"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7755"\n"\
7756"#endif\n"\
7757"\n"\
7758"\n"\
7759"\n"\
7760"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7761"\n"\
7762"\n"\
7763"\n"\
7764"\n"\
7765"\n"\
7766"#define ae2f_c_check && !ae2f_is_cxx\n"\
7767"\n"\
7768"\n"\
7769"\n"\
7770"\n"\
7771"\n"\
7772"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7773"\n"\
7774"\n"\
7775"\n"\
7776"#ifndef ae2f_Cxx_Reg_h\n"\
7777"#define ae2f_Cxx_Reg_h\n"\
7778"\n"\
7779"\n"\
7780"\n"\
7781"#ifndef ae2f_Cxx_h\n"\
7782"#define ae2f_Cxx_h\n"\
7783"\n"\
7784"\n"\
7785"\n"\
7786"#define ae2f_NONE\n"\
7787"\n"\
7788"#if __cplusplus\n"\
7789"\n"\
7790"\n"\
7791"\n"\
7792"\n"\
7793"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7794"\n"\
7795"\n"\
7796"\n"\
7797"#define ae2f_WhenC(...) ae2f_NONE\n"\
7798"\n"\
7799"#else\n"\
7800"\n"\
7801"\n"\
7802"\n"\
7803"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7804"\n"\
7805"\n"\
7806"\n"\
7807"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7808"\n"\
7809"#endif\n"\
7810"\n"\
7811"\n"\
7812"\n"\
7813"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7814"\n"\
7815"\n"\
7816"\n"\
7817"\n"\
7818"\n"\
7819"#define ae2f_c_check && !ae2f_is_cxx\n"\
7820"\n"\
7821"\n"\
7822"\n"\
7823"\n"\
7824"\n"\
7825"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7826"\n"\
7827"\n"\
7828"\n"\
7829"#ifndef ae2f_Cxx_Reg_h\n"\
7830"#define ae2f_Cxx_Reg_h\n"\
7831"\n"\
7832"\n"\
7833"\n"\
7834"#ifndef ae2f_Cxx_h\n"\
7835"#define ae2f_Cxx_h\n"\
7836"\n"\
7837"\n"\
7838"\n"\
7839"#define ae2f_NONE\n"\
7840"\n"\
7841"#if __cplusplus\n"\
7842"\n"\
7843"\n"\
7844"\n"\
7845"\n"\
7846"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7847"\n"\
7848"\n"\
7849"\n"\
7850"#define ae2f_WhenC(...) ae2f_NONE\n"\
7851"\n"\
7852"#else\n"\
7853"\n"\
7854"\n"\
7855"\n"\
7856"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7857"\n"\
7858"\n"\
7859"\n"\
7860"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7861"\n"\
7862"#endif\n"\
7863"\n"\
7864"\n"\
7865"\n"\
7866"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7867"\n"\
7868"\n"\
7869"\n"\
7870"\n"\
7871"\n"\
7872"#define ae2f_c_check && !ae2f_is_cxx\n"\
7873"\n"\
7874"\n"\
7875"\n"\
7876"\n"\
7877"\n"\
7878"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7879"\n"\
7880"\n"\
7881"\n"\
7882"#ifndef ae2f_Cxx_Reg_h\n"\
7883"#define ae2f_Cxx_Reg_h\n"\
7884"\n"\
7885"\n"\
7886"\n"\
7887"#ifndef ae2f_Cxx_h\n"\
7888"#define ae2f_Cxx_h\n"\
7889"\n"\
7890"\n"\
7891"\n"\
7892"#define ae2f_NONE\n"\
7893"\n"\
7894"#if __cplusplus\n"\
7895"\n"\
7896"\n"\
7897"\n"\
7898"\n"\
7899"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7900"\n"\
7901"\n"\
7902"\n"\
7903"#define ae2f_WhenC(...) ae2f_NONE\n"\
7904"\n"\
7905"#else\n"\
7906"\n"\
7907"\n"\
7908"\n"\
7909"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7910"\n"\
7911"\n"\
7912"\n"\
7913"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7914"\n"\
7915"#endif\n"\
7916"\n"\
7917"\n"\
7918"\n"\
7919"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7920"\n"\
7921"\n"\
7922"\n"\
7923"\n"\
7924"\n"\
7925"#define ae2f_c_check && !ae2f_is_cxx\n"\
7926"\n"\
7927"\n"\
7928"\n"\
7929"\n"\
7930"\n"\
7931"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7932"\n"\
7933"\n"\
7934"\n"\
7935"#ifndef ae2f_Cxx_Reg_h\n"\
7936"#define ae2f_Cxx_Reg_h\n"\
7937"\n"\
7938"\n"\
7939"\n"\
7940"#ifndef ae2f_Cxx_h\n"\
7941"#define ae2f_Cxx_h\n"\
7942"\n"\
7943"\n"\
7944"\n"\
7945"#define ae2f_NONE\n"\
7946"\n"\
7947"#if __cplusplus\n"\
7948"\n"\
7949"\n"\
7950"\n"\
7951"\n"\
7952"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
7953"\n"\
7954"\n"\
7955"\n"\
7956"#define ae2f_WhenC(...) ae2f_NONE\n"\
7957"\n"\
7958"#else\n"\
7959"\n"\
7960"\n"\
7961"\n"\
7962"#define ae2f_WhenC(...) __VA_ARGS__\n"\
7963"\n"\
7964"\n"\
7965"\n"\
7966"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
7967"\n"\
7968"#endif\n"\
7969"\n"\
7970"\n"\
7971"\n"\
7972"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
7973"\n"\
7974"\n"\
7975"\n"\
7976"\n"\
7977"\n"\
7978"#define ae2f_c_check && !ae2f_is_cxx\n"\
7979"\n"\
7980"\n"\
7981"\n"\
7982"\n"\
7983"\n"\
7984"#define ae2f_cxx_check && ae2f_is_cxx\n"\
7985"\n"\
7986"\n"\
7987"\n"\
7988"#ifndef ae2f_Cxx_Reg_h\n"\
7989"#define ae2f_Cxx_Reg_h\n"\
7990"\n"\
7991"\n"\
7992"\n"\
7993"#ifndef ae2f_Cxx_h\n"\
7994"#define ae2f_Cxx_h\n"\
7995"\n"\
7996"\n"\
7997"\n"\
7998"#define ae2f_NONE\n"\
7999"\n"\
8000"#if __cplusplus\n"\
8001"\n"\
8002"\n"\
8003"\n"\
8004"\n"\
8005"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8006"\n"\
8007"\n"\
8008"\n"\
8009"#define ae2f_WhenC(...) ae2f_NONE\n"\
8010"\n"\
8011"#else\n"\
8012"\n"\
8013"\n"\
8014"\n"\
8015"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8016"\n"\
8017"\n"\
8018"\n"\
8019"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8020"\n"\
8021"#endif\n"\
8022"\n"\
8023"\n"\
8024"\n"\
8025"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8026"\n"\
8027"\n"\
8028"\n"\
8029"\n"\
8030"\n"\
8031"#define ae2f_c_check && !ae2f_is_cxx\n"\
8032"\n"\
8033"\n"\
8034"\n"\
8035"\n"\
8036"\n"\
8037"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8038"\n"\
8039"\n"\
8040"\n"\
8041"#ifndef ae2f_Cxx_Reg_h\n"\
8042"#define ae2f_Cxx_Reg_h\n"\
8043"\n"\
8044"\n"\
8045"\n"\
8046"#ifndef ae2f_Cxx_h\n"\
8047"#define ae2f_Cxx_h\n"\
8048"\n"\
8049"\n"\
8050"\n"\
8051"#define ae2f_NONE\n"\
8052"\n"\
8053"#if __cplusplus\n"\
8054"\n"\
8055"\n"\
8056"\n"\
8057"\n"\
8058"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8059"\n"\
8060"\n"\
8061"\n"\
8062"#define ae2f_WhenC(...) ae2f_NONE\n"\
8063"\n"\
8064"#else\n"\
8065"\n"\
8066"\n"\
8067"\n"\
8068"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8069"\n"\
8070"\n"\
8071"\n"\
8072"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8073"\n"\
8074"#endif\n"\
8075"\n"\
8076"\n"\
8077"\n"\
8078"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8079"\n"\
8080"\n"\
8081"\n"\
8082"\n"\
8083"\n"\
8084"#define ae2f_c_check && !ae2f_is_cxx\n"\
8085"\n"\
8086"\n"\
8087"\n"\
8088"\n"\
8089"\n"\
8090"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8091"\n"\
8092"\n"\
8093"\n"\
8094"#ifndef ae2f_Cxx_Reg_h\n"\
8095"#define ae2f_Cxx_Reg_h\n"\
8096"\n"\
8097"\n"\
8098"\n"\
8099"#ifndef ae2f_Cxx_h\n"\
8100"#define ae2f_Cxx_h\n"\
8101"\n"\
8102"\n"\
8103"\n"\
8104"#define ae2f_NONE\n"\
8105"\n"\
8106"#if __cplusplus\n"\
8107"\n"\
8108"\n"\
8109"\n"\
8110"\n"\
8111"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8112"\n"\
8113"\n"\
8114"\n"\
8115"#define ae2f_WhenC(...) ae2f_NONE\n"\
8116"\n"\
8117"#else\n"\
8118"\n"\
8119"\n"\
8120"\n"\
8121"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8122"\n"\
8123"\n"\
8124"\n"\
8125"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8126"\n"\
8127"#endif\n"\
8128"\n"\
8129"\n"\
8130"\n"\
8131"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8132"\n"\
8133"\n"\
8134"\n"\
8135"\n"\
8136"\n"\
8137"#define ae2f_c_check && !ae2f_is_cxx\n"\
8138"\n"\
8139"\n"\
8140"\n"\
8141"\n"\
8142"\n"\
8143"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8144"\n"\
8145"\n"\
8146"\n"\
8147"#ifndef ae2f_Cxx_Reg_h\n"\
8148"#define ae2f_Cxx_Reg_h\n"\
8149"\n"\
8150"\n"\
8151"\n"\
8152"#ifndef ae2f_Cxx_h\n"\
8153"#define ae2f_Cxx_h\n"\
8154"\n"\
8155"\n"\
8156"\n"\
8157"#define ae2f_NONE\n"\
8158"\n"\
8159"#if __cplusplus\n"\
8160"\n"\
8161"\n"\
8162"\n"\
8163"\n"\
8164"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8165"\n"\
8166"\n"\
8167"\n"\
8168"#define ae2f_WhenC(...) ae2f_NONE\n"\
8169"\n"\
8170"#else\n"\
8171"\n"\
8172"\n"\
8173"\n"\
8174"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8175"\n"\
8176"\n"\
8177"\n"\
8178"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8179"\n"\
8180"#endif\n"\
8181"\n"\
8182"\n"\
8183"\n"\
8184"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8185"\n"\
8186"\n"\
8187"\n"\
8188"\n"\
8189"\n"\
8190"#define ae2f_c_check && !ae2f_is_cxx\n"\
8191"\n"\
8192"\n"\
8193"\n"\
8194"\n"\
8195"\n"\
8196"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8197"\n"\
8198"\n"\
8199"\n"\
8200"#ifndef ae2f_Cxx_Reg_h\n"\
8201"#define ae2f_Cxx_Reg_h\n"\
8202"\n"\
8203"\n"\
8204"\n"\
8205"#ifndef ae2f_Cxx_h\n"\
8206"#define ae2f_Cxx_h\n"\
8207"\n"\
8208"\n"\
8209"\n"\
8210"#define ae2f_NONE\n"\
8211"\n"\
8212"#if __cplusplus\n"\
8213"\n"\
8214"\n"\
8215"\n"\
8216"\n"\
8217"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8218"\n"\
8219"\n"\
8220"\n"\
8221"#define ae2f_WhenC(...) ae2f_NONE\n"\
8222"\n"\
8223"#else\n"\
8224"\n"\
8225"\n"\
8226"\n"\
8227"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8228"\n"\
8229"\n"\
8230"\n"\
8231"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8232"\n"\
8233"#endif\n"\
8234"\n"\
8235"\n"\
8236"\n"\
8237"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8238"\n"\
8239"\n"\
8240"\n"\
8241"\n"\
8242"\n"\
8243"#define ae2f_c_check && !ae2f_is_cxx\n"\
8244"\n"\
8245"\n"\
8246"\n"\
8247"\n"\
8248"\n"\
8249"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8250"\n"\
8251"\n"\
8252"\n"\
8253"#ifndef ae2f_Cxx_Reg_h\n"\
8254"#define ae2f_Cxx_Reg_h\n"\
8255"\n"\
8256"\n"\
8257"\n"\
8258"#ifndef ae2f_Cxx_h\n"\
8259"#define ae2f_Cxx_h\n"\
8260"\n"\
8261"\n"\
8262"\n"\
8263"#define ae2f_NONE\n"\
8264"\n"\
8265"#if __cplusplus\n"\
8266"\n"\
8267"\n"\
8268"\n"\
8269"\n"\
8270"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8271"\n"\
8272"\n"\
8273"\n"\
8274"#define ae2f_WhenC(...) ae2f_NONE\n"\
8275"\n"\
8276"#else\n"\
8277"\n"\
8278"\n"\
8279"\n"\
8280"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8281"\n"\
8282"\n"\
8283"\n"\
8284"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8285"\n"\
8286"#endif\n"\
8287"\n"\
8288"\n"\
8289"\n"\
8290"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8291"\n"\
8292"\n"\
8293"\n"\
8294"\n"\
8295"\n"\
8296"#define ae2f_c_check && !ae2f_is_cxx\n"\
8297"\n"\
8298"\n"\
8299"\n"\
8300"\n"\
8301"\n"\
8302"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8303"\n"\
8304"\n"\
8305"\n"\
8306"#ifndef ae2f_Cxx_Reg_h\n"\
8307"#define ae2f_Cxx_Reg_h\n"\
8308"\n"\
8309"\n"\
8310"\n"\
8311"#ifndef ae2f_Cxx_h\n"\
8312"#define ae2f_Cxx_h\n"\
8313"\n"\
8314"\n"\
8315"\n"\
8316"#define ae2f_NONE\n"\
8317"\n"\
8318"#if __cplusplus\n"\
8319"\n"\
8320"\n"\
8321"\n"\
8322"\n"\
8323"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8324"\n"\
8325"\n"\
8326"\n"\
8327"#define ae2f_WhenC(...) ae2f_NONE\n"\
8328"\n"\
8329"#else\n"\
8330"\n"\
8331"\n"\
8332"\n"\
8333"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8334"\n"\
8335"\n"\
8336"\n"\
8337"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8338"\n"\
8339"#endif\n"\
8340"\n"\
8341"\n"\
8342"\n"\
8343"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8344"\n"\
8345"\n"\
8346"\n"\
8347"\n"\
8348"\n"\
8349"#define ae2f_c_check && !ae2f_is_cxx\n"\
8350"\n"\
8351"\n"\
8352"\n"\
8353"\n"\
8354"\n"\
8355"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8356"\n"\
8357"\n"\
8358"\n"\
8359"#ifndef ae2f_Cxx_Reg_h\n"\
8360"#define ae2f_Cxx_Reg_h\n"\
8361"\n"\
8362"\n"\
8363"\n"\
8364"#ifndef ae2f_Cxx_h\n"\
8365"#define ae2f_Cxx_h\n"\
8366"\n"\
8367"\n"\
8368"\n"\
8369"#define ae2f_NONE\n"\
8370"\n"\
8371"#if __cplusplus\n"\
8372"\n"\
8373"\n"\
8374"\n"\
8375"\n"\
8376"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8377"\n"\
8378"\n"\
8379"\n"\
8380"#define ae2f_WhenC(...) ae2f_NONE\n"\
8381"\n"\
8382"#else\n"\
8383"\n"\
8384"\n"\
8385"\n"\
8386"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8387"\n"\
8388"\n"\
8389"\n"\
8390"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8391"\n"\
8392"#endif\n"\
8393"\n"\
8394"\n"\
8395"\n"\
8396"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8397"\n"\
8398"\n"\
8399"\n"\
8400"\n"\
8401"\n"\
8402"#define ae2f_c_check && !ae2f_is_cxx\n"\
8403"\n"\
8404"\n"\
8405"\n"\
8406"\n"\
8407"\n"\
8408"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8409"\n"\
8410"\n"\
8411"\n"\
8412"#ifndef ae2f_Cxx_Reg_h\n"\
8413"#define ae2f_Cxx_Reg_h\n"\
8414"\n"\
8415"\n"\
8416"\n"\
8417"#ifndef ae2f_Cxx_h\n"\
8418"#define ae2f_Cxx_h\n"\
8419"\n"\
8420"\n"\
8421"\n"\
8422"#define ae2f_NONE\n"\
8423"\n"\
8424"#if __cplusplus\n"\
8425"\n"\
8426"\n"\
8427"\n"\
8428"\n"\
8429"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8430"\n"\
8431"\n"\
8432"\n"\
8433"#define ae2f_WhenC(...) ae2f_NONE\n"\
8434"\n"\
8435"#else\n"\
8436"\n"\
8437"\n"\
8438"\n"\
8439"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8440"\n"\
8441"\n"\
8442"\n"\
8443"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8444"\n"\
8445"#endif\n"\
8446"\n"\
8447"\n"\
8448"\n"\
8449"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8450"\n"\
8451"\n"\
8452"\n"\
8453"\n"\
8454"\n"\
8455"#define ae2f_c_check && !ae2f_is_cxx\n"\
8456"\n"\
8457"\n"\
8458"\n"\
8459"\n"\
8460"\n"\
8461"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8462"\n"\
8463"\n"\
8464"\n"\
8465"#ifndef ae2f_Cxx_Reg_h\n"\
8466"#define ae2f_Cxx_Reg_h\n"\
8467"\n"\
8468"\n"\
8469"\n"\
8470"#ifndef ae2f_Cxx_h\n"\
8471"#define ae2f_Cxx_h\n"\
8472"\n"\
8473"\n"\
8474"\n"\
8475"#define ae2f_NONE\n"\
8476"\n"\
8477"#if __cplusplus\n"\
8478"\n"\
8479"\n"\
8480"\n"\
8481"\n"\
8482"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8483"\n"\
8484"\n"\
8485"\n"\
8486"#define ae2f_WhenC(...) ae2f_NONE\n"\
8487"\n"\
8488"#else\n"\
8489"\n"\
8490"\n"\
8491"\n"\
8492"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8493"\n"\
8494"\n"\
8495"\n"\
8496"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8497"\n"\
8498"#endif\n"\
8499"\n"\
8500"\n"\
8501"\n"\
8502"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8503"\n"\
8504"\n"\
8505"\n"\
8506"\n"\
8507"\n"\
8508"#define ae2f_c_check && !ae2f_is_cxx\n"\
8509"\n"\
8510"\n"\
8511"\n"\
8512"\n"\
8513"\n"\
8514"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8515"\n"\
8516"\n"\
8517"\n"\
8518"#ifndef ae2f_Cxx_Reg_h\n"\
8519"#define ae2f_Cxx_Reg_h\n"\
8520"\n"\
8521"\n"\
8522"\n"\
8523"#ifndef ae2f_Cxx_h\n"\
8524"#define ae2f_Cxx_h\n"\
8525"\n"\
8526"\n"\
8527"\n"\
8528"#define ae2f_NONE\n"\
8529"\n"\
8530"#if __cplusplus\n"\
8531"\n"\
8532"\n"\
8533"\n"\
8534"\n"\
8535"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8536"\n"\
8537"\n"\
8538"\n"\
8539"#define ae2f_WhenC(...) ae2f_NONE\n"\
8540"\n"\
8541"#else\n"\
8542"\n"\
8543"\n"\
8544"\n"\
8545"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8546"\n"\
8547"\n"\
8548"\n"\
8549"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8550"\n"\
8551"#endif\n"\
8552"\n"\
8553"\n"\
8554"\n"\
8555"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8556"\n"\
8557"\n"\
8558"\n"\
8559"\n"\
8560"\n"\
8561"#define ae2f_c_check && !ae2f_is_cxx\n"\
8562"\n"\
8563"\n"\
8564"\n"\
8565"\n"\
8566"\n"\
8567"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8568"\n"\
8569"\n"\
8570"\n"\
8571"#ifndef ae2f_Cxx_Reg_h\n"\
8572"#define ae2f_Cxx_Reg_h\n"\
8573"\n"\
8574"\n"\
8575"\n"\
8576"#ifndef ae2f_Cxx_h\n"\
8577"#define ae2f_Cxx_h\n"\
8578"\n"\
8579"\n"\
8580"\n"\
8581"#define ae2f_NONE\n"\
8582"\n"\
8583"#if __cplusplus\n"\
8584"\n"\
8585"\n"\
8586"\n"\
8587"\n"\
8588"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8589"\n"\
8590"\n"\
8591"\n"\
8592"#define ae2f_WhenC(...) ae2f_NONE\n"\
8593"\n"\
8594"#else\n"\
8595"\n"\
8596"\n"\
8597"\n"\
8598"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8599"\n"\
8600"\n"\
8601"\n"\
8602"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8603"\n"\
8604"#endif\n"\
8605"\n"\
8606"\n"\
8607"\n"\
8608"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8609"\n"\
8610"\n"\
8611"\n"\
8612"\n"\
8613"\n"\
8614"#define ae2f_c_check && !ae2f_is_cxx\n"\
8615"\n"\
8616"\n"\
8617"\n"\
8618"\n"\
8619"\n"\
8620"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8621"\n"\
8622"\n"\
8623"\n"\
8624"#ifndef ae2f_Cxx_Reg_h\n"\
8625"#define ae2f_Cxx_Reg_h\n"\
8626"\n"\
8627"\n"\
8628"\n"\
8629"#ifndef ae2f_Cxx_h\n"\
8630"#define ae2f_Cxx_h\n"\
8631"\n"\
8632"\n"\
8633"\n"\
8634"#define ae2f_NONE\n"\
8635"\n"\
8636"#if __cplusplus\n"\
8637"\n"\
8638"\n"\
8639"\n"\
8640"\n"\
8641"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8642"\n"\
8643"\n"\
8644"\n"\
8645"#define ae2f_WhenC(...) ae2f_NONE\n"\
8646"\n"\
8647"#else\n"\
8648"\n"\
8649"\n"\
8650"\n"\
8651"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8652"\n"\
8653"\n"\
8654"\n"\
8655"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8656"\n"\
8657"#endif\n"\
8658"\n"\
8659"\n"\
8660"\n"\
8661"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8662"\n"\
8663"\n"\
8664"\n"\
8665"\n"\
8666"\n"\
8667"#define ae2f_c_check && !ae2f_is_cxx\n"\
8668"\n"\
8669"\n"\
8670"\n"\
8671"\n"\
8672"\n"\
8673"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8674"\n"\
8675"\n"\
8676"\n"\
8677"#ifndef ae2f_Cxx_Reg_h\n"\
8678"#define ae2f_Cxx_Reg_h\n"\
8679"\n"\
8680"\n"\
8681"\n"\
8682"#ifndef ae2f_Cxx_h\n"\
8683"#define ae2f_Cxx_h\n"\
8684"\n"\
8685"\n"\
8686"\n"\
8687"#define ae2f_NONE\n"\
8688"\n"\
8689"#if __cplusplus\n"\
8690"\n"\
8691"\n"\
8692"\n"\
8693"\n"\
8694"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
8695"\n"\
8696"\n"\
8697"\n"\
8698"#define ae2f_WhenC(...) ae2f_NONE\n"\
8699"\n"\
8700"#else\n"\
8701"\n"\
8702"\n"\
8703"\n"\
8704"#define ae2f_WhenC(...) __VA_ARGS__\n"\
8705"\n"\
8706"\n"\
8707"\n"\
8708"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
8709"\n"\
8710"#endif\n"\
8711"\n"\
8712"\n"\
8713"\n"\
8714"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
8715"\n"\
8716"\n"\
8717"\n"\
8718"\n"\
8719"\n"\
8720"#define ae2f_c_check && !ae2f_is_cxx\n"\
8721"\n"\
8722"\n"\
8723"\n"\
8724"\n"\
8725"\n"\
8726"#define ae2f_cxx_check && ae2f_is_cxx\n"\
8727"\n"\
8728"\n"\
8729"\n"\
8730"#ifndef ae2f_Cxx_Reg_h\n"\
8731"#define ae2f_Cxx_Reg_h\n"\
8732"\n"\
8733"\n"\
8734"\n"\
8735"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8736"\n"\
8737"#endif\n"\
8738"\n"\
8739"\n"\
8740"#endif\n"\
8741"\n"\
8742"\n"\
8743"\n"\
8744"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8745"\n"\
8746"#endif\n"\
8747"\n"\
8748"\n"\
8749"#endif\n"\
8750"\n"\
8751"\n"\
8752"\n"\
8753"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8754"\n"\
8755"#endif\n"\
8756"\n"\
8757"\n"\
8758"#endif\n"\
8759"\n"\
8760"\n"\
8761"\n"\
8762"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8763"\n"\
8764"#endif\n"\
8765"\n"\
8766"\n"\
8767"#endif\n"\
8768"\n"\
8769"\n"\
8770"\n"\
8771"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8772"\n"\
8773"#endif\n"\
8774"\n"\
8775"\n"\
8776"#endif\n"\
8777"\n"\
8778"\n"\
8779"\n"\
8780"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8781"\n"\
8782"#endif\n"\
8783"\n"\
8784"\n"\
8785"#endif\n"\
8786"\n"\
8787"\n"\
8788"\n"\
8789"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8790"\n"\
8791"#endif\n"\
8792"\n"\
8793"\n"\
8794"#endif\n"\
8795"\n"\
8796"\n"\
8797"\n"\
8798"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8799"\n"\
8800"#endif\n"\
8801"\n"\
8802"\n"\
8803"#endif\n"\
8804"\n"\
8805"\n"\
8806"\n"\
8807"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8808"\n"\
8809"#endif\n"\
8810"\n"\
8811"\n"\
8812"#endif\n"\
8813"\n"\
8814"\n"\
8815"\n"\
8816"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8817"\n"\
8818"#endif\n"\
8819"\n"\
8820"\n"\
8821"#endif\n"\
8822"\n"\
8823"\n"\
8824"\n"\
8825"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8826"\n"\
8827"#endif\n"\
8828"\n"\
8829"\n"\
8830"#endif\n"\
8831"\n"\
8832"\n"\
8833"\n"\
8834"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8835"\n"\
8836"#endif\n"\
8837"\n"\
8838"\n"\
8839"#endif\n"\
8840"\n"\
8841"\n"\
8842"\n"\
8843"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8844"\n"\
8845"#endif\n"\
8846"\n"\
8847"\n"\
8848"#endif\n"\
8849"\n"\
8850"\n"\
8851"\n"\
8852"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8853"\n"\
8854"#endif\n"\
8855"\n"\
8856"\n"\
8857"#endif\n"\
8858"\n"\
8859"\n"\
8860"\n"\
8861"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8862"\n"\
8863"#endif\n"\
8864"\n"\
8865"\n"\
8866"#endif\n"\
8867"\n"\
8868"\n"\
8869"\n"\
8870"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8871"\n"\
8872"#endif\n"\
8873"\n"\
8874"\n"\
8875"#endif\n"\
8876"\n"\
8877"\n"\
8878"\n"\
8879"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8880"\n"\
8881"#endif\n"\
8882"\n"\
8883"\n"\
8884"#endif\n"\
8885"\n"\
8886"\n"\
8887"\n"\
8888"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8889"\n"\
8890"#endif\n"\
8891"\n"\
8892"\n"\
8893"#endif\n"\
8894"\n"\
8895"\n"\
8896"\n"\
8897"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8898"\n"\
8899"#endif\n"\
8900"\n"\
8901"\n"\
8902"#endif\n"\
8903"\n"\
8904"\n"\
8905"\n"\
8906"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8907"\n"\
8908"#endif\n"\
8909"\n"\
8910"\n"\
8911"#endif\n"\
8912"\n"\
8913"\n"\
8914"\n"\
8915"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8916"\n"\
8917"#endif\n"\
8918"\n"\
8919"\n"\
8920"#endif\n"\
8921"\n"\
8922"\n"\
8923"\n"\
8924"#define ae2f_reg\tae2f_WhenCXX() ae2f_WhenC(register)\n"\
8925"\n"\
8926"#endif\n"\
8927"\n"\
8928"\n"\
8929"#endif\n"\
8930"\n"\
8931"\n"\
8932"\n"\
8933"\n"\
8934"#undef ae2f_LP\n"\
8935"#undef ae2f_NONE\n"\
8936"#undef ae2f_opt\n"\
8937"\n"\
8938"\n"\
8939"#define ae2f_NONE\n"\
8940"\n"\
8941"\n"\
8942"#define\tae2f_LP(...) ae2f_NONE\n"\
8943"\n"\
8944"\n"\
8945"#define ae2f_opt ae2f_NONE\n"\
8946"\n"\
8947"\n"\
8948"#define ae2f_FREE(...) ae2f_NONE\n"\
8949"\n"\
8950"\n"\
8951"#define ae2f_v ae2f_NONE\n"\
8952"\n"\
8953"\n"\
8954"\n"\
8955"\n"\
8956"#define ae2f_RecordMk(type, ...) \\\n"\
8957" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
8958"\n"\
8959"\n"\
8960"\n"\
8961"#define ae2f_static_cast(t, v) \\\n"\
8962" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
8963"\n"\
8964"\n"\
8965"\n"\
8966"#define ae2f_dynamic_cast(t, v) \\\n"\
8967" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
8968"\n"\
8969"\n"\
8970"\n"\
8971"#define ae2f_reinterpret_cast(t, v) \\\n"\
8972" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
8973"\n"\
8974"\n"\
8975"\n"\
8976"#define ae2f_const_cast(t, v) \\\n"\
8977" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
8978"\n"\
8979"\n"\
8980"\n"\
8981"\n"\
8982"\n"\
8983"\n"\
8984"\n"\
8985"\n"\
8986"\n"\
8987"\n"\
8988"\n"\
8989"\n"\
8990"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
8991" ae2f_WhenC((union { \\\n"\
8992" tThen a; \\\n"\
8993" tNow b; \\\n"\
8994" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
8995" ._b()\n"\
8996"\n"\
8997"\n"\
8998"\n"\
8999"\n"\
9000"\n"\
9001"\n"\
9002"#define ae2f_struct ae2f_WhenC(struct)\n"\
9003"\n"\
9004"\n"\
9005"\n"\
9006"\n"\
9007"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
9008"\n"\
9009"\n"\
9010"\n"\
9011"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
9012"\n"\
9013"\n"\
9014"\n"\
9015"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
9016"\n"\
9017"\n"\
9018"\n"\
9019"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
9020"\n"\
9021"\n"\
9022"#define unless(...) if (!(__VA_ARGS__))\n"\
9023"\n"\
9024"#define ae2f_structdef_v(key, name, ...) \\\n"\
9025" typedef key name __VA_ARGS__; \\\n"\
9026" key name\n"\
9027"\n"\
9028"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
9029"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
9030"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
9031"\n"\
9032"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
9033"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
9034"\n"\
9035"\n"\
9036"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
9037"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
9038"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
9039"\t\treturn nameeval tmpluse (prmuse); \\\n"\
9040"\t} \\\n"\
9041"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
9042"\n"\
9043"#if !__ae2f_stdcheck_CC(201103L)\n"\
9044"#undef\tae2f_noexcept\n"\
9045"#define ae2f_noexcept\n"\
9046"#else\n"\
9047"#define ae2f_noexcept noexcept\n"\
9048"#endif\n"\
9049"\n"\
9050"\n"\
9051"#undef\tae2f_restrict \n"\
9052"#if ae2f_stdc_v < 199901L\n"\
9053"#define ae2f_restrict\n"\
9054"#else\n"\
9055"#define ae2f_restrict restrict\n"\
9056"#endif \n"\
9057"\n"\
9058"#if __cplusplus\n"\
9059"#define ae2f_restrict\n"\
9060"#endif \n"\
9061"\n"\
9062"#if !__ae2f_stdcheck_CC(201103L)\n"\
9063"\n"\
9064"\n"\
9065"#define ae2f_noexcept\n"\
9066"#define ae2f_constexpr\n"\
9067"#else\n"\
9068"#define ae2f_noexcept noexcept\n"\
9069"#define ae2f_constexpr constexpr\n"\
9070"#endif \n"\
9071"\n"\
9072"#if ae2f_WhenC(!)0\n"\
9073"#undef ae2f_noexcept\n"\
9074"#define ae2f_noexcept\n"\
9075"#endif\n"\
9076"\n"\
9077"#endif\n"\
9078"\n"\
9079"\n"\
9080"\n"\
9081"\n"\
9082"\n"\
9083"\n"\
9084"\n"\
9085"\n"\
9086"\n"\
9087"#define ae2f_PackCount 0\n"\
9088"\n"\
9089"\n"\
9090"#if ae2f_PackCount\n"\
9091"#pragma pack(push, 0)\n"\
9092"#endif\n"\
9093"\n"\
9094"\n"\
9095"\n"\
9096"#ifndef ae2f_Call_h\n"\
9097"#define ae2f_Call_h\n"\
9098"\n"\
9099"#define ON 1\n"\
9100"#define OFF 0\n"\
9101"\n"\
9102"#if (defined(_WIN32) || defined(_WIN64))\n"\
9103"#define ae2f_IS_WIN 1\n"\
9104"#else \n"\
9105"#define ae2f_IS_WIN 0\n"\
9106"#endif\n"\
9107"\n"\
9108"#if (defined(__linux__))\n"\
9109"#define ae2f_IS_LINUX 1\n"\
9110"#else \n"\
9111"#define ae2f_IS_LINUX 0\n"\
9112"#endif\n"\
9113"\n"\
9114"#if defined(__MACH__) || defined(__APPLE__)\n"\
9115"#define ae2f_IS_APPLE 1\n"\
9116"#else\n"\
9117"#define ae2f_IS_APPLE 0\n"\
9118"#endif\n"\
9119"\n"\
9120"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
9121"\n"\
9122"\n"\
9123"\n"\
9124"#define ae2f_IDK 1\n"\
9125"#else\n"\
9126"\n"\
9127"#define ae2f_IDK 0\n"\
9128"#endif\n"\
9129"\n"\
9130"\n"\
9131"\n"\
9132"\n"\
9133"#define ae2f_IS_SHARED ON\n"\
9134"\n"\
9135"\n"\
9136"#if ae2f_IS_SHARED\n"\
9137"\n"\
9138"#if ae2f_IS_WIN\n"\
9139"\n"\
9140"\n"\
9141"\n"\
9142"\n"\
9143"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
9144"\n"\
9145"\n"\
9146"\n"\
9147"\n"\
9148"\n"\
9149"#define ae2f_SHAREDCALL __declspec(dllimport)\n"\
9150"#endif\n"\
9151"\n"\
9152"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
9153"\n"\
9154"\n"\
9155"\n"\
9156"\n"\
9157"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
9158"\n"\
9159"\n"\
9160"\n"\
9161"\n"\
9162"\n"\
9163"#define ae2f_SHAREDCALL\n"\
9164"#endif\n"\
9165"\n"\
9166"\n"\
9167"\n"\
9168"#else\n"\
9169"\n"\
9170"\n"\
9171"\n"\
9172"\n"\
9173"\n"\
9174"#define ae2f_SHAREDEXPORT\n"\
9175"\n"\
9176"\n"\
9177"\n"\
9178"\n"\
9179"#define ae2f_SHAREDCALL\n"\
9180"#endif\n"\
9181"\n"\
9182"#endif\n"\
9183"\n"\
9184"\n"\
9185"#ifndef ae2f_MAC_BUILD\n"\
9186"\n"\
9187"#define\tae2f_MAC_BUILD OFF\n"\
9188"#endif\n"\
9189"\n"\
9190"\n"\
9191"\n"\
9192"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
9193"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
9194"\n"\
9195"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
9196"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
9197"\n"\
9198"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
9199"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
9200"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
9201"\n"\
9202"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
9203"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
9204"{ A_t* a; B_t* b; }\n"\
9205"\n"\
9206"#define ae2f_AnnUtilIdx1(idx0, sz0)\t\t\t\t(idx0)\n"\
9207"#define ae2f_AnnUtilIdx2(idx1, sz1, idx0, sz0)\t\t\t((idx1) * (sz0) + (idx0))\n"\
9208"#define ae2f_AnnUtilIdx3(idx2, sz2, idx1, sz1, idx0, sz0)\t((idx2) * (sz1) * (sz0) + (idx1) * (sz0) + (idx0))\n"\
9209"\n"\
9210"\n"\
9211"\n"\
9212"#if ae2f_PackCount\n"\
9213"#pragma pack(pop)\n"\
9214"#endif\n"\
9215"\n"\
9216"\n"\
9217"#endif\n"\
9218"\n"\
9219"\n"\
9220"\n"\
9221"\n"\
9222"\n"\
9223"\n"\
9224"\n"\
9225"\n"\
9226"\n"\
9227"\n"\
9228"\n"\
9229"#define ae2f_PackCount 0\n"\
9230"\n"\
9231"\n"\
9232"#if ae2f_PackCount\n"\
9233"#pragma pack(push, 0)\n"\
9234"#endif\n"\
9235"\n"\
9236"\n"\
9237"\n"\
9238"ae2f_structdef_n(struct, ae2f_AnnSlp_t, ae2f_AnnSlpREG_t) {\n"\
9239"\t\n"\
9240"\tsize_t m_inc;\n"\
9241"\n"\
9242"\t\n"\
9243"\tsize_t m_outc;\n"\
9244"};\n"\
9245"\n"\
9246"\n"\
9247"ae2f_structdef_n(struct, ae2f_AnnSlpPredict_t, ae2f_AnnSlpPredictREG_t) {\n"\
9248"\t\n"\
9249"\tsize_t\t\t\tm_i, m_j;\n"\
9250"\n"\
9251"\tae2f_float_t\t\tm_ret;\n"\
9252"};\n"\
9253"\n"\
9254"ae2f_structdef(struct, ae2f_AnnSlpTrainREG_t) {\n"\
9255"\tsize_t\t\t\tm_i, m_j;\n"\
9256"\n"\
9257"\tae2f_float_t\t\tm_ret;\n"\
9258"\n"\
9259"};\n"\
9260"\n"\
9261"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
9262"\t\n"\
9263"\tsize_t\t\t\tm_i, m_j;\n"\
9264"\n"\
9265"\tae2f_float_t\t\tm_ret;\n"\
9266"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9267"};\n"\
9268"\n"\
9269"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
9270"\tsize_t\t\tm_j;\n"\
9271"\tae2f_float_t\tm_ret;\n"\
9272"\tae2f_float_t\tm_tmp;\n"\
9273"};\n"\
9274"\n"\
9275"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
9276"\tsize_t\t\tm_j;\n"\
9277"\tae2f_float_t\tm_ret;\n"\
9278"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
9279"};\n"\
9280"\n"\
9281"\n"\
9282"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFollowOneREG_t, ae2f_AnnSlpFitOne_t) {\n"\
9283"\t\n"\
9284"\tsize_t\t\t\tm_j;\n"\
9285"};\n"\
9286"\n"\
9287"\n"\
9288"ae2f_structdef(struct, ae2f_AnnSlp);\n"\
9289"\n"\
9290"ae2f_structdef(union, ae2f_AnnSlpMkU0_t) {\n"\
9291"\tae2f_float_t* ae2f_restrict\ta;\n"\
9292"\tae2f_AnnSlp* ae2f_restrict\tb;\n"\
9293"};\n"\
9294"\n"\
9295"\n"\
9296"ae2f_structdef_n(struct, ae2f_AnnSlpMk_t, ae2f_AnnSlpMkREG_t) {\n"\
9297"\t\n"\
9298"\tsize_t m_stack, m_alloccount;\n"\
9299"\t\n"\
9300"\tae2f_AnnSlp* ae2f_restrict m_ptr;\n"\
9301"\t\n"\
9302"\tae2f_AnnSlpMkU0_t m_fieldptr;\n"\
9303"};\n"\
9304"\n"\
9305"ae2f_structdef_n(\n"\
9306"\t\tstruct\n"\
9307"\t\t, ae2f_AnnSlpFollow_t\n"\
9308"\t\t, ae2f_AnnSlpFollowREG_t\n"\
9309"\t\t, ae2f_AnnSlpFitREG_t\n"\
9310"\t\t, ae2f_AnnSlpFetchDeltaREG_t\n"\
9311"\t\t)\n"\
9312"{\n"\
9313"\t\n"\
9314"\tsize_t\t\t\tm_i, m_j;\n"\
9315"};\n"\
9316"\n"\
9317"ae2f_structdef_n(struct, ae2f_AnnSlpFitRAM_t, ae2f_AnnSlpFetchDeltaRAM_t, ae2f_AnnSlpTrainRAM_t) {\n"\
9318"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9319"};\n"\
9320"\n"\
9321"\n"\
9322"ae2f_structdef_n(struct, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
9323"\t\n"\
9324"\tsize_t\t\t\tm_i, m_j;\n"\
9325"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
9326"};\n"\
9327"\n"\
9328"\n"\
9329"\n"\
9330"#if ae2f_PackCount\n"\
9331"#pragma pack(pop)\n"\
9332"#endif\n"\
9333"\n"\
9334"\n"\
9335"#endif\n"\
9336"\n"\
9337"\n"\
9338"\n"\
9339"#ifndef ae2fCL_AnnAct_h\n"\
9340"#define ae2fCL_AnnAct_h\n"\
9341"\n"\
9342"\n"\
9343"\n"\
9344"\n"\
9345"#ifndef ae2f_Float_h\n"\
9346"#define ae2f_Float_h\n"\
9347"\n"\
9348"\n"\
9349"#ifndef ae2f_float_h\n"\
9350"#define ae2f_float_h\n"\
9351"\n"\
9352"\n"\
9353"\n"\
9354"\n"\
9355"\n"\
9356"#define ae2f_float float\n"\
9357"\n"\
9358"#endif \n"\
9359"\n"\
9360"\n"\
9361"typedef ae2f_float ae2f_float_t;\n"\
9362"\n"\
9363"#endif\n"\
9364"\n"\
9365"\n"\
9366"#undef ae2f_LP\n"\
9367"#undef ae2f_NONE\n"\
9368"#undef ae2f_opt\n"\
9369"\n"\
9370"\n"\
9371"#define ae2f_NONE\n"\
9372"\n"\
9373"\n"\
9374"#define\tae2f_LP(...) ae2f_NONE\n"\
9375"\n"\
9376"\n"\
9377"#define ae2f_opt ae2f_NONE\n"\
9378"\n"\
9379"\n"\
9380"#define ae2f_FREE(...) ae2f_NONE\n"\
9381"\n"\
9382"\n"\
9383"#define ae2f_v ae2f_NONE\n"\
9384"\n"\
9385"\n"\
9386"\n"\
9387"typedef void ae2f_AnnActFFN_t (\n"\
9388"\t\tae2f_float_t*\t\t\t\tret\n"\
9389"\t\t, ae2f_LP(count) const ae2f_float_t*\tout\n"\
9390"\t\t, const size_t\t\t\t\tindex\n"\
9391"\t\t, const size_t\t\t\t\tcount\n"\
9392"\t\t);\n"\
9393"\n"\
9394"#define ae2f_AnnActFFN_PASS(r, o, i, c)\t\t*(r) = (o)[i]\n"\
9395"#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)\t*(r) = 1.0\n"\
9396"\n"\
9397"\n"\
9398"\n"\
9399"\n"\
9400"\n"\
9401"\n"\
9402"\n"\
9403"\n"\
9404"\n"\
9405"typedef void ae2f_AnnLossFFN_t (\n"\
9406"\t\tae2f_float_t* \t\t\t\tret,\n"\
9407"\t\tae2f_LP(count) const ae2f_float_t*\tout, \n"\
9408"\t\tae2f_LP(count) const ae2f_float_t* \tgoal,\n"\
9409"\t\tconst size_t\t\t\t\tindex,\n"\
9410"\t\tconst size_t\t\t\t\tcount\n"\
9411"\t\t);\n"\
9412"\n"\
9413"#define ae2f_AnnLossDerivFFN_PASS(r, o, g, i, c)\t*(r) = (o)[i] * (1.0 - (g)[i]);\n"\
9414"\n"\
9415"typedef void ae2f_AnnActFwdMHATTN_t(\n"\
9416"\t\tae2f_float_t* \t\t\t\tret,\n"\
9417"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
9418"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_inp,\n"\
9419"\t\tsize_t\t\t\t\t\tprm_len\n"\
9420"\t\t);\n"\
9421"\n"\
9422"typedef void ae2f_AnnActBwdMHATTN_t(\n"\
9423"\t\tae2f_float_t*\t\t\t\tret,\n"\
9424"\t\tsize_t\t\t\t\t\tprm_retidx,\n"\
9425"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_grad_in,\n"\
9426"\t\tae2f_LP(prm_len) const ae2f_float_t*\tprm_softmax_out,\n"\
9427"\t\tsize_t\t\t\t\t\tprm_len\n"\
9428"\t\t);\n"\
9429"\n"\
9430"#endif\n"\
9431"\n"\
9432"\n"\
9433"\n"\
9434"\n"\
9435"\n"\
9436"\n"\
9437"\n"\
9438"\n"\
9439"\n"\
9440"#define ae2f_PackCount 0\n"\
9441"\n"\
9442"\n"\
9443"#if ae2f_PackCount\n"\
9444"#pragma pack(push, 0)\n"\
9445"#endif\n"\
9446"\n"\
9447"\n"\
9448"\n"\
9449"ae2f_structdef(struct, ae2f_AnnSlp) \n"\
9450"#if ae2f_NEED_CLASS\n"\
9451"{\n"\
9452"\t\n"\
9453"\tae2f_float_t* ae2f_restrict m_weight;\n"\
9454"\t\n"\
9455"\tae2f_float_t* ae2f_restrict m_bias;\n"\
9456"\t\n"\
9457"\tae2f_float_t* ae2f_restrict m_cachedelta;\n"\
9458"\n"\
9459"\t\n"\
9460"\tae2f_float_t* ae2f_restrict m_cacheact;\n"\
9461"\n"\
9462"\t\n"\
9463"\tae2f_AnnSlpREG_t m_Slp[1];\n"\
9464"\n"\
9465"\t\n"\
9466"\tae2f_AnnActFFN_t * m_act;\n"\
9467"\t\n"\
9468"\tae2f_AnnActFFN_t * m_actderiv;\n"\
9469"\t\n"\
9470"\tae2f_AnnLossFFN_t* m_lossderiv;\n"\
9471"\n"\
9472"\t\n"\
9473"\tae2f_float_t m_learningrate;\n"\
9474"\t\n"\
9475"\tae2f_float_t m_learningrate_bias;\n"\
9476"\n"\
9477"#if ae2f_WhenCXX(!)0\n"\
9478"#define ae2f_TMP\n"\
9479"\n"\
9480"\tinline static void ae2f_TMP operator delete(void* end);\n"\
9481"\tinline static void* ae2f_TMP operator new(\n"\
9482"\t\tsize_t oneonly\n"\
9483"\t\t, ae2f_LP(inc * outc) ae2f_float_t* ae2f_restrict const\tweight_opt,\n"\
9484"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tbias_opt,\n"\
9485"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tcache_opt,\n"\
9486"\n"\
9487"\t\tconst size_t\t\t\t\t\tinc,\n"\
9488"\t\tconst size_t\t\t\t\t\toutc,\n"\
9489"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
9490"\n"\
9491"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
9492"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
9493"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
9494"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
9495"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
9496"\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\terr_opt\n"\
9497"\t\t) throw();\n"\
9498"\n"\
9499"\tinline void ae2f_TMP Predict(\n"\
9500"\t\tae2f_err_t* const err_opt\n"\
9501"\t\t, ae2f_LP(_this::inc)\n"\
9502"\t\tconst ae2f_float_t* const prm_in\n"\
9503"\t\t, ae2f_LP(_this::outc)\n"\
9504"\t\tae2f_float_t* const out\n"\
9505"\t\t) const;\n"\
9506"\n"\
9507"\tinline void ae2f_TMP Follow(\n"\
9508"\t\tae2f_err_t* const reterr_opt\n"\
9509"\t\t, ae2f_LP(_this::inc)\n"\
9510"\t\tconst ae2f_float_t* const prm_in\n"\
9511"\t\t, ae2f_LP(_this::outc) \n"\
9512"\t\tconst ae2f_float_t* const delta\n"\
9513"\t\t);\n"\
9514"\n"\
9515"\tinline void ae2f_TMP Fit(\n"\
9516"\t\tae2f_err_t* const reterr_opt\n"\
9517"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
9518"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
9519"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
9520"\t\t);\n"\
9521"\n"\
9522"\tinline void ae2f_TMP Train(\n"\
9523"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
9524"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
9525"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
9526"\t\t);\n"\
9527"\n"\
9528"#undef ae2f_TMP\n"\
9529"#endif \n"\
9530"}\n"\
9531"#endif\n"\
9532";\n"\
9533"\n"\
9534"\n"\
9535"\n"\
9536"#if ae2f_PackCount\n"\
9537"#pragma pack(pop)\n"\
9538"#endif\n"\
9539"\n"\
9540"\n"\
9541"\n"\
9542"\n"\
9543"#define ae2f_AnnSlpFieldSz(inc, outc) ((((inc) + 2) * ((outc)) * sizeof(ae2f_float_t)) + sizeof(ae2f_AnnSlp))\n"\
9544"\n"\
9545"#if ae2f_NEED_CLASS\n"\
9546"\n"\
9547"\n"\
9548"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpInit(\n"\
9549"\t\tae2f_AnnSlpREG_t* ae2f_restrict _this,\n"\
9550"\t\tconst size_t inc,\n"\
9551"\t\tconst size_t outc,\n"\
9552"\t\tconst size_t offset_opt,\n"\
9553"\t\tae2f_err_t* ae2f_restrict const err_opt,\n"\
9554"\t\tsize_t* ae2f_restrict const initsz_opt\n"\
9555"\t\t) ae2f_noexcept;\n"\
9556"\n"\
9557"\n"\
9558"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpMk(\n"\
9559"\t\tae2f_LP(inc * outc) ae2f_float_t* ae2f_restrict const\tweight_opt,\n"\
9560"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tbias_opt,\n"\
9561"\t\tae2f_LP(outc) ae2f_float_t* ae2f_restrict const \t\t\tcache_opt,\n"\
9562"\n"\
9563"\t\tconst size_t\t\t\t\t\tinc,\n"\
9564"\t\tconst size_t\t\t\t\t\toutc,\n"\
9565"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
9566"\t\tconst size_t\t\t\t\t\textra_opt,\n"\
9567"\t\tae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel) \n"\
9568"\t\tae2f_AnnSlp* ae2f_restrict * ae2f_restrict const\t\tslp,\n"\
9569"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
9570"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
9571"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
9572"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
9573"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
9574"\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\t\terr_opt\n"\
9575"\t\t) ae2f_noexcept;\n"\
9576"\n"\
9577"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpDel(\n"\
9578"\t\tae2f_AnnSlp* ae2f_restrict const slp\n"\
9579"\t\t) ae2f_noexcept;\n"\
9580"\n"\
9581"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpPredict(\n"\
9582"\t\tae2f_err_t* ae2f_restrict const err_opt\n"\
9583"\t\t, const ae2f_AnnSlp* ae2f_restrict const _this\n"\
9584"\t\t, ae2f_LP(_this::inc)\n"\
9585"\t\tconst ae2f_float_t* ae2f_restrict const prm_in\n"\
9586"\t\t, ae2f_LP(_this::outc)\n"\
9587"\t\tae2f_float_t* ae2f_restrict const out\n"\
9588"\t\t) ae2f_noexcept;\n"\
9589"\n"\
9590"\t\n"\
9591"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFollow(\n"\
9592"\t\tae2f_err_t* ae2f_restrict const reterr_opt\n"\
9593"\t\t, const ae2f_AnnSlp* ae2f_restrict const _this\n"\
9594"\t\t, ae2f_LP(_this::inc)\n"\
9595"\t\tconst ae2f_float_t* ae2f_restrict const prm_in\n"\
9596"\t\t, ae2f_LP(_this::outc) \n"\
9597"\t\tconst ae2f_float_t* ae2f_restrict const delta\n"\
9598"\t\t) ae2f_noexcept;\n"\
9599"\n"\
9600"\t\n"\
9601"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFit(\n"\
9602"\t\t\t\tae2f_err_t* const reterr_opt\n"\
9603"\t\t\t\t, const ae2f_AnnSlp* const _this\n"\
9604"\t\t\t\t, ae2f_LP(_this::inc) const ae2f_float_t* ae2f_restrict const prm_inp\n"\
9605"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* ae2f_restrict const prm_out\n"\
9606"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* ae2f_restrict const prm_out_desired\n"\
9607"\t\t\t\t) ae2f_noexcept;\n"\
9608"\n"\
9609"\t\n"\
9610"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFetchDelta(\n"\
9611"\t\t\t\tae2f_opt ae2f_err_t* ae2f_restrict const\t\terr\n"\
9612"\t\t\t\t, const ae2f_AnnSlp* ae2f_restrict\t\t\tslp\n"\
9613"\n"\
9614"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* ae2f_restrict const\tout\n"\
9615"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* ae2f_restrict const\tout_desired\n"\
9616"\n"\
9617"\t\t\t\t, ae2f_LP(slp::outc) ae2f_float_t* ae2f_restrict const\tretdelta\n"\
9618"\t\t\t\t) ae2f_noexcept;\n"\
9619"\n"\
9620"\t\n"\
9621"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpTrain(\n"\
9622"\t\t\t\tae2f_err_t* const ae2f_restrict\t\t\t\t\terr\n"\
9623"\t\t\t\t, ae2f_AnnSlp*\tae2f_restrict\t\t\t\tslp\n"\
9624"\t\t\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tae2f_restrict\tinp\n"\
9625"\t\t\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tae2f_restrict\tout_desired\n"\
9626"\t\t\t\t) ae2f_noexcept;\n"\
9627"\n"\
9628"#endif\n"\
9629"\n"\
9630"#if !(ae2f_MAC_BUILD) || 1\n"\
9631"\n"\
9632"#define ae2f_AnnSlpInit\t\t__ae2f_AnnSlpInit_C\n"\
9633"#define ae2f_AnnSlpMk\t\t__ae2f_AnnSlpMk_C\n"\
9634"#define ae2f_AnnSlpDel\t\t__ae2f_AnnSlpDel_C\n"\
9635"#define ae2f_AnnSlpPredict\t__ae2f_AnnSlpPredict_C\n"\
9636"#define ae2f_AnnSlpFollow\t__ae2f_AnnSlpFollow_C\n"\
9637"#define ae2f_AnnSlpFit\t\t__ae2f_AnnSlpFit_C\n"\
9638"#define ae2f_AnnSlpTrain\t__ae2f_AnnSlpTrain_C\n"\
9639"#define ae2f_AnnSlpFetchDelta\t__ae2f_AnnSlpFetchDelta_C\n"\
9640"\n"\
9641"#endif \n"\
9642"#endif\n"\
9643"\n"\
9644"\n"\
9645"\n"\
9646"#undef\t__ae2f_MACRO_GENERATED\n"\
9647"#define\t__ae2f_MACRO_GENERATED\t1\n"\
9648"#ifndef ae2f_Ann_Slp_c\n"\
9649"#if !__ae2f_MACRO_GENERATED\n"\
9650"\n"\
9651"#undef __ae2f_MACRO_GENERATED\n"\
9652"#define __ae2f_MACRO_GENERATED 1\n"\
9653"#endif\n"\
9654"\n"\
9655"#define ae2f_Ann_Slp_c\n"\
9656"\n"\
9657"\n"\
9658"#undef __ae2f_MACRO_GENERATED\n"\
9659"#define __ae2f_MACRO_GENERATED 1\n"\
9660"\n"\
9661"#undef __ae2f_MACRO_GENERATED\n"\
9662"#define __ae2f_MACRO_GENERATED 1\n"\
9663"\n"\
9664"#define __ae2f_AnnSlpDel\tfree\n"\
9665"#define __ae2f_AnnSlpDel_C\tfree\n"\
9666"\n"\
9667"#if ae2f_NEED_CLASS\n"\
9668"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
9669"\t \\\n"\
9670"\t\t \\\n"\
9671" \\\n"\
9672"\t \\\n"\
9673"\t\t rret_init, \\\n"\
9674"\t\t prm_weight_opt, \\\n"\
9675"\t\t prm_bias_opt, \\\n"\
9676"\t\t prm_cache_opt, \\\n"\
9677"\t\t prm_cacheact_opt, \\\n"\
9678"\t\t prm_inc, \\\n"\
9679"\t\t prm_outc \\\n"\
9680") \\\n"\
9681"{ \\\n"\
9682"\t(rret_init) = \\\n"\
9683"\t\tsizeof(ae2f_AnnSlp) \\\n"\
9684"\t\t+ \t((prm_weight_opt) ? 0 : (prm_inc) * (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
9685"\t\t+\t((prm_bias_opt) ? 0 : (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
9686"\t\t+\t((prm_cache_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
9687"\t\t+\t((prm_cacheact_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
9688"\t\t; \\\n"\
9689"}\n"\
9690"\n"\
9691"#define __ae2f_AnnSlpInit_imp( \\\n"\
9692"\t \\\n"\
9693"\t\t \\\n"\
9694" \\\n"\
9695"\t \\\n"\
9696"\t\t reg_init, \\\n"\
9697"\t\t rret_this, \\\n"\
9698"\t\t prm_inc, \\\n"\
9699"\t\t prm_outc, \\\n"\
9700"\t\t prm_incmax_opt \\\n"\
9701") \\\n"\
9702"{ \\\n"\
9703"\t \\\n"\
9704"\tunless(prm_incmax_opt) { \\\n"\
9705"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
9706"\t\t\t\treg_init, 0, 0, 0, 0, prm_inc, prm_outc \\\n"\
9707"\t\t\t\t); \\\n"\
9708"\t\t(rret_this).m_inc\t=\t(prm_inc); \\\n"\
9709"\t} else { \\\n"\
9710"\t\t(rret_this).m_inc\t=\t(prm_incmax_opt); \\\n"\
9711"\t} \\\n"\
9712" \\\n"\
9713"\t(rret_this).m_outc\t=\t(prm_outc); \\\n"\
9714"}\n"\
9715"\n"\
9716"\n"\
9717"#define __ae2f_AnnSlpInit_V( \\\n"\
9718"\t \\\n"\
9719"\t\tv_reg_init, \\\n"\
9720" \\\n"\
9721"\t \\\n"\
9722"\t\t pret_slp, \\\n"\
9723"\t\t prm_inc, \\\n"\
9724"\t\t prm_outc, \\\n"\
9725"\t\t prm_offset_opt, \\\n"\
9726"\t\t pret_err_opt, \\\n"\
9727"\t\t pret_initsz_opt \\\n"\
9728") \\\n"\
9729"{ \\\n"\
9730"\tif((pret_err_opt) && *(pret_err_opt)) \\\n"\
9731"\t\t; \\\n"\
9732"\tunless(pret_slp) \\\n"\
9733"\t\t(pret_err_opt) && (*(pret_err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9734"\telse { \\\n"\
9735"\t\tae2f_reg size_t v_reg_init; \\\n"\
9736"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
9737"\t\t\t\tv_reg_init \\\n"\
9738"\t\t\t\t, *(pret_slp) \\\n"\
9739"\t\t\t\t, prm_inc, prm_outc \\\n"\
9740"\t\t\t\t, 0 \\\n"\
9741"\t\t\t\t); \\\n"\
9742"\t\t(pret_initsz_opt) && (*(pret_initsz_opt) = v_reg_init + prm_offset_opt); \\\n"\
9743"\t} \\\n"\
9744"}\n"\
9745"\n"\
9746"#define __ae2f_AnnSlpInit( \\\n"\
9747"\t \\\n"\
9748"\t\t \\\n"\
9749" \\\n"\
9750"\t \\\n"\
9751"\t\t pret_slp, \\\n"\
9752"\t\t prm_inc, \\\n"\
9753"\t\t prm_outc, \\\n"\
9754"\t\t prm_offset_opt, \\\n"\
9755"\t\t pret_err_opt, \\\n"\
9756"\t\t pret_initsz_opt \\\n"\
9757") \\\n"\
9758"{ \\\n"\
9759"\t__ae2f_AnnSlpInit_V( \\\n"\
9760"\t\t\tv_reg_init, pret_slp \\\n"\
9761"\t\t\t, prm_inc, prm_outc \\\n"\
9762"\t\t\t, prm_offset_opt \\\n"\
9763"\t\t\t, pret_err_opt \\\n"\
9764"\t\t\t, pret_initsz_opt \\\n"\
9765"\t\t\t); \\\n"\
9766"}\n"\
9767"\n"\
9768"#else\n"\
9769"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
9770"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
9771"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9772"\n"\
9773"#undef\t__ae2f_AnnSlpInit_imp\n"\
9774"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
9775"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9776"\n"\
9777"#undef\t__ae2f_AnnSlpInit\n"\
9778"#define __ae2f_AnnSlpInit(...) \\\n"\
9779"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9780"#endif\n"\
9781"\n"\
9782"\n"\
9783"\n"\
9784"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
9785"\n"\
9786"#if ae2f_NEED_CLASS\n"\
9787"#define __ae2f_AnnSlpMkVerbose_imp( \\\n"\
9788"\t \\\n"\
9789"\t\t \\\n"\
9790" \\\n"\
9791"\t \\\n"\
9792"\t\t reg_mk, \\\n"\
9793"\t\t prop_weight_opt, \\\n"\
9794"\t\t prop_bias_opt, \\\n"\
9795"\t\t prop_cache_opt, \\\n"\
9796"\t\t prop_cacheact_opt, \\\n"\
9797"\t\t prm_inc, \\\n"\
9798"\t\t prm_outc, \\\n"\
9799"\t\t prm_offset_opt, \\\n"\
9800"\t\t prm_extra_opt, \\\n"\
9801"\t\t fn_act, \\\n"\
9802"\t\t fn_actderiv, \\\n"\
9803"\t\t fn_lossderiv, \\\n"\
9804"\t\t prm_learningrate, \\\n"\
9805"\t\t prm_learningrate_bias \\\n"\
9806") \\\n"\
9807"{ \\\n"\
9808"\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
9809"\t\t\treg_mk.m_stack \\\n"\
9810"\t\t\t, prop_weight_opt \\\n"\
9811"\t\t\t, prop_bias_opt \\\n"\
9812"\t\t\t, prop_cache_opt \\\n"\
9813"\t\t\t, prop_cacheact_opt \\\n"\
9814"\t\t\t, prm_inc, prm_outc \\\n"\
9815"\t\t\t); \\\n"\
9816"\tif((reg_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
9817"\t\t\t\t\tae2f_AnnSlp* \\\n"\
9818"\t\t\t\t\t, calloc((reg_mk).m_stack + (prm_offset_opt) + (prm_extra_opt), 1))) \\\n"\
9819"\t ) { \\\n"\
9820"\t\t(reg_mk).m_alloccount = 0; \\\n"\
9821"\t\t(reg_mk).m_fieldptr.b = (reg_mk).m_ptr + 1; \\\n"\
9822"\t\t(reg_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
9823"\t\t\t\tae2f_AnnSlp* \\\n"\
9824"\t\t\t\t, ae2f_reinterpret_cast(char*, (reg_mk).m_fieldptr.b) + (prm_offset_opt) \\\n"\
9825"\t\t\t\t); \\\n"\
9826" \\\n"\
9827"\t\tif(prop_weight_opt) { \\\n"\
9828"\t\t\t(reg_mk).m_ptr->m_weight = (prop_weight_opt); \\\n"\
9829"\t\t} else { \\\n"\
9830"\t\t\t(reg_mk).m_ptr->m_weight = ((reg_mk).m_fieldptr.a); \\\n"\
9831"\t\t\t(reg_mk).m_fieldptr.a += (prm_inc) * (prm_outc); \\\n"\
9832"\t\t} \\\n"\
9833" \\\n"\
9834"\t\tif(prop_bias_opt) { \\\n"\
9835"\t\t\t(reg_mk).m_ptr->m_bias = (prop_bias_opt); \\\n"\
9836"\t\t} else { \\\n"\
9837"\t\t\t(reg_mk).m_ptr->m_bias = (reg_mk).m_fieldptr.a; \\\n"\
9838"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
9839"\t\t} \\\n"\
9840" \\\n"\
9841"\t\tif(prop_cache_opt) { \\\n"\
9842"\t\t\t(reg_mk).m_ptr->m_cachedelta = (prop_cache_opt); \\\n"\
9843"\t\t} else { \\\n"\
9844"\t\t\t(reg_mk).m_ptr->m_cachedelta = (reg_mk).m_fieldptr.a; \\\n"\
9845"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
9846"\t\t} \\\n"\
9847" \\\n"\
9848"\t\tif(prop_cacheact_opt) { \\\n"\
9849"\t\t\t(reg_mk).m_ptr->m_cacheact = (prop_cacheact_opt); \\\n"\
9850"\t\t} else { \\\n"\
9851"\t\t\t(reg_mk).m_ptr->m_cacheact = (reg_mk).m_fieldptr.a; \\\n"\
9852"\t\t} \\\n"\
9853" \\\n"\
9854"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
9855"\t\t\t\t(reg_mk).m_stack \\\n"\
9856"\t\t\t\t, reg_mk.m_ptr->m_Slp[0] \\\n"\
9857"\t\t\t\t, prm_inc \\\n"\
9858"\t\t\t\t, prm_outc \\\n"\
9859"\t\t\t\t, prm_inc \\\n"\
9860"\t\t\t\t); \\\n"\
9861" \\\n"\
9862"\t\t(reg_mk).m_ptr[0].m_act = fn_act; \\\n"\
9863"\t\t(reg_mk).m_ptr[0].m_actderiv = fn_actderiv; \\\n"\
9864"\t\t(reg_mk).m_ptr[0].m_lossderiv = fn_lossderiv; \\\n"\
9865"\t\t(reg_mk).m_ptr[0].m_learningrate = prm_learningrate; \\\n"\
9866"\t\t(reg_mk).m_ptr[0].m_learningrate_bias = prm_learningrate_bias; \\\n"\
9867"\t} \\\n"\
9868"}\n"\
9869"\n"\
9870"#define __ae2f_AnnSlpMk( \\\n"\
9871"\t \\\n"\
9872"\t\t \\\n"\
9873" \\\n"\
9874"\t \\\n"\
9875"\t\t weight_opt, \\\n"\
9876"\t\t bias_opt, \\\n"\
9877"\t\t cache_opt, \\\n"\
9878"\t\t inc, \\\n"\
9879"\t\t outc, \\\n"\
9880"\t\t offset_opt, \\\n"\
9881"\t\t extra_opt, \\\n"\
9882"\t\t slp, \\\n"\
9883"\t\t act, \\\n"\
9884"\t\t actderiv, \\\n"\
9885"\t\t lossderiv, \\\n"\
9886"\t\t learningrate, \\\n"\
9887"\t\t learningrate_bias, \\\n"\
9888"\t\t err_opt \\\n"\
9889") \\\n"\
9890"{ \\\n"\
9891"\tif((err_opt) && *(err_opt)) \\\n"\
9892"\t\t; \\\n"\
9893"\telse unless(slp) \\\n"\
9894"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9895"\telse { \\\n"\
9896"\t\tae2f_reg ae2f_AnnSlpMk_t v_mk; \\\n"\
9897"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
9898"\t\t\t\tv_mk \\\n"\
9899"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
9900"\t\t\t\t, inc \\\n"\
9901"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
9902"\t\t\t\t, act, actderiv, lossderiv \\\n"\
9903"\t\t\t\t, learningrate, learningrate_bias \\\n"\
9904"\t\t\t\t); \\\n"\
9905" \\\n"\
9906"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
9907"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
9908"\t} \\\n"\
9909"}\n"\
9910"#else\n"\
9911"#undef\t__ae2f_AnnSlpMk_imp\n"\
9912"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
9913"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9914"\n"\
9915"#undef\t__ae2f_AnnSlpMk\n"\
9916"#define\t__ae2f_AnnSlpMk(...) \\\n"\
9917"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
9918"#endif\n"\
9919"\n"\
9920"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
9921"\n"\
9922"\n"\
9923"#define __ae2f_AnnSlpPredict_imp( \\\n"\
9924"\t \\\n"\
9925"\t\t \\\n"\
9926" \\\n"\
9927"\t \\\n"\
9928"\t\t reg_predict, \\\n"\
9929"\t\t prmreg_slp, \\\n"\
9930"\t\t pprm_in, \\\n"\
9931"\t\t ret, \\\n"\
9932"\t\t ptr_outcache, \\\n"\
9933"\t\t pprm_weight, \\\n"\
9934"\t\t pprm_bias, \\\n"\
9935"\t\t fn_act \\\n"\
9936") \\\n"\
9937"{ \\\n"\
9938"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--; ) \\\n"\
9939"\t{ \\\n"\
9940"\t\t(reg_predict).m_ret = 0; \\\n"\
9941" \\\n"\
9942"\t\tfor((reg_predict).m_j = (prmreg_slp).m_inc; (reg_predict).m_j--; ) { \\\n"\
9943"\t\t\t(reg_predict).m_ret \\\n"\
9944"\t\t\t\t+= (pprm_in)[(reg_predict).m_j] \\\n"\
9945"\t\t\t\t* ((pprm_weight) + (reg_predict).m_i * (prmreg_slp).m_inc)[(reg_predict).m_j]; \\\n"\
9946"\t\t} \\\n"\
9947" \\\n"\
9948"\t\t(ptr_outcache)[(reg_predict).m_i] = (reg_predict).m_ret + (pprm_bias)[(reg_predict).m_i]; \\\n"\
9949"\t} \\\n"\
9950" \\\n"\
9951"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--;) { \\\n"\
9952"\t\tfn_act(&(ret)[(reg_predict).m_i], (ptr_outcache), (reg_predict).m_i, (prmreg_slp).m_outc); \\\n"\
9953"\t} \\\n"\
9954"}\n"\
9955"\n"\
9956"#define __ae2f_AnnSlpPredict( \\\n"\
9957"\t \\\n"\
9958"\t\t \\\n"\
9959" \\\n"\
9960"\t \\\n"\
9961"\t\t err_opt, \\\n"\
9962"\t\t _this, \\\n"\
9963"\t\t prm_in, \\\n"\
9964"\t\t out, \\\n"\
9965"\t\t out_cache, \\\n"\
9966"\t\t weight, \\\n"\
9967"\t\t bias, \\\n"\
9968"\t\t act_opt \\\n"\
9969") \\\n"\
9970"{ \\\n"\
9971"\tif((err_opt) && *(err_opt)) \\\n"\
9972"\t\t; \\\n"\
9973"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
9974"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
9975"\telse { \\\n"\
9976"\t\tae2f_reg ae2f_AnnSlpPredictREG_t v_predict; \\\n"\
9977" \\\n"\
9978"\t\tif(act_opt) { \\\n"\
9979"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
9980"\t\t\t\t\t(v_predict) \\\n"\
9981"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
9982"\t\t\t\t\t, weight, bias, act_opt \\\n"\
9983"\t\t\t\t\t); \\\n"\
9984"\t\t} else { \\\n"\
9985"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
9986"\t\t\t\t\t(v_predict) \\\n"\
9987"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
9988"\t\t\t\t\t, weight, bias, ae2f_AnnActFFN_PASS \\\n"\
9989"\t\t\t\t\t); \\\n"\
9990"\t\t} \\\n"\
9991"\t} \\\n"\
9992"}\n"\
9993"\n"\
9994"#if ae2f_NEED_CLASS\n"\
9995"#define __ae2f_AnnSlpPredict_C( \\\n"\
9996"\t \\\n"\
9997"\t\t \\\n"\
9998" \\\n"\
9999"\t \\\n"\
10000"\t\t err_opt, \\\n"\
10001"\t\t _this, \\\n"\
10002"\t\t prm_in, \\\n"\
10003"\t\t out \\\n"\
10004") \\\n"\
10005"{ \\\n"\
10006"\tunless(_this) \\\n"\
10007"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10008"\telse { \\\n"\
10009"\t\t__ae2f_AnnSlpPredict( \\\n"\
10010"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
10011"\t\t\t\t, prm_in, out \\\n"\
10012"\t\t\t\t, (_this)->m_cacheact \\\n"\
10013"\t\t\t\t, (_this)->m_weight \\\n"\
10014"\t\t\t\t, (_this)->m_bias \\\n"\
10015"\t\t\t\t, (_this)->m_act \\\n"\
10016"\t\t\t\t); \\\n"\
10017"\t} \\\n"\
10018"}\n"\
10019"#else\n"\
10020"#undef\t__ae2f_AnnSlpPredict_C\n"\
10021"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
10022"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10023"#endif\n"\
10024"\n"\
10025"\n"\
10026"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
10027"\t \\\n"\
10028"\t\t \\\n"\
10029" \\\n"\
10030"\t \\\n"\
10031"\t\t inp, \\\n"\
10032"\t\t delta, \\\n"\
10033"\t\t weight, \\\n"\
10034"\t\t learningrate, \\\n"\
10035"\t\t inp_sz, \\\n"\
10036"\t\t inp_idx, \\\n"\
10037"\t\t out_sz, \\\n"\
10038"\t\t out_idx \\\n"\
10039") \\\n"\
10040"{ \\\n"\
10041"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
10042"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
10043"}\n"\
10044"\n"\
10045"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
10046"\t \\\n"\
10047"\t\t \\\n"\
10048" \\\n"\
10049"\t \\\n"\
10050"\t\t rret_bias, \\\n"\
10051"\t\t prm_delta, \\\n"\
10052"\t\t prm_learningrate_bias \\\n"\
10053") { (rret_bias) -= (prm_delta) * (prm_learningrate_bias); }\n"\
10054"\n"\
10055"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
10056"\t \\\n"\
10057"\t\t \\\n"\
10058" \\\n"\
10059"\t \\\n"\
10060"\t\t reg_follow, \\\n"\
10061"\t\t pprm_in, \\\n"\
10062"\t\t pprm_delta, \\\n"\
10063"\t\t ptr_weight, \\\n"\
10064"\t\t prm_learningrate, \\\n"\
10065"\t\t prm_learningrate_bias, \\\n"\
10066"\t\t prm_isz, \\\n"\
10067"\t\t prm_oidx, \\\n"\
10068"\t\t rret_bias \\\n"\
10069") \\\n"\
10070"{ \\\n"\
10071"\tfor((reg_follow).m_j = (prm_isz); (reg_follow).m_j--; ) { \\\n"\
10072"\t\t((ptr_weight) + (prm_isz) * (prm_oidx))[(reg_follow).m_j] \\\n"\
10073"\t\t\t-= (pprm_delta) * (pprm_in)[(reg_follow).m_j] * (prm_learningrate); \\\n"\
10074"\t} \\\n"\
10075" \\\n"\
10076"\t(rret_bias) -= (pprm_delta) * (prm_learningrate_bias); \\\n"\
10077"}\n"\
10078"\n"\
10079"\n"\
10080"#define __ae2f_AnnSlpFollow_imp( \\\n"\
10081"\t \\\n"\
10082"\t\t \\\n"\
10083" \\\n"\
10084"\t \\\n"\
10085"\t\t reg_follow, \\\n"\
10086"\t\t prm_slp, \\\n"\
10087"\t\t pprm_in, \\\n"\
10088"\t\t pprm_delta, \\\n"\
10089"\t\t ptr_weight, \\\n"\
10090"\t\t ptr_bias, \\\n"\
10091"\t\t prm_learningrate, \\\n"\
10092"\t\t prm_learningrate_bias \\\n"\
10093") \\\n"\
10094"{ \\\n"\
10095"\tfor((reg_follow).m_i = (prm_slp).m_outc; (reg_follow).m_i--; ) { \\\n"\
10096"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
10097"\t\t\t\treg_follow \\\n"\
10098"\t\t\t\t, pprm_in \\\n"\
10099"\t\t\t\t, (pprm_delta)[(reg_follow).m_i] \\\n"\
10100"\t\t\t\t, ((ptr_weight)) \\\n"\
10101"\t\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10102"\t\t\t\t, (prm_slp).m_inc \\\n"\
10103"\t\t\t\t, (reg_follow).m_i \\\n"\
10104"\t\t\t\t, (ptr_bias)[(reg_follow).m_i] \\\n"\
10105"\t\t\t\t); \\\n"\
10106"\t} \\\n"\
10107"}\n"\
10108"\n"\
10109"#define __ae2f_AnnSlpFollow( \\\n"\
10110"\t \\\n"\
10111"\t\t \\\n"\
10112" \\\n"\
10113"\t \\\n"\
10114"\t\t reterr_opt, \\\n"\
10115"\t\t _this, \\\n"\
10116"\t\t prm_in, \\\n"\
10117"\t\t delta, \\\n"\
10118"\t\t weight, \\\n"\
10119"\t\t bias, \\\n"\
10120"\t\t learningrate, \\\n"\
10121"\t\t learningrate_bias \\\n"\
10122") \\\n"\
10123"{ \\\n"\
10124"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
10125"\t\t; \\\n"\
10126"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
10127"\t\t; \\\n"\
10128"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
10129"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10130"\telse { \\\n"\
10131"\t\tae2f_reg ae2f_AnnSlpFollow_t v_follow; \\\n"\
10132"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
10133"\t\t\t\tv_follow \\\n"\
10134"\t\t\t\t, *(_this) \\\n"\
10135"\t\t\t\t, prm_in \\\n"\
10136"\t\t\t\t, delta \\\n"\
10137"\t\t\t\t, weight, bias \\\n"\
10138"\t\t\t\t, learningrate \\\n"\
10139"\t\t\t\t, learningrate_bias \\\n"\
10140"\t\t\t\t); \\\n"\
10141"\t} \\\n"\
10142"}\n"\
10143"\n"\
10144"#if ae2f_NEED_CLASS\n"\
10145"#define __ae2f_AnnSlpFollow_C( \\\n"\
10146"\t \\\n"\
10147"\t\t \\\n"\
10148" \\\n"\
10149"\t \\\n"\
10150"\t\t reterr_opt, \\\n"\
10151"\t\t _this, \\\n"\
10152"\t\t prm_in, \\\n"\
10153"\t\t delta \\\n"\
10154") { \\\n"\
10155"\tunless((_this)) \\\n"\
10156"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10157"\telse { \\\n"\
10158"\t\t__ae2f_AnnSlpFollow( \\\n"\
10159"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
10160"\t\t\t\t, prm_in, delta \\\n"\
10161"\t\t\t\t, _this->m_weight \\\n"\
10162"\t\t\t\t, (_this)->m_bias \\\n"\
10163"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
10164"\t\t\t\t); \\\n"\
10165"\t} \\\n"\
10166"}\n"\
10167"#else\n"\
10168"#undef\t__ae2f_AnnSlpFollow_C\n"\
10169"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
10170"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10171"#endif\n"\
10172"\n"\
10173"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
10174"\t \\\n"\
10175"\t\t \\\n"\
10176" \\\n"\
10177"\t \\\n"\
10178"\t\t rret, \\\n"\
10179"\t\t ptr_tmp0, \\\n"\
10180"\t\t ptr_tmp1, \\\n"\
10181"\t\t prm_out, \\\n"\
10182"\t\t prm_out_desired, \\\n"\
10183"\t\t prm_oidx, \\\n"\
10184"\t\t prm_osz, \\\n"\
10185"\t\t fn_actderiv, \\\n"\
10186"\t\t fn_lossderiv \\\n"\
10187") \\\n"\
10188"{ \\\n"\
10189"\tfn_actderiv(ptr_tmp0, prm_out, prm_oidx, prm_osz); \\\n"\
10190"\tfn_lossderiv(ptr_tmp1, prm_out, prm_out_desired, prm_oidx, prm_osz); \\\n"\
10191" \\\n"\
10192"\t(rret) = *(ptr_tmp0) * *(ptr_tmp1); \\\n"\
10193"}\n"\
10194"\n"\
10195"#define __ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10196"\t \\\n"\
10197"\t\t \\\n"\
10198" \\\n"\
10199"\t \\\n"\
10200"\t\t ram_delta, \\\n"\
10201"\t\t reg_delta, \\\n"\
10202"\t\t prm_slp, \\\n"\
10203"\t\t pprm_out, \\\n"\
10204"\t\t pprm_out_desired, \\\n"\
10205"\t\t fn_actderiv, \\\n"\
10206"\t\t fn_lossderiv, \\\n"\
10207"\t\t pret_delta \\\n"\
10208") \\\n"\
10209"{\t \\\n"\
10210"\tfor((reg_delta).m_i = (prm_slp).m_outc; (reg_delta).m_i--; ) \\\n"\
10211"\t{ \\\n"\
10212"\t\tfn_actderiv( \\\n"\
10213"\t\t\t\t&(ram_delta).m_tmp1 \\\n"\
10214"\t\t\t\t, (pprm_out) \\\n"\
10215"\t\t\t\t, (reg_delta).m_i \\\n"\
10216"\t\t\t\t, (prm_slp).m_outc \\\n"\
10217"\t\t\t\t); \\\n"\
10218" \\\n"\
10219"\t\tfn_lossderiv( \\\n"\
10220"\t\t\t\t&(ram_delta).m_tmp \\\n"\
10221"\t\t\t\t, (pprm_out) \\\n"\
10222"\t\t\t\t, (pprm_out_desired) \\\n"\
10223"\t\t\t\t, (reg_delta).m_i, (prm_slp).m_outc \\\n"\
10224"\t\t\t\t); \\\n"\
10225" \\\n"\
10226"\t\t(pret_delta)[(reg_delta).m_i] \\\n"\
10227"\t\t\t= (ram_delta).m_tmp * (ram_delta).m_tmp1; \\\n"\
10228"\t} \\\n"\
10229"}\n"\
10230"\n"\
10231"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
10232"\t \\\n"\
10233"\t\t \\\n"\
10234" \\\n"\
10235"\t \\\n"\
10236"\t\t tmp_delta, \\\n"\
10237"\t\t prm_slp, \\\n"\
10238"\t\t pprm_out, \\\n"\
10239"\t\t pprm_out_desired, \\\n"\
10240"\t\t fn_actderiv, \\\n"\
10241"\t\t fn_lossderiv, \\\n"\
10242"\t\t pret_delta \\\n"\
10243") \\\n"\
10244"{ \\\n"\
10245"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10246"\t\t\ttmp_delta, tmp_delta \\\n"\
10247"\t\t\t, prm_slp \\\n"\
10248"\t\t\t, pprm_out, pprm_out_desired \\\n"\
10249"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10250"\t\t\t, pret_delta \\\n"\
10251"\t\t\t); \\\n"\
10252"}\n"\
10253"\n"\
10254"#define __ae2f_AnnSlpFetchDelta( \\\n"\
10255"\t \\\n"\
10256"\t\t \\\n"\
10257" \\\n"\
10258"\t \\\n"\
10259"\t\t err, \\\n"\
10260"\t\t slp, \\\n"\
10261"\t\t out, \\\n"\
10262"\t\t out_desired, \\\n"\
10263"\t\t actderiv_opt, \\\n"\
10264"\t\t lossderiv, \\\n"\
10265"\t\t retdelta \\\n"\
10266") \\\n"\
10267"{ \\\n"\
10268"\tif((err) && *(err)) \\\n"\
10269"\t\t; \\\n"\
10270"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
10271"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10272"\telse unless(lossderiv) \\\n"\
10273"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10274" \\\n"\
10275"\telse { \\\n"\
10276"\t\tae2f_AnnSlpFetchDeltaRAM_t\t\tv_ram_delta; \\\n"\
10277"\t\tae2f_reg ae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
10278" \\\n"\
10279"\t\tif(actderiv_opt) { \\\n"\
10280"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10281"\t\t\t\t\tv_ram_delta \\\n"\
10282"\t\t\t\t\t, v_reg_delta \\\n"\
10283"\t\t\t\t\t, (*(slp)) \\\n"\
10284"\t\t\t\t\t, out, out_desired \\\n"\
10285"\t\t\t\t\t, actderiv_opt \\\n"\
10286"\t\t\t\t\t, lossderiv \\\n"\
10287"\t\t\t\t\t, retdelta \\\n"\
10288"\t\t\t\t\t); \\\n"\
10289"\t\t} \\\n"\
10290"\t\telse { \\\n"\
10291"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10292"\t\t\t\t\tv_ram_delta \\\n"\
10293"\t\t\t\t\t, v_reg_delta \\\n"\
10294"\t\t\t\t\t, (*(slp)) \\\n"\
10295"\t\t\t\t\t, out, out_desired \\\n"\
10296"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
10297"\t\t\t\t\t, lossderiv \\\n"\
10298"\t\t\t\t\t, retdelta \\\n"\
10299"\t\t\t\t\t); \\\n"\
10300"\t\t} \\\n"\
10301"\t} \\\n"\
10302"}\n"\
10303"\n"\
10304"#if\tae2f_NEED_CLASS\n"\
10305"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
10306"\t \\\n"\
10307"\t\t \\\n"\
10308" \\\n"\
10309"\t \\\n"\
10310"\t\t err, \\\n"\
10311"\t\t slp, \\\n"\
10312"\t\t out, \\\n"\
10313"\t\t out_desired, \\\n"\
10314"\t\t retdelta \\\n"\
10315") \\\n"\
10316"{ \\\n"\
10317"\tif((err) && *(err)) \\\n"\
10318"\t\t; \\\n"\
10319"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
10320"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10321"\telse unless((slp)->m_lossderiv) \\\n"\
10322"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10323"\telse { \\\n"\
10324"\t\tae2f_AnnSlpFetchDeltaRAM_t\tv_ram_delta; \\\n"\
10325"\t\tae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
10326" \\\n"\
10327"\t\tif((slp)->m_actderiv) { \\\n"\
10328"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10329"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
10330"\t\t\t\t\t, out, out_desired \\\n"\
10331"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
10332"\t\t\t\t\t, retdelta \\\n"\
10333"\t\t\t\t\t); \\\n"\
10334"\t\t} else { \\\n"\
10335"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10336"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
10337"\t\t\t\t\t, out, out_desired \\\n"\
10338"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS, (slp)->m_lossderiv \\\n"\
10339"\t\t\t\t\t, retdelta \\\n"\
10340"\t\t\t\t\t); \\\n"\
10341"\t\t} \\\n"\
10342"\t} \\\n"\
10343"}\n"\
10344"#else\n"\
10345"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
10346"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
10347"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10348"#endif\n"\
10349"\n"\
10350"\n"\
10351"#define __ae2f_AnnSlpFitVerbose_imp( \\\n"\
10352"\t \\\n"\
10353"\t\t \\\n"\
10354" \\\n"\
10355"\t \\\n"\
10356"\t\t ram_fit, \\\n"\
10357"\t\t reg_fit, \\\n"\
10358"\t\t prm_slp, \\\n"\
10359"\t\t pprm_inp, \\\n"\
10360"\t\t pprm_out, \\\n"\
10361"\t\t pprm_out_desired, \\\n"\
10362"\t\t ptr_weights, \\\n"\
10363"\t\t ptr_bias, \\\n"\
10364"\t\t ptr_cachedelta, \\\n"\
10365"\t\t fn_actderiv, \\\n"\
10366"\t\t fn_lossderiv, \\\n"\
10367"\t\t prm_learningrate, \\\n"\
10368"\t\t prm_learningrate_bias \\\n"\
10369") \\\n"\
10370"{ \\\n"\
10371"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
10372"\t\t\tram_fit, reg_fit, prm_slp \\\n"\
10373"\t\t\t, pprm_out, pprm_out_desired \\\n"\
10374"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10375"\t\t\t, ptr_cachedelta \\\n"\
10376"\t\t\t); \\\n"\
10377" \\\n"\
10378"\t__ae2f_AnnSlpFollow_imp( \\\n"\
10379"\t\t\treg_fit, prm_slp, pprm_inp \\\n"\
10380"\t\t\t, ptr_cachedelta, ptr_weights, ptr_bias \\\n"\
10381"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10382"\t\t\t); \\\n"\
10383"}\n"\
10384"\n"\
10385"#define __ae2f_AnnSlpFit_imp( \\\n"\
10386"\t \\\n"\
10387"\t\t \\\n"\
10388" \\\n"\
10389"\t \\\n"\
10390"\t\t v_fit, \\\n"\
10391"\t\t prm_slp, \\\n"\
10392"\t\t pprm_inp, \\\n"\
10393"\t\t pprm_out, \\\n"\
10394"\t\t pprm_out_desired, \\\n"\
10395"\t\t ptr_weights, \\\n"\
10396"\t\t ptr_bias, \\\n"\
10397"\t\t ptr_cachedelta, \\\n"\
10398"\t\t fn_actderiv, \\\n"\
10399"\t\t fn_lossderiv, \\\n"\
10400"\t\t prm_learningrate, \\\n"\
10401"\t\t prm_learningrate_bias \\\n"\
10402") \\\n"\
10403"{ \\\n"\
10404"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10405"\t\t\tv_fit, v_fit \\\n"\
10406"\t\t\t, prm_slp \\\n"\
10407"\t\t\t, pprm_inp, pprm_out, pprm_out_desired \\\n"\
10408"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10409"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10410"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10411"\t\t\t); \\\n"\
10412"}\n"\
10413"\n"\
10414"#define __ae2f_AnnSlpFit( \\\n"\
10415"\t \\\n"\
10416"\t\t \\\n"\
10417" \\\n"\
10418"\t \\\n"\
10419"\t\t reterr_opt, \\\n"\
10420"\t\t _this, \\\n"\
10421"\t\t prm_inp, \\\n"\
10422"\t\t prm_out, \\\n"\
10423"\t\t prm_out_desired, \\\n"\
10424"\t\t weights, \\\n"\
10425"\t\t bias, \\\n"\
10426"\t\t cachedelta, \\\n"\
10427"\t\t actderiv_opt, \\\n"\
10428"\t\t lossderiv, \\\n"\
10429"\t\t learningrate, \\\n"\
10430"\t\t learningrate_bias \\\n"\
10431") \\\n"\
10432"{ \\\n"\
10433"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
10434"\t\t; \\\n"\
10435"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
10436"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10437"\telse unless(lossderiv) \\\n"\
10438"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10439"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
10440"\t\t; \\\n"\
10441"\telse { \\\n"\
10442"\t\tae2f_AnnSlpFitRAM_t\t\tv_ram_fit; \\\n"\
10443"\t\tae2f_reg ae2f_AnnSlpFitREG_t\tv_reg_fit; \\\n"\
10444" \\\n"\
10445"\t\tif(actderiv_opt) { \\\n"\
10446"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10447"\t\t\t\t\tv_ram_fit \\\n"\
10448"\t\t\t\t\t, v_reg_fit \\\n"\
10449"\t\t\t\t\t, (*(_this)) \\\n"\
10450"\t\t\t\t\t, prm_inp \\\n"\
10451"\t\t\t\t\t, prm_out \\\n"\
10452"\t\t\t\t\t, prm_out_desired \\\n"\
10453"\t\t\t\t\t, weights \\\n"\
10454"\t\t\t\t\t, bias \\\n"\
10455"\t\t\t\t\t, cachedelta \\\n"\
10456"\t\t\t\t\t, actderiv_opt \\\n"\
10457"\t\t\t\t\t, lossderiv \\\n"\
10458"\t\t\t\t\t, learningrate \\\n"\
10459"\t\t\t\t\t, learningrate_bias \\\n"\
10460"\t\t\t\t\t); \\\n"\
10461"\t\t} else { \\\n"\
10462"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10463"\t\t\t\t\tv_ram_fit \\\n"\
10464"\t\t\t\t\t, v_reg_fit \\\n"\
10465"\t\t\t\t\t, (*(_this)) \\\n"\
10466"\t\t\t\t\t, prm_inp \\\n"\
10467"\t\t\t\t\t, prm_out \\\n"\
10468"\t\t\t\t\t, prm_out_desired \\\n"\
10469"\t\t\t\t\t, weights \\\n"\
10470"\t\t\t\t\t, bias \\\n"\
10471"\t\t\t\t\t, cachedelta \\\n"\
10472"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
10473"\t\t\t\t\t, lossderiv \\\n"\
10474"\t\t\t\t\t, learningrate \\\n"\
10475"\t\t\t\t\t, learningrate_bias \\\n"\
10476"\t\t\t\t\t); \\\n"\
10477"\t\t} \\\n"\
10478"\t} \\\n"\
10479"}\n"\
10480"\n"\
10481"#if\tae2f_NEED_CLASS\n"\
10482"#define __ae2f_AnnSlpFit_C( \\\n"\
10483"\t \\\n"\
10484"\t\t \\\n"\
10485" \\\n"\
10486"\t \\\n"\
10487"\t\t reterr_opt, \\\n"\
10488"\t\t _this, \\\n"\
10489"\t\t prm_inp, \\\n"\
10490"\t\t prm_out, \\\n"\
10491"\t\t prm_out_desired \\\n"\
10492") { \\\n"\
10493"\tunless(_this) { \\\n"\
10494"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
10495"\t} \\\n"\
10496"\telse { \\\n"\
10497"\t\t__ae2f_AnnSlpFit( \\\n"\
10498"\t\t\t\treterr_opt \\\n"\
10499"\t\t\t\t, (_this)->m_Slp \\\n"\
10500"\t\t\t\t, prm_inp \\\n"\
10501"\t\t\t\t, prm_out \\\n"\
10502"\t\t\t\t, prm_out_desired \\\n"\
10503"\t\t\t\t, (_this)->m_weight \\\n"\
10504"\t\t\t\t, (_this)->m_bias \\\n"\
10505"\t\t\t\t, (_this)->m_cachedelta \\\n"\
10506"\t\t\t\t, (_this)->m_actderiv \\\n"\
10507"\t\t\t\t, (_this)->m_lossderiv \\\n"\
10508"\t\t\t\t, (_this)->m_learningrate \\\n"\
10509"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
10510"\t\t\t\t); \\\n"\
10511"\t} \\\n"\
10512"}\n"\
10513"#else\n"\
10514"#undef\t__ae2f_AnnSlpFit_C\n"\
10515"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
10516"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10517"#endif\n"\
10518"\n"\
10519"#define __ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10520"\t \\\n"\
10521"\t\t \\\n"\
10522" \\\n"\
10523"\t \\\n"\
10524"\t\t ram_train, \\\n"\
10525"\t\t reg_train, \\\n"\
10526"\t\t prm_slp, \\\n"\
10527"\t\t pprm_inp, \\\n"\
10528"\t\t pret_out, \\\n"\
10529"\t\t ptr_out_cache, \\\n"\
10530"\t\t pprm_out_desired, \\\n"\
10531"\t\t ptr_weights, \\\n"\
10532"\t\t ptr_bias, \\\n"\
10533"\t\t ptr_cachedelta, \\\n"\
10534"\t\t fn_act, \\\n"\
10535"\t\t fn_actderiv, \\\n"\
10536"\t\t fn_lossderiv, \\\n"\
10537"\t\t prm_learningrate, \\\n"\
10538"\t\t prm_learningrate_bias \\\n"\
10539") \\\n"\
10540"{ \\\n"\
10541"\t__ae2f_AnnSlpPredict_imp( \\\n"\
10542"\t\t\treg_train \\\n"\
10543"\t\t\t, prm_slp \\\n"\
10544"\t\t\t, pprm_inp \\\n"\
10545"\t\t\t, pret_out \\\n"\
10546"\t\t\t, ptr_out_cache \\\n"\
10547"\t\t\t, ptr_weights \\\n"\
10548"\t\t\t, ptr_bias \\\n"\
10549"\t\t\t, fn_act \\\n"\
10550"\t\t\t); \\\n"\
10551" \\\n"\
10552"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
10553"\t\t\tram_train \\\n"\
10554"\t\t\t, reg_train \\\n"\
10555"\t\t\t, prm_slp \\\n"\
10556"\t\t\t, pprm_inp \\\n"\
10557"\t\t\t, pret_out \\\n"\
10558"\t\t\t, pprm_out_desired \\\n"\
10559"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10560"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
10561"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10562"\t\t\t); \\\n"\
10563"}\n"\
10564"\n"\
10565"#define __ae2f_AnnSlpTrain_imp( \\\n"\
10566"\t \\\n"\
10567"\t\t \\\n"\
10568" \\\n"\
10569"\t \\\n"\
10570"\t\t tmp_train, \\\n"\
10571"\t\t prm_slp, \\\n"\
10572"\t\t pprm_inp, \\\n"\
10573"\t\t pret_out, \\\n"\
10574"\t\t ptr_out_cache, \\\n"\
10575"\t\t pprm_out_desired, \\\n"\
10576"\t\t ptr_weights, \\\n"\
10577"\t\t ptr_bias, \\\n"\
10578"\t\t ptr_cachedelta, \\\n"\
10579"\t\t fn_act, \\\n"\
10580"\t\t fn_actderiv, \\\n"\
10581"\t\t fn_lossderiv, \\\n"\
10582"\t\t prm_learningrate, \\\n"\
10583"\t\t prm_learningrate_bias \\\n"\
10584") \\\n"\
10585"{ \\\n"\
10586"\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10587"\t\t\ttmp_train, tmp_train \\\n"\
10588"\t\t\t, prm_slp \\\n"\
10589"\t\t\t, pprm_inp, pret_out \\\n"\
10590"\t\t\t, ptr_out_cache, pprm_out_desired \\\n"\
10591"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
10592"\t\t\t, fn_act, fn_actderiv, fn_lossderiv \\\n"\
10593"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
10594"\t\t\t); \\\n"\
10595"}\n"\
10596"\n"\
10597"#if ae2f_NEED_CLASS\n"\
10598"#define __ae2f_AnnSlpTrain_C( \\\n"\
10599"\t \\\n"\
10600"\t\t \\\n"\
10601" \\\n"\
10602"\t \\\n"\
10603"\t\t err, \\\n"\
10604"\t\t slp, \\\n"\
10605"\t\t inp, \\\n"\
10606"\t\t out_desired \\\n"\
10607") \\\n"\
10608"{ \\\n"\
10609"\tunless(slp) \\\n"\
10610"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10611"\telse { \\\n"\
10612"\t\t__ae2f_AnnSlpTrain( \\\n"\
10613"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
10614"\t\t\t\t, (slp)->m_cacheact \\\n"\
10615"\t\t\t\t, out_desired \\\n"\
10616"\t\t\t\t, (slp)->m_weight \\\n"\
10617"\t\t\t\t, (slp)->m_bias \\\n"\
10618"\t\t\t\t, (slp)->m_cachedelta \\\n"\
10619"\t\t\t\t, (slp)->m_act \\\n"\
10620"\t\t\t\t, (slp)->m_actderiv \\\n"\
10621"\t\t\t\t, (slp)->m_lossderiv \\\n"\
10622"\t\t\t\t, (slp)->m_learningrate \\\n"\
10623"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
10624"\t\t\t\t); \\\n"\
10625"\t} \\\n"\
10626"}\n"\
10627"#else\n"\
10628"#undef\t__ae2f_AnnSlpTrain_C\n"\
10629"#define __ae2f_AnnSlpTrain_C \\\n"\
10630"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10631"\n"\
10632"#endif\n"\
10633"\n"\
10634"#define __ae2f_AnnSlpTrain( \\\n"\
10635"\t \\\n"\
10636"\t\t \\\n"\
10637" \\\n"\
10638"\t \\\n"\
10639"\t\t err, \\\n"\
10640"\t\t slp, \\\n"\
10641"\t\t inp, \\\n"\
10642"\t\t out_cache, \\\n"\
10643"\t\t out_desired, \\\n"\
10644"\t\t weights, \\\n"\
10645"\t\t bias, \\\n"\
10646"\t\t cachedelta, \\\n"\
10647"\t\t act, \\\n"\
10648"\t\t actderiv, \\\n"\
10649"\t\t lossderiv, \\\n"\
10650"\t\t learningrate, \\\n"\
10651"\t\t learningrate_bias \\\n"\
10652") \\\n"\
10653"{ \\\n"\
10654"\tif((err) && *(err)) \\\n"\
10655"\t\t; \\\n"\
10656"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
10657"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10658"\telse unless(lossderiv) \\\n"\
10659"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
10660"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
10661"\t\t; \\\n"\
10662"\telse { \\\n"\
10663"\t\tae2f_reg ae2f_AnnSlpTrainREG_t v_reg_train; \\\n"\
10664"\t\tae2f_AnnSlpTrainRAM_t v_ram_train; \\\n"\
10665" \\\n"\
10666"\t\tif (act) { \\\n"\
10667"\t\t\tif(actderiv) { \\\n"\
10668"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10669"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10670"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10671"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10672"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
10673"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10674"\t\t\t\t\t\t); \\\n"\
10675"\t\t\t} else { \\\n"\
10676"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10677"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10678"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10679"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10680"\t\t\t\t\t\t, cachedelta, act, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
10681"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10682"\t\t\t\t\t\t); \\\n"\
10683" \\\n"\
10684"\t\t\t} \\\n"\
10685"\t\t} else { \\\n"\
10686"\t\t\tif(actderiv) { \\\n"\
10687"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10688"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10689"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10690"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10691"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, actderiv, lossderiv \\\n"\
10692"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10693"\t\t\t\t\t\t); \\\n"\
10694"\t\t\t} else { \\\n"\
10695"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
10696"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
10697"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
10698"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
10699"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
10700"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
10701"\t\t\t\t\t\t); \\\n"\
10702" \\\n"\
10703"\t\t\t} \\\n"\
10704"\t\t} \\\n"\
10705"\t} \\\n"\
10706"}\n"\
10707"\n"\
10708"\n"\
10709"#endif\n"\
10710"\n"\
10711"#undef\t__ae2f_MACRO_GENERATED\n"\
10712"\n"\
10713"#define\t__ae2f_MACRO_GENERATED\t0\n"\
10714"\n"\
10715"\n"\
10716"\n"\
10717"#define __ae2f_AnnSlpMk_imp(v_mk, p_weight_opt, p_bias_opt, p_cache_opt, \\\n"\
10718"\tinc, outc, offset_opt, extra_opt, act, actderiv, lossderiv, lr_w, lr_b)\t\\\n"\
10719"\t__ae2f_AnnSlpMkVerbose_imp(\t\t\t\t\t\t\\\n"\
10720"\t\t\tv_mk, p_weight_opt, p_bias_opt, p_cache_opt\t\t\\\n"\
10721"\t\t\t, ae2f_reinterpret_cast(ae2f_float_t* const, NULL)\t\\\n"\
10722"\t\t\t, inc, outc, offset_opt, extra_opt, act, actderiv, lossderiv, lr_w, lr_b)\n"\
10723"\n"\
10724"#if ae2f_WhenCXX(!)0 && !defined(ae2f_Ann_Slp_cc) && ae2f_NEED_CLASS\n"\
10725"#define ae2f_Ann_Slp_cc\n"\
10726"\n"\
10727"#define ae2f_TMP ae2f_AnnSlp::\n"\
10728"\n"\
10729"inline void ae2f_TMP operator delete(void* end) {\n"\
10730"\tae2f_AnnSlpDel(ae2f_reinterpret_cast(ae2f_AnnSlp*, end));\n"\
10731"}\n"\
10732"\n"\
10733"inline void* ae2f_TMP operator new(\n"\
10734"\t\tsize_t oneonly\n"\
10735"\t\t, ae2f_LP(inc * outc) ae2f_float_t* const\t\tweight_opt,\n"\
10736"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tbias_opt,\n"\
10737"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tcache_opt,\n"\
10738"\n"\
10739"\t\tconst size_t\t\t\t\t\tinc,\n"\
10740"\t\tconst size_t\t\t\t\t\toutc,\n"\
10741"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
10742"\n"\
10743"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tact,\n"\
10744"\t\tae2f_opt ae2f_AnnActFFN_t* const\t\t\tactderiv,\n"\
10745"\t\tae2f_AnnLossFFN_t* const\t\t\t\tlossderiv,\n"\
10746"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
10747"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
10748"\t\tae2f_opt ae2f_err_t* const\t\t\terr_opt\n"\
10749"\t\t) throw() \n"\
10750"{\n"\
10751"\tif(oneonly != sizeof(ae2f_AnnSlp)) return 0;\n"\
10752"\tae2f_AnnSlp* __v[1] = { NULL };\n"\
10753"\n"\
10754"\tae2f_AnnSlpMk(\n"\
10755"\t\t\tweight_opt, bias_opt, cache_opt, inc, outc, offset_opt, 0\n"\
10756"\t\t\t, __v, act, actderiv, lossderiv, learningrate, learningrate_bias, err_opt);\n"\
10757"\n"\
10758"\treturn __v[0];\n"\
10759"}\n"\
10760"\n"\
10761"inline void ae2f_TMP Predict(\n"\
10762"\t\tae2f_err_t* const err_opt\n"\
10763"\t\t, ae2f_LP(_this::inc)\n"\
10764"\t\tconst ae2f_float_t* const prm_in\n"\
10765"\t\t, ae2f_LP(_this::outc)\n"\
10766"\t\tae2f_float_t* const out\n"\
10767"\t\t) const \n"\
10768"{\n"\
10769"\tae2f_AnnSlpPredict(err_opt, this, prm_in, out);\n"\
10770"}\n"\
10771"\n"\
10772"inline void ae2f_TMP Follow(\n"\
10773"\t\tae2f_err_t* const reterr_opt\n"\
10774"\t\t, ae2f_LP(_this::inc)\n"\
10775"\t\tconst ae2f_float_t* const prm_in\n"\
10776"\t\t, ae2f_LP(_this::outc) \n"\
10777"\t\tconst ae2f_float_t* const delta\n"\
10778"\t\t) \n"\
10779"{\n"\
10780"\tae2f_AnnSlpFollow(reterr_opt, this, prm_in, delta);\n"\
10781"}\n"\
10782"\n"\
10783"inline void ae2f_TMP Fit(\n"\
10784"\t\tae2f_err_t* const reterr_opt\n"\
10785"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
10786"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
10787"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
10788"\t\t) \n"\
10789"{\n"\
10790"\tae2f_AnnSlpFit(reterr_opt, this, prm_inp, prm_out, prm_out_desired);\n"\
10791"}\n"\
10792"\n"\
10793"inline void ae2f_TMP Train(\n"\
10794"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
10795"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
10796"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
10797"\t\t) \n"\
10798"{\n"\
10799"\tae2f_AnnSlpTrain(err, this, inp, out_desired);\n"\
10800"}\n"\
10801"\n"\
10802"#undef ae2f_TMP\n"\
10803"\n"\
10804"#endif\n"\
10805"\n"\
10806"\n"\
10807"#undef __ae2f_MACRO_GENERATED\n"\
10808"#define __ae2f_MACRO_GENERATED 1\n"\
10809"#endif\n"\
10810"\n"\
10811"#define ae2f_Ann_Slp_c\n"\
10812"\n"\
10813"\n"\
10814"#undef __ae2f_MACRO_GENERATED\n"\
10815"#define __ae2f_MACRO_GENERATED 1\n"\
10816"\n"\
10817"#undef __ae2f_MACRO_GENERATED\n"\
10818"#define __ae2f_MACRO_GENERATED 1\n"\
10819"\n"\
10820"#define __ae2f_AnnSlpDel\tfree\n"\
10821"#define __ae2f_AnnSlpDel_C\tfree\n"\
10822"\n"\
10823"#if ae2f_NEED_CLASS\n"\
10824"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
10825"\t \\\n"\
10826"\t\t \\\n"\
10827" \\\n"\
10828"\t \\\n"\
10829"\t\t rret_init, \\\n"\
10830"\t\t prm_weight_opt, \\\n"\
10831"\t\t prm_bias_opt, \\\n"\
10832"\t\t prm_cache_opt, \\\n"\
10833"\t\t prm_cacheact_opt, \\\n"\
10834"\t\t prm_inc, \\\n"\
10835"\t\t prm_outc \\\n"\
10836") \\\n"\
10837"{ \\\n"\
10838"\t(rret_init) = \\\n"\
10839"\t\tsizeof(ae2f_AnnSlp) \\\n"\
10840"\t\t+ \t((prm_weight_opt) ? 0 : (prm_inc) * (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
10841"\t\t+\t((prm_bias_opt) ? 0 : (prm_outc)) * sizeof(ae2f_float_t) \\\n"\
10842"\t\t+\t((prm_cache_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
10843"\t\t+\t((prm_cacheact_opt) ? 0 : (prm_outc) * sizeof(ae2f_float_t)) \\\n"\
10844"\t\t; \\\n"\
10845"}\n"\
10846"\n"\
10847"#define __ae2f_AnnSlpInit_imp( \\\n"\
10848"\t \\\n"\
10849"\t\t \\\n"\
10850" \\\n"\
10851"\t \\\n"\
10852"\t\t reg_init, \\\n"\
10853"\t\t rret_this, \\\n"\
10854"\t\t prm_inc, \\\n"\
10855"\t\t prm_outc, \\\n"\
10856"\t\t prm_incmax_opt \\\n"\
10857") \\\n"\
10858"{ \\\n"\
10859"\t \\\n"\
10860"\tunless(prm_incmax_opt) { \\\n"\
10861"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
10862"\t\t\t\treg_init, 0, 0, 0, 0, prm_inc, prm_outc \\\n"\
10863"\t\t\t\t); \\\n"\
10864"\t\t(rret_this).m_inc\t=\t(prm_inc); \\\n"\
10865"\t} else { \\\n"\
10866"\t\t(rret_this).m_inc\t=\t(prm_incmax_opt); \\\n"\
10867"\t} \\\n"\
10868" \\\n"\
10869"\t(rret_this).m_outc\t=\t(prm_outc); \\\n"\
10870"}\n"\
10871"\n"\
10872"\n"\
10873"#define __ae2f_AnnSlpInit_V( \\\n"\
10874"\t \\\n"\
10875"\t\tv_reg_init, \\\n"\
10876" \\\n"\
10877"\t \\\n"\
10878"\t\t pret_slp, \\\n"\
10879"\t\t prm_inc, \\\n"\
10880"\t\t prm_outc, \\\n"\
10881"\t\t prm_offset_opt, \\\n"\
10882"\t\t pret_err_opt, \\\n"\
10883"\t\t pret_initsz_opt \\\n"\
10884") \\\n"\
10885"{ \\\n"\
10886"\tif((pret_err_opt) && *(pret_err_opt)) \\\n"\
10887"\t\t; \\\n"\
10888"\tunless(pret_slp) \\\n"\
10889"\t\t(pret_err_opt) && (*(pret_err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
10890"\telse { \\\n"\
10891"\t\tae2f_reg size_t v_reg_init; \\\n"\
10892"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
10893"\t\t\t\tv_reg_init \\\n"\
10894"\t\t\t\t, *(pret_slp) \\\n"\
10895"\t\t\t\t, prm_inc, prm_outc \\\n"\
10896"\t\t\t\t, 0 \\\n"\
10897"\t\t\t\t); \\\n"\
10898"\t\t(pret_initsz_opt) && (*(pret_initsz_opt) = v_reg_init + prm_offset_opt); \\\n"\
10899"\t} \\\n"\
10900"}\n"\
10901"\n"\
10902"#define __ae2f_AnnSlpInit( \\\n"\
10903"\t \\\n"\
10904"\t\t \\\n"\
10905" \\\n"\
10906"\t \\\n"\
10907"\t\t pret_slp, \\\n"\
10908"\t\t prm_inc, \\\n"\
10909"\t\t prm_outc, \\\n"\
10910"\t\t prm_offset_opt, \\\n"\
10911"\t\t pret_err_opt, \\\n"\
10912"\t\t pret_initsz_opt \\\n"\
10913") \\\n"\
10914"{ \\\n"\
10915"\t__ae2f_AnnSlpInit_V( \\\n"\
10916"\t\t\tv_reg_init, pret_slp \\\n"\
10917"\t\t\t, prm_inc, prm_outc \\\n"\
10918"\t\t\t, prm_offset_opt \\\n"\
10919"\t\t\t, pret_err_opt \\\n"\
10920"\t\t\t, pret_initsz_opt \\\n"\
10921"\t\t\t); \\\n"\
10922"}\n"\
10923"\n"\
10924"#else\n"\
10925"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
10926"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
10927"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10928"\n"\
10929"#undef\t__ae2f_AnnSlpInit_imp\n"\
10930"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
10931"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10932"\n"\
10933"#undef\t__ae2f_AnnSlpInit\n"\
10934"#define __ae2f_AnnSlpInit(...) \\\n"\
10935"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
10936"#endif\n"\
10937"\n"\
10938"\n"\
10939"\n"\
10940"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
10941"\n"\
10942"#if ae2f_NEED_CLASS\n"\
10943"#define __ae2f_AnnSlpMkVerbose_imp( \\\n"\
10944"\t \\\n"\
10945"\t\t \\\n"\
10946" \\\n"\
10947"\t \\\n"\
10948"\t\t reg_mk, \\\n"\
10949"\t\t prop_weight_opt, \\\n"\
10950"\t\t prop_bias_opt, \\\n"\
10951"\t\t prop_cache_opt, \\\n"\
10952"\t\t prop_cacheact_opt, \\\n"\
10953"\t\t prm_inc, \\\n"\
10954"\t\t prm_outc, \\\n"\
10955"\t\t prm_offset_opt, \\\n"\
10956"\t\t prm_extra_opt, \\\n"\
10957"\t\t fn_act, \\\n"\
10958"\t\t fn_actderiv, \\\n"\
10959"\t\t fn_lossderiv, \\\n"\
10960"\t\t prm_learningrate, \\\n"\
10961"\t\t prm_learningrate_bias \\\n"\
10962") \\\n"\
10963"{ \\\n"\
10964"\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
10965"\t\t\treg_mk.m_stack \\\n"\
10966"\t\t\t, prop_weight_opt \\\n"\
10967"\t\t\t, prop_bias_opt \\\n"\
10968"\t\t\t, prop_cache_opt \\\n"\
10969"\t\t\t, prop_cacheact_opt \\\n"\
10970"\t\t\t, prm_inc, prm_outc \\\n"\
10971"\t\t\t); \\\n"\
10972"\tif((reg_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
10973"\t\t\t\t\tae2f_AnnSlp* \\\n"\
10974"\t\t\t\t\t, calloc((reg_mk).m_stack + (prm_offset_opt) + (prm_extra_opt), 1))) \\\n"\
10975"\t ) { \\\n"\
10976"\t\t(reg_mk).m_alloccount = 0; \\\n"\
10977"\t\t(reg_mk).m_fieldptr.b = (reg_mk).m_ptr + 1; \\\n"\
10978"\t\t(reg_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
10979"\t\t\t\tae2f_AnnSlp* \\\n"\
10980"\t\t\t\t, ae2f_reinterpret_cast(char*, (reg_mk).m_fieldptr.b) + (prm_offset_opt) \\\n"\
10981"\t\t\t\t); \\\n"\
10982" \\\n"\
10983"\t\tif(prop_weight_opt) { \\\n"\
10984"\t\t\t(reg_mk).m_ptr->m_weight = (prop_weight_opt); \\\n"\
10985"\t\t} else { \\\n"\
10986"\t\t\t(reg_mk).m_ptr->m_weight = ((reg_mk).m_fieldptr.a); \\\n"\
10987"\t\t\t(reg_mk).m_fieldptr.a += (prm_inc) * (prm_outc); \\\n"\
10988"\t\t} \\\n"\
10989" \\\n"\
10990"\t\tif(prop_bias_opt) { \\\n"\
10991"\t\t\t(reg_mk).m_ptr->m_bias = (prop_bias_opt); \\\n"\
10992"\t\t} else { \\\n"\
10993"\t\t\t(reg_mk).m_ptr->m_bias = (reg_mk).m_fieldptr.a; \\\n"\
10994"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
10995"\t\t} \\\n"\
10996" \\\n"\
10997"\t\tif(prop_cache_opt) { \\\n"\
10998"\t\t\t(reg_mk).m_ptr->m_cachedelta = (prop_cache_opt); \\\n"\
10999"\t\t} else { \\\n"\
11000"\t\t\t(reg_mk).m_ptr->m_cachedelta = (reg_mk).m_fieldptr.a; \\\n"\
11001"\t\t\t(reg_mk).m_fieldptr.a += (prm_outc); \\\n"\
11002"\t\t} \\\n"\
11003" \\\n"\
11004"\t\tif(prop_cacheact_opt) { \\\n"\
11005"\t\t\t(reg_mk).m_ptr->m_cacheact = (prop_cacheact_opt); \\\n"\
11006"\t\t} else { \\\n"\
11007"\t\t\t(reg_mk).m_ptr->m_cacheact = (reg_mk).m_fieldptr.a; \\\n"\
11008"\t\t} \\\n"\
11009" \\\n"\
11010"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
11011"\t\t\t\t(reg_mk).m_stack \\\n"\
11012"\t\t\t\t, reg_mk.m_ptr->m_Slp[0] \\\n"\
11013"\t\t\t\t, prm_inc \\\n"\
11014"\t\t\t\t, prm_outc \\\n"\
11015"\t\t\t\t, prm_inc \\\n"\
11016"\t\t\t\t); \\\n"\
11017" \\\n"\
11018"\t\t(reg_mk).m_ptr[0].m_act = fn_act; \\\n"\
11019"\t\t(reg_mk).m_ptr[0].m_actderiv = fn_actderiv; \\\n"\
11020"\t\t(reg_mk).m_ptr[0].m_lossderiv = fn_lossderiv; \\\n"\
11021"\t\t(reg_mk).m_ptr[0].m_learningrate = prm_learningrate; \\\n"\
11022"\t\t(reg_mk).m_ptr[0].m_learningrate_bias = prm_learningrate_bias; \\\n"\
11023"\t} \\\n"\
11024"}\n"\
11025"\n"\
11026"#define __ae2f_AnnSlpMk( \\\n"\
11027"\t \\\n"\
11028"\t\t \\\n"\
11029" \\\n"\
11030"\t \\\n"\
11031"\t\t weight_opt, \\\n"\
11032"\t\t bias_opt, \\\n"\
11033"\t\t cache_opt, \\\n"\
11034"\t\t inc, \\\n"\
11035"\t\t outc, \\\n"\
11036"\t\t offset_opt, \\\n"\
11037"\t\t extra_opt, \\\n"\
11038"\t\t slp, \\\n"\
11039"\t\t act, \\\n"\
11040"\t\t actderiv, \\\n"\
11041"\t\t lossderiv, \\\n"\
11042"\t\t learningrate, \\\n"\
11043"\t\t learningrate_bias, \\\n"\
11044"\t\t err_opt \\\n"\
11045") \\\n"\
11046"{ \\\n"\
11047"\tif((err_opt) && *(err_opt)) \\\n"\
11048"\t\t; \\\n"\
11049"\telse unless(slp) \\\n"\
11050"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11051"\telse { \\\n"\
11052"\t\tae2f_reg ae2f_AnnSlpMk_t v_mk; \\\n"\
11053"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
11054"\t\t\t\tv_mk \\\n"\
11055"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
11056"\t\t\t\t, inc \\\n"\
11057"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
11058"\t\t\t\t, act, actderiv, lossderiv \\\n"\
11059"\t\t\t\t, learningrate, learningrate_bias \\\n"\
11060"\t\t\t\t); \\\n"\
11061" \\\n"\
11062"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
11063"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11064"\t} \\\n"\
11065"}\n"\
11066"#else\n"\
11067"#undef\t__ae2f_AnnSlpMk_imp\n"\
11068"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
11069"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11070"\n"\
11071"#undef\t__ae2f_AnnSlpMk\n"\
11072"#define\t__ae2f_AnnSlpMk(...) \\\n"\
11073"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11074"#endif\n"\
11075"\n"\
11076"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
11077"\n"\
11078"\n"\
11079"#define __ae2f_AnnSlpPredict_imp( \\\n"\
11080"\t \\\n"\
11081"\t\t \\\n"\
11082" \\\n"\
11083"\t \\\n"\
11084"\t\t reg_predict, \\\n"\
11085"\t\t prmreg_slp, \\\n"\
11086"\t\t pprm_in, \\\n"\
11087"\t\t ret, \\\n"\
11088"\t\t ptr_outcache, \\\n"\
11089"\t\t pprm_weight, \\\n"\
11090"\t\t pprm_bias, \\\n"\
11091"\t\t fn_act \\\n"\
11092") \\\n"\
11093"{ \\\n"\
11094"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--; ) \\\n"\
11095"\t{ \\\n"\
11096"\t\t(reg_predict).m_ret = 0; \\\n"\
11097" \\\n"\
11098"\t\tfor((reg_predict).m_j = (prmreg_slp).m_inc; (reg_predict).m_j--; ) { \\\n"\
11099"\t\t\t(reg_predict).m_ret \\\n"\
11100"\t\t\t\t+= (pprm_in)[(reg_predict).m_j] \\\n"\
11101"\t\t\t\t* ((pprm_weight) + (reg_predict).m_i * (prmreg_slp).m_inc)[(reg_predict).m_j]; \\\n"\
11102"\t\t} \\\n"\
11103" \\\n"\
11104"\t\t(ptr_outcache)[(reg_predict).m_i] = (reg_predict).m_ret + (pprm_bias)[(reg_predict).m_i]; \\\n"\
11105"\t} \\\n"\
11106" \\\n"\
11107"\tfor((reg_predict).m_i = (prmreg_slp).m_outc; (reg_predict).m_i--;) { \\\n"\
11108"\t\tfn_act(&(ret)[(reg_predict).m_i], (ptr_outcache), (reg_predict).m_i, (prmreg_slp).m_outc); \\\n"\
11109"\t} \\\n"\
11110"}\n"\
11111"\n"\
11112"#define __ae2f_AnnSlpPredict( \\\n"\
11113"\t \\\n"\
11114"\t\t \\\n"\
11115" \\\n"\
11116"\t \\\n"\
11117"\t\t err_opt, \\\n"\
11118"\t\t _this, \\\n"\
11119"\t\t prm_in, \\\n"\
11120"\t\t out, \\\n"\
11121"\t\t out_cache, \\\n"\
11122"\t\t weight, \\\n"\
11123"\t\t bias, \\\n"\
11124"\t\t act_opt \\\n"\
11125") \\\n"\
11126"{ \\\n"\
11127"\tif((err_opt) && *(err_opt)) \\\n"\
11128"\t\t; \\\n"\
11129"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
11130"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
11131"\telse { \\\n"\
11132"\t\tae2f_reg ae2f_AnnSlpPredictREG_t v_predict; \\\n"\
11133" \\\n"\
11134"\t\tif(act_opt) { \\\n"\
11135"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
11136"\t\t\t\t\t(v_predict) \\\n"\
11137"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
11138"\t\t\t\t\t, weight, bias, act_opt \\\n"\
11139"\t\t\t\t\t); \\\n"\
11140"\t\t} else { \\\n"\
11141"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
11142"\t\t\t\t\t(v_predict) \\\n"\
11143"\t\t\t\t\t, *(_this), (prm_in), out, out_cache \\\n"\
11144"\t\t\t\t\t, weight, bias, ae2f_AnnActFFN_PASS \\\n"\
11145"\t\t\t\t\t); \\\n"\
11146"\t\t} \\\n"\
11147"\t} \\\n"\
11148"}\n"\
11149"\n"\
11150"#if ae2f_NEED_CLASS\n"\
11151"#define __ae2f_AnnSlpPredict_C( \\\n"\
11152"\t \\\n"\
11153"\t\t \\\n"\
11154" \\\n"\
11155"\t \\\n"\
11156"\t\t err_opt, \\\n"\
11157"\t\t _this, \\\n"\
11158"\t\t prm_in, \\\n"\
11159"\t\t out \\\n"\
11160") \\\n"\
11161"{ \\\n"\
11162"\tunless(_this) \\\n"\
11163"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11164"\telse { \\\n"\
11165"\t\t__ae2f_AnnSlpPredict( \\\n"\
11166"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
11167"\t\t\t\t, prm_in, out \\\n"\
11168"\t\t\t\t, (_this)->m_cacheact \\\n"\
11169"\t\t\t\t, (_this)->m_weight \\\n"\
11170"\t\t\t\t, (_this)->m_bias \\\n"\
11171"\t\t\t\t, (_this)->m_act \\\n"\
11172"\t\t\t\t); \\\n"\
11173"\t} \\\n"\
11174"}\n"\
11175"#else\n"\
11176"#undef\t__ae2f_AnnSlpPredict_C\n"\
11177"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
11178"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11179"#endif\n"\
11180"\n"\
11181"\n"\
11182"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
11183"\t \\\n"\
11184"\t\t \\\n"\
11185" \\\n"\
11186"\t \\\n"\
11187"\t\t inp, \\\n"\
11188"\t\t delta, \\\n"\
11189"\t\t weight, \\\n"\
11190"\t\t learningrate, \\\n"\
11191"\t\t inp_sz, \\\n"\
11192"\t\t inp_idx, \\\n"\
11193"\t\t out_sz, \\\n"\
11194"\t\t out_idx \\\n"\
11195") \\\n"\
11196"{ \\\n"\
11197"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
11198"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
11199"}\n"\
11200"\n"\
11201"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
11202"\t \\\n"\
11203"\t\t \\\n"\
11204" \\\n"\
11205"\t \\\n"\
11206"\t\t rret_bias, \\\n"\
11207"\t\t prm_delta, \\\n"\
11208"\t\t prm_learningrate_bias \\\n"\
11209") { (rret_bias) -= (prm_delta) * (prm_learningrate_bias); }\n"\
11210"\n"\
11211"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
11212"\t \\\n"\
11213"\t\t \\\n"\
11214" \\\n"\
11215"\t \\\n"\
11216"\t\t reg_follow, \\\n"\
11217"\t\t pprm_in, \\\n"\
11218"\t\t pprm_delta, \\\n"\
11219"\t\t ptr_weight, \\\n"\
11220"\t\t prm_learningrate, \\\n"\
11221"\t\t prm_learningrate_bias, \\\n"\
11222"\t\t prm_isz, \\\n"\
11223"\t\t prm_oidx, \\\n"\
11224"\t\t rret_bias \\\n"\
11225") \\\n"\
11226"{ \\\n"\
11227"\tfor((reg_follow).m_j = (prm_isz); (reg_follow).m_j--; ) { \\\n"\
11228"\t\t((ptr_weight) + (prm_isz) * (prm_oidx))[(reg_follow).m_j] \\\n"\
11229"\t\t\t-= (pprm_delta) * (pprm_in)[(reg_follow).m_j] * (prm_learningrate); \\\n"\
11230"\t} \\\n"\
11231" \\\n"\
11232"\t(rret_bias) -= (pprm_delta) * (prm_learningrate_bias); \\\n"\
11233"}\n"\
11234"\n"\
11235"\n"\
11236"#define __ae2f_AnnSlpFollow_imp( \\\n"\
11237"\t \\\n"\
11238"\t\t \\\n"\
11239" \\\n"\
11240"\t \\\n"\
11241"\t\t reg_follow, \\\n"\
11242"\t\t prm_slp, \\\n"\
11243"\t\t pprm_in, \\\n"\
11244"\t\t pprm_delta, \\\n"\
11245"\t\t ptr_weight, \\\n"\
11246"\t\t ptr_bias, \\\n"\
11247"\t\t prm_learningrate, \\\n"\
11248"\t\t prm_learningrate_bias \\\n"\
11249") \\\n"\
11250"{ \\\n"\
11251"\tfor((reg_follow).m_i = (prm_slp).m_outc; (reg_follow).m_i--; ) { \\\n"\
11252"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
11253"\t\t\t\treg_follow \\\n"\
11254"\t\t\t\t, pprm_in \\\n"\
11255"\t\t\t\t, (pprm_delta)[(reg_follow).m_i] \\\n"\
11256"\t\t\t\t, ((ptr_weight)) \\\n"\
11257"\t\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11258"\t\t\t\t, (prm_slp).m_inc \\\n"\
11259"\t\t\t\t, (reg_follow).m_i \\\n"\
11260"\t\t\t\t, (ptr_bias)[(reg_follow).m_i] \\\n"\
11261"\t\t\t\t); \\\n"\
11262"\t} \\\n"\
11263"}\n"\
11264"\n"\
11265"#define __ae2f_AnnSlpFollow( \\\n"\
11266"\t \\\n"\
11267"\t\t \\\n"\
11268" \\\n"\
11269"\t \\\n"\
11270"\t\t reterr_opt, \\\n"\
11271"\t\t _this, \\\n"\
11272"\t\t prm_in, \\\n"\
11273"\t\t delta, \\\n"\
11274"\t\t weight, \\\n"\
11275"\t\t bias, \\\n"\
11276"\t\t learningrate, \\\n"\
11277"\t\t learningrate_bias \\\n"\
11278") \\\n"\
11279"{ \\\n"\
11280"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
11281"\t\t; \\\n"\
11282"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
11283"\t\t; \\\n"\
11284"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
11285"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11286"\telse { \\\n"\
11287"\t\tae2f_reg ae2f_AnnSlpFollow_t v_follow; \\\n"\
11288"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
11289"\t\t\t\tv_follow \\\n"\
11290"\t\t\t\t, *(_this) \\\n"\
11291"\t\t\t\t, prm_in \\\n"\
11292"\t\t\t\t, delta \\\n"\
11293"\t\t\t\t, weight, bias \\\n"\
11294"\t\t\t\t, learningrate \\\n"\
11295"\t\t\t\t, learningrate_bias \\\n"\
11296"\t\t\t\t); \\\n"\
11297"\t} \\\n"\
11298"}\n"\
11299"\n"\
11300"#if ae2f_NEED_CLASS\n"\
11301"#define __ae2f_AnnSlpFollow_C( \\\n"\
11302"\t \\\n"\
11303"\t\t \\\n"\
11304" \\\n"\
11305"\t \\\n"\
11306"\t\t reterr_opt, \\\n"\
11307"\t\t _this, \\\n"\
11308"\t\t prm_in, \\\n"\
11309"\t\t delta \\\n"\
11310") { \\\n"\
11311"\tunless((_this)) \\\n"\
11312"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11313"\telse { \\\n"\
11314"\t\t__ae2f_AnnSlpFollow( \\\n"\
11315"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
11316"\t\t\t\t, prm_in, delta \\\n"\
11317"\t\t\t\t, _this->m_weight \\\n"\
11318"\t\t\t\t, (_this)->m_bias \\\n"\
11319"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
11320"\t\t\t\t); \\\n"\
11321"\t} \\\n"\
11322"}\n"\
11323"#else\n"\
11324"#undef\t__ae2f_AnnSlpFollow_C\n"\
11325"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
11326"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11327"#endif\n"\
11328"\n"\
11329"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
11330"\t \\\n"\
11331"\t\t \\\n"\
11332" \\\n"\
11333"\t \\\n"\
11334"\t\t rret, \\\n"\
11335"\t\t ptr_tmp0, \\\n"\
11336"\t\t ptr_tmp1, \\\n"\
11337"\t\t prm_out, \\\n"\
11338"\t\t prm_out_desired, \\\n"\
11339"\t\t prm_oidx, \\\n"\
11340"\t\t prm_osz, \\\n"\
11341"\t\t fn_actderiv, \\\n"\
11342"\t\t fn_lossderiv \\\n"\
11343") \\\n"\
11344"{ \\\n"\
11345"\tfn_actderiv(ptr_tmp0, prm_out, prm_oidx, prm_osz); \\\n"\
11346"\tfn_lossderiv(ptr_tmp1, prm_out, prm_out_desired, prm_oidx, prm_osz); \\\n"\
11347" \\\n"\
11348"\t(rret) = *(ptr_tmp0) * *(ptr_tmp1); \\\n"\
11349"}\n"\
11350"\n"\
11351"#define __ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11352"\t \\\n"\
11353"\t\t \\\n"\
11354" \\\n"\
11355"\t \\\n"\
11356"\t\t ram_delta, \\\n"\
11357"\t\t reg_delta, \\\n"\
11358"\t\t prm_slp, \\\n"\
11359"\t\t pprm_out, \\\n"\
11360"\t\t pprm_out_desired, \\\n"\
11361"\t\t fn_actderiv, \\\n"\
11362"\t\t fn_lossderiv, \\\n"\
11363"\t\t pret_delta \\\n"\
11364") \\\n"\
11365"{\t \\\n"\
11366"\tfor((reg_delta).m_i = (prm_slp).m_outc; (reg_delta).m_i--; ) \\\n"\
11367"\t{ \\\n"\
11368"\t\tfn_actderiv( \\\n"\
11369"\t\t\t\t&(ram_delta).m_tmp1 \\\n"\
11370"\t\t\t\t, (pprm_out) \\\n"\
11371"\t\t\t\t, (reg_delta).m_i \\\n"\
11372"\t\t\t\t, (prm_slp).m_outc \\\n"\
11373"\t\t\t\t); \\\n"\
11374" \\\n"\
11375"\t\tfn_lossderiv( \\\n"\
11376"\t\t\t\t&(ram_delta).m_tmp \\\n"\
11377"\t\t\t\t, (pprm_out) \\\n"\
11378"\t\t\t\t, (pprm_out_desired) \\\n"\
11379"\t\t\t\t, (reg_delta).m_i, (prm_slp).m_outc \\\n"\
11380"\t\t\t\t); \\\n"\
11381" \\\n"\
11382"\t\t(pret_delta)[(reg_delta).m_i] \\\n"\
11383"\t\t\t= (ram_delta).m_tmp * (ram_delta).m_tmp1; \\\n"\
11384"\t} \\\n"\
11385"}\n"\
11386"\n"\
11387"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
11388"\t \\\n"\
11389"\t\t \\\n"\
11390" \\\n"\
11391"\t \\\n"\
11392"\t\t tmp_delta, \\\n"\
11393"\t\t prm_slp, \\\n"\
11394"\t\t pprm_out, \\\n"\
11395"\t\t pprm_out_desired, \\\n"\
11396"\t\t fn_actderiv, \\\n"\
11397"\t\t fn_lossderiv, \\\n"\
11398"\t\t pret_delta \\\n"\
11399") \\\n"\
11400"{ \\\n"\
11401"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11402"\t\t\ttmp_delta, tmp_delta \\\n"\
11403"\t\t\t, prm_slp \\\n"\
11404"\t\t\t, pprm_out, pprm_out_desired \\\n"\
11405"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11406"\t\t\t, pret_delta \\\n"\
11407"\t\t\t); \\\n"\
11408"}\n"\
11409"\n"\
11410"#define __ae2f_AnnSlpFetchDelta( \\\n"\
11411"\t \\\n"\
11412"\t\t \\\n"\
11413" \\\n"\
11414"\t \\\n"\
11415"\t\t err, \\\n"\
11416"\t\t slp, \\\n"\
11417"\t\t out, \\\n"\
11418"\t\t out_desired, \\\n"\
11419"\t\t actderiv_opt, \\\n"\
11420"\t\t lossderiv, \\\n"\
11421"\t\t retdelta \\\n"\
11422") \\\n"\
11423"{ \\\n"\
11424"\tif((err) && *(err)) \\\n"\
11425"\t\t; \\\n"\
11426"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
11427"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11428"\telse unless(lossderiv) \\\n"\
11429"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11430" \\\n"\
11431"\telse { \\\n"\
11432"\t\tae2f_AnnSlpFetchDeltaRAM_t\t\tv_ram_delta; \\\n"\
11433"\t\tae2f_reg ae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
11434" \\\n"\
11435"\t\tif(actderiv_opt) { \\\n"\
11436"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11437"\t\t\t\t\tv_ram_delta \\\n"\
11438"\t\t\t\t\t, v_reg_delta \\\n"\
11439"\t\t\t\t\t, (*(slp)) \\\n"\
11440"\t\t\t\t\t, out, out_desired \\\n"\
11441"\t\t\t\t\t, actderiv_opt \\\n"\
11442"\t\t\t\t\t, lossderiv \\\n"\
11443"\t\t\t\t\t, retdelta \\\n"\
11444"\t\t\t\t\t); \\\n"\
11445"\t\t} \\\n"\
11446"\t\telse { \\\n"\
11447"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11448"\t\t\t\t\tv_ram_delta \\\n"\
11449"\t\t\t\t\t, v_reg_delta \\\n"\
11450"\t\t\t\t\t, (*(slp)) \\\n"\
11451"\t\t\t\t\t, out, out_desired \\\n"\
11452"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
11453"\t\t\t\t\t, lossderiv \\\n"\
11454"\t\t\t\t\t, retdelta \\\n"\
11455"\t\t\t\t\t); \\\n"\
11456"\t\t} \\\n"\
11457"\t} \\\n"\
11458"}\n"\
11459"\n"\
11460"#if\tae2f_NEED_CLASS\n"\
11461"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
11462"\t \\\n"\
11463"\t\t \\\n"\
11464" \\\n"\
11465"\t \\\n"\
11466"\t\t err, \\\n"\
11467"\t\t slp, \\\n"\
11468"\t\t out, \\\n"\
11469"\t\t out_desired, \\\n"\
11470"\t\t retdelta \\\n"\
11471") \\\n"\
11472"{ \\\n"\
11473"\tif((err) && *(err)) \\\n"\
11474"\t\t; \\\n"\
11475"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
11476"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11477"\telse unless((slp)->m_lossderiv) \\\n"\
11478"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11479"\telse { \\\n"\
11480"\t\tae2f_AnnSlpFetchDeltaRAM_t\tv_ram_delta; \\\n"\
11481"\t\tae2f_AnnSlpFetchDeltaREG_t\tv_reg_delta; \\\n"\
11482" \\\n"\
11483"\t\tif((slp)->m_actderiv) { \\\n"\
11484"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11485"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
11486"\t\t\t\t\t, out, out_desired \\\n"\
11487"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
11488"\t\t\t\t\t, retdelta \\\n"\
11489"\t\t\t\t\t); \\\n"\
11490"\t\t} else { \\\n"\
11491"\t\t\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11492"\t\t\t\t\tv_ram_delta, v_reg_delta, (slp)->m_Slp[0] \\\n"\
11493"\t\t\t\t\t, out, out_desired \\\n"\
11494"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS, (slp)->m_lossderiv \\\n"\
11495"\t\t\t\t\t, retdelta \\\n"\
11496"\t\t\t\t\t); \\\n"\
11497"\t\t} \\\n"\
11498"\t} \\\n"\
11499"}\n"\
11500"#else\n"\
11501"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
11502"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
11503"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11504"#endif\n"\
11505"\n"\
11506"\n"\
11507"#define __ae2f_AnnSlpFitVerbose_imp( \\\n"\
11508"\t \\\n"\
11509"\t\t \\\n"\
11510" \\\n"\
11511"\t \\\n"\
11512"\t\t ram_fit, \\\n"\
11513"\t\t reg_fit, \\\n"\
11514"\t\t prm_slp, \\\n"\
11515"\t\t pprm_inp, \\\n"\
11516"\t\t pprm_out, \\\n"\
11517"\t\t pprm_out_desired, \\\n"\
11518"\t\t ptr_weights, \\\n"\
11519"\t\t ptr_bias, \\\n"\
11520"\t\t ptr_cachedelta, \\\n"\
11521"\t\t fn_actderiv, \\\n"\
11522"\t\t fn_lossderiv, \\\n"\
11523"\t\t prm_learningrate, \\\n"\
11524"\t\t prm_learningrate_bias \\\n"\
11525") \\\n"\
11526"{ \\\n"\
11527"\t__ae2f_AnnSlpFetchDeltaVerbose_imp( \\\n"\
11528"\t\t\tram_fit, reg_fit, prm_slp \\\n"\
11529"\t\t\t, pprm_out, pprm_out_desired \\\n"\
11530"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11531"\t\t\t, ptr_cachedelta \\\n"\
11532"\t\t\t); \\\n"\
11533" \\\n"\
11534"\t__ae2f_AnnSlpFollow_imp( \\\n"\
11535"\t\t\treg_fit, prm_slp, pprm_inp \\\n"\
11536"\t\t\t, ptr_cachedelta, ptr_weights, ptr_bias \\\n"\
11537"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11538"\t\t\t); \\\n"\
11539"}\n"\
11540"\n"\
11541"#define __ae2f_AnnSlpFit_imp( \\\n"\
11542"\t \\\n"\
11543"\t\t \\\n"\
11544" \\\n"\
11545"\t \\\n"\
11546"\t\t v_fit, \\\n"\
11547"\t\t prm_slp, \\\n"\
11548"\t\t pprm_inp, \\\n"\
11549"\t\t pprm_out, \\\n"\
11550"\t\t pprm_out_desired, \\\n"\
11551"\t\t ptr_weights, \\\n"\
11552"\t\t ptr_bias, \\\n"\
11553"\t\t ptr_cachedelta, \\\n"\
11554"\t\t fn_actderiv, \\\n"\
11555"\t\t fn_lossderiv, \\\n"\
11556"\t\t prm_learningrate, \\\n"\
11557"\t\t prm_learningrate_bias \\\n"\
11558") \\\n"\
11559"{ \\\n"\
11560"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11561"\t\t\tv_fit, v_fit \\\n"\
11562"\t\t\t, prm_slp \\\n"\
11563"\t\t\t, pprm_inp, pprm_out, pprm_out_desired \\\n"\
11564"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11565"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11566"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11567"\t\t\t); \\\n"\
11568"}\n"\
11569"\n"\
11570"#define __ae2f_AnnSlpFit( \\\n"\
11571"\t \\\n"\
11572"\t\t \\\n"\
11573" \\\n"\
11574"\t \\\n"\
11575"\t\t reterr_opt, \\\n"\
11576"\t\t _this, \\\n"\
11577"\t\t prm_inp, \\\n"\
11578"\t\t prm_out, \\\n"\
11579"\t\t prm_out_desired, \\\n"\
11580"\t\t weights, \\\n"\
11581"\t\t bias, \\\n"\
11582"\t\t cachedelta, \\\n"\
11583"\t\t actderiv_opt, \\\n"\
11584"\t\t lossderiv, \\\n"\
11585"\t\t learningrate, \\\n"\
11586"\t\t learningrate_bias \\\n"\
11587") \\\n"\
11588"{ \\\n"\
11589"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
11590"\t\t; \\\n"\
11591"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
11592"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11593"\telse unless(lossderiv) \\\n"\
11594"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11595"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
11596"\t\t; \\\n"\
11597"\telse { \\\n"\
11598"\t\tae2f_AnnSlpFitRAM_t\t\tv_ram_fit; \\\n"\
11599"\t\tae2f_reg ae2f_AnnSlpFitREG_t\tv_reg_fit; \\\n"\
11600" \\\n"\
11601"\t\tif(actderiv_opt) { \\\n"\
11602"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11603"\t\t\t\t\tv_ram_fit \\\n"\
11604"\t\t\t\t\t, v_reg_fit \\\n"\
11605"\t\t\t\t\t, (*(_this)) \\\n"\
11606"\t\t\t\t\t, prm_inp \\\n"\
11607"\t\t\t\t\t, prm_out \\\n"\
11608"\t\t\t\t\t, prm_out_desired \\\n"\
11609"\t\t\t\t\t, weights \\\n"\
11610"\t\t\t\t\t, bias \\\n"\
11611"\t\t\t\t\t, cachedelta \\\n"\
11612"\t\t\t\t\t, actderiv_opt \\\n"\
11613"\t\t\t\t\t, lossderiv \\\n"\
11614"\t\t\t\t\t, learningrate \\\n"\
11615"\t\t\t\t\t, learningrate_bias \\\n"\
11616"\t\t\t\t\t); \\\n"\
11617"\t\t} else { \\\n"\
11618"\t\t\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11619"\t\t\t\t\tv_ram_fit \\\n"\
11620"\t\t\t\t\t, v_reg_fit \\\n"\
11621"\t\t\t\t\t, (*(_this)) \\\n"\
11622"\t\t\t\t\t, prm_inp \\\n"\
11623"\t\t\t\t\t, prm_out \\\n"\
11624"\t\t\t\t\t, prm_out_desired \\\n"\
11625"\t\t\t\t\t, weights \\\n"\
11626"\t\t\t\t\t, bias \\\n"\
11627"\t\t\t\t\t, cachedelta \\\n"\
11628"\t\t\t\t\t, ae2f_AnnActDerivFFN_PASS \\\n"\
11629"\t\t\t\t\t, lossderiv \\\n"\
11630"\t\t\t\t\t, learningrate \\\n"\
11631"\t\t\t\t\t, learningrate_bias \\\n"\
11632"\t\t\t\t\t); \\\n"\
11633"\t\t} \\\n"\
11634"\t} \\\n"\
11635"}\n"\
11636"\n"\
11637"#if\tae2f_NEED_CLASS\n"\
11638"#define __ae2f_AnnSlpFit_C( \\\n"\
11639"\t \\\n"\
11640"\t\t \\\n"\
11641" \\\n"\
11642"\t \\\n"\
11643"\t\t reterr_opt, \\\n"\
11644"\t\t _this, \\\n"\
11645"\t\t prm_inp, \\\n"\
11646"\t\t prm_out, \\\n"\
11647"\t\t prm_out_desired \\\n"\
11648") { \\\n"\
11649"\tunless(_this) { \\\n"\
11650"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
11651"\t} \\\n"\
11652"\telse { \\\n"\
11653"\t\t__ae2f_AnnSlpFit( \\\n"\
11654"\t\t\t\treterr_opt \\\n"\
11655"\t\t\t\t, (_this)->m_Slp \\\n"\
11656"\t\t\t\t, prm_inp \\\n"\
11657"\t\t\t\t, prm_out \\\n"\
11658"\t\t\t\t, prm_out_desired \\\n"\
11659"\t\t\t\t, (_this)->m_weight \\\n"\
11660"\t\t\t\t, (_this)->m_bias \\\n"\
11661"\t\t\t\t, (_this)->m_cachedelta \\\n"\
11662"\t\t\t\t, (_this)->m_actderiv \\\n"\
11663"\t\t\t\t, (_this)->m_lossderiv \\\n"\
11664"\t\t\t\t, (_this)->m_learningrate \\\n"\
11665"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
11666"\t\t\t\t); \\\n"\
11667"\t} \\\n"\
11668"}\n"\
11669"#else\n"\
11670"#undef\t__ae2f_AnnSlpFit_C\n"\
11671"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
11672"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11673"#endif\n"\
11674"\n"\
11675"#define __ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11676"\t \\\n"\
11677"\t\t \\\n"\
11678" \\\n"\
11679"\t \\\n"\
11680"\t\t ram_train, \\\n"\
11681"\t\t reg_train, \\\n"\
11682"\t\t prm_slp, \\\n"\
11683"\t\t pprm_inp, \\\n"\
11684"\t\t pret_out, \\\n"\
11685"\t\t ptr_out_cache, \\\n"\
11686"\t\t pprm_out_desired, \\\n"\
11687"\t\t ptr_weights, \\\n"\
11688"\t\t ptr_bias, \\\n"\
11689"\t\t ptr_cachedelta, \\\n"\
11690"\t\t fn_act, \\\n"\
11691"\t\t fn_actderiv, \\\n"\
11692"\t\t fn_lossderiv, \\\n"\
11693"\t\t prm_learningrate, \\\n"\
11694"\t\t prm_learningrate_bias \\\n"\
11695") \\\n"\
11696"{ \\\n"\
11697"\t__ae2f_AnnSlpPredict_imp( \\\n"\
11698"\t\t\treg_train \\\n"\
11699"\t\t\t, prm_slp \\\n"\
11700"\t\t\t, pprm_inp \\\n"\
11701"\t\t\t, pret_out \\\n"\
11702"\t\t\t, ptr_out_cache \\\n"\
11703"\t\t\t, ptr_weights \\\n"\
11704"\t\t\t, ptr_bias \\\n"\
11705"\t\t\t, fn_act \\\n"\
11706"\t\t\t); \\\n"\
11707" \\\n"\
11708"\t__ae2f_AnnSlpFitVerbose_imp( \\\n"\
11709"\t\t\tram_train \\\n"\
11710"\t\t\t, reg_train \\\n"\
11711"\t\t\t, prm_slp \\\n"\
11712"\t\t\t, pprm_inp \\\n"\
11713"\t\t\t, pret_out \\\n"\
11714"\t\t\t, pprm_out_desired \\\n"\
11715"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11716"\t\t\t, fn_actderiv, fn_lossderiv \\\n"\
11717"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11718"\t\t\t); \\\n"\
11719"}\n"\
11720"\n"\
11721"#define __ae2f_AnnSlpTrain_imp( \\\n"\
11722"\t \\\n"\
11723"\t\t \\\n"\
11724" \\\n"\
11725"\t \\\n"\
11726"\t\t tmp_train, \\\n"\
11727"\t\t prm_slp, \\\n"\
11728"\t\t pprm_inp, \\\n"\
11729"\t\t pret_out, \\\n"\
11730"\t\t ptr_out_cache, \\\n"\
11731"\t\t pprm_out_desired, \\\n"\
11732"\t\t ptr_weights, \\\n"\
11733"\t\t ptr_bias, \\\n"\
11734"\t\t ptr_cachedelta, \\\n"\
11735"\t\t fn_act, \\\n"\
11736"\t\t fn_actderiv, \\\n"\
11737"\t\t fn_lossderiv, \\\n"\
11738"\t\t prm_learningrate, \\\n"\
11739"\t\t prm_learningrate_bias \\\n"\
11740") \\\n"\
11741"{ \\\n"\
11742"\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11743"\t\t\ttmp_train, tmp_train \\\n"\
11744"\t\t\t, prm_slp \\\n"\
11745"\t\t\t, pprm_inp, pret_out \\\n"\
11746"\t\t\t, ptr_out_cache, pprm_out_desired \\\n"\
11747"\t\t\t, ptr_weights, ptr_bias, ptr_cachedelta \\\n"\
11748"\t\t\t, fn_act, fn_actderiv, fn_lossderiv \\\n"\
11749"\t\t\t, prm_learningrate, prm_learningrate_bias \\\n"\
11750"\t\t\t); \\\n"\
11751"}\n"\
11752"\n"\
11753"#if ae2f_NEED_CLASS\n"\
11754"#define __ae2f_AnnSlpTrain_C( \\\n"\
11755"\t \\\n"\
11756"\t\t \\\n"\
11757" \\\n"\
11758"\t \\\n"\
11759"\t\t err, \\\n"\
11760"\t\t slp, \\\n"\
11761"\t\t inp, \\\n"\
11762"\t\t out_desired \\\n"\
11763") \\\n"\
11764"{ \\\n"\
11765"\tunless(slp) \\\n"\
11766"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11767"\telse { \\\n"\
11768"\t\t__ae2f_AnnSlpTrain( \\\n"\
11769"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
11770"\t\t\t\t, (slp)->m_cacheact \\\n"\
11771"\t\t\t\t, out_desired \\\n"\
11772"\t\t\t\t, (slp)->m_weight \\\n"\
11773"\t\t\t\t, (slp)->m_bias \\\n"\
11774"\t\t\t\t, (slp)->m_cachedelta \\\n"\
11775"\t\t\t\t, (slp)->m_act \\\n"\
11776"\t\t\t\t, (slp)->m_actderiv \\\n"\
11777"\t\t\t\t, (slp)->m_lossderiv \\\n"\
11778"\t\t\t\t, (slp)->m_learningrate \\\n"\
11779"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
11780"\t\t\t\t); \\\n"\
11781"\t} \\\n"\
11782"}\n"\
11783"#else\n"\
11784"#undef\t__ae2f_AnnSlpTrain_C\n"\
11785"#define __ae2f_AnnSlpTrain_C \\\n"\
11786"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
11787"\n"\
11788"#endif\n"\
11789"\n"\
11790"#define __ae2f_AnnSlpTrain( \\\n"\
11791"\t \\\n"\
11792"\t\t \\\n"\
11793" \\\n"\
11794"\t \\\n"\
11795"\t\t err, \\\n"\
11796"\t\t slp, \\\n"\
11797"\t\t inp, \\\n"\
11798"\t\t out_cache, \\\n"\
11799"\t\t out_desired, \\\n"\
11800"\t\t weights, \\\n"\
11801"\t\t bias, \\\n"\
11802"\t\t cachedelta, \\\n"\
11803"\t\t act, \\\n"\
11804"\t\t actderiv, \\\n"\
11805"\t\t lossderiv, \\\n"\
11806"\t\t learningrate, \\\n"\
11807"\t\t learningrate_bias \\\n"\
11808") \\\n"\
11809"{ \\\n"\
11810"\tif((err) && *(err)) \\\n"\
11811"\t\t; \\\n"\
11812"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
11813"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
11814"\telse unless(lossderiv) \\\n"\
11815"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
11816"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
11817"\t\t; \\\n"\
11818"\telse { \\\n"\
11819"\t\tae2f_reg ae2f_AnnSlpTrainREG_t v_reg_train; \\\n"\
11820"\t\tae2f_AnnSlpTrainRAM_t v_ram_train; \\\n"\
11821" \\\n"\
11822"\t\tif (act) { \\\n"\
11823"\t\t\tif(actderiv) { \\\n"\
11824"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11825"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11826"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11827"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11828"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
11829"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11830"\t\t\t\t\t\t); \\\n"\
11831"\t\t\t} else { \\\n"\
11832"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11833"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11834"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11835"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11836"\t\t\t\t\t\t, cachedelta, act, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
11837"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11838"\t\t\t\t\t\t); \\\n"\
11839" \\\n"\
11840"\t\t\t} \\\n"\
11841"\t\t} else { \\\n"\
11842"\t\t\tif(actderiv) { \\\n"\
11843"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11844"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11845"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11846"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11847"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, actderiv, lossderiv \\\n"\
11848"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11849"\t\t\t\t\t\t); \\\n"\
11850"\t\t\t} else { \\\n"\
11851"\t\t\t\t__ae2f_AnnSlpTrainVerbose_imp( \\\n"\
11852"\t\t\t\t\t\tv_ram_train, v_reg_train \\\n"\
11853"\t\t\t\t\t\t, (*slp), inp, out_cache, out_cache \\\n"\
11854"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
11855"\t\t\t\t\t\t, cachedelta, ae2f_AnnActFFN_PASS, ae2f_AnnActDerivFFN_PASS, lossderiv \\\n"\
11856"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
11857"\t\t\t\t\t\t); \\\n"\
11858" \\\n"\
11859"\t\t\t} \\\n"\
11860"\t\t} \\\n"\
11861"\t} \\\n"\
11862"}\n"\
11863"\n"\
11864"\n"\
11865"#endif\n"\
11866"\n"\
11867"#undef\t__ae2f_MACRO_GENERATED\n"\
11868"\n"\
11869"#define\t__ae2f_MACRO_GENERATED\t0\n"\
11870"\n"\
11871"\n"\
11872"#undef __ae2f_MACRO_GENERATED\n"\
11873"#define __ae2f_MACRO_GENERATED 1\n"\
11874"\n"\
11875"\n"\
11876"#if !__ae2f_MACRO_GENERATED\n"\
11877"#define _clAtomAddF_tmpl(a, b, c, d, e)\tclAtomAddF_tmpl(d, e)\n"\
11878"#define _clAtomAddF(a, b, c, d)\t\tclAtomAddF(b, c, d)\n"\
11879"#endif\n"\
11880"\n"\
11881"#define _clAtomAddF_t(__global, host_float_t) struct { \\\n"\
11882"\tunion { \\\n"\
11883"\t\thost_float_t\tm_f; \\\n"\
11884"\t\thost_float_t\tm_fa[MAX(1, 4 / sizeof(host_float_t))]; \\\n"\
11885"\t\tuint\t\tm_u[(MAX(1, sizeof(host_float_t) >> 2))]; \\\n"\
11886"\t} m_atom[2]; \\\n"\
11887"\tuint\t\t\tm_count; \\\n"\
11888"\tunion { \\\n"\
11889"\t\t__global volatile uint* \tm_pchg; \\\n"\
11890"\t\t__global volatile host_float_t* m_fp; \\\n"\
11891"\t\tintptr_t\t\t\tm_ip; \\\n"\
11892"\t} m_U0; \\\n"\
11893"}\n"\
11894"\n"\
11895"#if !__ae2f_MACRO_GENERATED\n"\
11896"typedef _clAtomAddF_t(__global, host_float_t) clAtomAddF_t;\n"\
11897"#endif\n"\
11898"\n"\
11899"#define _clAtomAddF( \\\n"\
11900"\t \\\n"\
11901"\t\t__global, \\\n"\
11902" \\\n"\
11903"\t \\\n"\
11904"\t\t v_mem, \\\n"\
11905"\t\t prm_dst, \\\n"\
11906"\t\t prm_val \\\n"\
11907") \\\n"\
11908"{ \\\n"\
11909"\tif(sizeof((v_mem).m_atom[0].m_f) < 4) { \\\n"\
11910"\t\t(v_mem).m_count = 4 / sizeof((v_mem).m_atom[0].m_f); \\\n"\
11911"\t\twhile((v_mem).m_count--) { \\\n"\
11912"\t\t\t(v_mem).m_atom[0].m_fa[(v_mem).m_count] \\\n"\
11913"\t\t\t\t= (prm_dst)[(v_mem).m_count] \\\n"\
11914"\t\t\t\t; \\\n"\
11915"\t\t} \\\n"\
11916"\t} else { \\\n"\
11917"\t\t((v_mem).m_atom)[0].m_f = ((v_mem).m_atom)[1].m_f = *(prm_dst); \\\n"\
11918"\t} \\\n"\
11919" \\\n"\
11920"\t((v_mem).m_atom)[1].m_f += (prm_val); \\\n"\
11921" \\\n"\
11922"\t(v_mem).m_count = MAX(1, (sizeof(((v_mem).m_atom[0].m_f)) >> 2)); \\\n"\
11923"\twhile((v_mem).m_count--) { \\\n"\
11924"\t\t(v_mem).m_U0.m_fp = (prm_dst); \\\n"\
11925"\t\t(v_mem).m_U0.m_pchg += (v_mem).m_count; \\\n"\
11926"\t\tatom_xchg_u( \\\n"\
11927"\t\t\t\t(v_mem).m_U0.m_pchg \\\n"\
11928"\t\t\t\t, (v_mem).m_atom[1].m_u[(v_mem).m_count] \\\n"\
11929"\t\t\t ); \\\n"\
11930"\t} \\\n"\
11931"}\n"\
11932"\n"\
11933"#if !__ae2f_MACRO_GENERATED\n"\
11934"#define _clSlpPredict_t\t_clAtomAddF_t\n"\
11935"typedef clAtomAddF_t clSlpPredict_t;\n"\
11936"#endif \n"\
11937"\n"\
11938"#define _clSlpPredict( \\\n"\
11939"\t \\\n"\
11940"\t\t__global, \\\n"\
11941" \\\n"\
11942"\t \\\n"\
11943"\t\t v_mem, \\\n"\
11944"\t\t ret, \\\n"\
11945"\t\t loc, \\\n"\
11946"\t\t p_inp, \\\n"\
11947"\t\t p_weight, \\\n"\
11948"\t\t p_bias, \\\n"\
11949"\t\t iidx, \\\n"\
11950"\t\t isz, \\\n"\
11951"\t\t oidx, \\\n"\
11952"\t\t osz, \\\n"\
11953"\t\t ACT \\\n"\
11954") \\\n"\
11955"{ \\\n"\
11956"\tif((oidx) < (osz) && (iidx) < (isz)) { \\\n"\
11957"\t\tunless((iidx)) (loc)[oidx] = 0; \\\n"\
11958" \\\n"\
11959"\t\tif(sizeof((v_mem).m_atom[0].m_f) >= 4) { \\\n"\
11960"\t\t\t_clAtomAddF(__global \\\n"\
11961"\t\t\t\t\t, v_mem, &(loc)[oidx] \\\n"\
11962"\t\t\t\t\t, (p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11963"\t\t\t\t ); \\\n"\
11964"\t\t} else { \\\n"\
11965"\t\t\tunless((oidx) & 1) { \\\n"\
11966"\t\t\t\t(v_mem).m_atom[0].m_u[0] = \\\n"\
11967"\t\t\t\t\tCAST(__global uint*, loc)[0]; \\\n"\
11968" \\\n"\
11969"\t\t\t\t(v_mem).m_atom[1].m_fa[0] \\\n"\
11970"\t\t\t\t\t= (v_mem).m_atom[1].m_fa[0] \\\n"\
11971"\t\t\t\t\t+ (p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11972"\t\t\t\t\t; \\\n"\
11973" \\\n"\
11974"\t\t\t\tif((oidx) + 1 < (osz)) \\\n"\
11975"\t\t\t\t\t(v_mem).m_atom[1].m_fa[1] \\\n"\
11976"\t\t\t\t\t\t= (v_mem).m_atom[1].m_fa[1] \\\n"\
11977"\t\t\t\t\t\t+ (p_weight)[((oidx) + 1) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
11978"\t\t\t\t\t\t; \\\n"\
11979" \\\n"\
11980"\t\t\t\tatom_xchg_u(CAST(__global uint*, loc), (v_mem).m_atom[1].m_u[0]); \\\n"\
11981"\t\t\t} \\\n"\
11982"\t\t} \\\n"\
11983" \\\n"\
11984"\t\tunless(iidx) { \\\n"\
11985"\t\t\t(loc)[oidx] += (p_bias)[oidx]; \\\n"\
11986"\t\t\tACT(&(ret), (loc), oidx, osz); \\\n"\
11987"\t\t} \\\n"\
11988"\t} \\\n"\
11989" \\\n"\
11990"}\n"\
11991"\n"\
11992"\n"\
11993"#endif\n"\
11994"\n"\
11995"#undef\t__ae2f_MACRO_GENERATED\n"\
11996"\n"\
11997"#define\t__ae2f_MACRO_GENERATED\t0\n"\
11998"\n"\
11999"\n"\
12000"#undef __ae2f_MACRO_GENERATED\n"\
12001"#define __ae2f_MACRO_GENERATED 1\n"\
12002"\n"\
12003"#define ae2f_NEED_CLASS 0\n"\
12004"\n"\
12005"#ifndef ACT\n"\
12006"#define ACT(r, y, i, c)\t\t*(r) = (y)[i];\n"\
12007"#endif\n"\
12008"\n"\
12009"#ifndef ACT_DERIV\n"\
12010"#define ACT_DERIV(r, y, i, c)\t\t1\n"\
12011"#endif\n"\
12012"\n"\
12013"#ifndef LOSS_DERIV\n"\
12014"#define LOSS_DERIV(r, y, y_desired, i, c) *(r) = (y)[i] - (y_desired)[i];\n"\
12015"#endif\n"\
12016"\n"\
12017"\n"\
12018"#define p_weight\tglob\n"\
12019"#define p_bias\t\t(glob + (osz * isz))\n"\
12020"#define p_inp\t\t((p_bias) + (osz))\n"\
12021"#define p_out\t\t((p_inp) + (isz))\n"\
12022"#define p_delta\t\t((p_out) + osz)\n"\
12023"#define p_goal\t\t((p_delta) + osz)\n"\
12024"\n"\
12025"#define loc\t\tCAST(__local ae2f_float_t*, _loc)\n"\
12026"\n"\
12027"const ae2f_structdef(struct, lr_t) {\n"\
12028"\thost_float_t\tm_weight;\n"\
12029"\thost_float_t\tm_bias;\n"\
12030"};\n"\
12031"\n"\
12032"\n"\
12033"\n"\
12034"__kernel void kPredict(__global host_float_t* restrict glob, const uint unused) {\n"\
12035"\tconst size_t\n"\
12036"\t\toidx = get_global_id(0)\n"\
12037"\t\t, osz = get_global_size(0)\n"\
12038"\t\t, iidx = get_global_id(1)\n"\
12039"\t\t, isz = get_global_size(1);\n"\
12040"\n"\
12041"\t_clAtomAddF_t(__global, host_float_t)\tv_predict;\n"\
12042"\n"\
12043"\t_clSlpPredict(\n"\
12044"\t\t\t__global\n"\
12045"\t\t\t, v_predict\n"\
12046"\t\t\t, p_out[oidx]\n"\
12047"\t\t\t, p_out\n"\
12048"\t\t\t, p_inp\n"\
12049"\t\t\t, p_weight\n"\
12050"\t\t\t, p_bias\n"\
12051"\t\t\t, iidx\n"\
12052"\t\t\t, isz\n"\
12053"\t\t\t, oidx\n"\
12054"\t\t\t, osz\n"\
12055"\t\t\t, ACT\n"\
12056"\t\t\t);\n"\
12057"}\n"\
12058"\n"\
12059"\n"\
12060"__kernel void kTrain(lr_t lr, __global host_float_t* restrict glob, __local uint* restrict _loc) {\n"\
12061"\tconst size_t\n"\
12062"\t\toidx = get_global_id(0)\n"\
12063"\t\t, osz = get_global_size(0)\n"\
12064"\t\t, iidx = get_global_id(1)\n"\
12065"\t\t, isz = get_global_size(1)\n"\
12066"\t\t;\n"\
12067"\n"\
12068"\tae2f_float_t\t\tv_tmp = 0;\n"\
12069"\t_clAtomAddF_t(__local, ae2f_float_t)\tslppredict;\n"\
12070"#define delta\tslppredict.m_atom[0].m_f\n"\
12071"#define v_tmp1\tslppredict.m_atom[1].m_f\n"\
12072"\n"\
12073"\t_clSlpPredict(__local, slppredict, v_tmp, loc, p_inp, p_weight, p_bias, iidx, isz, oidx, osz, ACT);\n"\
12074"\n"\
12075"\tif(iidx == 0) {\n"\
12076"\t\tp_out[oidx] = v_tmp;\n"\
12077"\t\tloc[oidx] = v_tmp;\n"\
12078"\n"\
12079"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
12080"\t\t\t\tdelta\n"\
12081"\t\t\t\t, &v_tmp, &v_tmp1\n"\
12082"\t\t\t\t, loc\t\t\t\t\t\t\n"\
12083"\t\t\t\t, p_goal\t\t\t\t\t \n"\
12084"\t\t\t\t, oidx, osz\n"\
12085"\t\t\t\t, ACT_DERIV, LOSS_DERIV\n"\
12086"\t\t\t\t);\n"\
12087"\n"\
12088"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12089"\t\t\t\tp_bias[oidx] \n"\
12090"\t\t\t\t, delta \n"\
12091"\t\t\t\t, lr.m_bias\n"\
12092"\t\t\t\t);\n"\
12093"\n"\
12094"\t\tp_delta[oidx] = delta;\n"\
12095"\t}\n"\
12096"\n"\
12097"\tdelta = p_delta[oidx];\n"\
12098"\tv_tmp = p_inp[iidx];\n"\
12099"\n"\
12100"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12101"\t\t\tv_tmp\n"\
12102"\t\t\t, delta \n"\
12103"\t\t\t, glob \n"\
12104"\t\t\t, lr.m_weight\n"\
12105"\t\t\t, isz\n"\
12106"\t\t\t, iidx\n"\
12107"\t\t\t, osz\n"\
12108"\t\t\t, oidx\n"\
12109"\t\t\t);\n"\
12110"\n"\
12111"\n"\
12112"#undef v_tmp1\n"\
12113"#undef delta\n"\
12114"}\n"\
12115"\n"\
12116"\n"\
12117"__kernel void kFit(lr_t lr, __global host_float_t* restrict glob) {\n"\
12118"\tconst size_t\n"\
12119"\t\toidx = get_global_id(0)\n"\
12120"\t\t, osz = get_global_size(0)\n"\
12121"\t\t, iidx = get_global_id(1)\n"\
12122"\t\t, isz = get_global_size(1)\n"\
12123"\t\t;\n"\
12124"\n"\
12125"\tae2f_float_t\tdelta, v_tmp, v_tmp1;\n"\
12126"\n"\
12127"\tif(iidx == 0) {\n"\
12128"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
12129"\t\t\t\tdelta \n"\
12130"\t\t\t\t, &v_tmp, &v_tmp1\n"\
12131"\t\t\t\t, p_out \n"\
12132"\t\t\t\t, p_goal \n"\
12133"\t\t\t\t, oidx, osz\n"\
12134"\t\t\t\t, ACT_DERIV\n"\
12135"\t\t\t\t, LOSS_DERIV\n"\
12136"\t\t\t\t);\n"\
12137"\n"\
12138"\t\t\n"\
12139"\n"\
12140"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12141"\t\t\t\tp_bias[oidx]\t\n"\
12142"\t\t\t\t, delta\t\t\n"\
12143"\t\t\t\t, lr.m_bias\n"\
12144"\t\t\t\t);\n"\
12145"\n"\
12146"\t\tp_delta[oidx] = delta;\n"\
12147"\t}\n"\
12148"\n"\
12149"\tdelta = p_delta[oidx];\n"\
12150"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12151"\t\t\tp_inp[iidx] \n"\
12152"\t\t\t, delta \n"\
12153"\t\t\t, p_weight \n"\
12154"\t\t\t, lr.m_weight\n"\
12155"\t\t\t, isz\n"\
12156"\t\t\t, iidx\n"\
12157"\t\t\t, osz\n"\
12158"\t\t\t, oidx\n"\
12159"\t\t\t);\n"\
12160"}\n"\
12161"\n"\
12162"\n"\
12163"__kernel void kFollow(lr_t lr, __global host_float_t* restrict glob) {\n"\
12164"\tconst size_t\n"\
12165"\t\toidx = get_global_id(0)\n"\
12166"\t\t, osz = get_global_size(0)\n"\
12167"\t\t, iidx = get_global_id(1)\n"\
12168"\t\t, isz = get_global_size(1)\n"\
12169"\t\t;\n"\
12170"\n"\
12171"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
12172"\t\t\tp_inp[iidx] \n"\
12173"\t\t\t, p_delta[oidx] \n"\
12174"\t\t\t, p_weight \n"\
12175"\t\t\t, lr.m_weight\n"\
12176"\t\t\t, isz\n"\
12177"\t\t\t, iidx\n"\
12178"\t\t\t, osz\n"\
12179"\t\t\t, oidx\n"\
12180"\t\t\t);\n"\
12181"\n"\
12182"\tif(iidx == 0) {\n"\
12183"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
12184"\t\t\t\tp_bias[oidx] \n"\
12185"\t\t\t\t, p_delta[oidx] \n"\
12186"\t\t\t\t, lr.m_bias\n"\
12187"\t\t\t\t);\n"\
12188"\t}\n"\
12189"}\n"\
12190"\n"\
12191"#undef\t__ae2f_MACRO_GENERATED\n"\
12192"\n"\
12193"#define\t__ae2f_MACRO_GENERATED\t0\n"\
12194"\n"\
12195""
#define ae2f_enumdef(name,...)
#define ae2f_structdef(key, name)
#define ae2f_const_cast(t, v)
#define ae2f_CastMerge(...)
simply merge all text inside the round bracket, counting them as a single text block.
#define ae2f_static_cast(t, v)
#define ae2f_reinterpret_cast(t, v)
#define unless(...)
Invokes when condition is false.
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
uint8_t ae2f_err_t
Informs that this number represents the error.
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
#define __ae2f_MACRO_GENERATED
#define __ae2fVK_AnnMlpOutStreamSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpWeightOff(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpUnMapRanged_imp
#define __ae2fVK_AnnMlpGoalOff(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpMapRangedGeneric_imp
#define __ae2fVK_AnnMlpOutStreamOff(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpMdlOff(...)
#define __ae2fVK_AnnMlpBiasSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpMdlSz(i_depth,...)
#define __ae2fVK_AnnMlpGoalSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpDeltaStreamOff(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpGlobMemSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpBiasOff(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpDeltaStreamSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnMlpWeightSz(i_depth, i_outc, i_weightc)
#define __ae2fVK_AnnSlpGoalSz(i_inp, i_out)
#define __ae2fVK_AnnSlpGoalOff(i_inp, i_out)
#define __ae2fVK_AnnSlpDeltaOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpGlobSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpOutOff(i_inp, i_out)
#define __ae2fVK_AnnSlpOutSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpInpSz(i_inp,...)
#define __ae2fVK_AnnSlpInpSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpBiasSz(i_inp, i_out)
#define __ae2fVK_AnnSlpWeightSz(i_inp, i_out)
#define __ae2fVK_AnnSlpInpOff(i_inp, i_out)
#define __ae2fVK_AnnSlpGoalSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpDeltaSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpDeltaSz(i_inp, i_out)
#define __ae2fVK_AnnSlpBiasSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpInpOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpWeightSz_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpWeightOff(i_inp, i_out)
#define __ae2fVK_AnnSlpGlobSz(i_inp, i_out)
#define __ae2fVK_AnnSlpOutSz(i_inp, i_out)
#define __ae2fVK_AnnSlpWeightOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpOutOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpBiasOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpGoalOff_V(CLFLOAT, i_inp, i_out)
#define __ae2fVK_AnnSlpDeltaOff(i_inp, i_out)
#define ae2fVK_AnnMlpSHADER
#define __ae2fVK_AnnSlpDescPoolMkGeneric_imp(v_descpool, r_pool, r_reterr, iv_slp, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#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_AnnSlpSHADER
#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)
#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp(r_handle, ir_err, i_first, i_second, i_third)
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
#define __ae2fVK_AnnSlpMkFndMemProp_imp(CMDONERR, r_memtypeidx, v_errbit, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
#define __ae2fVK_AnnSlpMkCreatBuf(CMDONERR, sz, r_vkres, r_vkbuf, v_vkbufcreatinfo, v_reterr, vkbufuseflags, vksharemode, vkdev, vkalloccalls)
#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp(CMDONERR, r_reterr, pipecreat, pipelayout, shadermod, entrypoint, idx_pipe, idx_pipelayout)
#define __ae2fVK_AnnSlpCreatDescPoolVerbose_imp(v_vkdescpoolcreatinfo, v_vkdescpoolsz, r_vkdescpool, r_reterr, r_vkres, i_vkdev, i_vkptrAlloc, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(CMDONERR, v_vkpushconstrange, v_vkpipelayoutcreatinfo, r_reterr, iv_slpptr, idx, szrequired, vkalloccalls, vkdev)
#define __ae2fVK_AnnSlpUnMap_imp(slp)
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
#define __ae2fVK_AnnSlpMk_imp_V(cllocfloat_t, v_mk, weight_opt, bias_opt, cache_opt, inc, outc, prm_offset, extra, act, actderiv, lossderiv, learningrate, learningrate_bias, vkdev, vkmemprops, vkalloccalls, vkcldeclaration, vkcldefinition)
#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)
#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.
#define __ae2f_AnnSlpMk_imp(...)