ae2f_docs
MlpSHADER.auto.h
Go to the documentation of this file.
1#define ae2fVK_AnnMlpSHADER \
2/** include detected */\
3/** Path cursor */\
4/* Opening: ./cl/Mlp.auto.cl.impl */\
5/** first fp: 0x55f0c8c82330 */\
6/** Current ./cl/Mlp.auto.cl.impl */\
7/** Dir ./cl/ */\
8/** Found something. Now let's validate. */\
9/** It's not repeating */\
10/******************** */\
11/* Now the path will be: */
12 /*./cl/Mlp.auto.cl.impl */ \
13"#undef\t__ae2f_MACRO_GENERATED\n"\
14"#define\t__ae2f_MACRO_GENERATED\t1\n"\
15"#define ae2f_NEED_CLASS 0\n"\
16"\n"\
17"#if __ae2f_MACRO_GENERATED\n"\
18"#define ae2fVK_clspv_IS_OPENCL 1\n"\
19"#endif\n"\
20"\n"\
21"/** include detected */ \\\n"\
22"/** Path cursor */ \\\n"\
23"/* Opening: ./Mlp.auto.h */ \\\n"\
24"/** first fp: 0x559c5e30d330 */ \\\n"\
25"/** Current ./Mlp.auto.h */ \\\n"\
26"/** Dir ./ */ \\\n"\
27"/** Found something. Now let\'s validate. */ \\\n"\
28"/** It\'s not repeating */ \\\n"\
29"/******************** */\\\n"\
30"/* Now the path will be: */ \\\n"\
31" /*./Mlp.auto.h */ \\\n"\
32"#undef\t__ae2f_MACRO_GENERATED\n"\
33"#define\t__ae2f_MACRO_GENERATED\t1\n"\
34"#ifndef Mlp_h\n"\
35"#define Mlp_h\n"\
36"\n"\
37"/** include detected */ \\\n"\
38"/** Path cursor */ \\\n"\
39"/* Opening: ././Slp.auto.h */ \\\n"\
40"/** first fp: 0x559c5e30e520 */ \\\n"\
41"/** Current ././Slp.auto.h */ \\\n"\
42"/** Dir ././ */ \\\n"\
43"/** Found something. Now let\'s validate. */ \\\n"\
44"/** It\'s not repeating */ \\\n"\
45"/******************** */\\\n"\
46"/* Now the path will be: */ \\\n"\
47" /*././Slp.auto.h */ \\\n"\
48"#undef\t__ae2f_MACRO_GENERATED\n"\
49"#define\t__ae2f_MACRO_GENERATED\t1\n"\
50"#ifndef Slp_h\n"\
51"#define Slp_h\n"\
52"\n"\
53"#define ae2f_NEED_CLASS 0\n"\
54"\n"\
55"/** include detected */ \\\n"\
56"/** Path cursor */ \\\n"\
57"/* Opening: ././ae2fVK/clspv_clkeys.h */ \\\n"\
58"/** first fp: (nil) */ \\\n"\
59"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
60"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
61"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
62"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/ */ \\\n"\
63"/** Found something. Now let\'s validate. */ \\\n"\
64"/** It\'s not repeating */ \\\n"\
65"/******************** */\\\n"\
66"/* Now the path will be: */ \\\n"\
67" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
68"#ifndef ae2fVK_clspv_clkeys_h\n"\
69"#define ae2fVK_clspv_clkeys_h\n"\
70"\n"\
71"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
72"#define ae2fVK_clspv_IS_OPENCL 0\n"\
73"#endif\n"\
74"\n"\
75"#if ae2fVK_clspv_IS_OPENCL\n"\
76"\n"\
77"#define ae2f_CL(...)\t__VA_ARGS__\n"\
78"#define ae2f_NCL(...)\n"\
79"\n"\
80"#else\n"\
81"\n"\
82"#define ae2f_CL(...)\n"\
83"#define ae2f_NCL(...)\t__VA_ARGS__\n"\
84"\n"\
85"/** include detected */ \\\n"\
86"/** Path cursor */ \\\n"\
87"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/stddef.h */ \\\n"\
88"/** first fp: (nil) */ \\\n"\
89"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
90"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
91"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
92"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
93"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
94"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
95"/** Failed but ignoring it. */ \\\n"\
96"\n"\
97"/** include detected */ \\\n"\
98"/** Path cursor */ \\\n"\
99"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/stdint.h */ \\\n"\
100"/** first fp: (nil) */ \\\n"\
101"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
102"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
103"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
104"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
105"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
106"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
107"/** Failed but ignoring it. */ \\\n"\
108"\n"\
109"\n"\
110"#define __kernel\n"\
111"#define __global\n"\
112"#define __constant\n"\
113"#define __local\n"\
114"\n"\
115"#endif\n"\
116"\n"\
117"#define int8_t\t\tae2f_CL(char)\tae2f_NCL(int8_t)\n"\
118"#define uint8_t\t\tae2f_CL(uchar)\tae2f_NCL(uint8_t)\n"\
119"#define uchar\t\tae2f_CL(uchar)\tae2f_NCL(uint8_t)\n"\
120"\n"\
121"#define int16_t\t\tae2f_CL(short)\tae2f_NCL(int16_t)\n"\
122"#define uint16_t\tae2f_CL(ushort)\tae2f_NCL(uint16_t)\n"\
123"#define ushort\t\tae2f_CL(ushort)\tae2f_NCL(uint16_t)\n"\
124"\n"\
125"#define int32_t\t\tae2f_CL(int)\tae2f_NCL(int32_t)\n"\
126"#define uint32_t\tae2f_CL(uint)\tae2f_NCL(uint32_t)\n"\
127"#define uint\t\tae2f_CL(uint)\tae2f_NCL(uint32_t)\n"\
128"\n"\
129"#define int64_t\t\tae2f_CL(long)\tae2f_NCL(int64_t)\n"\
130"#define uint64_t\tae2f_CL(ulong)\tae2f_NCL(uint64_t)\n"\
131"#define ulong\t\tae2f_CL(ulong)\tae2f_NCL(uint64_t)\n"\
132"\n"\
133"#define size_t\tuint\n"\
134"\n"\
135"#if !ae2fVK_clspv_IS_OPENCL\n"\
136"uint get_work_dim();\n"\
137"size_t get_global_size(uint dimindx);\n"\
138"size_t get_global_id(uint dimindx);\n"\
139"size_t get_local_size(uint dimindx);\n"\
140"size_t get_enqueued_local_size( uint dimindx);\n"\
141"size_t get_local_id(uint dimindx);\n"\
142"size_t get_num_groups(uint dimindx);\n"\
143"size_t get_global_offset(uint dimindx);\n"\
144"size_t get_group_id(uint dimindx);\n"\
145"size_t get_global_linear_id();\n"\
146"size_t get_local_linear_id();\n"\
147"\n"\
148"typedef enum cl_mem_fence_flags {\n"\
149"\tCLK_LOCAL_MEM_FENCE =\t0b01,\n"\
150"\tCLK_GLOBAL_MEM_FENCE =\t0b10\n"\
151"} cl_mem_fence_flags;\n"\
152"\n"\
153"void barrier(cl_mem_fence_flags flags);\n"\
154"\n"\
155"#endif\n"\
156"\n"\
157"/** @brief Contains both LOCAL and GLOBAL */\n"\
158"#define CLK_ALL_MEM_FENCE\t(CLK_LOCAL_MEM_FENCE | CLK_GLOBAL_MEM_FENCE)\n"\
159"\n"\
160"#define work_group_reduce_add(x) 0\n"\
161"\n"\
162"#endif\n"\
163"/** One eof gracefully */ \\\n"\
164"\n"\
165"#undef __ae2f_MACRO_GENERATED\n"\
166"#define __ae2f_MACRO_GENERATED 1\n"\
167"/** include detected */ \\\n"\
168"/** Path cursor */ \\\n"\
169"/* Opening: ././ae2f/Ann/Slp.core.h */ \\\n"\
170"/** first fp: (nil) */ \\\n"\
171"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
172"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
173"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
174"/** Found something. Now let\'s validate. */ \\\n"\
175"/** It\'s not repeating */ \\\n"\
176"/******************** */\\\n"\
177"/* Now the path will be: */ \\\n"\
178" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
179"#ifndef ae2f_Ann_Slp_Core_h\n"\
180"#define ae2f_Ann_Slp_Core_h\n"\
181"\n"\
182"/** include detected */ \\\n"\
183"/** Path cursor */ \\\n"\
184"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
185"/** first fp: (nil) */ \\\n"\
186"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
187"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
188"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
189"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
190"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
191"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
192"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
193"/** Found something. Now let\'s validate. */ \\\n"\
194"/** It\'s not repeating */ \\\n"\
195"/******************** */\\\n"\
196"/* Now the path will be: */ \\\n"\
197" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
198"/**\n"\
199"\n"\
200" * @file Float.h\n"\
201" * @brief\n"\
202" * Here, float will be treated as bit vector with four attributes:\n"\
203" *\n"\
204"\n"\
205" * sign: \\n\t\n"\
206" * \t> Whether it has sign or not. \\n\n"\
207" *\n"\
208"\n"\
209" * exp:\t\\n\n"\
210" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
211" * \t> Which is the exponent of the [frac]\n"\
212" *\n"\
213"\n"\
214" * expbiasp: \\n\n"\
215" * \t> Exponent bias in order to be considered as zero. \\n\n"\
216" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
217" *\n"\
218"\n"\
219" * \t> Here, the value of exponent bias is limited with following rules:\n"\
220" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
221" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
222" *\n"\
223"\n"\
224" * frac: \\n\n"\
225" * \t> The actual \"value\" for floating point.\n"\
226" *\n"\
227"\n"\
228" * ==================\n"\
229" *\n"\
230"\n"\
231" * Following is the expected structure as bit vector: \\n\n"\
232" * [frac | exp | sign]\n"\
233" * \n"\
234" * Size of this will be calculated as: \\n\n"\
235" * [sign] + [exp] + [frac]\n"\
236" */\n"\
237"\n"\
238"#ifndef ae2f_Float_h\n"\
239"#define ae2f_Float_h\n"\
240"\n"\
241"/** include detected */ \\\n"\
242"/** Path cursor */ \\\n"\
243"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
244"/** first fp: 0x559c5e311af0 */ \\\n"\
245"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
246"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
247"/** Found something. Now let\'s validate. */ \\\n"\
248"/** It\'s not repeating */ \\\n"\
249"/******************** */\\\n"\
250"/* Now the path will be: */ \\\n"\
251" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
252"/**\n"\
253"\n"\
254" * @file Float.h\n"\
255" * @author ae2f\n"\
256" * @brief \n"\
257" * @date 2025-02-01\n"\
258" * \n"\
259" * @copyright Copyright (c) 2025\n"\
260" * \n"\
261" */\n"\
262"#ifndef ae2f_float_h\n"\
263"#define ae2f_float_h\n"\
264"\n"\
265"/// @brief \n"\
266"/// Predefined floating point type.\n"\
267"/// \n"\
268"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
269"#define ae2f_float float\n"\
270"\n"\
271"#endif \n"\
272"/** One eof gracefully */ \\\n"\
273"\n"\
274"\n"\
275"typedef ae2f_float ae2f_float_t;\n"\
276"\n"\
277"#endif\n"\
278"/** One eof gracefully */ \\\n"\
279"\n"\
280"/** include detected */ \\\n"\
281"/** Path cursor */ \\\n"\
282"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/errGlob.h */ \\\n"\
283"/** first fp: (nil) */ \\\n"\
284"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/errGlob.h */ \\\n"\
285"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/errGlob.h */ \\\n"\
286"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
287"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
288"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
289"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
290"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
291"/** Found something. Now let\'s validate. */ \\\n"\
292"/** It\'s not repeating */ \\\n"\
293"/******************** */\\\n"\
294"/* Now the path will be: */ \\\n"\
295" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
296"/**\n"\
297"\n"\
298" * @file errGlob.h\n"\
299" * @author ae2f\n"\
300" * @brief \n"\
301" * Those numbers with [ @ref ae2f_err_t ] will be the state.\n"\
302" * \n"\
303" * @date 2025-02-01\n"\
304" * \n"\
305" * @copyright Copyright (c) 2025\n"\
306" */\n"\
307"\n"\
308"#if !defined(ae2f_errGlobal_h)\n"\
309"#define ae2f_errGlobal_h\n"\
310"\n"\
311"/** include detected */ \\\n"\
312"/** Path cursor */ \\\n"\
313"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdint.h */ \\\n"\
314"/** first fp: (nil) */ \\\n"\
315"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
316"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
317"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
318"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
319"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
320"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
321"/** Failed but ignoring it. */ \\\n"\
322"\n"\
323"\n"\
324"/// @brief\n"\
325"/// Informs that this number represents the error.\n"\
326"typedef uint8_t ae2f_err_t;\n"\
327"\n"\
328"/// @brief\n"\
329"/// The Operation you\'ve wanted went successful. \n"\
330"#define ae2f_errGlob_OK 0\n"\
331"\n"\
332"/// @brief\n"\
333"/// Failed to find the function on preprocessor which is callable for some reason\n"\
334"/// No operation has beed done.\n"\
335"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
336"\n"\
337"/// @brief\n"\
338"/// Failed to refer the pointer either l-value inside the function.\n"\
339"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
340"\n"\
341"/// @brief\n"\
342"/// Failed freeing the memory.\n"\
343"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
344"\n"\
345"/// @brief\n"\
346"/// stdlib allocating functions (malloc, calloc, realloc) has been failed.\n"\
347"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
348"\n"\
349"/// @brief\n"\
350"/// Found that parameter sent by programmer is invalid.\n"\
351"/// The operation may have been ceased while the middle.\n"\
352"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
353"\n"\
354"/// @brief\n"\
355"/// Found some errors, but not by parameters.\n"\
356"/// The operation has failed.\n"\
357"#define ae2f_errGlob_NFOUND 0b100000\n"\
358"\n"\
359"/// @brief\n"\
360"/// Means that error was not critical.\n"\
361"/// \n"\
362"/// The operation went done. \\n\n"\
363"/// Note that operation may not be valid.\n"\
364"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
365"\n"\
366"/// @brief\n"\
367"/// Check if the state code is a critical error.\n"\
368"/// @param n {ae2f_err_t} Error code\n"\
369"/// @return If it is not zero, it is a critical error.\n"\
370"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
371"\n"\
372"#endif/** One eof gracefully */ \\\n"\
373"\n"\
374"/** include detected */ \\\n"\
375"/** Path cursor */ \\\n"\
376"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
377"/** first fp: (nil) */ \\\n"\
378"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
379"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
380"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
381"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
382"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
383"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
384"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
385"/** Found something. Now let\'s validate. */ \\\n"\
386"/** It\'s not repeating */ \\\n"\
387"/******************** */\\\n"\
388"/* Now the path will be: */ \\\n"\
389" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
390"/**\n"\
391"\n"\
392" * @file Cast.h\n"\
393" * @author ae2f\n"\
394" * @brief\n"\
395" * @date 2025-02-01\n"\
396" *\n"\
397"\n"\
398" * @copyright Copyright (c) 2025\n"\
399" *\n"\
400"\n"\
401" */\n"\
402"\n"\
403"#if !defined(ae2f_Cast_h)\n"\
404"\n"\
405"/// @brief\n"\
406"/// asdf\n"\
407"#define ae2f_Cast_h\n"\
408"\n"\
409"/// @brief\n"\
410"/// ANSI Code for clearing the console.\n"\
411"/// Clearing all display, moving the cursor on the top.\n"\
412"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
413"\n"\
414"/// @brief\n"\
415"/// simply merge all text inside the round bracket, counting them as a single\n"\
416"/// text block.\n"\
417"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
418"\n"\
419"/** include detected */ \\\n"\
420"/** Path cursor */ \\\n"\
421"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
422"/** first fp: 0x559c5e311af0 */ \\\n"\
423"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
424"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
425"/** Found something. Now let\'s validate. */ \\\n"\
426"/** It\'s not repeating */ \\\n"\
427"/******************** */\\\n"\
428"/* Now the path will be: */ \\\n"\
429" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
430"/**\n"\
431"\n"\
432" * @file CasterUnion.hpp\n"\
433" * @author ae2f\n"\
434" * @brief\n"\
435" * @date 2025-02-01\n"\
436" *\n"\
437"\n"\
438" * @copyright Copyright (c) 2025\n"\
439" *\n"\
440"\n"\
441" */\n"\
442"\n"\
443"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
444"#define ae2f_Cast_CasterUnion_hpp\n"\
445"/** include detected */ \\\n"\
446"/** Path cursor */ \\\n"\
447"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
448"/** first fp: 0x559c5e312ce0 */ \\\n"\
449"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
450"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
451"/** Found something. Now let\'s validate. */ \\\n"\
452"/** It\'s not repeating */ \\\n"\
453"/******************** */\\\n"\
454"/* Now the path will be: */ \\\n"\
455" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
456"/**\n"\
457"\n"\
458" * @file consteval.hpp\n"\
459" * @author ae2f\n"\
460" * @brief\n"\
461" * @date 2025-02-01\n"\
462" *\n"\
463"\n"\
464" * @copyright Copyright (c) 2025\n"\
465" *\n"\
466"\n"\
467" */\n"\
468"#ifndef ae2f_Cast_consteval_hpp\n"\
469"#define ae2f_Cast_consteval_hpp\n"\
470"/** include detected */ \\\n"\
471"/** Path cursor */ \\\n"\
472"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
473"/** first fp: 0x559c5e313ed0 */ \\\n"\
474"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
475"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
476"/** Found something. Now let\'s validate. */ \\\n"\
477"/** It\'s not repeating */ \\\n"\
478"/******************** */\\\n"\
479"/* Now the path will be: */ \\\n"\
480" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
481"/** include detected */ \\\n"\
482"/** Path cursor */ \\\n"\
483"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
484"/** first fp: 0x559c5e3150c0 */ \\\n"\
485"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
486"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
487"/** Found something. Now let\'s validate. */ \\\n"\
488"/** It\'s not repeating */ \\\n"\
489"/******************** */\\\n"\
490"/* Now the path will be: */ \\\n"\
491" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
492"#if 90 >= 50\n"\
493"#define ae2f_LangVer_C 1990\n"\
494"#else\n"\
495"#define ae2f_LangVer_C 2090\n"\
496"#endif\n"\
497"\n"\
498"#if 11 >= 50\n"\
499"#define ae2f_LangVer_CC 1911\n"\
500"#else\n"\
501"#define ae2f_LangVer_CC 2011\n"\
502"#endif\n"\
503"\n"\
504"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
505"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
506"/** One eof gracefully */ \\\n"\
507"\n"\
508"\n"\
509"#ifdef\t__cplusplus\n"\
510"#undef\tae2f_stdcc_v\n"\
511"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
512"#else\n"\
513"\n"\
514"#undef\tae2f_stdcc_v\n"\
515"#define\tae2f_stdcc_v\t(199711L)\n"\
516"\n"\
517"#if __ae2f_lvcheck_cc(2011)\n"\
518"#undef\tae2f_stdcc_v\n"\
519"#define\tae2f_stdcc_v\t(201103L)\n"\
520"#endif\n"\
521"\n"\
522"#if __ae2f_lvcheck_cc(2014)\n"\
523"#undef\tae2f_stdcc_v\n"\
524"#define\tae2f_stdcc_v\t(201402L)\n"\
525"#endif\n"\
526"\n"\
527"#if __ae2f_lvcheck_cc(2017)\n"\
528"#undef\tae2f_stdcc_v\n"\
529"#define\tae2f_stdcc_v\t(201703L)\n"\
530"#endif\n"\
531"\n"\
532"#if __ae2f_lvcheck_cc(2020)\n"\
533"#undef\tae2f_stdcc_v\n"\
534"#define\tae2f_stdcc_v\t(202002L)\n"\
535"#endif\n"\
536"\n"\
537"#if __ae2f_lvcheck_cc(2023)\n"\
538"#undef\tae2f_stdcc_v\n"\
539"#define\tae2f_stdcc_v\t(202302L)\n"\
540"#endif\n"\
541"\n"\
542"#endif\n"\
543"\n"\
544"#ifdef\t__STDC_VERSION__\n"\
545"#undef\tae2f_stdc_v\n"\
546"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
547"#else\n"\
548"\n"\
549"#undef\tae2f_stdc_v\n"\
550"#define ae2f_stdc_v\t(199001L)\n"\
551"\n"\
552"#if __ae2f_lvcheck_c(1999)\n"\
553"#undef\tae2f_stdc_v\n"\
554"#define ae2f_stdc_v\t(199901L)\n"\
555"#endif\n"\
556"\n"\
557"#if __ae2f_lvcheck_c(2011)\n"\
558"#undef\tae2f_stdc_v\n"\
559"#define ae2f_stdc_v\t(201112L)\n"\
560"#endif\n"\
561"\n"\
562"#if __ae2f_lvcheck_c(2017)\n"\
563"#undef\tae2f_stdc_v\n"\
564"#define ae2f_stdc_v\t(201710L)\n"\
565"#endif\n"\
566"\n"\
567"#if __ae2f_lvcheck_c(2023)\n"\
568"#undef\tae2f_stdc_v\n"\
569"#define ae2f_stdc_v\t(202311L)\n"\
570"#endif\n"\
571"\n"\
572"#endif\n"\
573"\n"\
574"#undef\t__ae2f_stdcheck_C\n"\
575"#undef\t__ae2f_stdcheck_CC\n"\
576"\n"\
577"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
578"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
579"/** One eof gracefully */ \\\n"\
580"\n"\
581"\n"\
582"#if __ae2f_stdcheck_CC(201703L)\n"\
583"#define if_constexpr if constexpr\n"\
584"#else\n"\
585"#define if_constexpr if\n"\
586"#endif\n"\
587"\n"\
588"#if __ae2f_stdcheck_CC(202002L)\n"\
589"#define if_consteval if consteval\n"\
590"#else\n"\
591"#define if_consteval if (0)\n"\
592"#endif\n"\
593"\n"\
594"#if __ae2f_stdcheck_CC(202002L)\n"\
595"#define constexprvirtual constexpr virtual\n"\
596"/** constinit */\n"\
597"#else\n"\
598"#define constexprvirtual virtual\n"\
599"#define constinit\t/* not available */\n"\
600"#endif /* C++20 */\n"\
601"\n"\
602"#if __ae2f_stdcheck_CC(201402L)\n"\
603"#define constextendedfun\tconstexpr\n"\
604"#define constextendedeval \tconstexpr\n"\
605"\n"\
606"#define constextendedmethod\tconstexpr\n"\
607"#define constextendedmethodeval\tconstexpr\n"\
608"\n"\
609"#else\n"\
610"#define constextendedfun\tinline\n"\
611"#define constextendedmethod\tinline\n"\
612"\n"\
613"#define constextendedeval\tinline\n"\
614"#define constextendedmethodeval\tinline\n"\
615"#endif // C++14\n"\
616"\n"\
617"#if __ae2f_stdcheck_CC(201103L)\n"\
618"#define constexprmethod\t\tconstexpr\n"\
619"#define constexprfun\t\tconstexpr\n"\
620"#define constevalmethod\t\tconstexpr\n"\
621"\n"\
622"#else\n"\
623"#define constexprmethod\t\tinline\n"\
624"#define constexprfun\t\tinline\n"\
625"#define constevalmethod\t\tinline\n"\
626"#define virtual\n"\
627"\n"\
628"#if !defined(__cplusplus) /* C */\n"\
629"\n"\
630"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
631"/** cosntexpr variable */\n"\
632"#else\n"\
633"#define constexpr\n"\
634"#endif /* C23 */\n"\
635"\n"\
636"\n"\
637"#endif /* C */\n"\
638"\n"\
639"#endif // C++11\n"\
640"\n"\
641"#if __ae2f_stdcheck_CC(202002L)\n"\
642"#undef constevalmethod\n"\
643"#define constevalmethod consteval /* C++20 */\n"\
644"#elif __ae2f_stdcheck_CC(0)\n"\
645"\n"\
646"#undef constevalmethod\n"\
647"/// @brief\n"\
648"/// C++ keyword for constant-time functions.\n"\
649"#define consteval\n"\
650"#define constevalmethod constexprmethod\n"\
651"\n"\
652"#else\n"\
653"\n"\
654"#define consteval\n"\
655"#endif // C++20\n"\
656"\n"\
657"#endif\n"\
658"/** One eof gracefully */ \\\n"\
659"\n"\
660"\n"\
661"/// @brief\n"\
662"/// C++ union definition for @ref ae2f_union_cast\n"\
663"/// @tparam t\n"\
664"/// @tparam k\n"\
665"/// @see\n"\
666"/// @ref ae2f_union_cast\n"\
667"template <typename t, typename k> union ae2f_UnionCaster {\n"\
668" t a;\n"\
669" k b;\n"\
670" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
671" constexprmethod k _b() const { return b; }\n"\
672"};\n"\
673"\n"\
674"#endif\n"\
675"/** One eof gracefully */ \\\n"\
676"\n"\
677"/** include detected */ \\\n"\
678"/** Path cursor */ \\\n"\
679"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
680"/** first fp: 0x559c5e311af0 */ \\\n"\
681"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
682"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
683"/** Found something. Now let\'s validate. */ \\\n"\
684"/** It\'s not repeating */ \\\n"\
685"/******************** */\\\n"\
686"/* Now the path will be: */ \\\n"\
687" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
688"/**\n"\
689"\n"\
690" * @file consteval.hpp\n"\
691" * @author ae2f\n"\
692" * @brief\n"\
693" * @date 2025-02-01\n"\
694" *\n"\
695"\n"\
696" * @copyright Copyright (c) 2025\n"\
697" *\n"\
698"\n"\
699" */\n"\
700"#ifndef ae2f_Cast_consteval_hpp\n"\
701"#define ae2f_Cast_consteval_hpp\n"\
702"/** include detected */ \\\n"\
703"/** Path cursor */ \\\n"\
704"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
705"/** first fp: 0x559c5e312ce0 */ \\\n"\
706"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
707"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
708"/** Found something. Now let\'s validate. */ \\\n"\
709"/** It\'s not repeating */ \\\n"\
710"/******************** */\\\n"\
711"/* Now the path will be: */ \\\n"\
712" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
713"/** include detected */ \\\n"\
714"/** Path cursor */ \\\n"\
715"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
716"/** first fp: 0x559c5e313ed0 */ \\\n"\
717"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
718"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
719"/** Found something. Now let\'s validate. */ \\\n"\
720"/** It\'s not repeating */ \\\n"\
721"/******************** */\\\n"\
722"/* Now the path will be: */ \\\n"\
723" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
724"#if 90 >= 50\n"\
725"#define ae2f_LangVer_C 1990\n"\
726"#else\n"\
727"#define ae2f_LangVer_C 2090\n"\
728"#endif\n"\
729"\n"\
730"#if 11 >= 50\n"\
731"#define ae2f_LangVer_CC 1911\n"\
732"#else\n"\
733"#define ae2f_LangVer_CC 2011\n"\
734"#endif\n"\
735"\n"\
736"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
737"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
738"/** One eof gracefully */ \\\n"\
739"\n"\
740"\n"\
741"#ifdef\t__cplusplus\n"\
742"#undef\tae2f_stdcc_v\n"\
743"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
744"#else\n"\
745"\n"\
746"#undef\tae2f_stdcc_v\n"\
747"#define\tae2f_stdcc_v\t(199711L)\n"\
748"\n"\
749"#if __ae2f_lvcheck_cc(2011)\n"\
750"#undef\tae2f_stdcc_v\n"\
751"#define\tae2f_stdcc_v\t(201103L)\n"\
752"#endif\n"\
753"\n"\
754"#if __ae2f_lvcheck_cc(2014)\n"\
755"#undef\tae2f_stdcc_v\n"\
756"#define\tae2f_stdcc_v\t(201402L)\n"\
757"#endif\n"\
758"\n"\
759"#if __ae2f_lvcheck_cc(2017)\n"\
760"#undef\tae2f_stdcc_v\n"\
761"#define\tae2f_stdcc_v\t(201703L)\n"\
762"#endif\n"\
763"\n"\
764"#if __ae2f_lvcheck_cc(2020)\n"\
765"#undef\tae2f_stdcc_v\n"\
766"#define\tae2f_stdcc_v\t(202002L)\n"\
767"#endif\n"\
768"\n"\
769"#if __ae2f_lvcheck_cc(2023)\n"\
770"#undef\tae2f_stdcc_v\n"\
771"#define\tae2f_stdcc_v\t(202302L)\n"\
772"#endif\n"\
773"\n"\
774"#endif\n"\
775"\n"\
776"#ifdef\t__STDC_VERSION__\n"\
777"#undef\tae2f_stdc_v\n"\
778"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
779"#else\n"\
780"\n"\
781"#undef\tae2f_stdc_v\n"\
782"#define ae2f_stdc_v\t(199001L)\n"\
783"\n"\
784"#if __ae2f_lvcheck_c(1999)\n"\
785"#undef\tae2f_stdc_v\n"\
786"#define ae2f_stdc_v\t(199901L)\n"\
787"#endif\n"\
788"\n"\
789"#if __ae2f_lvcheck_c(2011)\n"\
790"#undef\tae2f_stdc_v\n"\
791"#define ae2f_stdc_v\t(201112L)\n"\
792"#endif\n"\
793"\n"\
794"#if __ae2f_lvcheck_c(2017)\n"\
795"#undef\tae2f_stdc_v\n"\
796"#define ae2f_stdc_v\t(201710L)\n"\
797"#endif\n"\
798"\n"\
799"#if __ae2f_lvcheck_c(2023)\n"\
800"#undef\tae2f_stdc_v\n"\
801"#define ae2f_stdc_v\t(202311L)\n"\
802"#endif\n"\
803"\n"\
804"#endif\n"\
805"\n"\
806"#undef\t__ae2f_stdcheck_C\n"\
807"#undef\t__ae2f_stdcheck_CC\n"\
808"\n"\
809"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
810"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
811"/** One eof gracefully */ \\\n"\
812"\n"\
813"\n"\
814"#if __ae2f_stdcheck_CC(201703L)\n"\
815"#define if_constexpr if constexpr\n"\
816"#else\n"\
817"#define if_constexpr if\n"\
818"#endif\n"\
819"\n"\
820"#if __ae2f_stdcheck_CC(202002L)\n"\
821"#define if_consteval if consteval\n"\
822"#else\n"\
823"#define if_consteval if (0)\n"\
824"#endif\n"\
825"\n"\
826"#if __ae2f_stdcheck_CC(202002L)\n"\
827"#define constexprvirtual constexpr virtual\n"\
828"/** constinit */\n"\
829"#else\n"\
830"#define constexprvirtual virtual\n"\
831"#define constinit\t/* not available */\n"\
832"#endif /* C++20 */\n"\
833"\n"\
834"#if __ae2f_stdcheck_CC(201402L)\n"\
835"#define constextendedfun\tconstexpr\n"\
836"#define constextendedeval \tconstexpr\n"\
837"\n"\
838"#define constextendedmethod\tconstexpr\n"\
839"#define constextendedmethodeval\tconstexpr\n"\
840"\n"\
841"#else\n"\
842"#define constextendedfun\tinline\n"\
843"#define constextendedmethod\tinline\n"\
844"\n"\
845"#define constextendedeval\tinline\n"\
846"#define constextendedmethodeval\tinline\n"\
847"#endif // C++14\n"\
848"\n"\
849"#if __ae2f_stdcheck_CC(201103L)\n"\
850"#define constexprmethod\t\tconstexpr\n"\
851"#define constexprfun\t\tconstexpr\n"\
852"#define constevalmethod\t\tconstexpr\n"\
853"\n"\
854"#else\n"\
855"#define constexprmethod\t\tinline\n"\
856"#define constexprfun\t\tinline\n"\
857"#define constevalmethod\t\tinline\n"\
858"#define virtual\n"\
859"\n"\
860"#if !defined(__cplusplus) /* C */\n"\
861"\n"\
862"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
863"/** cosntexpr variable */\n"\
864"#else\n"\
865"#define constexpr\n"\
866"#endif /* C23 */\n"\
867"\n"\
868"\n"\
869"#endif /* C */\n"\
870"\n"\
871"#endif // C++11\n"\
872"\n"\
873"#if __ae2f_stdcheck_CC(202002L)\n"\
874"#undef constevalmethod\n"\
875"#define constevalmethod consteval /* C++20 */\n"\
876"#elif __ae2f_stdcheck_CC(0)\n"\
877"\n"\
878"#undef constevalmethod\n"\
879"/// @brief\n"\
880"/// C++ keyword for constant-time functions.\n"\
881"#define consteval\n"\
882"#define constevalmethod constexprmethod\n"\
883"\n"\
884"#else\n"\
885"\n"\
886"#define consteval\n"\
887"#endif // C++20\n"\
888"\n"\
889"#endif\n"\
890"/** One eof gracefully */ \\\n"\
891"\n"\
892"/** include detected */ \\\n"\
893"/** Path cursor */ \\\n"\
894"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
895"/** first fp: 0x559c5e311af0 */ \\\n"\
896"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
897"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
898"/** Found something. Now let\'s validate. */ \\\n"\
899"/** It\'s not repeating */ \\\n"\
900"/******************** */\\\n"\
901"/* Now the path will be: */ \\\n"\
902" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
903"#if 90 >= 50\n"\
904"#define ae2f_LangVer_C 1990\n"\
905"#else\n"\
906"#define ae2f_LangVer_C 2090\n"\
907"#endif\n"\
908"\n"\
909"#if 11 >= 50\n"\
910"#define ae2f_LangVer_CC 1911\n"\
911"#else\n"\
912"#define ae2f_LangVer_CC 2011\n"\
913"#endif\n"\
914"\n"\
915"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
916"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
917"/** One eof gracefully */ \\\n"\
918"\n"\
919"/** include detected */ \\\n"\
920"/** Path cursor */ \\\n"\
921"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
922"/** first fp: 0x559c5e311af0 */ \\\n"\
923"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
924"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
925"/** Found something. Now let\'s validate. */ \\\n"\
926"/** It\'s not repeating */ \\\n"\
927"/******************** */\\\n"\
928"/* Now the path will be: */ \\\n"\
929" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
930"/**\n"\
931"\n"\
932" * @file Cxx.h\n"\
933" * @author ae2f\n"\
934" * @brief \n"\
935" * @date 2025-02-01\n"\
936" * \n"\
937" * @copyright Copyright (c) 2025\n"\
938" * \n"\
939" */\n"\
940"\n"\
941"/// @brief\n"\
942"/// Literally nothing.\n"\
943"#define ae2f_NONE\n"\
944"\n"\
945"#if __cplusplus\n"\
946"\n"\
947"/// @def ae2f_WhenCXX \n"\
948"/// @brief\n"\
949"/// Appears when the current language is C++.\n"\
950"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
951"\n"\
952"/// @brief\n"\
953"/// Appears when the current language is C.\n"\
954"#define ae2f_WhenC(...) ae2f_NONE\n"\
955"\n"\
956"#else\n"\
957"\n"\
958"/// @brief\n"\
959"/// Appears when the current language is C++.\n"\
960"#define ae2f_WhenC(...) __VA_ARGS__\n"\
961"\n"\
962"/// @brief\n"\
963"/// Appears when the current language is C.\n"\
964"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
965"\n"\
966"#endif\n"\
967"\n"\
968"/// @brief\n"\
969"/// \n"\
970"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
971"\n"\
972"/// @brief\n"\
973"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
974"/// \n"\
975"/// For alter, see @ref ae2f_cxx_check\n"\
976"#define ae2f_c_check && !ae2f_is_cxx\n"\
977"\n"\
978"/// @brief\n"\
979"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
980"/// \n"\
981"/// For alter, see @ref ae2f_c_check\n"\
982"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
983"\n"\
984"/** include detected */ \\\n"\
985"/** Path cursor */ \\\n"\
986"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
987"/** first fp: (nil) */ \\\n"\
988"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
989"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
990"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
991"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
992"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
993"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
994"/** Failed but ignoring it. */ \\\n"\
995"\n"\
996"/** include detected */ \\\n"\
997"/** Path cursor */ \\\n"\
998"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
999"/** first fp: (nil) */ \\\n"\
1000"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
1001"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
1002"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1003"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1004"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
1005"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
1006"/** Failed but ignoring it. */ \\\n"\
1007"\n"\
1008"/** include detected */ \\\n"\
1009"/** Path cursor */ \\\n"\
1010"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1011"/** first fp: 0x559c5e311af0 */ \\\n"\
1012"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1013"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1014"/** Found something. Now let\'s validate. */ \\\n"\
1015"/** It\'s not repeating */ \\\n"\
1016"/******************** */\\\n"\
1017"/* Now the path will be: */ \\\n"\
1018" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1019"/**\n"\
1020"\n"\
1021" * @file ae2f/Guide.h\n"\
1022" * @brief\n"\
1023" * Guide markers for conventions.\n"\
1024" * */\n"\
1025"#undef ae2f_LP\n"\
1026"#undef ae2f_NONE\n"\
1027"#undef ae2f_opt\n"\
1028"\n"\
1029"/** @def ae2f_NONE @brief nothing. */\n"\
1030"#define ae2f_NONE\n"\
1031"\n"\
1032"/** \n"\
1033" * @def ae2f_LP\n"\
1034" *\n"\
1035"\n"\
1036" * @brief \n"\
1037" * Desired count required. \n"\
1038" * \n"\
1039" * @param ...\n"\
1040" * Parameter with this preprocessor means \\n\n"\
1041" * the pointer is considered as list, and inside of this is a desired size.\n"\
1042" * */\n"\
1043"#define\tae2f_LP(...) ae2f_NONE\n"\
1044"\n"\
1045"/** @def ae2f_opt @brief Optional. */\n"\
1046"#define ae2f_opt ae2f_NONE\n"\
1047"\n"\
1048"/** \n"\
1049" * @def ae2f_FREE \n"\
1050" * @brief Use this marker to show the desired functions\n"\
1051" * \tto effectively free the resources.\n"\
1052" * */\n"\
1053"#define ae2f_FREE(...) ae2f_NONE\n"\
1054"\n"\
1055"/** @brief l_value. */\n"\
1056"#define ae2f_v ae2f_NONE\n"\
1057"/** One eof gracefully */ \\\n"\
1058"\n"\
1059"\n"\
1060"/// @brief\n"\
1061"/// Initialiser for trivial structures / classes.\n"\
1062"#define ae2f_RecordMk(type, ...) \\\n"\
1063" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
1064"\n"\
1065"/// @brief\n"\
1066"/// # static_cast\n"\
1067"#define ae2f_static_cast(t, v) \\\n"\
1068" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
1069"\n"\
1070"/// @brief\n"\
1071"/// # dynamic_cast\n"\
1072"#define ae2f_dynamic_cast(t, v) \\\n"\
1073" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
1074"\n"\
1075"/// @brief\n"\
1076"/// # reinterpret_cast\n"\
1077"#define ae2f_reinterpret_cast(t, v) \\\n"\
1078" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
1079"\n"\
1080"/// @brief\n"\
1081"/// # const_cast\n"\
1082"#define ae2f_const_cast(t, v) \\\n"\
1083" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
1084"\n"\
1085"/// @brief\n"\
1086"/// Makes a union that reads a memory in two methods. \\n\n"\
1087"/// `tThen` -> `tNow`\n"\
1088"/// @tparam tThen\n"\
1089"/// The existing data\'s type as input.\n"\
1090"///\n"\
1091"/// @tparam tNow\n"\
1092"/// Wanted output datatype for casting.\n"\
1093"///\n"\
1094"/// @param v\n"\
1095"/// Input value\n"\
1096"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
1097" ae2f_WhenC((union { \\\n"\
1098" tThen a; \\\n"\
1099" tNow b; \\\n"\
1100" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
1101" ._b()\n"\
1102"\n"\
1103"/// @brief\n"\
1104"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
1105"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
1106"///\n"\
1107"/// This keyword resolves the difference of the rules of two.\n"\
1108"#define ae2f_struct ae2f_WhenC(struct)\n"\
1109"\n"\
1110"/// @brief\n"\
1111"/// Suggests the existence of external variable or function, in naming of C.\n"\
1112"/// [non-mangling]\n"\
1113"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
1114"\n"\
1115"/// @brief\n"\
1116"/// Class\n"\
1117"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
1118"\n"\
1119"/// @brief\n"\
1120"/// Makes the global variable in naming of C. [non-mangling]\n"\
1121"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
1122"\n"\
1123"/// @brief\n"\
1124"/// Function definitions\n"\
1125"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
1126"\n"\
1127"/** @brief Invokes when condition is `false`. */\n"\
1128"#define unless(...) if (!(__VA_ARGS__))\n"\
1129"\n"\
1130"#define ae2f_structdef_v(key, name, ...) \\\n"\
1131" typedef key name __VA_ARGS__; \\\n"\
1132" key name\n"\
1133"\n"\
1134"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
1135"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
1136"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
1137"\n"\
1138"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
1139"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
1140"\n"\
1141"/**\n"\
1142"\n"\
1143" * @brief\n"\
1144" * Make two pair of function as [eval] and [expr]. \\n\n"\
1145" * [expr] will just call [eval]. \\n\n"\
1146" * You will implement the body of [eval].\n"\
1147" *\n"\
1148"\n"\
1149" * Following is an use case.\n"\
1150" * @code\n"\
1151" * ae2f_evaldef(\n"\
1152"\t\ttemplate<int a>, <0>\n"\
1153"\t\t, consteval, constexprfun\n"\
1154"\t\t, int, Hello, _Hello, char v, v) \n"\
1155"\t\t{ return v; }\n"\
1156" * */\n"\
1157"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
1158"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
1159"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
1160"\t\treturn nameeval tmpluse (prmuse); \\\n"\
1161"\t} \\\n"\
1162"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
1163"\n"\
1164"#if !__ae2f_stdcheck_CC(201103L)\n"\
1165"#undef\tnoexcept\n"\
1166"#define noexcept\n"\
1167"#endif\n"\
1168"\n"\
1169"\n"\
1170"#undef\trestrict /** First declaration */\n"\
1171"#if ae2f_stdc_v < 199901L\n"\
1172"#undef\trestrict\n"\
1173"#define restrict\n"\
1174"#endif // C>=99\n"\
1175"\n"\
1176"#if __cplusplus\n"\
1177"#undef\trestrict\n"\
1178"#define restrict\n"\
1179"#endif // C++\n"\
1180"\n"\
1181"#if !__ae2f_stdcheck_CC(201103L)\n"\
1182"/// @brief\n"\
1183"/// Means that there will be no exception thrown written in code.\n"\
1184"#define noexcept\n"\
1185"#define constexpr\n"\
1186"#endif /* C++<=11 */\n"\
1187"\n"\
1188"#if ae2f_WhenC(!)0\n"\
1189"#undef noexcept\n"\
1190"#define noexcept\n"\
1191"#endif\n"\
1192"\n"\
1193"#endif\n"\
1194"/** One eof gracefully */ \\\n"\
1195"\n"\
1196"/** include detected */ \\\n"\
1197"/** Path cursor */ \\\n"\
1198"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Call.h */ \\\n"\
1199"/** first fp: (nil) */ \\\n"\
1200"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
1201"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
1202"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
1203"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
1204"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1205"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1206"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1207"/** Found something. Now let\'s validate. */ \\\n"\
1208"/** It\'s not repeating */ \\\n"\
1209"/******************** */\\\n"\
1210"/* Now the path will be: */ \\\n"\
1211" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1212"/**\n"\
1213"\n"\
1214" * @file Call.h\n"\
1215" * @author ae2f\n"\
1216" * @brief \n"\
1217" * @date 2025-02-01\n"\
1218" * \n"\
1219" * @copyright Copyright (c) 2025\n"\
1220" * \n"\
1221" */\n"\
1222"\n"\
1223"#ifndef ae2f_Call_h\n"\
1224"#define ae2f_Call_h\n"\
1225"\n"\
1226"/** include detected */ \\\n"\
1227"/** Path cursor */ \\\n"\
1228"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1229"/** first fp: 0x559c5e311af0 */ \\\n"\
1230"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1231"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1232"/** Found something. Now let\'s validate. */ \\\n"\
1233"/** It\'s not repeating */ \\\n"\
1234"/******************** */\\\n"\
1235"/* Now the path will be: */ \\\n"\
1236" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1237"#define ON 1\n"\
1238"#define OFF 0\n"\
1239"\n"\
1240"#if (defined(_WIN32) || defined(_WIN64))\n"\
1241"#define ae2f_IS_WIN 1\n"\
1242"#else \n"\
1243"#define ae2f_IS_WIN 0\n"\
1244"#endif\n"\
1245"\n"\
1246"#if (defined(__linux__))\n"\
1247"#define ae2f_IS_LINUX 1\n"\
1248"#else \n"\
1249"#define ae2f_IS_LINUX 0\n"\
1250"#endif\n"\
1251"\n"\
1252"#if defined(__MACH__) || defined(__APPLE__)\n"\
1253"#define ae2f_IS_APPLE 1\n"\
1254"#else\n"\
1255"#define ae2f_IS_APPLE 0\n"\
1256"#endif\n"\
1257"\n"\
1258"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
1259"/** PLATFORM NOT SPECIFIED. */\n"\
1260"\n"\
1261"/**** @brief UNSPECIFIED */\n"\
1262"#define ae2f_IDK 1\n"\
1263"#else\n"\
1264"/**** @brief UNSPECIFIED */\n"\
1265"#define ae2f_IDK 0\n"\
1266"#endif\n"\
1267"/** One eof gracefully */ \\\n"\
1268"\n"\
1269"/** include detected */ \\\n"\
1270"/** Path cursor */ \\\n"\
1271"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1272"/** first fp: 0x559c5e311af0 */ \\\n"\
1273"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1274"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1275"/** Found something. Now let\'s validate. */ \\\n"\
1276"/** It\'s not repeating */ \\\n"\
1277"/******************** */\\\n"\
1278"/* Now the path will be: */ \\\n"\
1279" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1280"/**\n"\
1281"\n"\
1282" * @file Call.h\n"\
1283" * @author ae2f\n"\
1284" * @brief \n"\
1285" * @date 2025-02-01\n"\
1286" * \n"\
1287" * @copyright Copyright (c) 2025\n"\
1288" * \n"\
1289" */\n"\
1290"\n"\
1291"/** @brief Is a library shared */\n"\
1292"#define ae2f_IS_SHARED ON\n"\
1293"/** One eof gracefully */ \\\n"\
1294"\n"\
1295"\n"\
1296"#if ae2f_IS_SHARED\n"\
1297"\n"\
1298"#if ae2f_IS_WIN\n"\
1299"/// @brief\n"\
1300"/// # For Windows\n"\
1301"/// \n"\
1302"/// shared function imp\n"\
1303"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
1304"\n"\
1305"/// @brief\n"\
1306"/// # For Windows\n"\
1307"/// \n"\
1308"/// Function api call\n"\
1309"#define ae2f_SHAREDCALL \n"\
1310"#endif\n"\
1311"\n"\
1312"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
1313"/// @brief\n"\
1314"/// # For Linux, gcc based.\n"\
1315"/// \n"\
1316"/// shared function imp\n"\
1317"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
1318"\n"\
1319"/// @brief\n"\
1320"/// # For Linux, gcc based.\n"\
1321"///\n"\
1322"/// Function api call\n"\
1323"#define ae2f_SHAREDCALL\n"\
1324"#endif\n"\
1325"\n"\
1326"\n"\
1327"\n"\
1328"#else\n"\
1329"\n"\
1330"/// @brief\n"\
1331"/// # It is no shared library.\n"\
1332"/// \n"\
1333"/// shared function imp\n"\
1334"#define ae2f_SHAREDEXPORT\n"\
1335"/// @brief \n"\
1336"/// # It is no shared library.\n"\
1337"///\n"\
1338"/// Function api call\n"\
1339"#define ae2f_SHAREDCALL\n"\
1340"#endif\n"\
1341"\n"\
1342"#endif\n"\
1343"/** One eof gracefully */ \\\n"\
1344"\n"\
1345"/** include detected */ \\\n"\
1346"/** Path cursor */ \\\n"\
1347"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Macro.h */ \\\n"\
1348"/** first fp: (nil) */ \\\n"\
1349"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Macro.h */ \\\n"\
1350"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Macro.h */ \\\n"\
1351"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
1352"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
1353"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Macro.h */ \\\n"\
1354"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clae2f/Macro.h */ \\\n"\
1355"/** Failed but ignoring it. */ \\\n"\
1356"\n"\
1357"/** include detected */ \\\n"\
1358"/** Path cursor */ \\\n"\
1359"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Guide.h */ \\\n"\
1360"/** first fp: (nil) */ \\\n"\
1361"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Guide.h */ \\\n"\
1362"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Guide.h */ \\\n"\
1363"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
1364"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
1365"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1366"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1367"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1368"/** Found something. Now let\'s validate. */ \\\n"\
1369"/** It\'s not repeating */ \\\n"\
1370"/******************** */\\\n"\
1371"/* Now the path will be: */ \\\n"\
1372" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1373"/**\n"\
1374"\n"\
1375" * @file ae2f/Guide.h\n"\
1376" * @brief\n"\
1377" * Guide markers for conventions.\n"\
1378" * */\n"\
1379"#undef ae2f_LP\n"\
1380"#undef ae2f_NONE\n"\
1381"#undef ae2f_opt\n"\
1382"\n"\
1383"/** @def ae2f_NONE @brief nothing. */\n"\
1384"#define ae2f_NONE\n"\
1385"\n"\
1386"/** \n"\
1387" * @def ae2f_LP\n"\
1388" *\n"\
1389"\n"\
1390" * @brief \n"\
1391" * Desired count required. \n"\
1392" * \n"\
1393" * @param ...\n"\
1394" * Parameter with this preprocessor means \\n\n"\
1395" * the pointer is considered as list, and inside of this is a desired size.\n"\
1396" * */\n"\
1397"#define\tae2f_LP(...) ae2f_NONE\n"\
1398"\n"\
1399"/** @def ae2f_opt @brief Optional. */\n"\
1400"#define ae2f_opt ae2f_NONE\n"\
1401"\n"\
1402"/** \n"\
1403" * @def ae2f_FREE \n"\
1404" * @brief Use this marker to show the desired functions\n"\
1405" * \tto effectively free the resources.\n"\
1406" * */\n"\
1407"#define ae2f_FREE(...) ae2f_NONE\n"\
1408"\n"\
1409"/** @brief l_value. */\n"\
1410"#define ae2f_v ae2f_NONE\n"\
1411"/** One eof gracefully */ \\\n"\
1412"\n"\
1413"\n"\
1414"/** include detected */ \\\n"\
1415"/** Path cursor */ \\\n"\
1416"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Act.h */ \\\n"\
1417"/** first fp: (nil) */ \\\n"\
1418"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1419"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1420"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
1421"/** Found something. Now let\'s validate. */ \\\n"\
1422"/** It\'s not repeating */ \\\n"\
1423"/******************** */\\\n"\
1424"/* Now the path will be: */ \\\n"\
1425" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1426"/**\n"\
1427"\n"\
1428" * @file vAct.h\n"\
1429" * @author ae2f\n"\
1430" * @brief \n"\
1431" * @version 0.1\n"\
1432" * @date 2025-02-13\n"\
1433" * \n"\
1434" * @copyright Copyright (c) 2025\n"\
1435" * \n"\
1436" */\n"\
1437"\n"\
1438"#ifndef ae2fCL_AnnAct_h\n"\
1439"#define ae2fCL_AnnAct_h\n"\
1440"\n"\
1441"/** include detected */ \\\n"\
1442"/** Path cursor */ \\\n"\
1443"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stddef.h */ \\\n"\
1444"/** first fp: (nil) */ \\\n"\
1445"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
1446"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
1447"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1448"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1449"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
1450"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
1451"/** Failed but ignoring it. */ \\\n"\
1452"\n"\
1453"/** include detected */ \\\n"\
1454"/** Path cursor */ \\\n"\
1455"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
1456"/** first fp: (nil) */ \\\n"\
1457"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
1458"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
1459"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
1460"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
1461"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1462"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1463"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1464"/** Found something. Now let\'s validate. */ \\\n"\
1465"/** It\'s not repeating */ \\\n"\
1466"/******************** */\\\n"\
1467"/* Now the path will be: */ \\\n"\
1468" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1469"/**\n"\
1470"\n"\
1471" * @file Float.h\n"\
1472" * @brief\n"\
1473" * Here, float will be treated as bit vector with four attributes:\n"\
1474" *\n"\
1475"\n"\
1476" * sign: \\n\t\n"\
1477" * \t> Whether it has sign or not. \\n\n"\
1478" *\n"\
1479"\n"\
1480" * exp:\t\\n\n"\
1481" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
1482" * \t> Which is the exponent of the [frac]\n"\
1483" *\n"\
1484"\n"\
1485" * expbiasp: \\n\n"\
1486" * \t> Exponent bias in order to be considered as zero. \\n\n"\
1487" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
1488" *\n"\
1489"\n"\
1490" * \t> Here, the value of exponent bias is limited with following rules:\n"\
1491" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
1492" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
1493" *\n"\
1494"\n"\
1495" * frac: \\n\n"\
1496" * \t> The actual \"value\" for floating point.\n"\
1497" *\n"\
1498"\n"\
1499" * ==================\n"\
1500" *\n"\
1501"\n"\
1502" * Following is the expected structure as bit vector: \\n\n"\
1503" * [frac | exp | sign]\n"\
1504" * \n"\
1505" * Size of this will be calculated as: \\n\n"\
1506" * [sign] + [exp] + [frac]\n"\
1507" */\n"\
1508"\n"\
1509"#ifndef ae2f_Float_h\n"\
1510"#define ae2f_Float_h\n"\
1511"\n"\
1512"/** include detected */ \\\n"\
1513"/** Path cursor */ \\\n"\
1514"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1515"/** first fp: 0x559c5e312ce0 */ \\\n"\
1516"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1517"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1518"/** Found something. Now let\'s validate. */ \\\n"\
1519"/** It\'s not repeating */ \\\n"\
1520"/******************** */\\\n"\
1521"/* Now the path will be: */ \\\n"\
1522" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1523"/**\n"\
1524"\n"\
1525" * @file Float.h\n"\
1526" * @author ae2f\n"\
1527" * @brief \n"\
1528" * @date 2025-02-01\n"\
1529" * \n"\
1530" * @copyright Copyright (c) 2025\n"\
1531" * \n"\
1532" */\n"\
1533"#ifndef ae2f_float_h\n"\
1534"#define ae2f_float_h\n"\
1535"\n"\
1536"/// @brief \n"\
1537"/// Predefined floating point type.\n"\
1538"/// \n"\
1539"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
1540"#define ae2f_float float\n"\
1541"\n"\
1542"#endif \n"\
1543"/** One eof gracefully */ \\\n"\
1544"\n"\
1545"\n"\
1546"typedef ae2f_float ae2f_float_t;\n"\
1547"\n"\
1548"#endif\n"\
1549"/** One eof gracefully */ \\\n"\
1550"\n"\
1551"\n"\
1552"/// @brief Customisable activasion function type.\n"\
1553"typedef void ae2f_AnnAct_t (ae2f_float_t* ret, ae2f_float_t x);\n"\
1554"\n"\
1555"/// @brief\n"\
1556"/// Specify the way of calculating loss.\n"\
1557"/// \n"\
1558"/// This will be multiplied with learning rate, \\n\n"\
1559"/// and that value will be added to each weights field and bias.\n"\
1560"/// @param out Predicted value\n"\
1561"/// @param goal Expected value (wanted)\n"\
1562"/// @return Calculated loss.\n"\
1563"typedef void ae2f_AnnLoss_t (\n"\
1564"\t\tae2f_float_t*\t\tret,\n"\
1565"\t\tconst ae2f_float_t*\tout, \n"\
1566"\t\tconst ae2f_float_t* \tgoal,\n"\
1567"\t\tsize_t\t\t\tindex,\n"\
1568"\t\tsize_t\t\t\tcount\n"\
1569"\t\t);\n"\
1570"\n"\
1571"#endif\n"\
1572"/** One eof gracefully */ \\\n"\
1573"\n"\
1574"/** include detected */ \\\n"\
1575"/** Path cursor */ \\\n"\
1576"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
1577"/** first fp: (nil) */ \\\n"\
1578"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
1579"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1580"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
1581"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
1582"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1583"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1584"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
1585"/** Found something. Now let\'s validate. */ \\\n"\
1586"/** It\'s not repeating */ \\\n"\
1587"/******************** */\\\n"\
1588"/* Now the path will be: */ \\\n"\
1589" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1590"/**\n"\
1591"\n"\
1592" * @file Beg.h\n"\
1593" * @author ae2f\n"\
1594" * @brief\n"\
1595" * @date 2025-02-01\n"\
1596" * \n"\
1597" * @copyright Copyright (c) 2025\n"\
1598" * \n"\
1599" */\n"\
1600"\n"\
1601"/** include detected */ \\\n"\
1602"/** Path cursor */ \\\n"\
1603"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1604"/** first fp: 0x559c5e311af0 */ \\\n"\
1605"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1606"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
1607"/** Found something. Now let\'s validate. */ \\\n"\
1608"/** It\'s not repeating */ \\\n"\
1609"/******************** */\\\n"\
1610"/* Now the path will be: */ \\\n"\
1611" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1612"/**\n"\
1613"\n"\
1614" * @file Num.h\n"\
1615" * @author ae2f\n"\
1616" * @brief \n"\
1617" * @date 2025-02-01\n"\
1618" * \n"\
1619" * @copyright Copyright (c) 2025\n"\
1620" * \n"\
1621" */\n"\
1622"\n"\
1623"/// @brief\n"\
1624"/// Pre-defined structure packed byte count.\n"\
1625"/// \n"\
1626"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
1627"#define ae2f_PackCount 0\n"\
1628"/** One eof gracefully */ \\\n"\
1629"\n"\
1630"\n"\
1631"#if ae2f_PackCount\n"\
1632"#pragma pack(push, 0)\n"\
1633"#endif\n"\
1634"/** One eof gracefully */ \\\n"\
1635"\n"\
1636"/** include detected */ \\\n"\
1637"/** Path cursor */ \\\n"\
1638"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Util.h */ \\\n"\
1639"/** first fp: (nil) */ \\\n"\
1640"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1641"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1642"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
1643"/** Found something. Now let\'s validate. */ \\\n"\
1644"/** It\'s not repeating */ \\\n"\
1645"/******************** */\\\n"\
1646"/* Now the path will be: */ \\\n"\
1647" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1648"#ifndef ae2f_Ann_Util_h\n"\
1649"#define ae2f_Ann_Util_h\n"\
1650"\n"\
1651"/** include detected */ \\\n"\
1652"/** Path cursor */ \\\n"\
1653"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
1654"/** first fp: (nil) */ \\\n"\
1655"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
1656"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
1657"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
1658"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
1659"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1660"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1661"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1662"/** Found something. Now let\'s validate. */ \\\n"\
1663"/** It\'s not repeating */ \\\n"\
1664"/******************** */\\\n"\
1665"/* Now the path will be: */ \\\n"\
1666" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1667"/**\n"\
1668"\n"\
1669" * @file Cast.h\n"\
1670" * @author ae2f\n"\
1671" * @brief\n"\
1672" * @date 2025-02-01\n"\
1673" *\n"\
1674"\n"\
1675" * @copyright Copyright (c) 2025\n"\
1676" *\n"\
1677"\n"\
1678" */\n"\
1679"\n"\
1680"#if !defined(ae2f_Cast_h)\n"\
1681"\n"\
1682"/// @brief\n"\
1683"/// asdf\n"\
1684"#define ae2f_Cast_h\n"\
1685"\n"\
1686"/// @brief\n"\
1687"/// ANSI Code for clearing the console.\n"\
1688"/// Clearing all display, moving the cursor on the top.\n"\
1689"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
1690"\n"\
1691"/// @brief\n"\
1692"/// simply merge all text inside the round bracket, counting them as a single\n"\
1693"/// text block.\n"\
1694"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
1695"\n"\
1696"/** include detected */ \\\n"\
1697"/** Path cursor */ \\\n"\
1698"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1699"/** first fp: 0x559c5e312ce0 */ \\\n"\
1700"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1701"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
1702"/** Found something. Now let\'s validate. */ \\\n"\
1703"/** It\'s not repeating */ \\\n"\
1704"/******************** */\\\n"\
1705"/* Now the path will be: */ \\\n"\
1706" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1707"/**\n"\
1708"\n"\
1709" * @file CasterUnion.hpp\n"\
1710" * @author ae2f\n"\
1711" * @brief\n"\
1712" * @date 2025-02-01\n"\
1713" *\n"\
1714"\n"\
1715" * @copyright Copyright (c) 2025\n"\
1716" *\n"\
1717"\n"\
1718" */\n"\
1719"\n"\
1720"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
1721"#define ae2f_Cast_CasterUnion_hpp\n"\
1722"/** include detected */ \\\n"\
1723"/** Path cursor */ \\\n"\
1724"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1725"/** first fp: 0x559c5e313ed0 */ \\\n"\
1726"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1727"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
1728"/** Found something. Now let\'s validate. */ \\\n"\
1729"/** It\'s not repeating */ \\\n"\
1730"/******************** */\\\n"\
1731"/* Now the path will be: */ \\\n"\
1732" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1733"/**\n"\
1734"\n"\
1735" * @file consteval.hpp\n"\
1736" * @author ae2f\n"\
1737" * @brief\n"\
1738" * @date 2025-02-01\n"\
1739" *\n"\
1740"\n"\
1741" * @copyright Copyright (c) 2025\n"\
1742" *\n"\
1743"\n"\
1744" */\n"\
1745"#ifndef ae2f_Cast_consteval_hpp\n"\
1746"#define ae2f_Cast_consteval_hpp\n"\
1747"/** include detected */ \\\n"\
1748"/** Path cursor */ \\\n"\
1749"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1750"/** first fp: 0x559c5e3150c0 */ \\\n"\
1751"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1752"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
1753"/** Found something. Now let\'s validate. */ \\\n"\
1754"/** It\'s not repeating */ \\\n"\
1755"/******************** */\\\n"\
1756"/* Now the path will be: */ \\\n"\
1757" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1758"/** include detected */ \\\n"\
1759"/** Path cursor */ \\\n"\
1760"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1761"/** first fp: 0x559c5e3162b0 */ \\\n"\
1762"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1763"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
1764"/** Found something. Now let\'s validate. */ \\\n"\
1765"/** It\'s not repeating */ \\\n"\
1766"/******************** */\\\n"\
1767"/* Now the path will be: */ \\\n"\
1768" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1769"#if 90 >= 50\n"\
1770"#define ae2f_LangVer_C 1990\n"\
1771"#else\n"\
1772"#define ae2f_LangVer_C 2090\n"\
1773"#endif\n"\
1774"\n"\
1775"#if 11 >= 50\n"\
1776"#define ae2f_LangVer_CC 1911\n"\
1777"#else\n"\
1778"#define ae2f_LangVer_CC 2011\n"\
1779"#endif\n"\
1780"\n"\
1781"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
1782"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
1783"/** One eof gracefully */ \\\n"\
1784"\n"\
1785"\n"\
1786"#ifdef\t__cplusplus\n"\
1787"#undef\tae2f_stdcc_v\n"\
1788"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
1789"#else\n"\
1790"\n"\
1791"#undef\tae2f_stdcc_v\n"\
1792"#define\tae2f_stdcc_v\t(199711L)\n"\
1793"\n"\
1794"#if __ae2f_lvcheck_cc(2011)\n"\
1795"#undef\tae2f_stdcc_v\n"\
1796"#define\tae2f_stdcc_v\t(201103L)\n"\
1797"#endif\n"\
1798"\n"\
1799"#if __ae2f_lvcheck_cc(2014)\n"\
1800"#undef\tae2f_stdcc_v\n"\
1801"#define\tae2f_stdcc_v\t(201402L)\n"\
1802"#endif\n"\
1803"\n"\
1804"#if __ae2f_lvcheck_cc(2017)\n"\
1805"#undef\tae2f_stdcc_v\n"\
1806"#define\tae2f_stdcc_v\t(201703L)\n"\
1807"#endif\n"\
1808"\n"\
1809"#if __ae2f_lvcheck_cc(2020)\n"\
1810"#undef\tae2f_stdcc_v\n"\
1811"#define\tae2f_stdcc_v\t(202002L)\n"\
1812"#endif\n"\
1813"\n"\
1814"#if __ae2f_lvcheck_cc(2023)\n"\
1815"#undef\tae2f_stdcc_v\n"\
1816"#define\tae2f_stdcc_v\t(202302L)\n"\
1817"#endif\n"\
1818"\n"\
1819"#endif\n"\
1820"\n"\
1821"#ifdef\t__STDC_VERSION__\n"\
1822"#undef\tae2f_stdc_v\n"\
1823"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
1824"#else\n"\
1825"\n"\
1826"#undef\tae2f_stdc_v\n"\
1827"#define ae2f_stdc_v\t(199001L)\n"\
1828"\n"\
1829"#if __ae2f_lvcheck_c(1999)\n"\
1830"#undef\tae2f_stdc_v\n"\
1831"#define ae2f_stdc_v\t(199901L)\n"\
1832"#endif\n"\
1833"\n"\
1834"#if __ae2f_lvcheck_c(2011)\n"\
1835"#undef\tae2f_stdc_v\n"\
1836"#define ae2f_stdc_v\t(201112L)\n"\
1837"#endif\n"\
1838"\n"\
1839"#if __ae2f_lvcheck_c(2017)\n"\
1840"#undef\tae2f_stdc_v\n"\
1841"#define ae2f_stdc_v\t(201710L)\n"\
1842"#endif\n"\
1843"\n"\
1844"#if __ae2f_lvcheck_c(2023)\n"\
1845"#undef\tae2f_stdc_v\n"\
1846"#define ae2f_stdc_v\t(202311L)\n"\
1847"#endif\n"\
1848"\n"\
1849"#endif\n"\
1850"\n"\
1851"#undef\t__ae2f_stdcheck_C\n"\
1852"#undef\t__ae2f_stdcheck_CC\n"\
1853"\n"\
1854"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
1855"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
1856"/** One eof gracefully */ \\\n"\
1857"\n"\
1858"\n"\
1859"#if __ae2f_stdcheck_CC(201703L)\n"\
1860"#define if_constexpr if constexpr\n"\
1861"#else\n"\
1862"#define if_constexpr if\n"\
1863"#endif\n"\
1864"\n"\
1865"#if __ae2f_stdcheck_CC(202002L)\n"\
1866"#define if_consteval if consteval\n"\
1867"#else\n"\
1868"#define if_consteval if (0)\n"\
1869"#endif\n"\
1870"\n"\
1871"#if __ae2f_stdcheck_CC(202002L)\n"\
1872"#define constexprvirtual constexpr virtual\n"\
1873"/** constinit */\n"\
1874"#else\n"\
1875"#define constexprvirtual virtual\n"\
1876"#define constinit\t/* not available */\n"\
1877"#endif /* C++20 */\n"\
1878"\n"\
1879"#if __ae2f_stdcheck_CC(201402L)\n"\
1880"#define constextendedfun\tconstexpr\n"\
1881"#define constextendedeval \tconstexpr\n"\
1882"\n"\
1883"#define constextendedmethod\tconstexpr\n"\
1884"#define constextendedmethodeval\tconstexpr\n"\
1885"\n"\
1886"#else\n"\
1887"#define constextendedfun\tinline\n"\
1888"#define constextendedmethod\tinline\n"\
1889"\n"\
1890"#define constextendedeval\tinline\n"\
1891"#define constextendedmethodeval\tinline\n"\
1892"#endif // C++14\n"\
1893"\n"\
1894"#if __ae2f_stdcheck_CC(201103L)\n"\
1895"#define constexprmethod\t\tconstexpr\n"\
1896"#define constexprfun\t\tconstexpr\n"\
1897"#define constevalmethod\t\tconstexpr\n"\
1898"\n"\
1899"#else\n"\
1900"#define constexprmethod\t\tinline\n"\
1901"#define constexprfun\t\tinline\n"\
1902"#define constevalmethod\t\tinline\n"\
1903"#define virtual\n"\
1904"\n"\
1905"#if !defined(__cplusplus) /* C */\n"\
1906"\n"\
1907"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
1908"/** cosntexpr variable */\n"\
1909"#else\n"\
1910"#define constexpr\n"\
1911"#endif /* C23 */\n"\
1912"\n"\
1913"\n"\
1914"#endif /* C */\n"\
1915"\n"\
1916"#endif // C++11\n"\
1917"\n"\
1918"#if __ae2f_stdcheck_CC(202002L)\n"\
1919"#undef constevalmethod\n"\
1920"#define constevalmethod consteval /* C++20 */\n"\
1921"#elif __ae2f_stdcheck_CC(0)\n"\
1922"\n"\
1923"#undef constevalmethod\n"\
1924"/// @brief\n"\
1925"/// C++ keyword for constant-time functions.\n"\
1926"#define consteval\n"\
1927"#define constevalmethod constexprmethod\n"\
1928"\n"\
1929"#else\n"\
1930"\n"\
1931"#define consteval\n"\
1932"#endif // C++20\n"\
1933"\n"\
1934"#endif\n"\
1935"/** One eof gracefully */ \\\n"\
1936"\n"\
1937"\n"\
1938"/// @brief\n"\
1939"/// C++ union definition for @ref ae2f_union_cast\n"\
1940"/// @tparam t\n"\
1941"/// @tparam k\n"\
1942"/// @see\n"\
1943"/// @ref ae2f_union_cast\n"\
1944"template <typename t, typename k> union ae2f_UnionCaster {\n"\
1945" t a;\n"\
1946" k b;\n"\
1947" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
1948" constexprmethod k _b() const { return b; }\n"\
1949"};\n"\
1950"\n"\
1951"#endif\n"\
1952"/** One eof gracefully */ \\\n"\
1953"\n"\
1954"/** include detected */ \\\n"\
1955"/** Path cursor */ \\\n"\
1956"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
1957"/** first fp: 0x559c5e312ce0 */ \\\n"\
1958"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
1959"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
1960"/** Found something. Now let\'s validate. */ \\\n"\
1961"/** It\'s not repeating */ \\\n"\
1962"/******************** */\\\n"\
1963"/* Now the path will be: */ \\\n"\
1964" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
1965"/**\n"\
1966"\n"\
1967" * @file consteval.hpp\n"\
1968" * @author ae2f\n"\
1969" * @brief\n"\
1970" * @date 2025-02-01\n"\
1971" *\n"\
1972"\n"\
1973" * @copyright Copyright (c) 2025\n"\
1974" *\n"\
1975"\n"\
1976" */\n"\
1977"#ifndef ae2f_Cast_consteval_hpp\n"\
1978"#define ae2f_Cast_consteval_hpp\n"\
1979"/** include detected */ \\\n"\
1980"/** Path cursor */ \\\n"\
1981"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
1982"/** first fp: 0x559c5e313ed0 */ \\\n"\
1983"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
1984"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
1985"/** Found something. Now let\'s validate. */ \\\n"\
1986"/** It\'s not repeating */ \\\n"\
1987"/******************** */\\\n"\
1988"/* Now the path will be: */ \\\n"\
1989" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
1990"/** include detected */ \\\n"\
1991"/** Path cursor */ \\\n"\
1992"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
1993"/** first fp: 0x559c5e3150c0 */ \\\n"\
1994"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
1995"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
1996"/** Found something. Now let\'s validate. */ \\\n"\
1997"/** It\'s not repeating */ \\\n"\
1998"/******************** */\\\n"\
1999"/* Now the path will be: */ \\\n"\
2000" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
2001"#if 90 >= 50\n"\
2002"#define ae2f_LangVer_C 1990\n"\
2003"#else\n"\
2004"#define ae2f_LangVer_C 2090\n"\
2005"#endif\n"\
2006"\n"\
2007"#if 11 >= 50\n"\
2008"#define ae2f_LangVer_CC 1911\n"\
2009"#else\n"\
2010"#define ae2f_LangVer_CC 2011\n"\
2011"#endif\n"\
2012"\n"\
2013"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2014"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2015"/** One eof gracefully */ \\\n"\
2016"\n"\
2017"\n"\
2018"#ifdef\t__cplusplus\n"\
2019"#undef\tae2f_stdcc_v\n"\
2020"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2021"#else\n"\
2022"\n"\
2023"#undef\tae2f_stdcc_v\n"\
2024"#define\tae2f_stdcc_v\t(199711L)\n"\
2025"\n"\
2026"#if __ae2f_lvcheck_cc(2011)\n"\
2027"#undef\tae2f_stdcc_v\n"\
2028"#define\tae2f_stdcc_v\t(201103L)\n"\
2029"#endif\n"\
2030"\n"\
2031"#if __ae2f_lvcheck_cc(2014)\n"\
2032"#undef\tae2f_stdcc_v\n"\
2033"#define\tae2f_stdcc_v\t(201402L)\n"\
2034"#endif\n"\
2035"\n"\
2036"#if __ae2f_lvcheck_cc(2017)\n"\
2037"#undef\tae2f_stdcc_v\n"\
2038"#define\tae2f_stdcc_v\t(201703L)\n"\
2039"#endif\n"\
2040"\n"\
2041"#if __ae2f_lvcheck_cc(2020)\n"\
2042"#undef\tae2f_stdcc_v\n"\
2043"#define\tae2f_stdcc_v\t(202002L)\n"\
2044"#endif\n"\
2045"\n"\
2046"#if __ae2f_lvcheck_cc(2023)\n"\
2047"#undef\tae2f_stdcc_v\n"\
2048"#define\tae2f_stdcc_v\t(202302L)\n"\
2049"#endif\n"\
2050"\n"\
2051"#endif\n"\
2052"\n"\
2053"#ifdef\t__STDC_VERSION__\n"\
2054"#undef\tae2f_stdc_v\n"\
2055"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2056"#else\n"\
2057"\n"\
2058"#undef\tae2f_stdc_v\n"\
2059"#define ae2f_stdc_v\t(199001L)\n"\
2060"\n"\
2061"#if __ae2f_lvcheck_c(1999)\n"\
2062"#undef\tae2f_stdc_v\n"\
2063"#define ae2f_stdc_v\t(199901L)\n"\
2064"#endif\n"\
2065"\n"\
2066"#if __ae2f_lvcheck_c(2011)\n"\
2067"#undef\tae2f_stdc_v\n"\
2068"#define ae2f_stdc_v\t(201112L)\n"\
2069"#endif\n"\
2070"\n"\
2071"#if __ae2f_lvcheck_c(2017)\n"\
2072"#undef\tae2f_stdc_v\n"\
2073"#define ae2f_stdc_v\t(201710L)\n"\
2074"#endif\n"\
2075"\n"\
2076"#if __ae2f_lvcheck_c(2023)\n"\
2077"#undef\tae2f_stdc_v\n"\
2078"#define ae2f_stdc_v\t(202311L)\n"\
2079"#endif\n"\
2080"\n"\
2081"#endif\n"\
2082"\n"\
2083"#undef\t__ae2f_stdcheck_C\n"\
2084"#undef\t__ae2f_stdcheck_CC\n"\
2085"\n"\
2086"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2087"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2088"/** One eof gracefully */ \\\n"\
2089"\n"\
2090"\n"\
2091"#if __ae2f_stdcheck_CC(201703L)\n"\
2092"#define if_constexpr if constexpr\n"\
2093"#else\n"\
2094"#define if_constexpr if\n"\
2095"#endif\n"\
2096"\n"\
2097"#if __ae2f_stdcheck_CC(202002L)\n"\
2098"#define if_consteval if consteval\n"\
2099"#else\n"\
2100"#define if_consteval if (0)\n"\
2101"#endif\n"\
2102"\n"\
2103"#if __ae2f_stdcheck_CC(202002L)\n"\
2104"#define constexprvirtual constexpr virtual\n"\
2105"/** constinit */\n"\
2106"#else\n"\
2107"#define constexprvirtual virtual\n"\
2108"#define constinit\t/* not available */\n"\
2109"#endif /* C++20 */\n"\
2110"\n"\
2111"#if __ae2f_stdcheck_CC(201402L)\n"\
2112"#define constextendedfun\tconstexpr\n"\
2113"#define constextendedeval \tconstexpr\n"\
2114"\n"\
2115"#define constextendedmethod\tconstexpr\n"\
2116"#define constextendedmethodeval\tconstexpr\n"\
2117"\n"\
2118"#else\n"\
2119"#define constextendedfun\tinline\n"\
2120"#define constextendedmethod\tinline\n"\
2121"\n"\
2122"#define constextendedeval\tinline\n"\
2123"#define constextendedmethodeval\tinline\n"\
2124"#endif // C++14\n"\
2125"\n"\
2126"#if __ae2f_stdcheck_CC(201103L)\n"\
2127"#define constexprmethod\t\tconstexpr\n"\
2128"#define constexprfun\t\tconstexpr\n"\
2129"#define constevalmethod\t\tconstexpr\n"\
2130"\n"\
2131"#else\n"\
2132"#define constexprmethod\t\tinline\n"\
2133"#define constexprfun\t\tinline\n"\
2134"#define constevalmethod\t\tinline\n"\
2135"#define virtual\n"\
2136"\n"\
2137"#if !defined(__cplusplus) /* C */\n"\
2138"\n"\
2139"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
2140"/** cosntexpr variable */\n"\
2141"#else\n"\
2142"#define constexpr\n"\
2143"#endif /* C23 */\n"\
2144"\n"\
2145"\n"\
2146"#endif /* C */\n"\
2147"\n"\
2148"#endif // C++11\n"\
2149"\n"\
2150"#if __ae2f_stdcheck_CC(202002L)\n"\
2151"#undef constevalmethod\n"\
2152"#define constevalmethod consteval /* C++20 */\n"\
2153"#elif __ae2f_stdcheck_CC(0)\n"\
2154"\n"\
2155"#undef constevalmethod\n"\
2156"/// @brief\n"\
2157"/// C++ keyword for constant-time functions.\n"\
2158"#define consteval\n"\
2159"#define constevalmethod constexprmethod\n"\
2160"\n"\
2161"#else\n"\
2162"\n"\
2163"#define consteval\n"\
2164"#endif // C++20\n"\
2165"\n"\
2166"#endif\n"\
2167"/** One eof gracefully */ \\\n"\
2168"\n"\
2169"/** include detected */ \\\n"\
2170"/** Path cursor */ \\\n"\
2171"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2172"/** first fp: 0x559c5e312ce0 */ \\\n"\
2173"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2174"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2175"/** Found something. Now let\'s validate. */ \\\n"\
2176"/** It\'s not repeating */ \\\n"\
2177"/******************** */\\\n"\
2178"/* Now the path will be: */ \\\n"\
2179" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2180"#if 90 >= 50\n"\
2181"#define ae2f_LangVer_C 1990\n"\
2182"#else\n"\
2183"#define ae2f_LangVer_C 2090\n"\
2184"#endif\n"\
2185"\n"\
2186"#if 11 >= 50\n"\
2187"#define ae2f_LangVer_CC 1911\n"\
2188"#else\n"\
2189"#define ae2f_LangVer_CC 2011\n"\
2190"#endif\n"\
2191"\n"\
2192"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2193"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2194"/** One eof gracefully */ \\\n"\
2195"\n"\
2196"/** include detected */ \\\n"\
2197"/** Path cursor */ \\\n"\
2198"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2199"/** first fp: 0x559c5e312ce0 */ \\\n"\
2200"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2201"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2202"/** Found something. Now let\'s validate. */ \\\n"\
2203"/** It\'s not repeating */ \\\n"\
2204"/******************** */\\\n"\
2205"/* Now the path will be: */ \\\n"\
2206" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2207"/**\n"\
2208"\n"\
2209" * @file Cxx.h\n"\
2210" * @author ae2f\n"\
2211" * @brief \n"\
2212" * @date 2025-02-01\n"\
2213" * \n"\
2214" * @copyright Copyright (c) 2025\n"\
2215" * \n"\
2216" */\n"\
2217"\n"\
2218"/// @brief\n"\
2219"/// Literally nothing.\n"\
2220"#define ae2f_NONE\n"\
2221"\n"\
2222"#if __cplusplus\n"\
2223"\n"\
2224"/// @def ae2f_WhenCXX \n"\
2225"/// @brief\n"\
2226"/// Appears when the current language is C++.\n"\
2227"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
2228"\n"\
2229"/// @brief\n"\
2230"/// Appears when the current language is C.\n"\
2231"#define ae2f_WhenC(...) ae2f_NONE\n"\
2232"\n"\
2233"#else\n"\
2234"\n"\
2235"/// @brief\n"\
2236"/// Appears when the current language is C++.\n"\
2237"#define ae2f_WhenC(...) __VA_ARGS__\n"\
2238"\n"\
2239"/// @brief\n"\
2240"/// Appears when the current language is C.\n"\
2241"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
2242"\n"\
2243"#endif\n"\
2244"\n"\
2245"/// @brief\n"\
2246"/// \n"\
2247"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2248"\n"\
2249"/// @brief\n"\
2250"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
2251"/// \n"\
2252"/// For alter, see @ref ae2f_cxx_check\n"\
2253"#define ae2f_c_check && !ae2f_is_cxx\n"\
2254"\n"\
2255"/// @brief\n"\
2256"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
2257"/// \n"\
2258"/// For alter, see @ref ae2f_c_check\n"\
2259"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
2260"\n"\
2261"/** include detected */ \\\n"\
2262"/** Path cursor */ \\\n"\
2263"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
2264"/** first fp: (nil) */ \\\n"\
2265"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
2266"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
2267"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
2268"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
2269"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
2270"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
2271"/** Failed but ignoring it. */ \\\n"\
2272"\n"\
2273"/** include detected */ \\\n"\
2274"/** Path cursor */ \\\n"\
2275"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
2276"/** first fp: (nil) */ \\\n"\
2277"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
2278"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
2279"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
2280"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
2281"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
2282"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
2283"/** Failed but ignoring it. */ \\\n"\
2284"\n"\
2285"/** include detected */ \\\n"\
2286"/** Path cursor */ \\\n"\
2287"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2288"/** first fp: 0x559c5e312ce0 */ \\\n"\
2289"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2290"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2291"/** Found something. Now let\'s validate. */ \\\n"\
2292"/** It\'s not repeating */ \\\n"\
2293"/******************** */\\\n"\
2294"/* Now the path will be: */ \\\n"\
2295" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2296"/**\n"\
2297"\n"\
2298" * @file ae2f/Guide.h\n"\
2299" * @brief\n"\
2300" * Guide markers for conventions.\n"\
2301" * */\n"\
2302"#undef ae2f_LP\n"\
2303"#undef ae2f_NONE\n"\
2304"#undef ae2f_opt\n"\
2305"\n"\
2306"/** @def ae2f_NONE @brief nothing. */\n"\
2307"#define ae2f_NONE\n"\
2308"\n"\
2309"/** \n"\
2310" * @def ae2f_LP\n"\
2311" *\n"\
2312"\n"\
2313" * @brief \n"\
2314" * Desired count required. \n"\
2315" * \n"\
2316" * @param ...\n"\
2317" * Parameter with this preprocessor means \\n\n"\
2318" * the pointer is considered as list, and inside of this is a desired size.\n"\
2319" * */\n"\
2320"#define\tae2f_LP(...) ae2f_NONE\n"\
2321"\n"\
2322"/** @def ae2f_opt @brief Optional. */\n"\
2323"#define ae2f_opt ae2f_NONE\n"\
2324"\n"\
2325"/** \n"\
2326" * @def ae2f_FREE \n"\
2327" * @brief Use this marker to show the desired functions\n"\
2328" * \tto effectively free the resources.\n"\
2329" * */\n"\
2330"#define ae2f_FREE(...) ae2f_NONE\n"\
2331"\n"\
2332"/** @brief l_value. */\n"\
2333"#define ae2f_v ae2f_NONE\n"\
2334"/** One eof gracefully */ \\\n"\
2335"\n"\
2336"\n"\
2337"/// @brief\n"\
2338"/// Initialiser for trivial structures / classes.\n"\
2339"#define ae2f_RecordMk(type, ...) \\\n"\
2340" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
2341"\n"\
2342"/// @brief\n"\
2343"/// # static_cast\n"\
2344"#define ae2f_static_cast(t, v) \\\n"\
2345" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
2346"\n"\
2347"/// @brief\n"\
2348"/// # dynamic_cast\n"\
2349"#define ae2f_dynamic_cast(t, v) \\\n"\
2350" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
2351"\n"\
2352"/// @brief\n"\
2353"/// # reinterpret_cast\n"\
2354"#define ae2f_reinterpret_cast(t, v) \\\n"\
2355" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
2356"\n"\
2357"/// @brief\n"\
2358"/// # const_cast\n"\
2359"#define ae2f_const_cast(t, v) \\\n"\
2360" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
2361"\n"\
2362"/// @brief\n"\
2363"/// Makes a union that reads a memory in two methods. \\n\n"\
2364"/// `tThen` -> `tNow`\n"\
2365"/// @tparam tThen\n"\
2366"/// The existing data\'s type as input.\n"\
2367"///\n"\
2368"/// @tparam tNow\n"\
2369"/// Wanted output datatype for casting.\n"\
2370"///\n"\
2371"/// @param v\n"\
2372"/// Input value\n"\
2373"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
2374" ae2f_WhenC((union { \\\n"\
2375" tThen a; \\\n"\
2376" tNow b; \\\n"\
2377" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
2378" ._b()\n"\
2379"\n"\
2380"/// @brief\n"\
2381"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
2382"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
2383"///\n"\
2384"/// This keyword resolves the difference of the rules of two.\n"\
2385"#define ae2f_struct ae2f_WhenC(struct)\n"\
2386"\n"\
2387"/// @brief\n"\
2388"/// Suggests the existence of external variable or function, in naming of C.\n"\
2389"/// [non-mangling]\n"\
2390"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
2391"\n"\
2392"/// @brief\n"\
2393"/// Class\n"\
2394"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
2395"\n"\
2396"/// @brief\n"\
2397"/// Makes the global variable in naming of C. [non-mangling]\n"\
2398"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
2399"\n"\
2400"/// @brief\n"\
2401"/// Function definitions\n"\
2402"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
2403"\n"\
2404"/** @brief Invokes when condition is `false`. */\n"\
2405"#define unless(...) if (!(__VA_ARGS__))\n"\
2406"\n"\
2407"#define ae2f_structdef_v(key, name, ...) \\\n"\
2408" typedef key name __VA_ARGS__; \\\n"\
2409" key name\n"\
2410"\n"\
2411"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
2412"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
2413"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
2414"\n"\
2415"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
2416"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
2417"\n"\
2418"/**\n"\
2419"\n"\
2420" * @brief\n"\
2421" * Make two pair of function as [eval] and [expr]. \\n\n"\
2422" * [expr] will just call [eval]. \\n\n"\
2423" * You will implement the body of [eval].\n"\
2424" *\n"\
2425"\n"\
2426" * Following is an use case.\n"\
2427" * @code\n"\
2428" * ae2f_evaldef(\n"\
2429"\t\ttemplate<int a>, <0>\n"\
2430"\t\t, consteval, constexprfun\n"\
2431"\t\t, int, Hello, _Hello, char v, v) \n"\
2432"\t\t{ return v; }\n"\
2433" * */\n"\
2434"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
2435"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
2436"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
2437"\t\treturn nameeval tmpluse (prmuse); \\\n"\
2438"\t} \\\n"\
2439"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
2440"\n"\
2441"#if !__ae2f_stdcheck_CC(201103L)\n"\
2442"#undef\tnoexcept\n"\
2443"#define noexcept\n"\
2444"#endif\n"\
2445"\n"\
2446"\n"\
2447"#undef\trestrict /** First declaration */\n"\
2448"#if ae2f_stdc_v < 199901L\n"\
2449"#undef\trestrict\n"\
2450"#define restrict\n"\
2451"#endif // C>=99\n"\
2452"\n"\
2453"#if __cplusplus\n"\
2454"#undef\trestrict\n"\
2455"#define restrict\n"\
2456"#endif // C++\n"\
2457"\n"\
2458"#if !__ae2f_stdcheck_CC(201103L)\n"\
2459"/// @brief\n"\
2460"/// Means that there will be no exception thrown written in code.\n"\
2461"#define noexcept\n"\
2462"#define constexpr\n"\
2463"#endif /* C++<=11 */\n"\
2464"\n"\
2465"#if ae2f_WhenC(!)0\n"\
2466"#undef noexcept\n"\
2467"#define noexcept\n"\
2468"#endif\n"\
2469"\n"\
2470"#endif\n"\
2471"/** One eof gracefully */ \\\n"\
2472"\n"\
2473"/** include detected */ \\\n"\
2474"/** Path cursor */ \\\n"\
2475"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
2476"/** first fp: (nil) */ \\\n"\
2477"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
2478"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2479"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
2480"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
2481"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2482"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2483"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2484"/** Found something. Now let\'s validate. */ \\\n"\
2485"/** It\'s not repeating */ \\\n"\
2486"/******************** */\\\n"\
2487"/* Now the path will be: */ \\\n"\
2488" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2489"/**\n"\
2490"\n"\
2491" * @file Beg.h\n"\
2492" * @author ae2f\n"\
2493" * @brief\n"\
2494" * @date 2025-02-01\n"\
2495" * \n"\
2496" * @copyright Copyright (c) 2025\n"\
2497" * \n"\
2498" */\n"\
2499"\n"\
2500"/** include detected */ \\\n"\
2501"/** Path cursor */ \\\n"\
2502"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2503"/** first fp: 0x559c5e312ce0 */ \\\n"\
2504"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2505"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
2506"/** Found something. Now let\'s validate. */ \\\n"\
2507"/** It\'s not repeating */ \\\n"\
2508"/******************** */\\\n"\
2509"/* Now the path will be: */ \\\n"\
2510" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2511"/**\n"\
2512"\n"\
2513" * @file Num.h\n"\
2514" * @author ae2f\n"\
2515" * @brief \n"\
2516" * @date 2025-02-01\n"\
2517" * \n"\
2518" * @copyright Copyright (c) 2025\n"\
2519" * \n"\
2520" */\n"\
2521"\n"\
2522"/// @brief\n"\
2523"/// Pre-defined structure packed byte count.\n"\
2524"/// \n"\
2525"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
2526"#define ae2f_PackCount 0\n"\
2527"/** One eof gracefully */ \\\n"\
2528"\n"\
2529"\n"\
2530"#if ae2f_PackCount\n"\
2531"#pragma pack(push, 0)\n"\
2532"#endif\n"\
2533"/** One eof gracefully */ \\\n"\
2534"\n"\
2535"/** include detected */ \\\n"\
2536"/** Path cursor */ \\\n"\
2537"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/MMap/Util.h */ \\\n"\
2538"/** first fp: (nil) */ \\\n"\
2539"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2540"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2541"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ */ \\\n"\
2542"/** Found something. Now let\'s validate. */ \\\n"\
2543"/** It\'s not repeating */ \\\n"\
2544"/******************** */\\\n"\
2545"/* Now the path will be: */ \\\n"\
2546" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2547"/** include detected */ \\\n"\
2548"/** Path cursor */ \\\n"\
2549"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ae2f/Call.h */ \\\n"\
2550"/** first fp: (nil) */ \\\n"\
2551"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
2552"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
2553"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
2554"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
2555"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2556"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2557"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2558"/** Found something. Now let\'s validate. */ \\\n"\
2559"/** It\'s not repeating */ \\\n"\
2560"/******************** */\\\n"\
2561"/* Now the path will be: */ \\\n"\
2562" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2563"/**\n"\
2564"\n"\
2565" * @file Call.h\n"\
2566" * @author ae2f\n"\
2567" * @brief \n"\
2568" * @date 2025-02-01\n"\
2569" * \n"\
2570" * @copyright Copyright (c) 2025\n"\
2571" * \n"\
2572" */\n"\
2573"\n"\
2574"#ifndef ae2f_Call_h\n"\
2575"#define ae2f_Call_h\n"\
2576"\n"\
2577"/** include detected */ \\\n"\
2578"/** Path cursor */ \\\n"\
2579"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2580"/** first fp: 0x559c5e313ed0 */ \\\n"\
2581"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2582"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2583"/** Found something. Now let\'s validate. */ \\\n"\
2584"/** It\'s not repeating */ \\\n"\
2585"/******************** */\\\n"\
2586"/* Now the path will be: */ \\\n"\
2587" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2588"#define ON 1\n"\
2589"#define OFF 0\n"\
2590"\n"\
2591"#if (defined(_WIN32) || defined(_WIN64))\n"\
2592"#define ae2f_IS_WIN 1\n"\
2593"#else \n"\
2594"#define ae2f_IS_WIN 0\n"\
2595"#endif\n"\
2596"\n"\
2597"#if (defined(__linux__))\n"\
2598"#define ae2f_IS_LINUX 1\n"\
2599"#else \n"\
2600"#define ae2f_IS_LINUX 0\n"\
2601"#endif\n"\
2602"\n"\
2603"#if defined(__MACH__) || defined(__APPLE__)\n"\
2604"#define ae2f_IS_APPLE 1\n"\
2605"#else\n"\
2606"#define ae2f_IS_APPLE 0\n"\
2607"#endif\n"\
2608"\n"\
2609"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
2610"/** PLATFORM NOT SPECIFIED. */\n"\
2611"\n"\
2612"/**** @brief UNSPECIFIED */\n"\
2613"#define ae2f_IDK 1\n"\
2614"#else\n"\
2615"/**** @brief UNSPECIFIED */\n"\
2616"#define ae2f_IDK 0\n"\
2617"#endif\n"\
2618"/** One eof gracefully */ \\\n"\
2619"\n"\
2620"/** include detected */ \\\n"\
2621"/** Path cursor */ \\\n"\
2622"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2623"/** first fp: 0x559c5e313ed0 */ \\\n"\
2624"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2625"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2626"/** Found something. Now let\'s validate. */ \\\n"\
2627"/** It\'s not repeating */ \\\n"\
2628"/******************** */\\\n"\
2629"/* Now the path will be: */ \\\n"\
2630" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2631"/**\n"\
2632"\n"\
2633" * @file Call.h\n"\
2634" * @author ae2f\n"\
2635" * @brief \n"\
2636" * @date 2025-02-01\n"\
2637" * \n"\
2638" * @copyright Copyright (c) 2025\n"\
2639" * \n"\
2640" */\n"\
2641"\n"\
2642"/** @brief Is a library shared */\n"\
2643"#define ae2f_IS_SHARED ON\n"\
2644"/** One eof gracefully */ \\\n"\
2645"\n"\
2646"\n"\
2647"#if ae2f_IS_SHARED\n"\
2648"\n"\
2649"#if ae2f_IS_WIN\n"\
2650"/// @brief\n"\
2651"/// # For Windows\n"\
2652"/// \n"\
2653"/// shared function imp\n"\
2654"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
2655"\n"\
2656"/// @brief\n"\
2657"/// # For Windows\n"\
2658"/// \n"\
2659"/// Function api call\n"\
2660"#define ae2f_SHAREDCALL \n"\
2661"#endif\n"\
2662"\n"\
2663"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
2664"/// @brief\n"\
2665"/// # For Linux, gcc based.\n"\
2666"/// \n"\
2667"/// shared function imp\n"\
2668"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
2669"\n"\
2670"/// @brief\n"\
2671"/// # For Linux, gcc based.\n"\
2672"///\n"\
2673"/// Function api call\n"\
2674"#define ae2f_SHAREDCALL\n"\
2675"#endif\n"\
2676"\n"\
2677"\n"\
2678"\n"\
2679"#else\n"\
2680"\n"\
2681"/// @brief\n"\
2682"/// # It is no shared library.\n"\
2683"/// \n"\
2684"/// shared function imp\n"\
2685"#define ae2f_SHAREDEXPORT\n"\
2686"/// @brief \n"\
2687"/// # It is no shared library.\n"\
2688"///\n"\
2689"/// Function api call\n"\
2690"#define ae2f_SHAREDCALL\n"\
2691"#endif\n"\
2692"\n"\
2693"#endif\n"\
2694"/** One eof gracefully */ \\\n"\
2695"\n"\
2696"\n"\
2697"#ifndef ae2f_MAC_BUILD\n"\
2698"#define\tae2f_MAC_BUILD ON\n"\
2699"#endif\n"\
2700"\n"\
2701"/** One eof gracefully */ \\\n"\
2702"\n"\
2703"\n"\
2704"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
2705"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
2706"\n"\
2707"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
2708"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
2709"\n"\
2710"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
2711"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
2712"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
2713"\n"\
2714"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
2715"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
2716"{ A_t* a; B_t* b; }\n"\
2717"\n"\
2718"/** include detected */ \\\n"\
2719"/** Path cursor */ \\\n"\
2720"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
2721"/** first fp: (nil) */ \\\n"\
2722"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
2723"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
2724"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2725"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2726"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2727"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2728"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2729"/** Found something. Now let\'s validate. */ \\\n"\
2730"/** It\'s not repeating */ \\\n"\
2731"/******************** */\\\n"\
2732"/* Now the path will be: */ \\\n"\
2733" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2734"/**\n"\
2735"\n"\
2736" * @file End.h\n"\
2737" * @author ae2f\n"\
2738" * @brief \n"\
2739" * @date 2025-02-01\n"\
2740" * \n"\
2741" * @copyright Copyright (c) 2025\n"\
2742" * \n"\
2743" */\n"\
2744"\n"\
2745"#if ae2f_PackCount\n"\
2746"#pragma pack(pop)\n"\
2747"#endif\n"\
2748"/** One eof gracefully */ \\\n"\
2749"\n"\
2750"\n"\
2751"#endif\n"\
2752"/** One eof gracefully */ \\\n"\
2753"\n"\
2754"\n"\
2755"/**\n"\
2756"\n"\
2757" * @brief\n"\
2758" * # Single Layered Perceptron\n"\
2759" *\n"\
2760"\n"\
2761" * Multiple input, multiple output. \\n\n"\
2762" * For predicting & training operations are able to be parallel.\n"\
2763" */\n"\
2764"ae2f_structdef(struct, ae2f_AnnSlp_t) {\n"\
2765"\t/**\n"\
2766"\n"\
2767"\t * @brief \n"\
2768"\t * input count\n"\
2769"\t */\n"\
2770"\tsize_t m_inc;\n"\
2771"\n"\
2772"\t/**\n"\
2773"\n"\
2774"\t * @brief \n"\
2775"\t * output count\n"\
2776"\t */\n"\
2777"\tsize_t m_outc;\n"\
2778"};\n"\
2779"\n"\
2780"/**\n"\
2781"\n"\
2782" * @brief\n"\
2783" * Structure for SLP prediction and training data.\n"\
2784" */\n"\
2785"ae2f_structdef(struct, ae2f_AnnSlpPredict_t) {\n"\
2786"\t/**\n"\
2787"\n"\
2788"\t * @brief\n"\
2789"\t * Loop counters and layer sizes.\n"\
2790"\t */\n"\
2791"\tsize_t\t\t\tm_i, m_j;\n"\
2792"\n"\
2793"\tae2f_float_t\t\tm_ret;\n"\
2794"\tae2f_float_t\t\tm_tmp;\n"\
2795"};\n"\
2796"\n"\
2797"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
2798"\t/**\n"\
2799"\n"\
2800"\t * @brief\n"\
2801"\t * Loop counters and layer sizes.\n"\
2802"\t */\n"\
2803"\tsize_t\t\t\tm_i, m_j;\n"\
2804"\n"\
2805"\tae2f_float_t\t\tm_ret;\n"\
2806"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2807"};\n"\
2808"\n"\
2809"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
2810"\tsize_t\t\tm_j;\n"\
2811"\tae2f_float_t\tm_ret;\n"\
2812"\tae2f_float_t\tm_tmp;\n"\
2813"};\n"\
2814"\n"\
2815"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
2816"\tsize_t\t\tm_j;\n"\
2817"\tae2f_float_t\tm_ret;\n"\
2818"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
2819"};\n"\
2820"\n"\
2821"/**\n"\
2822"\n"\
2823" * @brief\n"\
2824" * Structure for a single step of the follow operation.\n"\
2825" */\n"\
2826"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFitOne_t) {\n"\
2827"\t/**\n"\
2828"\n"\
2829"\t * @brief\n"\
2830"\t * Loop counter.\n"\
2831"\t */\n"\
2832"\tsize_t\t\t\tm_j;\n"\
2833"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2834"};\n"\
2835"\n"\
2836"\n"\
2837"/**\n"\
2838"\n"\
2839" * @brief\n"\
2840" * Structure for SLP follow, fit, and fetch delta operations.\n"\
2841" */\n"\
2842"ae2f_structdef_n(struct, ae2f_AnnSlpFollow_t, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
2843"\t/**\n"\
2844"\n"\
2845"\t * @brief\n"\
2846"\t * Loop counters and layer sizes.\n"\
2847"\t */\n"\
2848"\tsize_t\t\t\tm_i, m_j;\n"\
2849"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2850"};\n"\
2851"\n"\
2852"/** include detected */ \\\n"\
2853"/** Path cursor */ \\\n"\
2854"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
2855"/** first fp: (nil) */ \\\n"\
2856"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
2857"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
2858"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2859"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2860"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2861"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2862"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2863"/** Found something. Now let\'s validate. */ \\\n"\
2864"/** It\'s not repeating */ \\\n"\
2865"/******************** */\\\n"\
2866"/* Now the path will be: */ \\\n"\
2867" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2868"/**\n"\
2869"\n"\
2870" * @file End.h\n"\
2871" * @author ae2f\n"\
2872" * @brief \n"\
2873" * @date 2025-02-01\n"\
2874" * \n"\
2875" * @copyright Copyright (c) 2025\n"\
2876" * \n"\
2877" */\n"\
2878"\n"\
2879"#if ae2f_PackCount\n"\
2880"#pragma pack(pop)\n"\
2881"#endif\n"\
2882"/** One eof gracefully */ \\\n"\
2883"\n"\
2884"\n"\
2885"#endif\n"\
2886"/** One eof gracefully */ \\\n"\
2887"\n"\
2888"#undef __ae2f_MACRO_GENERATED\n"\
2889"#define __ae2f_MACRO_GENERATED 1\n"\
2890"/** include detected */ \\\n"\
2891"/** Path cursor */ \\\n"\
2892"/* Opening: ././ae2f/Ann/Slp.auto.h */ \\\n"\
2893"/** first fp: (nil) */ \\\n"\
2894"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2895"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2896"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
2897"/** Found something. Now let\'s validate. */ \\\n"\
2898"/** It\'s not repeating */ \\\n"\
2899"/******************** */\\\n"\
2900"/* Now the path will be: */ \\\n"\
2901" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2902"#undef\t__ae2f_MACRO_GENERATED\n"\
2903"#define\t__ae2f_MACRO_GENERATED\t1\n"\
2904"#ifndef ae2f_Ann_Slp_c\n"\
2905"#if !__ae2f_MACRO_GENERATED\n"\
2906"/** include detected */ \\\n"\
2907"/** Path cursor */ \\\n"\
2908"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Slp.h */ \\\n"\
2909"/** first fp: (nil) */ \\\n"\
2910"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2911"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2912"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
2913"/** Found something. Now let\'s validate. */ \\\n"\
2914"/** It\'s not repeating */ \\\n"\
2915"/******************** */\\\n"\
2916"/* Now the path will be: */ \\\n"\
2917" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2918"#ifndef ae2f_NEED_CLASS\n"\
2919"#define ae2f_NEED_CLASS\t1\n"\
2920"#endif\n"\
2921"\n"\
2922"\n"\
2923"#ifndef ae2f_Ann_Slp_h\n"\
2924"#define ae2f_Ann_Slp_h\n"\
2925"\n"\
2926"/** include detected */ \\\n"\
2927"/** Path cursor */ \\\n"\
2928"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2929"/** first fp: 0x559c5e311af0 */ \\\n"\
2930"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2931"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ */ \\\n"\
2932"/** Found something. Now let\'s validate. */ \\\n"\
2933"/** It\'s not repeating */ \\\n"\
2934"/******************** */\\\n"\
2935"/* Now the path will be: */ \\\n"\
2936" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2937"#ifndef ae2f_Ann_Slp_Core_h\n"\
2938"#define ae2f_Ann_Slp_Core_h\n"\
2939"\n"\
2940"/** include detected */ \\\n"\
2941"/** Path cursor */ \\\n"\
2942"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Float.h */ \\\n"\
2943"/** first fp: (nil) */ \\\n"\
2944"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
2945"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
2946"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
2947"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
2948"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2949"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2950"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2951"/** Found something. Now let\'s validate. */ \\\n"\
2952"/** It\'s not repeating */ \\\n"\
2953"/******************** */\\\n"\
2954"/* Now the path will be: */ \\\n"\
2955" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2956"/**\n"\
2957"\n"\
2958" * @file Float.h\n"\
2959" * @brief\n"\
2960" * Here, float will be treated as bit vector with four attributes:\n"\
2961" *\n"\
2962"\n"\
2963" * sign: \\n\t\n"\
2964" * \t> Whether it has sign or not. \\n\n"\
2965" *\n"\
2966"\n"\
2967" * exp:\t\\n\n"\
2968" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
2969" * \t> Which is the exponent of the [frac]\n"\
2970" *\n"\
2971"\n"\
2972" * expbiasp: \\n\n"\
2973" * \t> Exponent bias in order to be considered as zero. \\n\n"\
2974" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
2975" *\n"\
2976"\n"\
2977" * \t> Here, the value of exponent bias is limited with following rules:\n"\
2978" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
2979" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
2980" *\n"\
2981"\n"\
2982" * frac: \\n\n"\
2983" * \t> The actual \"value\" for floating point.\n"\
2984" *\n"\
2985"\n"\
2986" * ==================\n"\
2987" *\n"\
2988"\n"\
2989" * Following is the expected structure as bit vector: \\n\n"\
2990" * [frac | exp | sign]\n"\
2991" * \n"\
2992" * Size of this will be calculated as: \\n\n"\
2993" * [sign] + [exp] + [frac]\n"\
2994" */\n"\
2995"\n"\
2996"#ifndef ae2f_Float_h\n"\
2997"#define ae2f_Float_h\n"\
2998"\n"\
2999"/** include detected */ \\\n"\
3000"/** Path cursor */ \\\n"\
3001"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3002"/** first fp: 0x559c5e313ed0 */ \\\n"\
3003"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3004"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3005"/** Found something. Now let\'s validate. */ \\\n"\
3006"/** It\'s not repeating */ \\\n"\
3007"/******************** */\\\n"\
3008"/* Now the path will be: */ \\\n"\
3009" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3010"/**\n"\
3011"\n"\
3012" * @file Float.h\n"\
3013" * @author ae2f\n"\
3014" * @brief \n"\
3015" * @date 2025-02-01\n"\
3016" * \n"\
3017" * @copyright Copyright (c) 2025\n"\
3018" * \n"\
3019" */\n"\
3020"#ifndef ae2f_float_h\n"\
3021"#define ae2f_float_h\n"\
3022"\n"\
3023"/// @brief \n"\
3024"/// Predefined floating point type.\n"\
3025"/// \n"\
3026"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
3027"#define ae2f_float float\n"\
3028"\n"\
3029"#endif \n"\
3030"/** One eof gracefully */ \\\n"\
3031"\n"\
3032"\n"\
3033"typedef ae2f_float ae2f_float_t;\n"\
3034"\n"\
3035"#endif\n"\
3036"/** One eof gracefully */ \\\n"\
3037"\n"\
3038"/** include detected */ \\\n"\
3039"/** Path cursor */ \\\n"\
3040"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/errGlob.h */ \\\n"\
3041"/** first fp: (nil) */ \\\n"\
3042"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/errGlob.h */ \\\n"\
3043"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/errGlob.h */ \\\n"\
3044"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
3045"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
3046"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3047"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3048"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3049"/** Found something. Now let\'s validate. */ \\\n"\
3050"/** It\'s not repeating */ \\\n"\
3051"/******************** */\\\n"\
3052"/* Now the path will be: */ \\\n"\
3053" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3054"/**\n"\
3055"\n"\
3056" * @file errGlob.h\n"\
3057" * @author ae2f\n"\
3058" * @brief \n"\
3059" * Those numbers with [ @ref ae2f_err_t ] will be the state.\n"\
3060" * \n"\
3061" * @date 2025-02-01\n"\
3062" * \n"\
3063" * @copyright Copyright (c) 2025\n"\
3064" */\n"\
3065"\n"\
3066"#if !defined(ae2f_errGlobal_h)\n"\
3067"#define ae2f_errGlobal_h\n"\
3068"\n"\
3069"/** include detected */ \\\n"\
3070"/** Path cursor */ \\\n"\
3071"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdint.h */ \\\n"\
3072"/** first fp: (nil) */ \\\n"\
3073"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
3074"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
3075"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
3076"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
3077"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
3078"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
3079"/** Failed but ignoring it. */ \\\n"\
3080"\n"\
3081"\n"\
3082"/// @brief\n"\
3083"/// Informs that this number represents the error.\n"\
3084"typedef uint8_t ae2f_err_t;\n"\
3085"\n"\
3086"/// @brief\n"\
3087"/// The Operation you\'ve wanted went successful. \n"\
3088"#define ae2f_errGlob_OK 0\n"\
3089"\n"\
3090"/// @brief\n"\
3091"/// Failed to find the function on preprocessor which is callable for some reason\n"\
3092"/// No operation has beed done.\n"\
3093"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
3094"\n"\
3095"/// @brief\n"\
3096"/// Failed to refer the pointer either l-value inside the function.\n"\
3097"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
3098"\n"\
3099"/// @brief\n"\
3100"/// Failed freeing the memory.\n"\
3101"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
3102"\n"\
3103"/// @brief\n"\
3104"/// stdlib allocating functions (malloc, calloc, realloc) has been failed.\n"\
3105"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
3106"\n"\
3107"/// @brief\n"\
3108"/// Found that parameter sent by programmer is invalid.\n"\
3109"/// The operation may have been ceased while the middle.\n"\
3110"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
3111"\n"\
3112"/// @brief\n"\
3113"/// Found some errors, but not by parameters.\n"\
3114"/// The operation has failed.\n"\
3115"#define ae2f_errGlob_NFOUND 0b100000\n"\
3116"\n"\
3117"/// @brief\n"\
3118"/// Means that error was not critical.\n"\
3119"/// \n"\
3120"/// The operation went done. \\n\n"\
3121"/// Note that operation may not be valid.\n"\
3122"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
3123"\n"\
3124"/// @brief\n"\
3125"/// Check if the state code is a critical error.\n"\
3126"/// @param n {ae2f_err_t} Error code\n"\
3127"/// @return If it is not zero, it is a critical error.\n"\
3128"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
3129"\n"\
3130"#endif/** One eof gracefully */ \\\n"\
3131"\n"\
3132"/** include detected */ \\\n"\
3133"/** Path cursor */ \\\n"\
3134"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Cast.h */ \\\n"\
3135"/** first fp: (nil) */ \\\n"\
3136"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
3137"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
3138"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
3139"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
3140"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3141"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3142"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3143"/** Found something. Now let\'s validate. */ \\\n"\
3144"/** It\'s not repeating */ \\\n"\
3145"/******************** */\\\n"\
3146"/* Now the path will be: */ \\\n"\
3147" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3148"/**\n"\
3149"\n"\
3150" * @file Cast.h\n"\
3151" * @author ae2f\n"\
3152" * @brief\n"\
3153" * @date 2025-02-01\n"\
3154" *\n"\
3155"\n"\
3156" * @copyright Copyright (c) 2025\n"\
3157" *\n"\
3158"\n"\
3159" */\n"\
3160"\n"\
3161"#if !defined(ae2f_Cast_h)\n"\
3162"\n"\
3163"/// @brief\n"\
3164"/// asdf\n"\
3165"#define ae2f_Cast_h\n"\
3166"\n"\
3167"/// @brief\n"\
3168"/// ANSI Code for clearing the console.\n"\
3169"/// Clearing all display, moving the cursor on the top.\n"\
3170"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
3171"\n"\
3172"/// @brief\n"\
3173"/// simply merge all text inside the round bracket, counting them as a single\n"\
3174"/// text block.\n"\
3175"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
3176"\n"\
3177"/** include detected */ \\\n"\
3178"/** Path cursor */ \\\n"\
3179"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3180"/** first fp: 0x559c5e313ed0 */ \\\n"\
3181"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3182"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
3183"/** Found something. Now let\'s validate. */ \\\n"\
3184"/** It\'s not repeating */ \\\n"\
3185"/******************** */\\\n"\
3186"/* Now the path will be: */ \\\n"\
3187" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3188"/**\n"\
3189"\n"\
3190" * @file CasterUnion.hpp\n"\
3191" * @author ae2f\n"\
3192" * @brief\n"\
3193" * @date 2025-02-01\n"\
3194" *\n"\
3195"\n"\
3196" * @copyright Copyright (c) 2025\n"\
3197" *\n"\
3198"\n"\
3199" */\n"\
3200"\n"\
3201"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
3202"#define ae2f_Cast_CasterUnion_hpp\n"\
3203"/** include detected */ \\\n"\
3204"/** Path cursor */ \\\n"\
3205"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3206"/** first fp: 0x559c5e3150c0 */ \\\n"\
3207"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3208"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
3209"/** Found something. Now let\'s validate. */ \\\n"\
3210"/** It\'s not repeating */ \\\n"\
3211"/******************** */\\\n"\
3212"/* Now the path will be: */ \\\n"\
3213" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3214"/**\n"\
3215"\n"\
3216" * @file consteval.hpp\n"\
3217" * @author ae2f\n"\
3218" * @brief\n"\
3219" * @date 2025-02-01\n"\
3220" *\n"\
3221"\n"\
3222" * @copyright Copyright (c) 2025\n"\
3223" *\n"\
3224"\n"\
3225" */\n"\
3226"#ifndef ae2f_Cast_consteval_hpp\n"\
3227"#define ae2f_Cast_consteval_hpp\n"\
3228"/** include detected */ \\\n"\
3229"/** Path cursor */ \\\n"\
3230"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3231"/** first fp: 0x559c5e3162b0 */ \\\n"\
3232"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3233"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
3234"/** Found something. Now let\'s validate. */ \\\n"\
3235"/** It\'s not repeating */ \\\n"\
3236"/******************** */\\\n"\
3237"/* Now the path will be: */ \\\n"\
3238" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3239"/** include detected */ \\\n"\
3240"/** Path cursor */ \\\n"\
3241"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3242"/** first fp: 0x559c5e3174a0 */ \\\n"\
3243"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3244"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
3245"/** Found something. Now let\'s validate. */ \\\n"\
3246"/** It\'s not repeating */ \\\n"\
3247"/******************** */\\\n"\
3248"/* Now the path will be: */ \\\n"\
3249" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3250"#if 90 >= 50\n"\
3251"#define ae2f_LangVer_C 1990\n"\
3252"#else\n"\
3253"#define ae2f_LangVer_C 2090\n"\
3254"#endif\n"\
3255"\n"\
3256"#if 11 >= 50\n"\
3257"#define ae2f_LangVer_CC 1911\n"\
3258"#else\n"\
3259"#define ae2f_LangVer_CC 2011\n"\
3260"#endif\n"\
3261"\n"\
3262"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3263"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3264"/** One eof gracefully */ \\\n"\
3265"\n"\
3266"\n"\
3267"#ifdef\t__cplusplus\n"\
3268"#undef\tae2f_stdcc_v\n"\
3269"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
3270"#else\n"\
3271"\n"\
3272"#undef\tae2f_stdcc_v\n"\
3273"#define\tae2f_stdcc_v\t(199711L)\n"\
3274"\n"\
3275"#if __ae2f_lvcheck_cc(2011)\n"\
3276"#undef\tae2f_stdcc_v\n"\
3277"#define\tae2f_stdcc_v\t(201103L)\n"\
3278"#endif\n"\
3279"\n"\
3280"#if __ae2f_lvcheck_cc(2014)\n"\
3281"#undef\tae2f_stdcc_v\n"\
3282"#define\tae2f_stdcc_v\t(201402L)\n"\
3283"#endif\n"\
3284"\n"\
3285"#if __ae2f_lvcheck_cc(2017)\n"\
3286"#undef\tae2f_stdcc_v\n"\
3287"#define\tae2f_stdcc_v\t(201703L)\n"\
3288"#endif\n"\
3289"\n"\
3290"#if __ae2f_lvcheck_cc(2020)\n"\
3291"#undef\tae2f_stdcc_v\n"\
3292"#define\tae2f_stdcc_v\t(202002L)\n"\
3293"#endif\n"\
3294"\n"\
3295"#if __ae2f_lvcheck_cc(2023)\n"\
3296"#undef\tae2f_stdcc_v\n"\
3297"#define\tae2f_stdcc_v\t(202302L)\n"\
3298"#endif\n"\
3299"\n"\
3300"#endif\n"\
3301"\n"\
3302"#ifdef\t__STDC_VERSION__\n"\
3303"#undef\tae2f_stdc_v\n"\
3304"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
3305"#else\n"\
3306"\n"\
3307"#undef\tae2f_stdc_v\n"\
3308"#define ae2f_stdc_v\t(199001L)\n"\
3309"\n"\
3310"#if __ae2f_lvcheck_c(1999)\n"\
3311"#undef\tae2f_stdc_v\n"\
3312"#define ae2f_stdc_v\t(199901L)\n"\
3313"#endif\n"\
3314"\n"\
3315"#if __ae2f_lvcheck_c(2011)\n"\
3316"#undef\tae2f_stdc_v\n"\
3317"#define ae2f_stdc_v\t(201112L)\n"\
3318"#endif\n"\
3319"\n"\
3320"#if __ae2f_lvcheck_c(2017)\n"\
3321"#undef\tae2f_stdc_v\n"\
3322"#define ae2f_stdc_v\t(201710L)\n"\
3323"#endif\n"\
3324"\n"\
3325"#if __ae2f_lvcheck_c(2023)\n"\
3326"#undef\tae2f_stdc_v\n"\
3327"#define ae2f_stdc_v\t(202311L)\n"\
3328"#endif\n"\
3329"\n"\
3330"#endif\n"\
3331"\n"\
3332"#undef\t__ae2f_stdcheck_C\n"\
3333"#undef\t__ae2f_stdcheck_CC\n"\
3334"\n"\
3335"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
3336"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
3337"/** One eof gracefully */ \\\n"\
3338"\n"\
3339"\n"\
3340"#if __ae2f_stdcheck_CC(201703L)\n"\
3341"#define if_constexpr if constexpr\n"\
3342"#else\n"\
3343"#define if_constexpr if\n"\
3344"#endif\n"\
3345"\n"\
3346"#if __ae2f_stdcheck_CC(202002L)\n"\
3347"#define if_consteval if consteval\n"\
3348"#else\n"\
3349"#define if_consteval if (0)\n"\
3350"#endif\n"\
3351"\n"\
3352"#if __ae2f_stdcheck_CC(202002L)\n"\
3353"#define constexprvirtual constexpr virtual\n"\
3354"/** constinit */\n"\
3355"#else\n"\
3356"#define constexprvirtual virtual\n"\
3357"#define constinit\t/* not available */\n"\
3358"#endif /* C++20 */\n"\
3359"\n"\
3360"#if __ae2f_stdcheck_CC(201402L)\n"\
3361"#define constextendedfun\tconstexpr\n"\
3362"#define constextendedeval \tconstexpr\n"\
3363"\n"\
3364"#define constextendedmethod\tconstexpr\n"\
3365"#define constextendedmethodeval\tconstexpr\n"\
3366"\n"\
3367"#else\n"\
3368"#define constextendedfun\tinline\n"\
3369"#define constextendedmethod\tinline\n"\
3370"\n"\
3371"#define constextendedeval\tinline\n"\
3372"#define constextendedmethodeval\tinline\n"\
3373"#endif // C++14\n"\
3374"\n"\
3375"#if __ae2f_stdcheck_CC(201103L)\n"\
3376"#define constexprmethod\t\tconstexpr\n"\
3377"#define constexprfun\t\tconstexpr\n"\
3378"#define constevalmethod\t\tconstexpr\n"\
3379"\n"\
3380"#else\n"\
3381"#define constexprmethod\t\tinline\n"\
3382"#define constexprfun\t\tinline\n"\
3383"#define constevalmethod\t\tinline\n"\
3384"#define virtual\n"\
3385"\n"\
3386"#if !defined(__cplusplus) /* C */\n"\
3387"\n"\
3388"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
3389"/** cosntexpr variable */\n"\
3390"#else\n"\
3391"#define constexpr\n"\
3392"#endif /* C23 */\n"\
3393"\n"\
3394"\n"\
3395"#endif /* C */\n"\
3396"\n"\
3397"#endif // C++11\n"\
3398"\n"\
3399"#if __ae2f_stdcheck_CC(202002L)\n"\
3400"#undef constevalmethod\n"\
3401"#define constevalmethod consteval /* C++20 */\n"\
3402"#elif __ae2f_stdcheck_CC(0)\n"\
3403"\n"\
3404"#undef constevalmethod\n"\
3405"/// @brief\n"\
3406"/// C++ keyword for constant-time functions.\n"\
3407"#define consteval\n"\
3408"#define constevalmethod constexprmethod\n"\
3409"\n"\
3410"#else\n"\
3411"\n"\
3412"#define consteval\n"\
3413"#endif // C++20\n"\
3414"\n"\
3415"#endif\n"\
3416"/** One eof gracefully */ \\\n"\
3417"\n"\
3418"\n"\
3419"/// @brief\n"\
3420"/// C++ union definition for @ref ae2f_union_cast\n"\
3421"/// @tparam t\n"\
3422"/// @tparam k\n"\
3423"/// @see\n"\
3424"/// @ref ae2f_union_cast\n"\
3425"template <typename t, typename k> union ae2f_UnionCaster {\n"\
3426" t a;\n"\
3427" k b;\n"\
3428" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
3429" constexprmethod k _b() const { return b; }\n"\
3430"};\n"\
3431"\n"\
3432"#endif\n"\
3433"/** One eof gracefully */ \\\n"\
3434"\n"\
3435"/** include detected */ \\\n"\
3436"/** Path cursor */ \\\n"\
3437"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3438"/** first fp: 0x559c5e313ed0 */ \\\n"\
3439"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3440"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
3441"/** Found something. Now let\'s validate. */ \\\n"\
3442"/** It\'s not repeating */ \\\n"\
3443"/******************** */\\\n"\
3444"/* Now the path will be: */ \\\n"\
3445" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3446"/**\n"\
3447"\n"\
3448" * @file consteval.hpp\n"\
3449" * @author ae2f\n"\
3450" * @brief\n"\
3451" * @date 2025-02-01\n"\
3452" *\n"\
3453"\n"\
3454" * @copyright Copyright (c) 2025\n"\
3455" *\n"\
3456"\n"\
3457" */\n"\
3458"#ifndef ae2f_Cast_consteval_hpp\n"\
3459"#define ae2f_Cast_consteval_hpp\n"\
3460"/** include detected */ \\\n"\
3461"/** Path cursor */ \\\n"\
3462"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3463"/** first fp: 0x559c5e3150c0 */ \\\n"\
3464"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3465"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
3466"/** Found something. Now let\'s validate. */ \\\n"\
3467"/** It\'s not repeating */ \\\n"\
3468"/******************** */\\\n"\
3469"/* Now the path will be: */ \\\n"\
3470" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3471"/** include detected */ \\\n"\
3472"/** Path cursor */ \\\n"\
3473"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3474"/** first fp: 0x559c5e3162b0 */ \\\n"\
3475"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3476"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
3477"/** Found something. Now let\'s validate. */ \\\n"\
3478"/** It\'s not repeating */ \\\n"\
3479"/******************** */\\\n"\
3480"/* Now the path will be: */ \\\n"\
3481" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3482"#if 90 >= 50\n"\
3483"#define ae2f_LangVer_C 1990\n"\
3484"#else\n"\
3485"#define ae2f_LangVer_C 2090\n"\
3486"#endif\n"\
3487"\n"\
3488"#if 11 >= 50\n"\
3489"#define ae2f_LangVer_CC 1911\n"\
3490"#else\n"\
3491"#define ae2f_LangVer_CC 2011\n"\
3492"#endif\n"\
3493"\n"\
3494"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3495"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3496"/** One eof gracefully */ \\\n"\
3497"\n"\
3498"\n"\
3499"#ifdef\t__cplusplus\n"\
3500"#undef\tae2f_stdcc_v\n"\
3501"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
3502"#else\n"\
3503"\n"\
3504"#undef\tae2f_stdcc_v\n"\
3505"#define\tae2f_stdcc_v\t(199711L)\n"\
3506"\n"\
3507"#if __ae2f_lvcheck_cc(2011)\n"\
3508"#undef\tae2f_stdcc_v\n"\
3509"#define\tae2f_stdcc_v\t(201103L)\n"\
3510"#endif\n"\
3511"\n"\
3512"#if __ae2f_lvcheck_cc(2014)\n"\
3513"#undef\tae2f_stdcc_v\n"\
3514"#define\tae2f_stdcc_v\t(201402L)\n"\
3515"#endif\n"\
3516"\n"\
3517"#if __ae2f_lvcheck_cc(2017)\n"\
3518"#undef\tae2f_stdcc_v\n"\
3519"#define\tae2f_stdcc_v\t(201703L)\n"\
3520"#endif\n"\
3521"\n"\
3522"#if __ae2f_lvcheck_cc(2020)\n"\
3523"#undef\tae2f_stdcc_v\n"\
3524"#define\tae2f_stdcc_v\t(202002L)\n"\
3525"#endif\n"\
3526"\n"\
3527"#if __ae2f_lvcheck_cc(2023)\n"\
3528"#undef\tae2f_stdcc_v\n"\
3529"#define\tae2f_stdcc_v\t(202302L)\n"\
3530"#endif\n"\
3531"\n"\
3532"#endif\n"\
3533"\n"\
3534"#ifdef\t__STDC_VERSION__\n"\
3535"#undef\tae2f_stdc_v\n"\
3536"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
3537"#else\n"\
3538"\n"\
3539"#undef\tae2f_stdc_v\n"\
3540"#define ae2f_stdc_v\t(199001L)\n"\
3541"\n"\
3542"#if __ae2f_lvcheck_c(1999)\n"\
3543"#undef\tae2f_stdc_v\n"\
3544"#define ae2f_stdc_v\t(199901L)\n"\
3545"#endif\n"\
3546"\n"\
3547"#if __ae2f_lvcheck_c(2011)\n"\
3548"#undef\tae2f_stdc_v\n"\
3549"#define ae2f_stdc_v\t(201112L)\n"\
3550"#endif\n"\
3551"\n"\
3552"#if __ae2f_lvcheck_c(2017)\n"\
3553"#undef\tae2f_stdc_v\n"\
3554"#define ae2f_stdc_v\t(201710L)\n"\
3555"#endif\n"\
3556"\n"\
3557"#if __ae2f_lvcheck_c(2023)\n"\
3558"#undef\tae2f_stdc_v\n"\
3559"#define ae2f_stdc_v\t(202311L)\n"\
3560"#endif\n"\
3561"\n"\
3562"#endif\n"\
3563"\n"\
3564"#undef\t__ae2f_stdcheck_C\n"\
3565"#undef\t__ae2f_stdcheck_CC\n"\
3566"\n"\
3567"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
3568"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
3569"/** One eof gracefully */ \\\n"\
3570"\n"\
3571"\n"\
3572"#if __ae2f_stdcheck_CC(201703L)\n"\
3573"#define if_constexpr if constexpr\n"\
3574"#else\n"\
3575"#define if_constexpr if\n"\
3576"#endif\n"\
3577"\n"\
3578"#if __ae2f_stdcheck_CC(202002L)\n"\
3579"#define if_consteval if consteval\n"\
3580"#else\n"\
3581"#define if_consteval if (0)\n"\
3582"#endif\n"\
3583"\n"\
3584"#if __ae2f_stdcheck_CC(202002L)\n"\
3585"#define constexprvirtual constexpr virtual\n"\
3586"/** constinit */\n"\
3587"#else\n"\
3588"#define constexprvirtual virtual\n"\
3589"#define constinit\t/* not available */\n"\
3590"#endif /* C++20 */\n"\
3591"\n"\
3592"#if __ae2f_stdcheck_CC(201402L)\n"\
3593"#define constextendedfun\tconstexpr\n"\
3594"#define constextendedeval \tconstexpr\n"\
3595"\n"\
3596"#define constextendedmethod\tconstexpr\n"\
3597"#define constextendedmethodeval\tconstexpr\n"\
3598"\n"\
3599"#else\n"\
3600"#define constextendedfun\tinline\n"\
3601"#define constextendedmethod\tinline\n"\
3602"\n"\
3603"#define constextendedeval\tinline\n"\
3604"#define constextendedmethodeval\tinline\n"\
3605"#endif // C++14\n"\
3606"\n"\
3607"#if __ae2f_stdcheck_CC(201103L)\n"\
3608"#define constexprmethod\t\tconstexpr\n"\
3609"#define constexprfun\t\tconstexpr\n"\
3610"#define constevalmethod\t\tconstexpr\n"\
3611"\n"\
3612"#else\n"\
3613"#define constexprmethod\t\tinline\n"\
3614"#define constexprfun\t\tinline\n"\
3615"#define constevalmethod\t\tinline\n"\
3616"#define virtual\n"\
3617"\n"\
3618"#if !defined(__cplusplus) /* C */\n"\
3619"\n"\
3620"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
3621"/** cosntexpr variable */\n"\
3622"#else\n"\
3623"#define constexpr\n"\
3624"#endif /* C23 */\n"\
3625"\n"\
3626"\n"\
3627"#endif /* C */\n"\
3628"\n"\
3629"#endif // C++11\n"\
3630"\n"\
3631"#if __ae2f_stdcheck_CC(202002L)\n"\
3632"#undef constevalmethod\n"\
3633"#define constevalmethod consteval /* C++20 */\n"\
3634"#elif __ae2f_stdcheck_CC(0)\n"\
3635"\n"\
3636"#undef constevalmethod\n"\
3637"/// @brief\n"\
3638"/// C++ keyword for constant-time functions.\n"\
3639"#define consteval\n"\
3640"#define constevalmethod constexprmethod\n"\
3641"\n"\
3642"#else\n"\
3643"\n"\
3644"#define consteval\n"\
3645"#endif // C++20\n"\
3646"\n"\
3647"#endif\n"\
3648"/** One eof gracefully */ \\\n"\
3649"\n"\
3650"/** include detected */ \\\n"\
3651"/** Path cursor */ \\\n"\
3652"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3653"/** first fp: 0x559c5e313ed0 */ \\\n"\
3654"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3655"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3656"/** Found something. Now let\'s validate. */ \\\n"\
3657"/** It\'s not repeating */ \\\n"\
3658"/******************** */\\\n"\
3659"/* Now the path will be: */ \\\n"\
3660" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3661"#if 90 >= 50\n"\
3662"#define ae2f_LangVer_C 1990\n"\
3663"#else\n"\
3664"#define ae2f_LangVer_C 2090\n"\
3665"#endif\n"\
3666"\n"\
3667"#if 11 >= 50\n"\
3668"#define ae2f_LangVer_CC 1911\n"\
3669"#else\n"\
3670"#define ae2f_LangVer_CC 2011\n"\
3671"#endif\n"\
3672"\n"\
3673"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3674"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3675"/** One eof gracefully */ \\\n"\
3676"\n"\
3677"/** include detected */ \\\n"\
3678"/** Path cursor */ \\\n"\
3679"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3680"/** first fp: 0x559c5e313ed0 */ \\\n"\
3681"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3682"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3683"/** Found something. Now let\'s validate. */ \\\n"\
3684"/** It\'s not repeating */ \\\n"\
3685"/******************** */\\\n"\
3686"/* Now the path will be: */ \\\n"\
3687" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3688"/**\n"\
3689"\n"\
3690" * @file Cxx.h\n"\
3691" * @author ae2f\n"\
3692" * @brief \n"\
3693" * @date 2025-02-01\n"\
3694" * \n"\
3695" * @copyright Copyright (c) 2025\n"\
3696" * \n"\
3697" */\n"\
3698"\n"\
3699"/// @brief\n"\
3700"/// Literally nothing.\n"\
3701"#define ae2f_NONE\n"\
3702"\n"\
3703"#if __cplusplus\n"\
3704"\n"\
3705"/// @def ae2f_WhenCXX \n"\
3706"/// @brief\n"\
3707"/// Appears when the current language is C++.\n"\
3708"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3709"\n"\
3710"/// @brief\n"\
3711"/// Appears when the current language is C.\n"\
3712"#define ae2f_WhenC(...) ae2f_NONE\n"\
3713"\n"\
3714"#else\n"\
3715"\n"\
3716"/// @brief\n"\
3717"/// Appears when the current language is C++.\n"\
3718"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3719"\n"\
3720"/// @brief\n"\
3721"/// Appears when the current language is C.\n"\
3722"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3723"\n"\
3724"#endif\n"\
3725"\n"\
3726"/// @brief\n"\
3727"/// \n"\
3728"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3729"\n"\
3730"/// @brief\n"\
3731"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
3732"/// \n"\
3733"/// For alter, see @ref ae2f_cxx_check\n"\
3734"#define ae2f_c_check && !ae2f_is_cxx\n"\
3735"\n"\
3736"/// @brief\n"\
3737"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
3738"/// \n"\
3739"/// For alter, see @ref ae2f_c_check\n"\
3740"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
3741"\n"\
3742"/** include detected */ \\\n"\
3743"/** Path cursor */ \\\n"\
3744"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
3745"/** first fp: (nil) */ \\\n"\
3746"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
3747"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
3748"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
3749"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
3750"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
3751"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
3752"/** Failed but ignoring it. */ \\\n"\
3753"\n"\
3754"/** include detected */ \\\n"\
3755"/** Path cursor */ \\\n"\
3756"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
3757"/** first fp: (nil) */ \\\n"\
3758"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
3759"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
3760"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
3761"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
3762"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
3763"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
3764"/** Failed but ignoring it. */ \\\n"\
3765"\n"\
3766"/** include detected */ \\\n"\
3767"/** Path cursor */ \\\n"\
3768"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3769"/** first fp: 0x559c5e313ed0 */ \\\n"\
3770"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3771"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3772"/** Found something. Now let\'s validate. */ \\\n"\
3773"/** It\'s not repeating */ \\\n"\
3774"/******************** */\\\n"\
3775"/* Now the path will be: */ \\\n"\
3776" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3777"/**\n"\
3778"\n"\
3779" * @file ae2f/Guide.h\n"\
3780" * @brief\n"\
3781" * Guide markers for conventions.\n"\
3782" * */\n"\
3783"#undef ae2f_LP\n"\
3784"#undef ae2f_NONE\n"\
3785"#undef ae2f_opt\n"\
3786"\n"\
3787"/** @def ae2f_NONE @brief nothing. */\n"\
3788"#define ae2f_NONE\n"\
3789"\n"\
3790"/** \n"\
3791" * @def ae2f_LP\n"\
3792" *\n"\
3793"\n"\
3794" * @brief \n"\
3795" * Desired count required. \n"\
3796" * \n"\
3797" * @param ...\n"\
3798" * Parameter with this preprocessor means \\n\n"\
3799" * the pointer is considered as list, and inside of this is a desired size.\n"\
3800" * */\n"\
3801"#define\tae2f_LP(...) ae2f_NONE\n"\
3802"\n"\
3803"/** @def ae2f_opt @brief Optional. */\n"\
3804"#define ae2f_opt ae2f_NONE\n"\
3805"\n"\
3806"/** \n"\
3807" * @def ae2f_FREE \n"\
3808" * @brief Use this marker to show the desired functions\n"\
3809" * \tto effectively free the resources.\n"\
3810" * */\n"\
3811"#define ae2f_FREE(...) ae2f_NONE\n"\
3812"\n"\
3813"/** @brief l_value. */\n"\
3814"#define ae2f_v ae2f_NONE\n"\
3815"/** One eof gracefully */ \\\n"\
3816"\n"\
3817"\n"\
3818"/// @brief\n"\
3819"/// Initialiser for trivial structures / classes.\n"\
3820"#define ae2f_RecordMk(type, ...) \\\n"\
3821" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
3822"\n"\
3823"/// @brief\n"\
3824"/// # static_cast\n"\
3825"#define ae2f_static_cast(t, v) \\\n"\
3826" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
3827"\n"\
3828"/// @brief\n"\
3829"/// # dynamic_cast\n"\
3830"#define ae2f_dynamic_cast(t, v) \\\n"\
3831" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
3832"\n"\
3833"/// @brief\n"\
3834"/// # reinterpret_cast\n"\
3835"#define ae2f_reinterpret_cast(t, v) \\\n"\
3836" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
3837"\n"\
3838"/// @brief\n"\
3839"/// # const_cast\n"\
3840"#define ae2f_const_cast(t, v) \\\n"\
3841" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
3842"\n"\
3843"/// @brief\n"\
3844"/// Makes a union that reads a memory in two methods. \\n\n"\
3845"/// `tThen` -> `tNow`\n"\
3846"/// @tparam tThen\n"\
3847"/// The existing data\'s type as input.\n"\
3848"///\n"\
3849"/// @tparam tNow\n"\
3850"/// Wanted output datatype for casting.\n"\
3851"///\n"\
3852"/// @param v\n"\
3853"/// Input value\n"\
3854"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
3855" ae2f_WhenC((union { \\\n"\
3856" tThen a; \\\n"\
3857" tNow b; \\\n"\
3858" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
3859" ._b()\n"\
3860"\n"\
3861"/// @brief\n"\
3862"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
3863"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
3864"///\n"\
3865"/// This keyword resolves the difference of the rules of two.\n"\
3866"#define ae2f_struct ae2f_WhenC(struct)\n"\
3867"\n"\
3868"/// @brief\n"\
3869"/// Suggests the existence of external variable or function, in naming of C.\n"\
3870"/// [non-mangling]\n"\
3871"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
3872"\n"\
3873"/// @brief\n"\
3874"/// Class\n"\
3875"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
3876"\n"\
3877"/// @brief\n"\
3878"/// Makes the global variable in naming of C. [non-mangling]\n"\
3879"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
3880"\n"\
3881"/// @brief\n"\
3882"/// Function definitions\n"\
3883"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
3884"\n"\
3885"/** @brief Invokes when condition is `false`. */\n"\
3886"#define unless(...) if (!(__VA_ARGS__))\n"\
3887"\n"\
3888"#define ae2f_structdef_v(key, name, ...) \\\n"\
3889" typedef key name __VA_ARGS__; \\\n"\
3890" key name\n"\
3891"\n"\
3892"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
3893"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
3894"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
3895"\n"\
3896"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
3897"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
3898"\n"\
3899"/**\n"\
3900"\n"\
3901" * @brief\n"\
3902" * Make two pair of function as [eval] and [expr]. \\n\n"\
3903" * [expr] will just call [eval]. \\n\n"\
3904" * You will implement the body of [eval].\n"\
3905" *\n"\
3906"\n"\
3907" * Following is an use case.\n"\
3908" * @code\n"\
3909" * ae2f_evaldef(\n"\
3910"\t\ttemplate<int a>, <0>\n"\
3911"\t\t, consteval, constexprfun\n"\
3912"\t\t, int, Hello, _Hello, char v, v) \n"\
3913"\t\t{ return v; }\n"\
3914" * */\n"\
3915"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
3916"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
3917"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
3918"\t\treturn nameeval tmpluse (prmuse); \\\n"\
3919"\t} \\\n"\
3920"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
3921"\n"\
3922"#if !__ae2f_stdcheck_CC(201103L)\n"\
3923"#undef\tnoexcept\n"\
3924"#define noexcept\n"\
3925"#endif\n"\
3926"\n"\
3927"\n"\
3928"#undef\trestrict /** First declaration */\n"\
3929"#if ae2f_stdc_v < 199901L\n"\
3930"#undef\trestrict\n"\
3931"#define restrict\n"\
3932"#endif // C>=99\n"\
3933"\n"\
3934"#if __cplusplus\n"\
3935"#undef\trestrict\n"\
3936"#define restrict\n"\
3937"#endif // C++\n"\
3938"\n"\
3939"#if !__ae2f_stdcheck_CC(201103L)\n"\
3940"/// @brief\n"\
3941"/// Means that there will be no exception thrown written in code.\n"\
3942"#define noexcept\n"\
3943"#define constexpr\n"\
3944"#endif /* C++<=11 */\n"\
3945"\n"\
3946"#if ae2f_WhenC(!)0\n"\
3947"#undef noexcept\n"\
3948"#define noexcept\n"\
3949"#endif\n"\
3950"\n"\
3951"#endif\n"\
3952"/** One eof gracefully */ \\\n"\
3953"\n"\
3954"/** include detected */ \\\n"\
3955"/** Path cursor */ \\\n"\
3956"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Call.h */ \\\n"\
3957"/** first fp: (nil) */ \\\n"\
3958"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
3959"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
3960"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
3961"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
3962"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
3963"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
3964"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3965"/** Found something. Now let\'s validate. */ \\\n"\
3966"/** It\'s not repeating */ \\\n"\
3967"/******************** */\\\n"\
3968"/* Now the path will be: */ \\\n"\
3969" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
3970"/**\n"\
3971"\n"\
3972" * @file Call.h\n"\
3973" * @author ae2f\n"\
3974" * @brief \n"\
3975" * @date 2025-02-01\n"\
3976" * \n"\
3977" * @copyright Copyright (c) 2025\n"\
3978" * \n"\
3979" */\n"\
3980"\n"\
3981"#ifndef ae2f_Call_h\n"\
3982"#define ae2f_Call_h\n"\
3983"\n"\
3984"/** include detected */ \\\n"\
3985"/** Path cursor */ \\\n"\
3986"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
3987"/** first fp: 0x559c5e313ed0 */ \\\n"\
3988"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
3989"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3990"/** Found something. Now let\'s validate. */ \\\n"\
3991"/** It\'s not repeating */ \\\n"\
3992"/******************** */\\\n"\
3993"/* Now the path will be: */ \\\n"\
3994" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
3995"#define ON 1\n"\
3996"#define OFF 0\n"\
3997"\n"\
3998"#if (defined(_WIN32) || defined(_WIN64))\n"\
3999"#define ae2f_IS_WIN 1\n"\
4000"#else \n"\
4001"#define ae2f_IS_WIN 0\n"\
4002"#endif\n"\
4003"\n"\
4004"#if (defined(__linux__))\n"\
4005"#define ae2f_IS_LINUX 1\n"\
4006"#else \n"\
4007"#define ae2f_IS_LINUX 0\n"\
4008"#endif\n"\
4009"\n"\
4010"#if defined(__MACH__) || defined(__APPLE__)\n"\
4011"#define ae2f_IS_APPLE 1\n"\
4012"#else\n"\
4013"#define ae2f_IS_APPLE 0\n"\
4014"#endif\n"\
4015"\n"\
4016"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
4017"/** PLATFORM NOT SPECIFIED. */\n"\
4018"\n"\
4019"/**** @brief UNSPECIFIED */\n"\
4020"#define ae2f_IDK 1\n"\
4021"#else\n"\
4022"/**** @brief UNSPECIFIED */\n"\
4023"#define ae2f_IDK 0\n"\
4024"#endif\n"\
4025"/** One eof gracefully */ \\\n"\
4026"\n"\
4027"/** include detected */ \\\n"\
4028"/** Path cursor */ \\\n"\
4029"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4030"/** first fp: 0x559c5e313ed0 */ \\\n"\
4031"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4032"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4033"/** Found something. Now let\'s validate. */ \\\n"\
4034"/** It\'s not repeating */ \\\n"\
4035"/******************** */\\\n"\
4036"/* Now the path will be: */ \\\n"\
4037" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4038"/**\n"\
4039"\n"\
4040" * @file Call.h\n"\
4041" * @author ae2f\n"\
4042" * @brief \n"\
4043" * @date 2025-02-01\n"\
4044" * \n"\
4045" * @copyright Copyright (c) 2025\n"\
4046" * \n"\
4047" */\n"\
4048"\n"\
4049"/** @brief Is a library shared */\n"\
4050"#define ae2f_IS_SHARED ON\n"\
4051"/** One eof gracefully */ \\\n"\
4052"\n"\
4053"\n"\
4054"#if ae2f_IS_SHARED\n"\
4055"\n"\
4056"#if ae2f_IS_WIN\n"\
4057"/// @brief\n"\
4058"/// # For Windows\n"\
4059"/// \n"\
4060"/// shared function imp\n"\
4061"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
4062"\n"\
4063"/// @brief\n"\
4064"/// # For Windows\n"\
4065"/// \n"\
4066"/// Function api call\n"\
4067"#define ae2f_SHAREDCALL \n"\
4068"#endif\n"\
4069"\n"\
4070"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
4071"/// @brief\n"\
4072"/// # For Linux, gcc based.\n"\
4073"/// \n"\
4074"/// shared function imp\n"\
4075"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
4076"\n"\
4077"/// @brief\n"\
4078"/// # For Linux, gcc based.\n"\
4079"///\n"\
4080"/// Function api call\n"\
4081"#define ae2f_SHAREDCALL\n"\
4082"#endif\n"\
4083"\n"\
4084"\n"\
4085"\n"\
4086"#else\n"\
4087"\n"\
4088"/// @brief\n"\
4089"/// # It is no shared library.\n"\
4090"/// \n"\
4091"/// shared function imp\n"\
4092"#define ae2f_SHAREDEXPORT\n"\
4093"/// @brief \n"\
4094"/// # It is no shared library.\n"\
4095"///\n"\
4096"/// Function api call\n"\
4097"#define ae2f_SHAREDCALL\n"\
4098"#endif\n"\
4099"\n"\
4100"#endif\n"\
4101"/** One eof gracefully */ \\\n"\
4102"\n"\
4103"/** include detected */ \\\n"\
4104"/** Path cursor */ \\\n"\
4105"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Macro.h */ \\\n"\
4106"/** first fp: (nil) */ \\\n"\
4107"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Macro.h */ \\\n"\
4108"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Macro.h */ \\\n"\
4109"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
4110"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
4111"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Macro.h */ \\\n"\
4112"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clae2f/Macro.h */ \\\n"\
4113"/** Failed but ignoring it. */ \\\n"\
4114"\n"\
4115"/** include detected */ \\\n"\
4116"/** Path cursor */ \\\n"\
4117"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Guide.h */ \\\n"\
4118"/** first fp: (nil) */ \\\n"\
4119"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Guide.h */ \\\n"\
4120"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Guide.h */ \\\n"\
4121"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
4122"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
4123"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4124"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4125"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4126"/** Found something. Now let\'s validate. */ \\\n"\
4127"/** It\'s not repeating */ \\\n"\
4128"/******************** */\\\n"\
4129"/* Now the path will be: */ \\\n"\
4130" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4131"/**\n"\
4132"\n"\
4133" * @file ae2f/Guide.h\n"\
4134" * @brief\n"\
4135" * Guide markers for conventions.\n"\
4136" * */\n"\
4137"#undef ae2f_LP\n"\
4138"#undef ae2f_NONE\n"\
4139"#undef ae2f_opt\n"\
4140"\n"\
4141"/** @def ae2f_NONE @brief nothing. */\n"\
4142"#define ae2f_NONE\n"\
4143"\n"\
4144"/** \n"\
4145" * @def ae2f_LP\n"\
4146" *\n"\
4147"\n"\
4148" * @brief \n"\
4149" * Desired count required. \n"\
4150" * \n"\
4151" * @param ...\n"\
4152" * Parameter with this preprocessor means \\n\n"\
4153" * the pointer is considered as list, and inside of this is a desired size.\n"\
4154" * */\n"\
4155"#define\tae2f_LP(...) ae2f_NONE\n"\
4156"\n"\
4157"/** @def ae2f_opt @brief Optional. */\n"\
4158"#define ae2f_opt ae2f_NONE\n"\
4159"\n"\
4160"/** \n"\
4161" * @def ae2f_FREE \n"\
4162" * @brief Use this marker to show the desired functions\n"\
4163" * \tto effectively free the resources.\n"\
4164" * */\n"\
4165"#define ae2f_FREE(...) ae2f_NONE\n"\
4166"\n"\
4167"/** @brief l_value. */\n"\
4168"#define ae2f_v ae2f_NONE\n"\
4169"/** One eof gracefully */ \\\n"\
4170"\n"\
4171"\n"\
4172"/** include detected */ \\\n"\
4173"/** Path cursor */ \\\n"\
4174"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Act.h */ \\\n"\
4175"/** first fp: (nil) */ \\\n"\
4176"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4177"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4178"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
4179"/** Found something. Now let\'s validate. */ \\\n"\
4180"/** It\'s not repeating */ \\\n"\
4181"/******************** */\\\n"\
4182"/* Now the path will be: */ \\\n"\
4183" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4184"/**\n"\
4185"\n"\
4186" * @file vAct.h\n"\
4187" * @author ae2f\n"\
4188" * @brief \n"\
4189" * @version 0.1\n"\
4190" * @date 2025-02-13\n"\
4191" * \n"\
4192" * @copyright Copyright (c) 2025\n"\
4193" * \n"\
4194" */\n"\
4195"\n"\
4196"#ifndef ae2fCL_AnnAct_h\n"\
4197"#define ae2fCL_AnnAct_h\n"\
4198"\n"\
4199"/** include detected */ \\\n"\
4200"/** Path cursor */ \\\n"\
4201"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stddef.h */ \\\n"\
4202"/** first fp: (nil) */ \\\n"\
4203"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
4204"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
4205"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
4206"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
4207"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
4208"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
4209"/** Failed but ignoring it. */ \\\n"\
4210"\n"\
4211"/** include detected */ \\\n"\
4212"/** Path cursor */ \\\n"\
4213"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
4214"/** first fp: (nil) */ \\\n"\
4215"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
4216"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
4217"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
4218"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
4219"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4220"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4221"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4222"/** Found something. Now let\'s validate. */ \\\n"\
4223"/** It\'s not repeating */ \\\n"\
4224"/******************** */\\\n"\
4225"/* Now the path will be: */ \\\n"\
4226" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4227"/**\n"\
4228"\n"\
4229" * @file Float.h\n"\
4230" * @brief\n"\
4231" * Here, float will be treated as bit vector with four attributes:\n"\
4232" *\n"\
4233"\n"\
4234" * sign: \\n\t\n"\
4235" * \t> Whether it has sign or not. \\n\n"\
4236" *\n"\
4237"\n"\
4238" * exp:\t\\n\n"\
4239" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
4240" * \t> Which is the exponent of the [frac]\n"\
4241" *\n"\
4242"\n"\
4243" * expbiasp: \\n\n"\
4244" * \t> Exponent bias in order to be considered as zero. \\n\n"\
4245" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
4246" *\n"\
4247"\n"\
4248" * \t> Here, the value of exponent bias is limited with following rules:\n"\
4249" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
4250" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
4251" *\n"\
4252"\n"\
4253" * frac: \\n\n"\
4254" * \t> The actual \"value\" for floating point.\n"\
4255" *\n"\
4256"\n"\
4257" * ==================\n"\
4258" *\n"\
4259"\n"\
4260" * Following is the expected structure as bit vector: \\n\n"\
4261" * [frac | exp | sign]\n"\
4262" * \n"\
4263" * Size of this will be calculated as: \\n\n"\
4264" * [sign] + [exp] + [frac]\n"\
4265" */\n"\
4266"\n"\
4267"#ifndef ae2f_Float_h\n"\
4268"#define ae2f_Float_h\n"\
4269"\n"\
4270"/** include detected */ \\\n"\
4271"/** Path cursor */ \\\n"\
4272"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4273"/** first fp: 0x559c5e3150c0 */ \\\n"\
4274"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4275"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4276"/** Found something. Now let\'s validate. */ \\\n"\
4277"/** It\'s not repeating */ \\\n"\
4278"/******************** */\\\n"\
4279"/* Now the path will be: */ \\\n"\
4280" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4281"/**\n"\
4282"\n"\
4283" * @file Float.h\n"\
4284" * @author ae2f\n"\
4285" * @brief \n"\
4286" * @date 2025-02-01\n"\
4287" * \n"\
4288" * @copyright Copyright (c) 2025\n"\
4289" * \n"\
4290" */\n"\
4291"#ifndef ae2f_float_h\n"\
4292"#define ae2f_float_h\n"\
4293"\n"\
4294"/// @brief \n"\
4295"/// Predefined floating point type.\n"\
4296"/// \n"\
4297"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
4298"#define ae2f_float float\n"\
4299"\n"\
4300"#endif \n"\
4301"/** One eof gracefully */ \\\n"\
4302"\n"\
4303"\n"\
4304"typedef ae2f_float ae2f_float_t;\n"\
4305"\n"\
4306"#endif\n"\
4307"/** One eof gracefully */ \\\n"\
4308"\n"\
4309"\n"\
4310"/// @brief Customisable activasion function type.\n"\
4311"typedef void ae2f_AnnAct_t (ae2f_float_t* ret, ae2f_float_t x);\n"\
4312"\n"\
4313"/// @brief\n"\
4314"/// Specify the way of calculating loss.\n"\
4315"/// \n"\
4316"/// This will be multiplied with learning rate, \\n\n"\
4317"/// and that value will be added to each weights field and bias.\n"\
4318"/// @param out Predicted value\n"\
4319"/// @param goal Expected value (wanted)\n"\
4320"/// @return Calculated loss.\n"\
4321"typedef void ae2f_AnnLoss_t (\n"\
4322"\t\tae2f_float_t*\t\tret,\n"\
4323"\t\tconst ae2f_float_t*\tout, \n"\
4324"\t\tconst ae2f_float_t* \tgoal,\n"\
4325"\t\tsize_t\t\t\tindex,\n"\
4326"\t\tsize_t\t\t\tcount\n"\
4327"\t\t);\n"\
4328"\n"\
4329"#endif\n"\
4330"/** One eof gracefully */ \\\n"\
4331"\n"\
4332"/** include detected */ \\\n"\
4333"/** Path cursor */ \\\n"\
4334"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Pack/Beg.h */ \\\n"\
4335"/** first fp: (nil) */ \\\n"\
4336"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
4337"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4338"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
4339"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
4340"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4341"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4342"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
4343"/** Found something. Now let\'s validate. */ \\\n"\
4344"/** It\'s not repeating */ \\\n"\
4345"/******************** */\\\n"\
4346"/* Now the path will be: */ \\\n"\
4347" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4348"/**\n"\
4349"\n"\
4350" * @file Beg.h\n"\
4351" * @author ae2f\n"\
4352" * @brief\n"\
4353" * @date 2025-02-01\n"\
4354" * \n"\
4355" * @copyright Copyright (c) 2025\n"\
4356" * \n"\
4357" */\n"\
4358"\n"\
4359"/** include detected */ \\\n"\
4360"/** Path cursor */ \\\n"\
4361"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4362"/** first fp: 0x559c5e313ed0 */ \\\n"\
4363"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4364"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
4365"/** Found something. Now let\'s validate. */ \\\n"\
4366"/** It\'s not repeating */ \\\n"\
4367"/******************** */\\\n"\
4368"/* Now the path will be: */ \\\n"\
4369" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4370"/**\n"\
4371"\n"\
4372" * @file Num.h\n"\
4373" * @author ae2f\n"\
4374" * @brief \n"\
4375" * @date 2025-02-01\n"\
4376" * \n"\
4377" * @copyright Copyright (c) 2025\n"\
4378" * \n"\
4379" */\n"\
4380"\n"\
4381"/// @brief\n"\
4382"/// Pre-defined structure packed byte count.\n"\
4383"/// \n"\
4384"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
4385"#define ae2f_PackCount 0\n"\
4386"/** One eof gracefully */ \\\n"\
4387"\n"\
4388"\n"\
4389"#if ae2f_PackCount\n"\
4390"#pragma pack(push, 0)\n"\
4391"#endif\n"\
4392"/** One eof gracefully */ \\\n"\
4393"\n"\
4394"/** include detected */ \\\n"\
4395"/** Path cursor */ \\\n"\
4396"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Util.h */ \\\n"\
4397"/** first fp: (nil) */ \\\n"\
4398"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4399"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4400"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
4401"/** Found something. Now let\'s validate. */ \\\n"\
4402"/** It\'s not repeating */ \\\n"\
4403"/******************** */\\\n"\
4404"/* Now the path will be: */ \\\n"\
4405" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4406"#ifndef ae2f_Ann_Util_h\n"\
4407"#define ae2f_Ann_Util_h\n"\
4408"\n"\
4409"/** include detected */ \\\n"\
4410"/** Path cursor */ \\\n"\
4411"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
4412"/** first fp: (nil) */ \\\n"\
4413"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
4414"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
4415"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
4416"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
4417"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4418"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4419"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4420"/** Found something. Now let\'s validate. */ \\\n"\
4421"/** It\'s not repeating */ \\\n"\
4422"/******************** */\\\n"\
4423"/* Now the path will be: */ \\\n"\
4424" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4425"/**\n"\
4426"\n"\
4427" * @file Cast.h\n"\
4428" * @author ae2f\n"\
4429" * @brief\n"\
4430" * @date 2025-02-01\n"\
4431" *\n"\
4432"\n"\
4433" * @copyright Copyright (c) 2025\n"\
4434" *\n"\
4435"\n"\
4436" */\n"\
4437"\n"\
4438"#if !defined(ae2f_Cast_h)\n"\
4439"\n"\
4440"/// @brief\n"\
4441"/// asdf\n"\
4442"#define ae2f_Cast_h\n"\
4443"\n"\
4444"/// @brief\n"\
4445"/// ANSI Code for clearing the console.\n"\
4446"/// Clearing all display, moving the cursor on the top.\n"\
4447"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
4448"\n"\
4449"/// @brief\n"\
4450"/// simply merge all text inside the round bracket, counting them as a single\n"\
4451"/// text block.\n"\
4452"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
4453"\n"\
4454"/** include detected */ \\\n"\
4455"/** Path cursor */ \\\n"\
4456"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4457"/** first fp: 0x559c5e3150c0 */ \\\n"\
4458"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4459"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
4460"/** Found something. Now let\'s validate. */ \\\n"\
4461"/** It\'s not repeating */ \\\n"\
4462"/******************** */\\\n"\
4463"/* Now the path will be: */ \\\n"\
4464" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4465"/**\n"\
4466"\n"\
4467" * @file CasterUnion.hpp\n"\
4468" * @author ae2f\n"\
4469" * @brief\n"\
4470" * @date 2025-02-01\n"\
4471" *\n"\
4472"\n"\
4473" * @copyright Copyright (c) 2025\n"\
4474" *\n"\
4475"\n"\
4476" */\n"\
4477"\n"\
4478"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
4479"#define ae2f_Cast_CasterUnion_hpp\n"\
4480"/** include detected */ \\\n"\
4481"/** Path cursor */ \\\n"\
4482"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4483"/** first fp: 0x559c5e3162b0 */ \\\n"\
4484"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4485"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
4486"/** Found something. Now let\'s validate. */ \\\n"\
4487"/** It\'s not repeating */ \\\n"\
4488"/******************** */\\\n"\
4489"/* Now the path will be: */ \\\n"\
4490" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4491"/**\n"\
4492"\n"\
4493" * @file consteval.hpp\n"\
4494" * @author ae2f\n"\
4495" * @brief\n"\
4496" * @date 2025-02-01\n"\
4497" *\n"\
4498"\n"\
4499" * @copyright Copyright (c) 2025\n"\
4500" *\n"\
4501"\n"\
4502" */\n"\
4503"#ifndef ae2f_Cast_consteval_hpp\n"\
4504"#define ae2f_Cast_consteval_hpp\n"\
4505"/** include detected */ \\\n"\
4506"/** Path cursor */ \\\n"\
4507"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4508"/** first fp: 0x559c5e3174a0 */ \\\n"\
4509"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4510"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
4511"/** Found something. Now let\'s validate. */ \\\n"\
4512"/** It\'s not repeating */ \\\n"\
4513"/******************** */\\\n"\
4514"/* Now the path will be: */ \\\n"\
4515" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4516"/** include detected */ \\\n"\
4517"/** Path cursor */ \\\n"\
4518"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4519"/** first fp: 0x559c5e318690 */ \\\n"\
4520"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4521"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
4522"/** Found something. Now let\'s validate. */ \\\n"\
4523"/** It\'s not repeating */ \\\n"\
4524"/******************** */\\\n"\
4525"/* Now the path will be: */ \\\n"\
4526" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4527"#if 90 >= 50\n"\
4528"#define ae2f_LangVer_C 1990\n"\
4529"#else\n"\
4530"#define ae2f_LangVer_C 2090\n"\
4531"#endif\n"\
4532"\n"\
4533"#if 11 >= 50\n"\
4534"#define ae2f_LangVer_CC 1911\n"\
4535"#else\n"\
4536"#define ae2f_LangVer_CC 2011\n"\
4537"#endif\n"\
4538"\n"\
4539"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4540"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4541"/** One eof gracefully */ \\\n"\
4542"\n"\
4543"\n"\
4544"#ifdef\t__cplusplus\n"\
4545"#undef\tae2f_stdcc_v\n"\
4546"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
4547"#else\n"\
4548"\n"\
4549"#undef\tae2f_stdcc_v\n"\
4550"#define\tae2f_stdcc_v\t(199711L)\n"\
4551"\n"\
4552"#if __ae2f_lvcheck_cc(2011)\n"\
4553"#undef\tae2f_stdcc_v\n"\
4554"#define\tae2f_stdcc_v\t(201103L)\n"\
4555"#endif\n"\
4556"\n"\
4557"#if __ae2f_lvcheck_cc(2014)\n"\
4558"#undef\tae2f_stdcc_v\n"\
4559"#define\tae2f_stdcc_v\t(201402L)\n"\
4560"#endif\n"\
4561"\n"\
4562"#if __ae2f_lvcheck_cc(2017)\n"\
4563"#undef\tae2f_stdcc_v\n"\
4564"#define\tae2f_stdcc_v\t(201703L)\n"\
4565"#endif\n"\
4566"\n"\
4567"#if __ae2f_lvcheck_cc(2020)\n"\
4568"#undef\tae2f_stdcc_v\n"\
4569"#define\tae2f_stdcc_v\t(202002L)\n"\
4570"#endif\n"\
4571"\n"\
4572"#if __ae2f_lvcheck_cc(2023)\n"\
4573"#undef\tae2f_stdcc_v\n"\
4574"#define\tae2f_stdcc_v\t(202302L)\n"\
4575"#endif\n"\
4576"\n"\
4577"#endif\n"\
4578"\n"\
4579"#ifdef\t__STDC_VERSION__\n"\
4580"#undef\tae2f_stdc_v\n"\
4581"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
4582"#else\n"\
4583"\n"\
4584"#undef\tae2f_stdc_v\n"\
4585"#define ae2f_stdc_v\t(199001L)\n"\
4586"\n"\
4587"#if __ae2f_lvcheck_c(1999)\n"\
4588"#undef\tae2f_stdc_v\n"\
4589"#define ae2f_stdc_v\t(199901L)\n"\
4590"#endif\n"\
4591"\n"\
4592"#if __ae2f_lvcheck_c(2011)\n"\
4593"#undef\tae2f_stdc_v\n"\
4594"#define ae2f_stdc_v\t(201112L)\n"\
4595"#endif\n"\
4596"\n"\
4597"#if __ae2f_lvcheck_c(2017)\n"\
4598"#undef\tae2f_stdc_v\n"\
4599"#define ae2f_stdc_v\t(201710L)\n"\
4600"#endif\n"\
4601"\n"\
4602"#if __ae2f_lvcheck_c(2023)\n"\
4603"#undef\tae2f_stdc_v\n"\
4604"#define ae2f_stdc_v\t(202311L)\n"\
4605"#endif\n"\
4606"\n"\
4607"#endif\n"\
4608"\n"\
4609"#undef\t__ae2f_stdcheck_C\n"\
4610"#undef\t__ae2f_stdcheck_CC\n"\
4611"\n"\
4612"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
4613"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
4614"/** One eof gracefully */ \\\n"\
4615"\n"\
4616"\n"\
4617"#if __ae2f_stdcheck_CC(201703L)\n"\
4618"#define if_constexpr if constexpr\n"\
4619"#else\n"\
4620"#define if_constexpr if\n"\
4621"#endif\n"\
4622"\n"\
4623"#if __ae2f_stdcheck_CC(202002L)\n"\
4624"#define if_consteval if consteval\n"\
4625"#else\n"\
4626"#define if_consteval if (0)\n"\
4627"#endif\n"\
4628"\n"\
4629"#if __ae2f_stdcheck_CC(202002L)\n"\
4630"#define constexprvirtual constexpr virtual\n"\
4631"/** constinit */\n"\
4632"#else\n"\
4633"#define constexprvirtual virtual\n"\
4634"#define constinit\t/* not available */\n"\
4635"#endif /* C++20 */\n"\
4636"\n"\
4637"#if __ae2f_stdcheck_CC(201402L)\n"\
4638"#define constextendedfun\tconstexpr\n"\
4639"#define constextendedeval \tconstexpr\n"\
4640"\n"\
4641"#define constextendedmethod\tconstexpr\n"\
4642"#define constextendedmethodeval\tconstexpr\n"\
4643"\n"\
4644"#else\n"\
4645"#define constextendedfun\tinline\n"\
4646"#define constextendedmethod\tinline\n"\
4647"\n"\
4648"#define constextendedeval\tinline\n"\
4649"#define constextendedmethodeval\tinline\n"\
4650"#endif // C++14\n"\
4651"\n"\
4652"#if __ae2f_stdcheck_CC(201103L)\n"\
4653"#define constexprmethod\t\tconstexpr\n"\
4654"#define constexprfun\t\tconstexpr\n"\
4655"#define constevalmethod\t\tconstexpr\n"\
4656"\n"\
4657"#else\n"\
4658"#define constexprmethod\t\tinline\n"\
4659"#define constexprfun\t\tinline\n"\
4660"#define constevalmethod\t\tinline\n"\
4661"#define virtual\n"\
4662"\n"\
4663"#if !defined(__cplusplus) /* C */\n"\
4664"\n"\
4665"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
4666"/** cosntexpr variable */\n"\
4667"#else\n"\
4668"#define constexpr\n"\
4669"#endif /* C23 */\n"\
4670"\n"\
4671"\n"\
4672"#endif /* C */\n"\
4673"\n"\
4674"#endif // C++11\n"\
4675"\n"\
4676"#if __ae2f_stdcheck_CC(202002L)\n"\
4677"#undef constevalmethod\n"\
4678"#define constevalmethod consteval /* C++20 */\n"\
4679"#elif __ae2f_stdcheck_CC(0)\n"\
4680"\n"\
4681"#undef constevalmethod\n"\
4682"/// @brief\n"\
4683"/// C++ keyword for constant-time functions.\n"\
4684"#define consteval\n"\
4685"#define constevalmethod constexprmethod\n"\
4686"\n"\
4687"#else\n"\
4688"\n"\
4689"#define consteval\n"\
4690"#endif // C++20\n"\
4691"\n"\
4692"#endif\n"\
4693"/** One eof gracefully */ \\\n"\
4694"\n"\
4695"\n"\
4696"/// @brief\n"\
4697"/// C++ union definition for @ref ae2f_union_cast\n"\
4698"/// @tparam t\n"\
4699"/// @tparam k\n"\
4700"/// @see\n"\
4701"/// @ref ae2f_union_cast\n"\
4702"template <typename t, typename k> union ae2f_UnionCaster {\n"\
4703" t a;\n"\
4704" k b;\n"\
4705" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
4706" constexprmethod k _b() const { return b; }\n"\
4707"};\n"\
4708"\n"\
4709"#endif\n"\
4710"/** One eof gracefully */ \\\n"\
4711"\n"\
4712"/** include detected */ \\\n"\
4713"/** Path cursor */ \\\n"\
4714"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4715"/** first fp: 0x559c5e3150c0 */ \\\n"\
4716"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4717"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
4718"/** Found something. Now let\'s validate. */ \\\n"\
4719"/** It\'s not repeating */ \\\n"\
4720"/******************** */\\\n"\
4721"/* Now the path will be: */ \\\n"\
4722" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4723"/**\n"\
4724"\n"\
4725" * @file consteval.hpp\n"\
4726" * @author ae2f\n"\
4727" * @brief\n"\
4728" * @date 2025-02-01\n"\
4729" *\n"\
4730"\n"\
4731" * @copyright Copyright (c) 2025\n"\
4732" *\n"\
4733"\n"\
4734" */\n"\
4735"#ifndef ae2f_Cast_consteval_hpp\n"\
4736"#define ae2f_Cast_consteval_hpp\n"\
4737"/** include detected */ \\\n"\
4738"/** Path cursor */ \\\n"\
4739"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4740"/** first fp: 0x559c5e3162b0 */ \\\n"\
4741"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4742"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
4743"/** Found something. Now let\'s validate. */ \\\n"\
4744"/** It\'s not repeating */ \\\n"\
4745"/******************** */\\\n"\
4746"/* Now the path will be: */ \\\n"\
4747" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4748"/** include detected */ \\\n"\
4749"/** Path cursor */ \\\n"\
4750"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4751"/** first fp: 0x559c5e3174a0 */ \\\n"\
4752"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4753"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
4754"/** Found something. Now let\'s validate. */ \\\n"\
4755"/** It\'s not repeating */ \\\n"\
4756"/******************** */\\\n"\
4757"/* Now the path will be: */ \\\n"\
4758" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4759"#if 90 >= 50\n"\
4760"#define ae2f_LangVer_C 1990\n"\
4761"#else\n"\
4762"#define ae2f_LangVer_C 2090\n"\
4763"#endif\n"\
4764"\n"\
4765"#if 11 >= 50\n"\
4766"#define ae2f_LangVer_CC 1911\n"\
4767"#else\n"\
4768"#define ae2f_LangVer_CC 2011\n"\
4769"#endif\n"\
4770"\n"\
4771"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4772"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4773"/** One eof gracefully */ \\\n"\
4774"\n"\
4775"\n"\
4776"#ifdef\t__cplusplus\n"\
4777"#undef\tae2f_stdcc_v\n"\
4778"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
4779"#else\n"\
4780"\n"\
4781"#undef\tae2f_stdcc_v\n"\
4782"#define\tae2f_stdcc_v\t(199711L)\n"\
4783"\n"\
4784"#if __ae2f_lvcheck_cc(2011)\n"\
4785"#undef\tae2f_stdcc_v\n"\
4786"#define\tae2f_stdcc_v\t(201103L)\n"\
4787"#endif\n"\
4788"\n"\
4789"#if __ae2f_lvcheck_cc(2014)\n"\
4790"#undef\tae2f_stdcc_v\n"\
4791"#define\tae2f_stdcc_v\t(201402L)\n"\
4792"#endif\n"\
4793"\n"\
4794"#if __ae2f_lvcheck_cc(2017)\n"\
4795"#undef\tae2f_stdcc_v\n"\
4796"#define\tae2f_stdcc_v\t(201703L)\n"\
4797"#endif\n"\
4798"\n"\
4799"#if __ae2f_lvcheck_cc(2020)\n"\
4800"#undef\tae2f_stdcc_v\n"\
4801"#define\tae2f_stdcc_v\t(202002L)\n"\
4802"#endif\n"\
4803"\n"\
4804"#if __ae2f_lvcheck_cc(2023)\n"\
4805"#undef\tae2f_stdcc_v\n"\
4806"#define\tae2f_stdcc_v\t(202302L)\n"\
4807"#endif\n"\
4808"\n"\
4809"#endif\n"\
4810"\n"\
4811"#ifdef\t__STDC_VERSION__\n"\
4812"#undef\tae2f_stdc_v\n"\
4813"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
4814"#else\n"\
4815"\n"\
4816"#undef\tae2f_stdc_v\n"\
4817"#define ae2f_stdc_v\t(199001L)\n"\
4818"\n"\
4819"#if __ae2f_lvcheck_c(1999)\n"\
4820"#undef\tae2f_stdc_v\n"\
4821"#define ae2f_stdc_v\t(199901L)\n"\
4822"#endif\n"\
4823"\n"\
4824"#if __ae2f_lvcheck_c(2011)\n"\
4825"#undef\tae2f_stdc_v\n"\
4826"#define ae2f_stdc_v\t(201112L)\n"\
4827"#endif\n"\
4828"\n"\
4829"#if __ae2f_lvcheck_c(2017)\n"\
4830"#undef\tae2f_stdc_v\n"\
4831"#define ae2f_stdc_v\t(201710L)\n"\
4832"#endif\n"\
4833"\n"\
4834"#if __ae2f_lvcheck_c(2023)\n"\
4835"#undef\tae2f_stdc_v\n"\
4836"#define ae2f_stdc_v\t(202311L)\n"\
4837"#endif\n"\
4838"\n"\
4839"#endif\n"\
4840"\n"\
4841"#undef\t__ae2f_stdcheck_C\n"\
4842"#undef\t__ae2f_stdcheck_CC\n"\
4843"\n"\
4844"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
4845"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
4846"/** One eof gracefully */ \\\n"\
4847"\n"\
4848"\n"\
4849"#if __ae2f_stdcheck_CC(201703L)\n"\
4850"#define if_constexpr if constexpr\n"\
4851"#else\n"\
4852"#define if_constexpr if\n"\
4853"#endif\n"\
4854"\n"\
4855"#if __ae2f_stdcheck_CC(202002L)\n"\
4856"#define if_consteval if consteval\n"\
4857"#else\n"\
4858"#define if_consteval if (0)\n"\
4859"#endif\n"\
4860"\n"\
4861"#if __ae2f_stdcheck_CC(202002L)\n"\
4862"#define constexprvirtual constexpr virtual\n"\
4863"/** constinit */\n"\
4864"#else\n"\
4865"#define constexprvirtual virtual\n"\
4866"#define constinit\t/* not available */\n"\
4867"#endif /* C++20 */\n"\
4868"\n"\
4869"#if __ae2f_stdcheck_CC(201402L)\n"\
4870"#define constextendedfun\tconstexpr\n"\
4871"#define constextendedeval \tconstexpr\n"\
4872"\n"\
4873"#define constextendedmethod\tconstexpr\n"\
4874"#define constextendedmethodeval\tconstexpr\n"\
4875"\n"\
4876"#else\n"\
4877"#define constextendedfun\tinline\n"\
4878"#define constextendedmethod\tinline\n"\
4879"\n"\
4880"#define constextendedeval\tinline\n"\
4881"#define constextendedmethodeval\tinline\n"\
4882"#endif // C++14\n"\
4883"\n"\
4884"#if __ae2f_stdcheck_CC(201103L)\n"\
4885"#define constexprmethod\t\tconstexpr\n"\
4886"#define constexprfun\t\tconstexpr\n"\
4887"#define constevalmethod\t\tconstexpr\n"\
4888"\n"\
4889"#else\n"\
4890"#define constexprmethod\t\tinline\n"\
4891"#define constexprfun\t\tinline\n"\
4892"#define constevalmethod\t\tinline\n"\
4893"#define virtual\n"\
4894"\n"\
4895"#if !defined(__cplusplus) /* C */\n"\
4896"\n"\
4897"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
4898"/** cosntexpr variable */\n"\
4899"#else\n"\
4900"#define constexpr\n"\
4901"#endif /* C23 */\n"\
4902"\n"\
4903"\n"\
4904"#endif /* C */\n"\
4905"\n"\
4906"#endif // C++11\n"\
4907"\n"\
4908"#if __ae2f_stdcheck_CC(202002L)\n"\
4909"#undef constevalmethod\n"\
4910"#define constevalmethod consteval /* C++20 */\n"\
4911"#elif __ae2f_stdcheck_CC(0)\n"\
4912"\n"\
4913"#undef constevalmethod\n"\
4914"/// @brief\n"\
4915"/// C++ keyword for constant-time functions.\n"\
4916"#define consteval\n"\
4917"#define constevalmethod constexprmethod\n"\
4918"\n"\
4919"#else\n"\
4920"\n"\
4921"#define consteval\n"\
4922"#endif // C++20\n"\
4923"\n"\
4924"#endif\n"\
4925"/** One eof gracefully */ \\\n"\
4926"\n"\
4927"/** include detected */ \\\n"\
4928"/** Path cursor */ \\\n"\
4929"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4930"/** first fp: 0x559c5e3150c0 */ \\\n"\
4931"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4932"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4933"/** Found something. Now let\'s validate. */ \\\n"\
4934"/** It\'s not repeating */ \\\n"\
4935"/******************** */\\\n"\
4936"/* Now the path will be: */ \\\n"\
4937" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4938"#if 90 >= 50\n"\
4939"#define ae2f_LangVer_C 1990\n"\
4940"#else\n"\
4941"#define ae2f_LangVer_C 2090\n"\
4942"#endif\n"\
4943"\n"\
4944"#if 11 >= 50\n"\
4945"#define ae2f_LangVer_CC 1911\n"\
4946"#else\n"\
4947"#define ae2f_LangVer_CC 2011\n"\
4948"#endif\n"\
4949"\n"\
4950"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4951"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4952"/** One eof gracefully */ \\\n"\
4953"\n"\
4954"/** include detected */ \\\n"\
4955"/** Path cursor */ \\\n"\
4956"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
4957"/** first fp: 0x559c5e3150c0 */ \\\n"\
4958"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
4959"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4960"/** Found something. Now let\'s validate. */ \\\n"\
4961"/** It\'s not repeating */ \\\n"\
4962"/******************** */\\\n"\
4963"/* Now the path will be: */ \\\n"\
4964" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
4965"/**\n"\
4966"\n"\
4967" * @file Cxx.h\n"\
4968" * @author ae2f\n"\
4969" * @brief \n"\
4970" * @date 2025-02-01\n"\
4971" * \n"\
4972" * @copyright Copyright (c) 2025\n"\
4973" * \n"\
4974" */\n"\
4975"\n"\
4976"/// @brief\n"\
4977"/// Literally nothing.\n"\
4978"#define ae2f_NONE\n"\
4979"\n"\
4980"#if __cplusplus\n"\
4981"\n"\
4982"/// @def ae2f_WhenCXX \n"\
4983"/// @brief\n"\
4984"/// Appears when the current language is C++.\n"\
4985"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
4986"\n"\
4987"/// @brief\n"\
4988"/// Appears when the current language is C.\n"\
4989"#define ae2f_WhenC(...) ae2f_NONE\n"\
4990"\n"\
4991"#else\n"\
4992"\n"\
4993"/// @brief\n"\
4994"/// Appears when the current language is C++.\n"\
4995"#define ae2f_WhenC(...) __VA_ARGS__\n"\
4996"\n"\
4997"/// @brief\n"\
4998"/// Appears when the current language is C.\n"\
4999"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5000"\n"\
5001"#endif\n"\
5002"\n"\
5003"/// @brief\n"\
5004"/// \n"\
5005"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5006"\n"\
5007"/// @brief\n"\
5008"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
5009"/// \n"\
5010"/// For alter, see @ref ae2f_cxx_check\n"\
5011"#define ae2f_c_check && !ae2f_is_cxx\n"\
5012"\n"\
5013"/// @brief\n"\
5014"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
5015"/// \n"\
5016"/// For alter, see @ref ae2f_c_check\n"\
5017"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
5018"\n"\
5019"/** include detected */ \\\n"\
5020"/** Path cursor */ \\\n"\
5021"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
5022"/** first fp: (nil) */ \\\n"\
5023"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
5024"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
5025"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
5026"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
5027"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
5028"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
5029"/** Failed but ignoring it. */ \\\n"\
5030"\n"\
5031"/** include detected */ \\\n"\
5032"/** Path cursor */ \\\n"\
5033"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
5034"/** first fp: (nil) */ \\\n"\
5035"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
5036"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
5037"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
5038"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
5039"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
5040"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
5041"/** Failed but ignoring it. */ \\\n"\
5042"\n"\
5043"/** include detected */ \\\n"\
5044"/** Path cursor */ \\\n"\
5045"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5046"/** first fp: 0x559c5e3150c0 */ \\\n"\
5047"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5048"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5049"/** Found something. Now let\'s validate. */ \\\n"\
5050"/** It\'s not repeating */ \\\n"\
5051"/******************** */\\\n"\
5052"/* Now the path will be: */ \\\n"\
5053" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5054"/**\n"\
5055"\n"\
5056" * @file ae2f/Guide.h\n"\
5057" * @brief\n"\
5058" * Guide markers for conventions.\n"\
5059" * */\n"\
5060"#undef ae2f_LP\n"\
5061"#undef ae2f_NONE\n"\
5062"#undef ae2f_opt\n"\
5063"\n"\
5064"/** @def ae2f_NONE @brief nothing. */\n"\
5065"#define ae2f_NONE\n"\
5066"\n"\
5067"/** \n"\
5068" * @def ae2f_LP\n"\
5069" *\n"\
5070"\n"\
5071" * @brief \n"\
5072" * Desired count required. \n"\
5073" * \n"\
5074" * @param ...\n"\
5075" * Parameter with this preprocessor means \\n\n"\
5076" * the pointer is considered as list, and inside of this is a desired size.\n"\
5077" * */\n"\
5078"#define\tae2f_LP(...) ae2f_NONE\n"\
5079"\n"\
5080"/** @def ae2f_opt @brief Optional. */\n"\
5081"#define ae2f_opt ae2f_NONE\n"\
5082"\n"\
5083"/** \n"\
5084" * @def ae2f_FREE \n"\
5085" * @brief Use this marker to show the desired functions\n"\
5086" * \tto effectively free the resources.\n"\
5087" * */\n"\
5088"#define ae2f_FREE(...) ae2f_NONE\n"\
5089"\n"\
5090"/** @brief l_value. */\n"\
5091"#define ae2f_v ae2f_NONE\n"\
5092"/** One eof gracefully */ \\\n"\
5093"\n"\
5094"\n"\
5095"/// @brief\n"\
5096"/// Initialiser for trivial structures / classes.\n"\
5097"#define ae2f_RecordMk(type, ...) \\\n"\
5098" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
5099"\n"\
5100"/// @brief\n"\
5101"/// # static_cast\n"\
5102"#define ae2f_static_cast(t, v) \\\n"\
5103" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
5104"\n"\
5105"/// @brief\n"\
5106"/// # dynamic_cast\n"\
5107"#define ae2f_dynamic_cast(t, v) \\\n"\
5108" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
5109"\n"\
5110"/// @brief\n"\
5111"/// # reinterpret_cast\n"\
5112"#define ae2f_reinterpret_cast(t, v) \\\n"\
5113" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
5114"\n"\
5115"/// @brief\n"\
5116"/// # const_cast\n"\
5117"#define ae2f_const_cast(t, v) \\\n"\
5118" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
5119"\n"\
5120"/// @brief\n"\
5121"/// Makes a union that reads a memory in two methods. \\n\n"\
5122"/// `tThen` -> `tNow`\n"\
5123"/// @tparam tThen\n"\
5124"/// The existing data\'s type as input.\n"\
5125"///\n"\
5126"/// @tparam tNow\n"\
5127"/// Wanted output datatype for casting.\n"\
5128"///\n"\
5129"/// @param v\n"\
5130"/// Input value\n"\
5131"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
5132" ae2f_WhenC((union { \\\n"\
5133" tThen a; \\\n"\
5134" tNow b; \\\n"\
5135" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
5136" ._b()\n"\
5137"\n"\
5138"/// @brief\n"\
5139"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
5140"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
5141"///\n"\
5142"/// This keyword resolves the difference of the rules of two.\n"\
5143"#define ae2f_struct ae2f_WhenC(struct)\n"\
5144"\n"\
5145"/// @brief\n"\
5146"/// Suggests the existence of external variable or function, in naming of C.\n"\
5147"/// [non-mangling]\n"\
5148"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
5149"\n"\
5150"/// @brief\n"\
5151"/// Class\n"\
5152"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
5153"\n"\
5154"/// @brief\n"\
5155"/// Makes the global variable in naming of C. [non-mangling]\n"\
5156"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
5157"\n"\
5158"/// @brief\n"\
5159"/// Function definitions\n"\
5160"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
5161"\n"\
5162"/** @brief Invokes when condition is `false`. */\n"\
5163"#define unless(...) if (!(__VA_ARGS__))\n"\
5164"\n"\
5165"#define ae2f_structdef_v(key, name, ...) \\\n"\
5166" typedef key name __VA_ARGS__; \\\n"\
5167" key name\n"\
5168"\n"\
5169"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
5170"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
5171"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
5172"\n"\
5173"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
5174"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
5175"\n"\
5176"/**\n"\
5177"\n"\
5178" * @brief\n"\
5179" * Make two pair of function as [eval] and [expr]. \\n\n"\
5180" * [expr] will just call [eval]. \\n\n"\
5181" * You will implement the body of [eval].\n"\
5182" *\n"\
5183"\n"\
5184" * Following is an use case.\n"\
5185" * @code\n"\
5186" * ae2f_evaldef(\n"\
5187"\t\ttemplate<int a>, <0>\n"\
5188"\t\t, consteval, constexprfun\n"\
5189"\t\t, int, Hello, _Hello, char v, v) \n"\
5190"\t\t{ return v; }\n"\
5191" * */\n"\
5192"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
5193"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
5194"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
5195"\t\treturn nameeval tmpluse (prmuse); \\\n"\
5196"\t} \\\n"\
5197"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
5198"\n"\
5199"#if !__ae2f_stdcheck_CC(201103L)\n"\
5200"#undef\tnoexcept\n"\
5201"#define noexcept\n"\
5202"#endif\n"\
5203"\n"\
5204"\n"\
5205"#undef\trestrict /** First declaration */\n"\
5206"#if ae2f_stdc_v < 199901L\n"\
5207"#undef\trestrict\n"\
5208"#define restrict\n"\
5209"#endif // C>=99\n"\
5210"\n"\
5211"#if __cplusplus\n"\
5212"#undef\trestrict\n"\
5213"#define restrict\n"\
5214"#endif // C++\n"\
5215"\n"\
5216"#if !__ae2f_stdcheck_CC(201103L)\n"\
5217"/// @brief\n"\
5218"/// Means that there will be no exception thrown written in code.\n"\
5219"#define noexcept\n"\
5220"#define constexpr\n"\
5221"#endif /* C++<=11 */\n"\
5222"\n"\
5223"#if ae2f_WhenC(!)0\n"\
5224"#undef noexcept\n"\
5225"#define noexcept\n"\
5226"#endif\n"\
5227"\n"\
5228"#endif\n"\
5229"/** One eof gracefully */ \\\n"\
5230"\n"\
5231"/** include detected */ \\\n"\
5232"/** Path cursor */ \\\n"\
5233"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
5234"/** first fp: (nil) */ \\\n"\
5235"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
5236"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5237"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5238"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5239"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5240"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5241"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5242"/** Found something. Now let\'s validate. */ \\\n"\
5243"/** It\'s not repeating */ \\\n"\
5244"/******************** */\\\n"\
5245"/* Now the path will be: */ \\\n"\
5246" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5247"/**\n"\
5248"\n"\
5249" * @file Beg.h\n"\
5250" * @author ae2f\n"\
5251" * @brief\n"\
5252" * @date 2025-02-01\n"\
5253" * \n"\
5254" * @copyright Copyright (c) 2025\n"\
5255" * \n"\
5256" */\n"\
5257"\n"\
5258"/** include detected */ \\\n"\
5259"/** Path cursor */ \\\n"\
5260"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5261"/** first fp: 0x559c5e3150c0 */ \\\n"\
5262"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5263"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
5264"/** Found something. Now let\'s validate. */ \\\n"\
5265"/** It\'s not repeating */ \\\n"\
5266"/******************** */\\\n"\
5267"/* Now the path will be: */ \\\n"\
5268" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5269"/**\n"\
5270"\n"\
5271" * @file Num.h\n"\
5272" * @author ae2f\n"\
5273" * @brief \n"\
5274" * @date 2025-02-01\n"\
5275" * \n"\
5276" * @copyright Copyright (c) 2025\n"\
5277" * \n"\
5278" */\n"\
5279"\n"\
5280"/// @brief\n"\
5281"/// Pre-defined structure packed byte count.\n"\
5282"/// \n"\
5283"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
5284"#define ae2f_PackCount 0\n"\
5285"/** One eof gracefully */ \\\n"\
5286"\n"\
5287"\n"\
5288"#if ae2f_PackCount\n"\
5289"#pragma pack(push, 0)\n"\
5290"#endif\n"\
5291"/** One eof gracefully */ \\\n"\
5292"\n"\
5293"/** include detected */ \\\n"\
5294"/** Path cursor */ \\\n"\
5295"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/MMap/Util.h */ \\\n"\
5296"/** first fp: (nil) */ \\\n"\
5297"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5298"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5299"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ */ \\\n"\
5300"/** Found something. Now let\'s validate. */ \\\n"\
5301"/** It\'s not repeating */ \\\n"\
5302"/******************** */\\\n"\
5303"/* Now the path will be: */ \\\n"\
5304" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5305"/** include detected */ \\\n"\
5306"/** Path cursor */ \\\n"\
5307"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ae2f/Call.h */ \\\n"\
5308"/** first fp: (nil) */ \\\n"\
5309"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
5310"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
5311"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
5312"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
5313"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5314"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5315"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
5316"/** Found something. Now let\'s validate. */ \\\n"\
5317"/** It\'s not repeating */ \\\n"\
5318"/******************** */\\\n"\
5319"/* Now the path will be: */ \\\n"\
5320" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5321"/**\n"\
5322"\n"\
5323" * @file Call.h\n"\
5324" * @author ae2f\n"\
5325" * @brief \n"\
5326" * @date 2025-02-01\n"\
5327" * \n"\
5328" * @copyright Copyright (c) 2025\n"\
5329" * \n"\
5330" */\n"\
5331"\n"\
5332"#ifndef ae2f_Call_h\n"\
5333"#define ae2f_Call_h\n"\
5334"\n"\
5335"/** include detected */ \\\n"\
5336"/** Path cursor */ \\\n"\
5337"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5338"/** first fp: 0x559c5e3162b0 */ \\\n"\
5339"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5340"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5341"/** Found something. Now let\'s validate. */ \\\n"\
5342"/** It\'s not repeating */ \\\n"\
5343"/******************** */\\\n"\
5344"/* Now the path will be: */ \\\n"\
5345" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5346"#define ON 1\n"\
5347"#define OFF 0\n"\
5348"\n"\
5349"#if (defined(_WIN32) || defined(_WIN64))\n"\
5350"#define ae2f_IS_WIN 1\n"\
5351"#else \n"\
5352"#define ae2f_IS_WIN 0\n"\
5353"#endif\n"\
5354"\n"\
5355"#if (defined(__linux__))\n"\
5356"#define ae2f_IS_LINUX 1\n"\
5357"#else \n"\
5358"#define ae2f_IS_LINUX 0\n"\
5359"#endif\n"\
5360"\n"\
5361"#if defined(__MACH__) || defined(__APPLE__)\n"\
5362"#define ae2f_IS_APPLE 1\n"\
5363"#else\n"\
5364"#define ae2f_IS_APPLE 0\n"\
5365"#endif\n"\
5366"\n"\
5367"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
5368"/** PLATFORM NOT SPECIFIED. */\n"\
5369"\n"\
5370"/**** @brief UNSPECIFIED */\n"\
5371"#define ae2f_IDK 1\n"\
5372"#else\n"\
5373"/**** @brief UNSPECIFIED */\n"\
5374"#define ae2f_IDK 0\n"\
5375"#endif\n"\
5376"/** One eof gracefully */ \\\n"\
5377"\n"\
5378"/** include detected */ \\\n"\
5379"/** Path cursor */ \\\n"\
5380"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5381"/** first fp: 0x559c5e3162b0 */ \\\n"\
5382"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5383"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5384"/** Found something. Now let\'s validate. */ \\\n"\
5385"/** It\'s not repeating */ \\\n"\
5386"/******************** */\\\n"\
5387"/* Now the path will be: */ \\\n"\
5388" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5389"/**\n"\
5390"\n"\
5391" * @file Call.h\n"\
5392" * @author ae2f\n"\
5393" * @brief \n"\
5394" * @date 2025-02-01\n"\
5395" * \n"\
5396" * @copyright Copyright (c) 2025\n"\
5397" * \n"\
5398" */\n"\
5399"\n"\
5400"/** @brief Is a library shared */\n"\
5401"#define ae2f_IS_SHARED ON\n"\
5402"/** One eof gracefully */ \\\n"\
5403"\n"\
5404"\n"\
5405"#if ae2f_IS_SHARED\n"\
5406"\n"\
5407"#if ae2f_IS_WIN\n"\
5408"/// @brief\n"\
5409"/// # For Windows\n"\
5410"/// \n"\
5411"/// shared function imp\n"\
5412"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
5413"\n"\
5414"/// @brief\n"\
5415"/// # For Windows\n"\
5416"/// \n"\
5417"/// Function api call\n"\
5418"#define ae2f_SHAREDCALL \n"\
5419"#endif\n"\
5420"\n"\
5421"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
5422"/// @brief\n"\
5423"/// # For Linux, gcc based.\n"\
5424"/// \n"\
5425"/// shared function imp\n"\
5426"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
5427"\n"\
5428"/// @brief\n"\
5429"/// # For Linux, gcc based.\n"\
5430"///\n"\
5431"/// Function api call\n"\
5432"#define ae2f_SHAREDCALL\n"\
5433"#endif\n"\
5434"\n"\
5435"\n"\
5436"\n"\
5437"#else\n"\
5438"\n"\
5439"/// @brief\n"\
5440"/// # It is no shared library.\n"\
5441"/// \n"\
5442"/// shared function imp\n"\
5443"#define ae2f_SHAREDEXPORT\n"\
5444"/// @brief \n"\
5445"/// # It is no shared library.\n"\
5446"///\n"\
5447"/// Function api call\n"\
5448"#define ae2f_SHAREDCALL\n"\
5449"#endif\n"\
5450"\n"\
5451"#endif\n"\
5452"/** One eof gracefully */ \\\n"\
5453"\n"\
5454"\n"\
5455"#ifndef ae2f_MAC_BUILD\n"\
5456"#define\tae2f_MAC_BUILD ON\n"\
5457"#endif\n"\
5458"\n"\
5459"/** One eof gracefully */ \\\n"\
5460"\n"\
5461"\n"\
5462"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
5463"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
5464"\n"\
5465"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
5466"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
5467"\n"\
5468"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
5469"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
5470"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
5471"\n"\
5472"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
5473"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
5474"{ A_t* a; B_t* b; }\n"\
5475"\n"\
5476"/** include detected */ \\\n"\
5477"/** Path cursor */ \\\n"\
5478"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
5479"/** first fp: (nil) */ \\\n"\
5480"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5481"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5482"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5483"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5484"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5485"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5486"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5487"/** Found something. Now let\'s validate. */ \\\n"\
5488"/** It\'s not repeating */ \\\n"\
5489"/******************** */\\\n"\
5490"/* Now the path will be: */ \\\n"\
5491" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5492"/**\n"\
5493"\n"\
5494" * @file End.h\n"\
5495" * @author ae2f\n"\
5496" * @brief \n"\
5497" * @date 2025-02-01\n"\
5498" * \n"\
5499" * @copyright Copyright (c) 2025\n"\
5500" * \n"\
5501" */\n"\
5502"\n"\
5503"#if ae2f_PackCount\n"\
5504"#pragma pack(pop)\n"\
5505"#endif\n"\
5506"/** One eof gracefully */ \\\n"\
5507"\n"\
5508"\n"\
5509"#endif\n"\
5510"/** One eof gracefully */ \\\n"\
5511"\n"\
5512"\n"\
5513"/**\n"\
5514"\n"\
5515" * @brief\n"\
5516" * # Single Layered Perceptron\n"\
5517" *\n"\
5518"\n"\
5519" * Multiple input, multiple output. \\n\n"\
5520" * For predicting & training operations are able to be parallel.\n"\
5521" */\n"\
5522"ae2f_structdef(struct, ae2f_AnnSlp_t) {\n"\
5523"\t/**\n"\
5524"\n"\
5525"\t * @brief \n"\
5526"\t * input count\n"\
5527"\t */\n"\
5528"\tsize_t m_inc;\n"\
5529"\n"\
5530"\t/**\n"\
5531"\n"\
5532"\t * @brief \n"\
5533"\t * output count\n"\
5534"\t */\n"\
5535"\tsize_t m_outc;\n"\
5536"};\n"\
5537"\n"\
5538"/**\n"\
5539"\n"\
5540" * @brief\n"\
5541" * Structure for SLP prediction and training data.\n"\
5542" */\n"\
5543"ae2f_structdef(struct, ae2f_AnnSlpPredict_t) {\n"\
5544"\t/**\n"\
5545"\n"\
5546"\t * @brief\n"\
5547"\t * Loop counters and layer sizes.\n"\
5548"\t */\n"\
5549"\tsize_t\t\t\tm_i, m_j;\n"\
5550"\n"\
5551"\tae2f_float_t\t\tm_ret;\n"\
5552"\tae2f_float_t\t\tm_tmp;\n"\
5553"};\n"\
5554"\n"\
5555"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
5556"\t/**\n"\
5557"\n"\
5558"\t * @brief\n"\
5559"\t * Loop counters and layer sizes.\n"\
5560"\t */\n"\
5561"\tsize_t\t\t\tm_i, m_j;\n"\
5562"\n"\
5563"\tae2f_float_t\t\tm_ret;\n"\
5564"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5565"};\n"\
5566"\n"\
5567"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
5568"\tsize_t\t\tm_j;\n"\
5569"\tae2f_float_t\tm_ret;\n"\
5570"\tae2f_float_t\tm_tmp;\n"\
5571"};\n"\
5572"\n"\
5573"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
5574"\tsize_t\t\tm_j;\n"\
5575"\tae2f_float_t\tm_ret;\n"\
5576"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
5577"};\n"\
5578"\n"\
5579"/**\n"\
5580"\n"\
5581" * @brief\n"\
5582" * Structure for a single step of the follow operation.\n"\
5583" */\n"\
5584"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFitOne_t) {\n"\
5585"\t/**\n"\
5586"\n"\
5587"\t * @brief\n"\
5588"\t * Loop counter.\n"\
5589"\t */\n"\
5590"\tsize_t\t\t\tm_j;\n"\
5591"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5592"};\n"\
5593"\n"\
5594"\n"\
5595"/**\n"\
5596"\n"\
5597" * @brief\n"\
5598" * Structure for SLP follow, fit, and fetch delta operations.\n"\
5599" */\n"\
5600"ae2f_structdef_n(struct, ae2f_AnnSlpFollow_t, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
5601"\t/**\n"\
5602"\n"\
5603"\t * @brief\n"\
5604"\t * Loop counters and layer sizes.\n"\
5605"\t */\n"\
5606"\tsize_t\t\t\tm_i, m_j;\n"\
5607"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5608"};\n"\
5609"\n"\
5610"/** include detected */ \\\n"\
5611"/** Path cursor */ \\\n"\
5612"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Pack/End.h */ \\\n"\
5613"/** first fp: (nil) */ \\\n"\
5614"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5615"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5616"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5617"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5618"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5619"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5620"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5621"/** Found something. Now let\'s validate. */ \\\n"\
5622"/** It\'s not repeating */ \\\n"\
5623"/******************** */\\\n"\
5624"/* Now the path will be: */ \\\n"\
5625" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5626"/**\n"\
5627"\n"\
5628" * @file End.h\n"\
5629" * @author ae2f\n"\
5630" * @brief \n"\
5631" * @date 2025-02-01\n"\
5632" * \n"\
5633" * @copyright Copyright (c) 2025\n"\
5634" * \n"\
5635" */\n"\
5636"\n"\
5637"#if ae2f_PackCount\n"\
5638"#pragma pack(pop)\n"\
5639"#endif\n"\
5640"/** One eof gracefully */ \\\n"\
5641"\n"\
5642"\n"\
5643"#endif\n"\
5644"/** One eof gracefully */ \\\n"\
5645"\n"\
5646"/** include detected */ \\\n"\
5647"/** Path cursor */ \\\n"\
5648"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
5649"/** first fp: (nil) */ \\\n"\
5650"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
5651"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5652"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5653"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5654"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5655"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5656"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5657"/** Found something. Now let\'s validate. */ \\\n"\
5658"/** It\'s not repeating */ \\\n"\
5659"/******************** */\\\n"\
5660"/* Now the path will be: */ \\\n"\
5661" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5662"/**\n"\
5663"\n"\
5664" * @file Beg.h\n"\
5665" * @author ae2f\n"\
5666" * @brief\n"\
5667" * @date 2025-02-01\n"\
5668" * \n"\
5669" * @copyright Copyright (c) 2025\n"\
5670" * \n"\
5671" */\n"\
5672"\n"\
5673"/** include detected */ \\\n"\
5674"/** Path cursor */ \\\n"\
5675"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5676"/** first fp: 0x559c5e312ce0 */ \\\n"\
5677"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5678"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
5679"/** Found something. Now let\'s validate. */ \\\n"\
5680"/** It\'s not repeating */ \\\n"\
5681"/******************** */\\\n"\
5682"/* Now the path will be: */ \\\n"\
5683" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5684"/**\n"\
5685"\n"\
5686" * @file Num.h\n"\
5687" * @author ae2f\n"\
5688" * @brief \n"\
5689" * @date 2025-02-01\n"\
5690" * \n"\
5691" * @copyright Copyright (c) 2025\n"\
5692" * \n"\
5693" */\n"\
5694"\n"\
5695"/// @brief\n"\
5696"/// Pre-defined structure packed byte count.\n"\
5697"/// \n"\
5698"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
5699"#define ae2f_PackCount 0\n"\
5700"/** One eof gracefully */ \\\n"\
5701"\n"\
5702"\n"\
5703"#if ae2f_PackCount\n"\
5704"#pragma pack(push, 0)\n"\
5705"#endif\n"\
5706"/** One eof gracefully */ \\\n"\
5707"\n"\
5708"\n"\
5709"/**\n"\
5710"\n"\
5711" * @brief\n"\
5712" * # Single Layered Perceptron\n"\
5713" *\n"\
5714"\n"\
5715" * This is the main structure for the SLP.\n"\
5716" */\n"\
5717"ae2f_structdef(struct, ae2f_AnnSlp) \n"\
5718"#if ae2f_NEED_CLASS\n"\
5719"{\n"\
5720"\t/**\n"\
5721"\n"\
5722"\t * @brief\n"\
5723"\t * Weights of the network.\n"\
5724"\t */\n"\
5725"\tae2f_float_t* restrict m_weight;\n"\
5726"\t/**\n"\
5727"\n"\
5728"\t * @brief\n"\
5729"\t * Biases of the network.\n"\
5730"\t */\n"\
5731"\tae2f_float_t* restrict m_bias;\n"\
5732"\t/**\n"\
5733"\n"\
5734"\t * @brief\n"\
5735"\t * Cache for layer outputs.\n"\
5736"\t */\n"\
5737"\tae2f_float_t* restrict m_cache;\n"\
5738"\n"\
5739"\t/**\n"\
5740"\n"\
5741"\t * @brief\n"\
5742"\t * SLP data.\n"\
5743"\t */\n"\
5744"\tae2f_AnnSlp_t m_Slp[1];\n"\
5745"\n"\
5746"\t/**\n"\
5747"\n"\
5748"\t * @brief\n"\
5749"\t * Activation function.\n"\
5750"\t */\n"\
5751"\tae2f_AnnAct_t * m_act;\n"\
5752"\t/**\n"\
5753"\n"\
5754"\t * @brief\n"\
5755"\t * Derivative of the activation function.\n"\
5756"\t */\n"\
5757"\tae2f_AnnAct_t * m_actderiv;\n"\
5758"\t/**\n"\
5759"\n"\
5760"\t * @brief\n"\
5761"\t * Derivative of the loss function.\n"\
5762"\t */\n"\
5763"\tae2f_AnnLoss_t* m_lossderiv;\n"\
5764"\n"\
5765"\t/**\n"\
5766"\n"\
5767"\t * @brief\n"\
5768"\t * Learning rate for weights.\n"\
5769"\t */\n"\
5770"\tae2f_float_t m_learningrate;\n"\
5771"\t/**\n"\
5772"\n"\
5773"\t * @brief\n"\
5774"\t * Learning rate for biases.\n"\
5775"\t */\n"\
5776"\tae2f_float_t m_learningrate_bias;\n"\
5777"\n"\
5778"#if ae2f_WhenCXX(!)0\n"\
5779"#define ae2f_TMP\n"\
5780"\n"\
5781"\tinline static void ae2f_TMP operator delete(void* end);\n"\
5782"\tinline static void* ae2f_TMP operator new(\n"\
5783"\t\tsize_t oneonly\n"\
5784"\t\t, ae2f_LP(inc * outc) ae2f_float_t* restrict const\tweight_opt,\n"\
5785"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tbias_opt,\n"\
5786"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tcache_opt,\n"\
5787"\n"\
5788"\t\tconst size_t\t\t\t\t\tinc,\n"\
5789"\t\tconst size_t\t\t\t\t\toutc,\n"\
5790"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
5791"\n"\
5792"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
5793"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
5794"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
5795"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
5796"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
5797"\t\tae2f_opt ae2f_err_t* restrict const\t\terr_opt\n"\
5798"\t\t) throw();\n"\
5799"\n"\
5800"\tinline void ae2f_TMP Predict(\n"\
5801"\t\tae2f_err_t* const err_opt\n"\
5802"\t\t, ae2f_LP(_this::inc)\n"\
5803"\t\tconst ae2f_float_t* const prm_in\n"\
5804"\t\t, ae2f_LP(_this::outc)\n"\
5805"\t\tae2f_float_t* const out\n"\
5806"\t\t) const;\n"\
5807"\n"\
5808"\tinline void ae2f_TMP Follow(\n"\
5809"\t\tae2f_err_t* const reterr_opt\n"\
5810"\t\t, ae2f_LP(_this::inc)\n"\
5811"\t\tconst ae2f_float_t* const prm_in\n"\
5812"\t\t, ae2f_LP(_this::outc) \n"\
5813"\t\tconst ae2f_float_t* const delta\n"\
5814"\t\t);\n"\
5815"\n"\
5816"\tinline void ae2f_TMP Fit(\n"\
5817"\t\tae2f_err_t* const reterr_opt\n"\
5818"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
5819"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
5820"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
5821"\t\t);\n"\
5822"\n"\
5823"\tinline void ae2f_TMP Train(\n"\
5824"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
5825"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
5826"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
5827"\t\t);\n"\
5828"\n"\
5829"#undef ae2f_TMP\n"\
5830"#endif \n"\
5831"}\n"\
5832"#endif\n"\
5833";\n"\
5834"\n"\
5835"/** include detected */ \\\n"\
5836"/** Path cursor */ \\\n"\
5837"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
5838"/** first fp: (nil) */ \\\n"\
5839"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5840"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5841"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5842"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5843"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5844"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5845"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5846"/** Found something. Now let\'s validate. */ \\\n"\
5847"/** It\'s not repeating */ \\\n"\
5848"/******************** */\\\n"\
5849"/* Now the path will be: */ \\\n"\
5850" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5851"/**\n"\
5852"\n"\
5853" * @file End.h\n"\
5854" * @author ae2f\n"\
5855" * @brief \n"\
5856" * @date 2025-02-01\n"\
5857" * \n"\
5858" * @copyright Copyright (c) 2025\n"\
5859" * \n"\
5860" */\n"\
5861"\n"\
5862"#if ae2f_PackCount\n"\
5863"#pragma pack(pop)\n"\
5864"#endif\n"\
5865"/** One eof gracefully */ \\\n"\
5866"\n"\
5867"\n"\
5868"\n"\
5869"/* @memberof ae2f_mAnnSlp\n"\
5870" * @brief\n"\
5871" * Desired least byte size for initialising.\n"\
5872" *\n"\
5873"\n"\
5874" * Cache\t(output size)\n"\
5875" * Bias\t\t(output size)\n"\
5876" * Weight\t(input * output)\n"\
5877" */\n"\
5878"#define ae2f_AnnSlpFieldSz(inc, outc) ((((inc) + 2) * ((outc)) * sizeof(ae2f_float_t)) + sizeof(ae2f_AnnSlp))\n"\
5879"\n"\
5880"#if ae2f_NEED_CLASS\n"\
5881"\n"\
5882"/**\n"\
5883"\n"\
5884" * @brief\n"\
5885" * Initiator\n"\
5886" *\n"\
5887"\n"\
5888" * No allocation is occurred on this function.\n"\
5889" */\n"\
5890"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpInit(\n"\
5891"\t\tae2f_AnnSlp_t* restrict _this,\n"\
5892"\t\tconst size_t inc,\n"\
5893"\t\tconst size_t outc,\n"\
5894"\t\tconst size_t offset_opt,\n"\
5895"\t\tae2f_err_t* restrict const err_opt,\n"\
5896"\t\tsize_t* restrict const initsz_opt\n"\
5897"\t\t) noexcept;\n"\
5898"\n"\
5899"/* \n"\
5900" * @memberof ae2f_AnnSlp\n"\
5901" * @brief \n"\
5902" * Makes a typical( @ref ae2f_mAnnSp::expected ) perceptron.\n"\
5903" * See @ref ae2f_mAnnSlpInit.\n"\
5904" * \n"\
5905" * It is heap-allocated. pass the output @ref ae2f_mAnnSpDel after use.\n"\
5906" */\n"\
5907"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpMk(\n"\
5908"\t\tae2f_LP(inc * outc) ae2f_float_t* restrict const\tweight_opt,\n"\
5909"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tbias_opt,\n"\
5910"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tcache_opt,\n"\
5911"\n"\
5912"\t\tconst size_t\t\t\t\t\tinc,\n"\
5913"\t\tconst size_t\t\t\t\t\toutc,\n"\
5914"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
5915"\t\tconst size_t\t\t\t\t\textra_opt,\n"\
5916"\t\tae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel) \n"\
5917"\t\tae2f_AnnSlp* restrict * restrict const\t\tslp,\n"\
5918"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
5919"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
5920"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
5921"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
5922"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
5923"\t\tae2f_opt ae2f_err_t* restrict const\t\t\terr_opt\n"\
5924"\t\t) noexcept;\n"\
5925"\n"\
5926"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpDel(\n"\
5927"\t\tae2f_AnnSlp* restrict const slp\n"\
5928"\t\t) noexcept;\n"\
5929"\n"\
5930"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpPredict(\n"\
5931"\t\tae2f_err_t* restrict const err_opt\n"\
5932"\t\t, const ae2f_AnnSlp* restrict const _this\n"\
5933"\t\t, ae2f_LP(_this::inc)\n"\
5934"\t\tconst ae2f_float_t* restrict const prm_in\n"\
5935"\t\t, ae2f_LP(_this::outc)\n"\
5936"\t\tae2f_float_t* restrict const out\n"\
5937"\t\t) noexcept;\n"\
5938"\n"\
5939"\t/** \n"\
5940"\t * @brief \n"\
5941"\t * Adjusts the field based on delta\n"\
5942"\t *\n"\
5943"\n"\
5944"\t * @param delta\n"\
5945"\t *\n"\
5946"\n"\
5947"\t * @param prm_in\n"\
5948"\t *\n"\
5949"\n"\
5950"\t * @param field\n"\
5951"\t * Contains weights and biases\n"\
5952"\t *\n"\
5953"\n"\
5954"\t * @param learningrate\n"\
5955"\t * Learning rate for weights\n"\
5956"\t *\n"\
5957"\n"\
5958"\t * @param learningrate_bias\n"\
5959"\t * Learning rate for biases \n"\
5960"\t * */\n"\
5961"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFollow(\n"\
5962"\t\tae2f_err_t* restrict const reterr_opt\n"\
5963"\t\t, const ae2f_AnnSlp* restrict const _this\n"\
5964"\t\t, ae2f_LP(_this::inc)\n"\
5965"\t\tconst ae2f_float_t* restrict const prm_in\n"\
5966"\t\t, ae2f_LP(_this::outc) \n"\
5967"\t\tconst ae2f_float_t* restrict const delta\n"\
5968"\t\t) noexcept;\n"\
5969"\n"\
5970"\t/** \n"\
5971"\t * @brief\n"\
5972"\t * Adjusts the delta based on output and desired output.\n"\
5973"\t * */\n"\
5974"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFit(\n"\
5975"\t\t\t\tae2f_err_t* const reterr_opt\n"\
5976"\t\t\t\t, const ae2f_AnnSlp* const _this\n"\
5977"\t\t\t\t, ae2f_LP(_this::inc) const ae2f_float_t* restrict const prm_inp\n"\
5978"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* restrict const prm_out\n"\
5979"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* restrict const prm_out_desired\n"\
5980"\t\t\t\t) noexcept;\n"\
5981"\n"\
5982"\t/** @brief Calculates the delta based on output and desired output. */\n"\
5983"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFetchDelta(\n"\
5984"\t\t\t\tae2f_opt ae2f_err_t* restrict const\t\terr\n"\
5985"\t\t\t\t, const ae2f_AnnSlp* restrict\t\t\tslp\n"\
5986"\n"\
5987"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* restrict const\tout\n"\
5988"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* restrict const\tout_desired\n"\
5989"\n"\
5990"\t\t\t\t, ae2f_LP(slp::outc) ae2f_float_t* restrict const\tretdelta\n"\
5991"\t\t\t\t) noexcept;\n"\
5992"\n"\
5993"\t/** @brief Adjusts the weights and biases based on predicted output from input and desired outpu. */\n"\
5994"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpTrain(\n"\
5995"\t\t\t\tae2f_err_t* const restrict\t\t\t\t\terr\n"\
5996"\t\t\t\t, ae2f_AnnSlp*\trestrict\t\t\t\tslp\n"\
5997"\t\t\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\trestrict\tinp\n"\
5998"\t\t\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\trestrict\tout_desired\n"\
5999"\t\t\t\t) noexcept;\n"\
6000"\n"\
6001"#endif\n"\
6002"\n"\
6003"#if !(ae2f_MAC_BUILD)\n"\
6004"\n"\
6005"#define ae2f_AnnSlpInit\t\t__ae2f_AnnSlpInit_C\n"\
6006"#define ae2f_AnnSlpMk\t\t__ae2f_AnnSlpMk_C\n"\
6007"#define ae2f_AnnSlpDel\t\t__ae2f_AnnSlpDel_C\n"\
6008"#define ae2f_AnnSlpPredict\t__ae2f_AnnSlpPredict_C\n"\
6009"#define ae2f_AnnSlpFollow\t__ae2f_AnnSlpFollow_C\n"\
6010"#define ae2f_AnnSlpFit\t\t__ae2f_AnnSlpFit_C\n"\
6011"#define ae2f_AnnSlpTrain\t__ae2f_AnnSlpTrain_C\n"\
6012"#define ae2f_AnnSlpFetchDelta\t__ae2f_AnnSlpFetchDelta_C\n"\
6013"\n"\
6014"\n"\
6015"#endif /** macbuild */\n"\
6016"#endif\n"\
6017"\n"\
6018"#if !defined(ae2f_Ann_Slp_imp_h)\n"\
6019"#define ae2f_Ann_Slp_imp_h\n"\
6020"\n"\
6021"/** include detected */ \\\n"\
6022"/** Path cursor */ \\\n"\
6023"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
6024"/** first fp: (nil) */ \\\n"\
6025"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
6026"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6027"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
6028"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
6029"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6030"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6031"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
6032"/** Found something. Now let\'s validate. */ \\\n"\
6033"/** It\'s not repeating */ \\\n"\
6034"/******************** */\\\n"\
6035"/* Now the path will be: */ \\\n"\
6036" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6037"/**\n"\
6038"\n"\
6039" * @file Beg.h\n"\
6040" * @author ae2f\n"\
6041" * @brief\n"\
6042" * @date 2025-02-01\n"\
6043" * \n"\
6044" * @copyright Copyright (c) 2025\n"\
6045" * \n"\
6046" */\n"\
6047"\n"\
6048"/** include detected */ \\\n"\
6049"/** Path cursor */ \\\n"\
6050"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6051"/** first fp: 0x559c5e312ce0 */ \\\n"\
6052"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6053"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
6054"/** Found something. Now let\'s validate. */ \\\n"\
6055"/** It\'s not repeating */ \\\n"\
6056"/******************** */\\\n"\
6057"/* Now the path will be: */ \\\n"\
6058" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6059"/**\n"\
6060"\n"\
6061" * @file Num.h\n"\
6062" * @author ae2f\n"\
6063" * @brief \n"\
6064" * @date 2025-02-01\n"\
6065" * \n"\
6066" * @copyright Copyright (c) 2025\n"\
6067" * \n"\
6068" */\n"\
6069"\n"\
6070"/// @brief\n"\
6071"/// Pre-defined structure packed byte count.\n"\
6072"/// \n"\
6073"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
6074"#define ae2f_PackCount 0\n"\
6075"/** One eof gracefully */ \\\n"\
6076"\n"\
6077"\n"\
6078"#if ae2f_PackCount\n"\
6079"#pragma pack(push, 0)\n"\
6080"#endif\n"\
6081"/** One eof gracefully */ \\\n"\
6082"\n"\
6083"\n"\
6084"\n"\
6085"ae2f_AnnUtilV2(,ae2f_float_t,*restrict, ,ae2f_AnnSlp, *restrict);\n"\
6086"\n"\
6087"/**\n"\
6088"\n"\
6089" * @brief\n"\
6090" * Structure for SLP creation data.\n"\
6091" */\n"\
6092"ae2f_structdef(struct, ae2f_AnnSlpMk_t) {\n"\
6093"\t/**\n"\
6094"\n"\
6095"\t * @brief\n"\
6096"\t * Stack size and allocation count.\n"\
6097"\t */\n"\
6098"\tsize_t m_stack, m_alloccount;\n"\
6099"\t/**\n"\
6100"\n"\
6101"\t * @brief\n"\
6102"\t * Pointer to the created SLP.\n"\
6103"\t */\n"\
6104"\tae2f_AnnSlp* restrict m_ptr;\n"\
6105"\t/**\n"\
6106"\n"\
6107"\t * @brief\n"\
6108"\t * Field pointer for SLP data.\n"\
6109"\t */\n"\
6110"\tae2f_AnnUtilV2Name(ae2f_float_t, ae2f_AnnSlp) m_fieldptr;\n"\
6111"};\n"\
6112"\n"\
6113"/** include detected */ \\\n"\
6114"/** Path cursor */ \\\n"\
6115"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
6116"/** first fp: (nil) */ \\\n"\
6117"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
6118"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
6119"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
6120"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
6121"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6122"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6123"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
6124"/** Found something. Now let\'s validate. */ \\\n"\
6125"/** It\'s not repeating */ \\\n"\
6126"/******************** */\\\n"\
6127"/* Now the path will be: */ \\\n"\
6128" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6129"/**\n"\
6130"\n"\
6131" * @file End.h\n"\
6132" * @author ae2f\n"\
6133" * @brief \n"\
6134" * @date 2025-02-01\n"\
6135" * \n"\
6136" * @copyright Copyright (c) 2025\n"\
6137" * \n"\
6138" */\n"\
6139"\n"\
6140"#if ae2f_PackCount\n"\
6141"#pragma pack(pop)\n"\
6142"#endif\n"\
6143"/** One eof gracefully */ \\\n"\
6144"\n"\
6145"#endif\n"\
6146"\n"\
6147"/** include detected */ \\\n"\
6148"/** Path cursor */ \\\n"\
6149"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6150"/** first fp: 0x559c5e311af0 */ \\\n"\
6151"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6152"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ */ \\\n"\
6153"/** Found something. Now let\'s validate. */ \\\n"\
6154"/** It\'s not repeating */ \\\n"\
6155"/******************** */\\\n"\
6156"/* Now the path will be: */ \\\n"\
6157" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6158"#undef\t__ae2f_MACRO_GENERATED\n"\
6159"#define\t__ae2f_MACRO_GENERATED\t1\n"\
6160"#ifndef ae2f_Ann_Slp_c\n"\
6161"#if !__ae2f_MACRO_GENERATED\n"\
6162"/** include detected */ \\\n"\
6163"/** Path cursor */ \\\n"\
6164"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Slp.h */ \\\n"\
6165"/** first fp: (nil) */ \\\n"\
6166"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
6167"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
6168"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
6169"/** Found something. Now let\'s validate. */ \\\n"\
6170"/** It\'s repeating himself for some reason. */ \\\n"\
6171"\n"\
6172"#undef __ae2f_MACRO_GENERATED\n"\
6173"#define __ae2f_MACRO_GENERATED 1\n"\
6174"#endif\n"\
6175"\n"\
6176"#define ae2f_Ann_Slp_c\n"\
6177"\n"\
6178"#if !(ae2f_MAC_BUILD) && ae2f_NEED_CLASS || !(__ae2f_MACRO_GENERATED)\n"\
6179"/** include detected */ \\\n"\
6180"/** Path cursor */ \\\n"\
6181"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./stdlib.h */ \\\n"\
6182"/** first fp: (nil) */ \\\n"\
6183"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdlib.h */ \\\n"\
6184"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdlib.h */ \\\n"\
6185"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
6186"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
6187"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdlib.h */ \\\n"\
6188"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdlib.h */ \\\n"\
6189"/** Failed but ignoring it. */ \\\n"\
6190"\n"\
6191"#undef __ae2f_MACRO_GENERATED\n"\
6192"#define __ae2f_MACRO_GENERATED 1\n"\
6193"/** include detected */ \\\n"\
6194"/** Path cursor */ \\\n"\
6195"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./assert.h */ \\\n"\
6196"/** first fp: (nil) */ \\\n"\
6197"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/assert.h */ \\\n"\
6198"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/assert.h */ \\\n"\
6199"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
6200"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
6201"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/assert.h */ \\\n"\
6202"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/classert.h */ \\\n"\
6203"/** Failed but ignoring it. */ \\\n"\
6204"\n"\
6205"#undef __ae2f_MACRO_GENERATED\n"\
6206"#define __ae2f_MACRO_GENERATED 1\n"\
6207"#endif /** for non-builds */\n"\
6208"\n"\
6209"#define __ae2f_AnnSlpDel\tfree\n"\
6210"#define __ae2f_AnnSlpDel_C\tfree\n"\
6211"\n"\
6212"#if ae2f_NEED_CLASS\n"\
6213"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
6214"\t/** tparam */ \\\n"\
6215"\t\t \\\n"\
6216" \\\n"\
6217"\t/** param */ \\\n"\
6218"\t\t/* , size_t */ v_init, \\\n"\
6219"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
6220"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6221"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6222"\t\t/* const size_t */ inc, \\\n"\
6223"\t\t/* const size_t */ outc \\\n"\
6224") \\\n"\
6225"{ \\\n"\
6226"\t(v_init) = \\\n"\
6227"\t\tsizeof(ae2f_AnnSlp) \\\n"\
6228"\t\t+ \t((weight_opt) ? 0 : (inc) * (outc)) * sizeof(ae2f_float_t) \\\n"\
6229"\t\t+\t((bias_opt) ? 0 : (outc)) * sizeof(ae2f_float_t) \\\n"\
6230"\t\t+\t((cache_opt) ? 0 : (outc) * sizeof(ae2f_float_t)) \\\n"\
6231"\t\t; \\\n"\
6232"}\n"\
6233"\n"\
6234"#define __ae2f_AnnSlpInit_imp( \\\n"\
6235"\t/** tparam */ \\\n"\
6236"\t\t \\\n"\
6237" \\\n"\
6238"\t/** param */ \\\n"\
6239"\t\t/* , size_t */ v_init, \\\n"\
6240"\t\t/* ae2f_AnnSlp_t */ _this, \\\n"\
6241"\t\t/* const size_t */ inc, \\\n"\
6242"\t\t/* const size_t */ outc, \\\n"\
6243"\t\t/* const size_t */ incmax_opt \\\n"\
6244") \\\n"\
6245"{ \\\n"\
6246"\t/* Calculate maximum input size */ \\\n"\
6247"\tunless(incmax_opt) { \\\n"\
6248"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
6249"\t\t\t\tv_init, 0, 0, 0, inc, outc \\\n"\
6250"\t\t\t\t); \\\n"\
6251"\t\t(_this).m_inc\t=\t(inc); \\\n"\
6252"\t} else { \\\n"\
6253"\t\t(_this).m_inc\t=\t(incmax_opt); \\\n"\
6254"\t} \\\n"\
6255" \\\n"\
6256"\t(_this).m_outc\t=\t(outc); \\\n"\
6257"}\n"\
6258"\n"\
6259"\n"\
6260"#define __ae2f_AnnSlpInit( \\\n"\
6261"\t/** tparam */ \\\n"\
6262"\t\t \\\n"\
6263" \\\n"\
6264"\t/** param */ \\\n"\
6265"\t\t/* ,ae2f_AnnSlp_t* const */ _this, \\\n"\
6266"\t\t/* const size_t */ inc, \\\n"\
6267"\t\t/* const size_t */ outc, \\\n"\
6268"\t\t/* const size_t */ offset_opt, \\\n"\
6269"\t\t/* ae2f_err_t* const */ err_opt, \\\n"\
6270"\t\t/* size_t* const */ initsz_opt \\\n"\
6271") \\\n"\
6272"{ \\\n"\
6273"\tif((err_opt) && *(err_opt)) \\\n"\
6274"\t\t; \\\n"\
6275"\tunless(_this) \\\n"\
6276"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6277"\telse { \\\n"\
6278"\t\tsize_t v_init; \\\n"\
6279"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
6280"\t\t\t\tv_init \\\n"\
6281"\t\t\t\t, *(_this) \\\n"\
6282"\t\t\t\t, inc, outc \\\n"\
6283"\t\t\t\t, 0 \\\n"\
6284"\t\t\t\t); \\\n"\
6285"\t\t(initsz_opt) && (*(initsz_opt) = v_init + offset_opt); \\\n"\
6286"\t} \\\n"\
6287"}\n"\
6288"\n"\
6289"#else\n"\
6290"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
6291"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
6292"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6293"\n"\
6294"#undef\t__ae2f_AnnSlpInit_imp\n"\
6295"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
6296"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6297"\n"\
6298"#undef\t__ae2f_AnnSlpInit\n"\
6299"#define __ae2f_AnnSlpInit(...) \\\n"\
6300"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6301"#endif\n"\
6302"\n"\
6303"\n"\
6304"\n"\
6305"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
6306"\n"\
6307"#if ae2f_NEED_CLASS\n"\
6308"#define __ae2f_AnnSlpMk_imp( \\\n"\
6309"\t/** tparam */ \\\n"\
6310"\t\t \\\n"\
6311" \\\n"\
6312"\t/** param */ \\\n"\
6313"\t\t/* , ae2f_AnnSlpMk_t */ v_mk, \\\n"\
6314"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
6315"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6316"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6317"\t\t/* const size_t */ inc, \\\n"\
6318"\t\t/* const size_t */ outc, \\\n"\
6319"\t\t/* const size_t */ offset_opt, \\\n"\
6320"\t\t/* const size_t */ extra_opt, \\\n"\
6321"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
6322"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
6323"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
6324"\t\t/* ae2f_float_t */ learningrate, \\\n"\
6325"\t\t/* ae2f_float_t */ learningrate_bias \\\n"\
6326") \\\n"\
6327"{ \\\n"\
6328"\t__ae2f_AnnSlpInitInpSz_imp(v_mk.m_stack, weight_opt, bias_opt, cache_opt, inc, outc); \\\n"\
6329"\tif((v_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
6330"\t\t\t\t\tae2f_AnnSlp* \\\n"\
6331"\t\t\t\t\t, calloc((v_mk).m_stack + (offset_opt) + (extra_opt), 1))) \\\n"\
6332"\t ) { \\\n"\
6333"\t\t(v_mk).m_alloccount = 0; \\\n"\
6334"\t\t(v_mk).m_fieldptr.b = (v_mk).m_ptr + 1; \\\n"\
6335"\t\t(v_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
6336"\t\t\t\tae2f_AnnSlp* \\\n"\
6337"\t\t\t\t, ae2f_reinterpret_cast(char*, (v_mk).m_fieldptr.b) + (offset_opt) \\\n"\
6338"\t\t\t\t); \\\n"\
6339" \\\n"\
6340"\t\tif(weight_opt) { \\\n"\
6341"\t\t\t(v_mk).m_ptr->m_weight = (weight_opt); \\\n"\
6342"\t\t} else { \\\n"\
6343"\t\t\t(v_mk).m_ptr->m_weight = ((v_mk).m_fieldptr.a); \\\n"\
6344"\t\t\t(v_mk).m_fieldptr.a += (inc) * (outc); \\\n"\
6345"\t\t} \\\n"\
6346" \\\n"\
6347"\t\tif(bias_opt) { \\\n"\
6348"\t\t\t(v_mk).m_ptr->m_bias = (bias_opt); \\\n"\
6349"\t\t} else { \\\n"\
6350"\t\t\t(v_mk).m_ptr->m_bias = (v_mk).m_fieldptr.a; \\\n"\
6351"\t\t\t(v_mk).m_fieldptr.a += (outc); \\\n"\
6352"\t\t} \\\n"\
6353" \\\n"\
6354"\t\tif(cache_opt) { \\\n"\
6355"\t\t\t(v_mk).m_ptr->m_cache = (cache_opt); \\\n"\
6356"\t\t} else { \\\n"\
6357"\t\t\t(v_mk).m_ptr->m_cache = (v_mk).m_fieldptr.a; \\\n"\
6358"\t\t} \\\n"\
6359" \\\n"\
6360"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
6361"\t\t\t\t(v_mk).m_stack \\\n"\
6362"\t\t\t\t, v_mk.m_ptr->m_Slp[0] \\\n"\
6363"\t\t\t\t, inc \\\n"\
6364"\t\t\t\t, outc \\\n"\
6365"\t\t\t\t, inc \\\n"\
6366"\t\t\t\t); \\\n"\
6367" \\\n"\
6368"\t\t(v_mk).m_ptr[0].m_act = act; \\\n"\
6369"\t\t(v_mk).m_ptr[0].m_actderiv = actderiv; \\\n"\
6370"\t\t(v_mk).m_ptr[0].m_lossderiv = lossderiv; \\\n"\
6371"\t\t(v_mk).m_ptr[0].m_learningrate = learningrate; \\\n"\
6372"\t\t(v_mk).m_ptr[0].m_learningrate_bias = learningrate_bias; \\\n"\
6373"\t} \\\n"\
6374"}\n"\
6375"\n"\
6376"#define __ae2f_AnnSlpMk( \\\n"\
6377"\t/** tparam */ \\\n"\
6378"\t\t \\\n"\
6379" \\\n"\
6380"\t/** param */ \\\n"\
6381"\t\t/* ,ae2f_float_t* const */ weight_opt, \\\n"\
6382"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6383"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6384"\t\t/* const size_t */ inc, \\\n"\
6385"\t\t/* const size_t */ outc, \\\n"\
6386"\t\t/* const size_t */ offset_opt, \\\n"\
6387"\t\t/* const size_t */ extra_opt, \\\n"\
6388"\t\t/* ae2f_AnnSlp*** const */ slp, \\\n"\
6389"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
6390"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
6391"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
6392"\t\t/* ae2f_float_t */ learningrate, \\\n"\
6393"\t\t/* ae2f_float_t */ learningrate_bias, \\\n"\
6394"\t\t/* ae2f_optae2f_err_t* const */ err_opt \\\n"\
6395") \\\n"\
6396"{ \\\n"\
6397"\tif((err_opt) && *(err_opt)) \\\n"\
6398"\t\t; \\\n"\
6399"\telse unless(slp) \\\n"\
6400"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6401"\telse { \\\n"\
6402"\t\tae2f_AnnSlpMk_t v_mk; \\\n"\
6403"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
6404"\t\t\t\tv_mk \\\n"\
6405"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
6406"\t\t\t\t, inc \\\n"\
6407"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
6408" \\\n"\
6409"\t\t\t\t, act, actderiv, lossderiv \\\n"\
6410" \\\n"\
6411"\t\t\t\t, learningrate, learningrate_bias \\\n"\
6412"\t\t\t\t); \\\n"\
6413" \\\n"\
6414"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
6415"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6416"\t} \\\n"\
6417"}\n"\
6418"#else\n"\
6419"#undef\t__ae2f_AnnSlpMk_imp\n"\
6420"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
6421"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6422"\n"\
6423"#undef\t__ae2f_AnnSlpMk\n"\
6424"#define\t__ae2f_AnnSlpMk(...) \\\n"\
6425"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6426"#endif\n"\
6427"\n"\
6428"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
6429"\n"\
6430"/** @param v_predict has m_ret. That is the return value. */\n"\
6431"#define __ae2f_AnnSlpPredictOne_imp( \\\n"\
6432"\t/** tparam */ \\\n"\
6433"\t\t \\\n"\
6434" \\\n"\
6435"\t/** param */ \\\n"\
6436"\t\t/* , ae2f_AnnSlpPredictOne_t */ v_predict, \\\n"\
6437"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6438"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6439"\t\t/* const ae2f_float_t */ bias, \\\n"\
6440"\t\t/* ae2f_AnnAct_t */ act_opt, \\\n"\
6441"\t\t/* const size_t */ oidx, \\\n"\
6442"\t\t/* const size_t */ isz \\\n"\
6443") \\\n"\
6444"{ \\\n"\
6445"\t(v_predict).m_tmp = 0; \\\n"\
6446" \\\n"\
6447"\tfor((v_predict).m_j = (isz); (v_predict).m_j--; ) { \\\n"\
6448"\t\t(v_predict).m_tmp \\\n"\
6449"\t\t\t+= (prm_in)[(v_predict).m_j] \\\n"\
6450"\t\t\t* ((weight) + (oidx) * (isz))[(v_predict).m_j]; \\\n"\
6451"\t} \\\n"\
6452" \\\n"\
6453"\tact_opt((&(v_predict).m_ret), ((v_predict).m_tmp + (bias))); \\\n"\
6454"}\n"\
6455"\n"\
6456"#define __ae2f_AnnSlpPredict_imp( \\\n"\
6457"\t/** tparam */ \\\n"\
6458"\t\t \\\n"\
6459" \\\n"\
6460"\t/** param */ \\\n"\
6461"\t\t/* , ae2f_AnnSlpPredict_t */ v_predict, \\\n"\
6462"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
6463"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6464"\t\t/* ae2f_float_t* const */ out, \\\n"\
6465"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6466"\t\t/* constae2f_float_t* const */ bias, \\\n"\
6467"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
6468") \\\n"\
6469"{ \\\n"\
6470"\tfor((v_predict).m_i = (_this).m_outc; (v_predict).m_i--; ) \\\n"\
6471"\t{ \\\n"\
6472"\t\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
6473"\t\t\t\tv_predict \\\n"\
6474"\t\t\t\t, prm_in \\\n"\
6475"\t\t\t\t, weight \\\n"\
6476"\t\t\t\t, (bias)[(v_predict).m_i] \\\n"\
6477"\t\t\t\t, act_opt \\\n"\
6478"\t\t\t\t, (v_predict).m_i \\\n"\
6479"\t\t\t\t, (_this).m_inc \\\n"\
6480"\t\t\t\t); \\\n"\
6481" \\\n"\
6482"\t\t(out)[(v_predict).m_i] = (v_predict).m_ret; \\\n"\
6483"\t} \\\n"\
6484"}\n"\
6485"\n"\
6486"#define __ae2f_AnnSlpPredict( \\\n"\
6487"\t/** tparam */ \\\n"\
6488"\t\t \\\n"\
6489" \\\n"\
6490"\t/** param */ \\\n"\
6491"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
6492"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
6493"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6494"\t\t/* ae2f_float_t* const */ out, \\\n"\
6495"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6496"\t\t/* constae2f_float_t* const */ bias, \\\n"\
6497"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
6498") \\\n"\
6499"{ \\\n"\
6500"\tif((err_opt) && *(err_opt)) \\\n"\
6501"\t\t; \\\n"\
6502"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
6503"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
6504"\telse { \\\n"\
6505"\t\tae2f_AnnSlpPredict_t v_predict; \\\n"\
6506" \\\n"\
6507"\t\tif(act_opt) { \\\n"\
6508"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
6509"\t\t\t\t\t(v_predict) \\\n"\
6510"\t\t\t\t\t, *(_this), (prm_in), out \\\n"\
6511"\t\t\t\t\t, weight, bias, act_opt \\\n"\
6512"\t\t\t\t\t); \\\n"\
6513"\t\t} else { \\\n"\
6514"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
6515"\t\t\t\t\t(v_predict) \\\n"\
6516"\t\t\t\t\t, *(_this), prm_in, out \\\n"\
6517"\t\t\t\t\t, weight, bias, \\\n"\
6518"\t\t\t\t\t); \\\n"\
6519"\t\t} \\\n"\
6520"\t} \\\n"\
6521"}\n"\
6522"\n"\
6523"#if ae2f_NEED_CLASS\n"\
6524"#define __ae2f_AnnSlpPredict_C( \\\n"\
6525"\t/** tparam */ \\\n"\
6526"\t\t \\\n"\
6527" \\\n"\
6528"\t/** param */ \\\n"\
6529"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
6530"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
6531"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6532"\t\t/* ae2f_float_t* const */ out \\\n"\
6533") \\\n"\
6534"{ \\\n"\
6535"\tunless(_this) \\\n"\
6536"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6537"\telse { \\\n"\
6538"\t\t__ae2f_AnnSlpPredict( \\\n"\
6539"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
6540"\t\t\t\t, prm_in, out \\\n"\
6541"\t\t\t\t, (_this)->m_weight \\\n"\
6542"\t\t\t\t, (_this)->m_bias \\\n"\
6543"\t\t\t\t, (_this)->m_act \\\n"\
6544"\t\t\t\t); \\\n"\
6545"\t} \\\n"\
6546"}\n"\
6547"#else\n"\
6548"#undef\t__ae2f_AnnSlpPredict_C\n"\
6549"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
6550"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6551"#endif\n"\
6552"\n"\
6553"/** @brief Weights */\n"\
6554"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
6555"\t/** tparam */ \\\n"\
6556"\t\t \\\n"\
6557" \\\n"\
6558"\t/** param */ \\\n"\
6559"\t\t/* , const ae2f_float_t */ inp, \\\n"\
6560"\t\t/* const ae2f_float_t */ delta, \\\n"\
6561"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6562"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6563"\t\t/* const size_t */ inp_sz, \\\n"\
6564"\t\t/* const size_t */ inp_idx, \\\n"\
6565"\t\t/* const size_t */ out_sz, \\\n"\
6566"\t\t/* const size_t */ out_idx \\\n"\
6567") \\\n"\
6568"{ \\\n"\
6569"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
6570"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
6571"}\n"\
6572"\n"\
6573"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
6574"\t/** tparam */ \\\n"\
6575"\t\t \\\n"\
6576" \\\n"\
6577"\t/** param */ \\\n"\
6578"\t\t/* , ae2f_float_t */ r_bias, \\\n"\
6579"\t\t/* const ae2f_float_t */ delta, \\\n"\
6580"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6581") { (r_bias) -= (delta) * (learningrate_bias); }\n"\
6582"\n"\
6583"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
6584"\t/** tparam */ \\\n"\
6585"\t\t \\\n"\
6586" \\\n"\
6587"\t/** param */ \\\n"\
6588"\t\t/* , ae2f_AnnSlpFollowOne_t */ v_follow, \\\n"\
6589"\t\t/* constae2f_float_t* */ prm_in, \\\n"\
6590"\t\t/* const ae2f_float_t */ delta, \\\n"\
6591"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6592"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6593"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
6594"\t\t/* const size_t */ inp_sz, \\\n"\
6595"\t\t/* const size_t */ out_idx, \\\n"\
6596"\t\t/* ae2f_float_t */ v_bias \\\n"\
6597") \\\n"\
6598"{ \\\n"\
6599"\tfor((v_follow).m_j = 0; (v_follow).m_j < (inp_sz); ++(v_follow).m_j) { \\\n"\
6600"\t\t((weight) + (inp_sz) * (out_idx))[(v_follow).m_j] \\\n"\
6601"\t\t\t-= (delta) * (prm_in)[(v_follow).m_j] * (learningrate); \\\n"\
6602"\t} \\\n"\
6603" \\\n"\
6604"\t(v_bias) -= (delta) * (learningrate_bias); \\\n"\
6605"}\n"\
6606"\n"\
6607"\n"\
6608"#define __ae2f_AnnSlpFollow_imp( \\\n"\
6609"\t/** tparam */ \\\n"\
6610"\t\t \\\n"\
6611" \\\n"\
6612"\t/** param */ \\\n"\
6613"\t\t/* , ae2f_AnnSlpFollow_t */ v_follow, \\\n"\
6614"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
6615"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6616"\t\t/* constae2f_float_t* const */ delta, \\\n"\
6617"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6618"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6619"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6620"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6621") \\\n"\
6622"{ \\\n"\
6623"\tfor(v_follow.m_i = (_this).m_outc; (v_follow).m_i--; ) { \\\n"\
6624"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
6625"\t\t\t\tv_follow \\\n"\
6626"\t\t\t\t, prm_in \\\n"\
6627"\t\t\t\t, (delta)[v_follow.m_i] \\\n"\
6628"\t\t\t\t, ((weight)) \\\n"\
6629"\t\t\t\t, learningrate, learningrate_bias \\\n"\
6630"\t\t\t\t, (_this).m_inc \\\n"\
6631"\t\t\t\t, (v_follow).m_i \\\n"\
6632"\t\t\t\t, (bias)[v_follow.m_i] \\\n"\
6633"\t\t\t\t); \\\n"\
6634"\t} \\\n"\
6635"}\n"\
6636"\n"\
6637"#define __ae2f_AnnSlpFollow( \\\n"\
6638"\t/** tparam */ \\\n"\
6639"\t\t \\\n"\
6640" \\\n"\
6641"\t/** param */ \\\n"\
6642"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
6643"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
6644"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6645"\t\t/* constae2f_float_t* const */ delta, \\\n"\
6646"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6647"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6648"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6649"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6650") \\\n"\
6651"{ \\\n"\
6652"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
6653"\t\t; \\\n"\
6654"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
6655"\t\t; \\\n"\
6656"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
6657"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6658"\telse { \\\n"\
6659"\t\tae2f_AnnSlpFollow_t v_follow; \\\n"\
6660"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
6661"\t\t\t\tv_follow \\\n"\
6662"\t\t\t\t, *(_this) \\\n"\
6663"\t\t\t\t, prm_in \\\n"\
6664"\t\t\t\t, delta \\\n"\
6665"\t\t\t\t, weight, bias \\\n"\
6666"\t\t\t\t, learningrate \\\n"\
6667"\t\t\t\t, learningrate_bias \\\n"\
6668"\t\t\t\t); \\\n"\
6669"\t} \\\n"\
6670"}\n"\
6671"\n"\
6672"#if ae2f_NEED_CLASS\n"\
6673"#define __ae2f_AnnSlpFollow_C( \\\n"\
6674"\t/** tparam */ \\\n"\
6675"\t\t \\\n"\
6676" \\\n"\
6677"\t/** param */ \\\n"\
6678"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
6679"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
6680"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6681"\t\t/* constae2f_float_t* const */ delta \\\n"\
6682") { \\\n"\
6683"\tunless((_this)) \\\n"\
6684"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6685"\telse { \\\n"\
6686"\t\t__ae2f_AnnSlpFollow( \\\n"\
6687"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
6688"\t\t\t\t, prm_in, delta \\\n"\
6689"\t\t\t\t, _this->m_weight \\\n"\
6690"\t\t\t\t, (_this)->m_bias \\\n"\
6691"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
6692"\t\t\t\t); \\\n"\
6693"\t} \\\n"\
6694"}\n"\
6695"#else\n"\
6696"#undef\t__ae2f_AnnSlpFollow_C\n"\
6697"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
6698"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6699"#endif\n"\
6700"\n"\
6701"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6702"\t/** tparam */ \\\n"\
6703"\t\t \\\n"\
6704" \\\n"\
6705"\t/** param */ \\\n"\
6706"\t\t/* , ae2f_float_t */ v_fetchdelta_0, \\\n"\
6707"\t\t/* ae2f_float_t */ v_fetchdelta_1, \\\n"\
6708"\t\t/* constae2f_float_t* const */ out, \\\n"\
6709"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6710"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6711"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6712"\t\t/* ae2f_float_t */ retdelta, \\\n"\
6713"\t\t/* const size_t */ oidx, \\\n"\
6714"\t\t/* const size_t */ osz \\\n"\
6715") \\\n"\
6716"{ \\\n"\
6717"\tactderiv_opt(&(v_fetchdelta_0), (out)[oidx]); \\\n"\
6718"\tlossderiv((&(v_fetchdelta_1)), (out), (out_desired), (oidx), (osz)); \\\n"\
6719" \\\n"\
6720"\t(retdelta) = \\\n"\
6721"\t\t(v_fetchdelta_0) * \\\n"\
6722"\t\t(v_fetchdelta_1) \\\n"\
6723"\t\t; \\\n"\
6724"}\n"\
6725"\n"\
6726"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
6727"\t/** tparam */ \\\n"\
6728"\t\t \\\n"\
6729" \\\n"\
6730"\t/** param */ \\\n"\
6731"\t\t/* , ae2f_AnnSlpFetchDelta_t */ v_delta, \\\n"\
6732"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
6733"\t\t/* constae2f_float_t* const */ out, \\\n"\
6734"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6735"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6736"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6737"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6738") \\\n"\
6739"{ \\\n"\
6740"\tfor((v_delta).m_i = (slp).m_outc; (v_delta).m_i--; ) \\\n"\
6741"\t\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6742"\t\t\t\t(v_delta).m_tmp, (v_delta).m_tmp1 \\\n"\
6743"\t\t\t\t, out, out_desired \\\n"\
6744"\t\t\t\t, actderiv_opt, lossderiv \\\n"\
6745"\t\t\t\t, (retdelta)[v_delta.m_i] \\\n"\
6746"\t\t\t\t, (v_delta).m_i \\\n"\
6747"\t\t\t\t, (slp).m_outc \\\n"\
6748"\t\t\t\t); \\\n"\
6749"}\n"\
6750"\n"\
6751"#define __ae2f_AnnSlpFetchDelta( \\\n"\
6752"\t/** tparam */ \\\n"\
6753"\t\t \\\n"\
6754" \\\n"\
6755"\t/** param */ \\\n"\
6756"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
6757"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
6758"\t\t/* constae2f_float_t* const */ out, \\\n"\
6759"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6760"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6761"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6762"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6763") \\\n"\
6764"{ \\\n"\
6765"\tif((err) && *(err)) \\\n"\
6766"\t\t; \\\n"\
6767"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
6768"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6769"\telse unless(lossderiv) \\\n"\
6770"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6771" \\\n"\
6772"\telse if(actderiv_opt) { \\\n"\
6773"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6774"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6775"\t\t\t\tv_delta, (*(slp)) \\\n"\
6776"\t\t\t\t, out, out_desired \\\n"\
6777"\t\t\t\t, actderiv_opt \\\n"\
6778"\t\t\t\t, lossderiv \\\n"\
6779"\t\t\t\t, retdelta \\\n"\
6780"\t\t\t\t); \\\n"\
6781"\t} else { \\\n"\
6782"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6783"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6784"\t\t\t\tv_delta, (*(slp)) \\\n"\
6785"\t\t\t\t, out, out_desired \\\n"\
6786"\t\t\t\t, , lossderiv \\\n"\
6787"\t\t\t\t, retdelta \\\n"\
6788"\t\t\t\t); \\\n"\
6789"\t} \\\n"\
6790"}\n"\
6791"\n"\
6792"#if\tae2f_NEED_CLASS\n"\
6793"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
6794"\t/** tparam */ \\\n"\
6795"\t\t \\\n"\
6796" \\\n"\
6797"\t/** param */ \\\n"\
6798"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
6799"\t\t/* constae2f_AnnSlp* const */ slp, \\\n"\
6800"\t\t/* constae2f_float_t* const */ out, \\\n"\
6801"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6802"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6803") \\\n"\
6804"{ \\\n"\
6805"\tif((err) && *(err)) \\\n"\
6806"\t\t; \\\n"\
6807"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
6808"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6809"\telse unless((slp)->m_lossderiv) \\\n"\
6810"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6811"\telse { \\\n"\
6812"\t\tif((slp)->m_actderiv) { \\\n"\
6813"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6814"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6815"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
6816"\t\t\t\t\t, out, out_desired \\\n"\
6817"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
6818"\t\t\t\t\t, retdelta \\\n"\
6819"\t\t\t\t\t); \\\n"\
6820"\t\t} else { \\\n"\
6821"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6822"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6823"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
6824"\t\t\t\t\t, out, out_desired \\\n"\
6825"\t\t\t\t\t, , (slp)->m_lossderiv \\\n"\
6826"\t\t\t\t\t, retdelta \\\n"\
6827"\t\t\t\t\t); \\\n"\
6828"\t\t} \\\n"\
6829"\t} \\\n"\
6830"}\n"\
6831"#else\n"\
6832"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
6833"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
6834"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6835"#endif\n"\
6836"\n"\
6837"#define __ae2f_AnnSlpFitOne_imp( \\\n"\
6838"\t/** tparam */ \\\n"\
6839"\t\t \\\n"\
6840" \\\n"\
6841"\t/** param */ \\\n"\
6842"\t\t/* , ae2f_AnnSlpFitOne_t */ v_fit, \\\n"\
6843"\t\t/* constae2f_float_t* const */ inp, \\\n"\
6844"\t\t/* constae2f_float_t* const */ out, \\\n"\
6845"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6846"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6847"\t\t/* ae2f_float_t */ r_bias, \\\n"\
6848"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
6849"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6850"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6851"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6852"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
6853"\t\t/* const size_t */ iidx, \\\n"\
6854"\t\t/* const size_t */ oidx, \\\n"\
6855"\t\t/* const size_t */ isz, \\\n"\
6856"\t\t/* const size_t */ osz \\\n"\
6857") \\\n"\
6858"{ \\\n"\
6859"\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6860"\t\t\t(v_fit).m_tmp, (v_fit).m_tmp1 \\\n"\
6861"\t\t\t, out, out_desired \\\n"\
6862"\t\t\t, actderiv_opt, lossderiv \\\n"\
6863"\t\t\t, r_cachedelta \\\n"\
6864"\t\t\t, oidx, osz \\\n"\
6865"\t\t\t); \\\n"\
6866" \\\n"\
6867" \\\n"\
6868"\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
6869"\t\t\tv_fit, inp, r_cachedelta, weight \\\n"\
6870"\t\t\t, learningrate, learningrate_bias \\\n"\
6871"\t\t\t, isz, oidx, r_bias \\\n"\
6872"\t\t\t); \\\n"\
6873"}\n"\
6874"\n"\
6875"#define __ae2f_AnnSlpFit_imp( \\\n"\
6876"\t/** tparam */ \\\n"\
6877"\t\t \\\n"\
6878" \\\n"\
6879"\t/** param */ \\\n"\
6880"\t\t/* , ae2f_AnnSlpFit_t */ v_fit, \\\n"\
6881"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
6882"\t\t/* constae2f_float_t* const */ inp, \\\n"\
6883"\t\t/* constae2f_float_t* const */ out, \\\n"\
6884"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6885"\t\t/* ae2f_float_t* const */ weights, \\\n"\
6886"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6887"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
6888"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6889"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6890"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6891"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6892") \\\n"\
6893"{ \\\n"\
6894"\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6895"\t\t\tv_fit, slp \\\n"\
6896"\t\t\t, out, out_desired \\\n"\
6897"\t\t\t, actderiv_opt, lossderiv \\\n"\
6898"\t\t\t, cachedelta \\\n"\
6899"\t\t\t); \\\n"\
6900" \\\n"\
6901"\t__ae2f_AnnSlpFollow_imp( \\\n"\
6902"\t\t\tv_fit, slp, inp \\\n"\
6903"\t\t\t, cachedelta, weights, bias \\\n"\
6904"\t\t\t, learningrate, learningrate_bias \\\n"\
6905"\t\t\t); \\\n"\
6906"}\n"\
6907"\n"\
6908"#define __ae2f_AnnSlpFit( \\\n"\
6909"\t/** tparam */ \\\n"\
6910"\t\t \\\n"\
6911" \\\n"\
6912"\t/** param */ \\\n"\
6913"\t\t/* ,ae2f_err_t* const ae2f_opt */ reterr_opt, \\\n"\
6914"\t\t/* constae2f_AnnSlp_t* */ _this, \\\n"\
6915"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
6916"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
6917"\t\t/* constae2f_float_t* const */ prm_out_desired, \\\n"\
6918"\t\t/* ae2f_float_t* const */ weights, \\\n"\
6919"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6920"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
6921"\t\t/* ae2f_AnnAct_t ae2f_opt */ actderiv_opt, \\\n"\
6922"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6923"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6924"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6925") \\\n"\
6926"{ \\\n"\
6927"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
6928"\t\t; \\\n"\
6929"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
6930"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6931"\telse unless(lossderiv) \\\n"\
6932"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6933"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
6934"\t\t; \\\n"\
6935"\telse { \\\n"\
6936"\t\tae2f_AnnSlpFit_t v_fit; \\\n"\
6937"\t\tif(actderiv_opt) { \\\n"\
6938"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
6939"\t\t\t\t\tv_fit \\\n"\
6940"\t\t\t\t\t, (*(_this)) \\\n"\
6941"\t\t\t\t\t, prm_inp \\\n"\
6942"\t\t\t\t\t, prm_out \\\n"\
6943"\t\t\t\t\t, prm_out_desired \\\n"\
6944"\t\t\t\t\t, weights \\\n"\
6945"\t\t\t\t\t, bias \\\n"\
6946"\t\t\t\t\t, cachedelta \\\n"\
6947"\t\t\t\t\t, actderiv_opt \\\n"\
6948"\t\t\t\t\t, lossderiv \\\n"\
6949"\t\t\t\t\t, learningrate \\\n"\
6950"\t\t\t\t\t, learningrate_bias \\\n"\
6951"\t\t\t\t\t); \\\n"\
6952"\t\t} else { \\\n"\
6953"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
6954"\t\t\t\t\tv_fit \\\n"\
6955"\t\t\t\t\t, (*(_this)) \\\n"\
6956"\t\t\t\t\t, prm_inp \\\n"\
6957"\t\t\t\t\t, prm_out \\\n"\
6958"\t\t\t\t\t, prm_out_desired \\\n"\
6959"\t\t\t\t\t, weights \\\n"\
6960"\t\t\t\t\t, bias \\\n"\
6961"\t\t\t\t\t, cachedelta \\\n"\
6962"\t\t\t\t\t, \\\n"\
6963"\t\t\t\t\t, lossderiv \\\n"\
6964"\t\t\t\t\t, learningrate \\\n"\
6965"\t\t\t\t\t, learningrate_bias \\\n"\
6966"\t\t\t\t\t); \\\n"\
6967"\t\t} \\\n"\
6968"\t} \\\n"\
6969"}\n"\
6970"\n"\
6971"#if\tae2f_NEED_CLASS\n"\
6972"#define __ae2f_AnnSlpFit_C( \\\n"\
6973"\t/** tparam */ \\\n"\
6974"\t\t \\\n"\
6975" \\\n"\
6976"\t/** param */ \\\n"\
6977"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
6978"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
6979"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
6980"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
6981"\t\t/* constae2f_float_t* const */ prm_out_desired \\\n"\
6982") { \\\n"\
6983"\tunless(_this) { \\\n"\
6984"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
6985"\t} \\\n"\
6986"\telse { \\\n"\
6987"\t\t__ae2f_AnnSlpFit( \\\n"\
6988"\t\t\t\treterr_opt \\\n"\
6989"\t\t\t\t, (_this)->m_Slp \\\n"\
6990"\t\t\t\t, prm_inp \\\n"\
6991"\t\t\t\t, prm_out \\\n"\
6992"\t\t\t\t, prm_out_desired \\\n"\
6993"\t\t\t\t, (_this)->m_weight \\\n"\
6994"\t\t\t\t, (_this)->m_bias \\\n"\
6995"\t\t\t\t, (_this)->m_cache \\\n"\
6996"\t\t\t\t, (_this)->m_actderiv \\\n"\
6997"\t\t\t\t, (_this)->m_lossderiv \\\n"\
6998"\t\t\t\t, (_this)->m_learningrate \\\n"\
6999"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
7000"\t\t\t\t); \\\n"\
7001"\t} \\\n"\
7002"}\n"\
7003"#else\n"\
7004"#undef\t__ae2f_AnnSlpFit_C\n"\
7005"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
7006"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7007"#endif\n"\
7008"\n"\
7009"#define __ae2f_AnnSlpTrainOne_imp( \\\n"\
7010"\t/** tparam */ \\\n"\
7011"\t\t \\\n"\
7012" \\\n"\
7013"\t/** param */ \\\n"\
7014"\t\t/* , ae2f_AnnSlpTrainOne_t */ v_train, \\\n"\
7015"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
7016"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
7017"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7018"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7019"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7020"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7021"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7022"\t\t/* ae2f_float_t */ v_bias, \\\n"\
7023"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
7024"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7025"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
7026"\t\t/* const size_t */ oidx, \\\n"\
7027"\t\t/* const size_t */ osz, \\\n"\
7028"\t\t/* const size_t */ isz \\\n"\
7029") \\\n"\
7030"{ \\\n"\
7031"\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
7032"\t\t\tv_train \\\n"\
7033"\t\t\t, inp \\\n"\
7034"\t\t\t, weight \\\n"\
7035"\t\t\t, v_bias \\\n"\
7036"\t\t\t, act \\\n"\
7037"\t\t\t, oidx \\\n"\
7038"\t\t\t, isz \\\n"\
7039"\t\t\t); \\\n"\
7040" \\\n"\
7041"\t(out_cache)[oidx] = (v_train).m_ret; \\\n"\
7042" \\\n"\
7043"\t__ae2f_AnnSlpFitOne_imp( \\\n"\
7044"\t\t\tv_train \\\n"\
7045"\t\t\t, inp \\\n"\
7046"\t\t\t, out_cache, out_desired \\\n"\
7047"\t\t\t, weight \\\n"\
7048"\t\t\t, v_bias \\\n"\
7049"\t\t\t, r_cachedelta \\\n"\
7050"\t\t\t, actderiv, lossderiv \\\n"\
7051"\t\t\t, learningrate, learningrate_bias \\\n"\
7052"\t\t\t, iidx, oidx, isz, osz \\\n"\
7053"\t\t\t); \\\n"\
7054"}\n"\
7055"\n"\
7056"#define __ae2f_AnnSlpTrain_imp( \\\n"\
7057"\t/** tparam */ \\\n"\
7058"\t\t \\\n"\
7059" \\\n"\
7060"\t/** param */ \\\n"\
7061"\t\t/* , ae2f_AnnSlpTrain_t */ v_train, \\\n"\
7062"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
7063"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7064"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7065"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7066"\t\t/* ae2f_float_t* const */ weights, \\\n"\
7067"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7068"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
7069"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
7070"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
7071"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7072"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7073"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7074") \\\n"\
7075"{ \\\n"\
7076"\t__ae2f_AnnSlpPredict_imp(v_train, slp, inp, out_cache, weights, bias, act); \\\n"\
7077"\t__ae2f_AnnSlpFit_imp( \\\n"\
7078"\t\t\tv_train, slp, inp, out_cache, out_desired \\\n"\
7079"\t\t\t, weights, bias, cachedelta \\\n"\
7080"\t\t\t, actderiv, lossderiv \\\n"\
7081"\t\t\t, learningrate, learningrate_bias \\\n"\
7082"\t\t\t); \\\n"\
7083"}\n"\
7084"\n"\
7085"#if ae2f_NEED_CLASS\n"\
7086"#define __ae2f_AnnSlpTrain_C( \\\n"\
7087"\t/** tparam */ \\\n"\
7088"\t\t \\\n"\
7089" \\\n"\
7090"\t/** param */ \\\n"\
7091"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
7092"\t\t/* ae2f_AnnSlp* */ slp, \\\n"\
7093"\t\t/* constae2f_float_t* */ inp, \\\n"\
7094"\t\t/* constae2f_float_t* */ out_desired \\\n"\
7095") \\\n"\
7096"{ \\\n"\
7097"\tunless(slp) \\\n"\
7098"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7099"\telse { \\\n"\
7100"\t\t__ae2f_AnnSlpTrain( \\\n"\
7101"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
7102"\t\t\t\t, (slp)->m_cache \\\n"\
7103"\t\t\t\t, out_desired \\\n"\
7104"\t\t\t\t, (slp)->m_weight \\\n"\
7105"\t\t\t\t, (slp)->m_bias \\\n"\
7106"\t\t\t\t, (slp)->m_cache \\\n"\
7107"\t\t\t\t, (slp)->m_act \\\n"\
7108"\t\t\t\t, (slp)->m_actderiv \\\n"\
7109"\t\t\t\t, (slp)->m_lossderiv \\\n"\
7110"\t\t\t\t, (slp)->m_learningrate \\\n"\
7111"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
7112"\t\t\t\t); \\\n"\
7113"\t} \\\n"\
7114"}\n"\
7115"#else\n"\
7116"#undef\t__ae2f_AnnSlpTrain_C\n"\
7117"#define __ae2f_AnnSlpTrain_C \\\n"\
7118"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7119"\n"\
7120"#endif\n"\
7121"\n"\
7122"#define __ae2f_AnnSlpTrain( \\\n"\
7123"\t/** tparam */ \\\n"\
7124"\t\t \\\n"\
7125" \\\n"\
7126"\t/** param */ \\\n"\
7127"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
7128"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
7129"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7130"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7131"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7132"\t\t/* ae2f_float_t* const */ weights, \\\n"\
7133"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7134"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
7135"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7136"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7137"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7138"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7139"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7140") \\\n"\
7141"{ \\\n"\
7142"\tif((err) && *(err)) \\\n"\
7143"\t\t; \\\n"\
7144"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
7145"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7146"\telse unless(lossderiv) \\\n"\
7147"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7148"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
7149"\t\t; \\\n"\
7150"\telse { \\\n"\
7151"\t\tae2f_AnnSlpTrain_t v_train; \\\n"\
7152"\t\tif (act) { \\\n"\
7153"\t\t\tif(actderiv) { \\\n"\
7154"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7155"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7156"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7157"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
7158"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7159"\t\t\t\t\t\t); \\\n"\
7160"\t\t\t} else { \\\n"\
7161"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7162"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7163"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7164"\t\t\t\t\t\t, cachedelta, act, , lossderiv \\\n"\
7165"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7166"\t\t\t\t\t\t); \\\n"\
7167" \\\n"\
7168"\t\t\t} \\\n"\
7169"\t\t} else { \\\n"\
7170"\t\t\tif(actderiv) { \\\n"\
7171"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7172"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7173"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7174"\t\t\t\t\t\t, cachedelta, , actderiv, lossderiv \\\n"\
7175"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7176"\t\t\t\t\t\t); \\\n"\
7177"\t\t\t} else { \\\n"\
7178"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7179"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7180"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7181"\t\t\t\t\t\t, cachedelta, , , lossderiv \\\n"\
7182"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7183"\t\t\t\t\t\t); \\\n"\
7184" \\\n"\
7185"\t\t\t} \\\n"\
7186"\t\t} \\\n"\
7187"\t} \\\n"\
7188"}\n"\
7189"\n"\
7190"\n"\
7191"#endif\n"\
7192"\n"\
7193"#undef\t__ae2f_MACRO_GENERATED\n"\
7194"\n"\
7195"#define\t__ae2f_MACRO_GENERATED\t0\n"\
7196"\n"\
7197"/** One eof gracefully */ \\\n"\
7198"\n"\
7199"\n"\
7200"#if ae2f_WhenCXX(!)0 && !defined(ae2f_Ann_Slp_cc) && ae2f_NEED_CLASS\n"\
7201"#define ae2f_Ann_Slp_cc\n"\
7202"\n"\
7203"#define ae2f_TMP ae2f_AnnSlp::\n"\
7204"\n"\
7205"inline void ae2f_TMP operator delete(void* end) {\n"\
7206"\tae2f_AnnSlpDel(ae2f_reinterpret_cast(ae2f_AnnSlp*, end));\n"\
7207"}\n"\
7208"\n"\
7209"inline void* ae2f_TMP operator new(\n"\
7210"\t\tsize_t oneonly\n"\
7211"\t\t, ae2f_LP(inc * outc) ae2f_float_t* const\t\tweight_opt,\n"\
7212"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tbias_opt,\n"\
7213"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tcache_opt,\n"\
7214"\n"\
7215"\t\tconst size_t\t\t\t\t\tinc,\n"\
7216"\t\tconst size_t\t\t\t\t\toutc,\n"\
7217"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
7218"\n"\
7219"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
7220"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
7221"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
7222"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
7223"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
7224"\t\tae2f_opt ae2f_err_t* const\t\t\terr_opt\n"\
7225"\t\t) throw() \n"\
7226"{\n"\
7227"\tif(oneonly != sizeof(ae2f_AnnSlp)) return 0;\n"\
7228"\tae2f_AnnSlp* __v[1] = { NULL };\n"\
7229"\n"\
7230"\tae2f_AnnSlpMk(\n"\
7231"\t\t\tweight_opt, bias_opt, cache_opt, inc, outc, offset_opt, 0\n"\
7232"\t\t\t, __v, act, actderiv, lossderiv, learningrate, learningrate_bias, err_opt);\n"\
7233"\n"\
7234"\treturn __v[0];\n"\
7235"}\n"\
7236"\n"\
7237"inline void ae2f_TMP Predict(\n"\
7238"\t\tae2f_err_t* const err_opt\n"\
7239"\t\t, ae2f_LP(_this::inc)\n"\
7240"\t\tconst ae2f_float_t* const prm_in\n"\
7241"\t\t, ae2f_LP(_this::outc)\n"\
7242"\t\tae2f_float_t* const out\n"\
7243"\t\t) const \n"\
7244"{\n"\
7245"\tae2f_AnnSlpPredict(err_opt, this, prm_in, out);\n"\
7246"}\n"\
7247"\n"\
7248"inline void ae2f_TMP Follow(\n"\
7249"\t\tae2f_err_t* const reterr_opt\n"\
7250"\t\t, ae2f_LP(_this::inc)\n"\
7251"\t\tconst ae2f_float_t* const prm_in\n"\
7252"\t\t, ae2f_LP(_this::outc) \n"\
7253"\t\tconst ae2f_float_t* const delta\n"\
7254"\t\t) \n"\
7255"{\n"\
7256"\tae2f_AnnSlpFollow(reterr_opt, this, prm_in, delta);\n"\
7257"}\n"\
7258"\n"\
7259"inline void ae2f_TMP Fit(\n"\
7260"\t\tae2f_err_t* const reterr_opt\n"\
7261"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
7262"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
7263"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
7264"\t\t) \n"\
7265"{\n"\
7266"\tae2f_AnnSlpFit(reterr_opt, this, prm_inp, prm_out, prm_out_desired);\n"\
7267"}\n"\
7268"\n"\
7269"inline void ae2f_TMP Train(\n"\
7270"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
7271"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
7272"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
7273"\t\t) \n"\
7274"{\n"\
7275"\tae2f_AnnSlpTrain(err, this, inp, out_desired);\n"\
7276"}\n"\
7277"\n"\
7278"#undef ae2f_TMP\n"\
7279"\n"\
7280"#endif\n"\
7281"\n"\
7282"/** One eof gracefully */ \\\n"\
7283"\n"\
7284"#undef __ae2f_MACRO_GENERATED\n"\
7285"#define __ae2f_MACRO_GENERATED 1\n"\
7286"#endif\n"\
7287"\n"\
7288"#define ae2f_Ann_Slp_c\n"\
7289"\n"\
7290"#if !(ae2f_MAC_BUILD) && ae2f_NEED_CLASS || !(__ae2f_MACRO_GENERATED)\n"\
7291"/** include detected */ \\\n"\
7292"/** Path cursor */ \\\n"\
7293"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stdlib.h */ \\\n"\
7294"/** first fp: (nil) */ \\\n"\
7295"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdlib.h */ \\\n"\
7296"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdlib.h */ \\\n"\
7297"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
7298"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
7299"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdlib.h */ \\\n"\
7300"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdlib.h */ \\\n"\
7301"/** Failed but ignoring it. */ \\\n"\
7302"\n"\
7303"#undef __ae2f_MACRO_GENERATED\n"\
7304"#define __ae2f_MACRO_GENERATED 1\n"\
7305"/** include detected */ \\\n"\
7306"/** Path cursor */ \\\n"\
7307"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/assert.h */ \\\n"\
7308"/** first fp: (nil) */ \\\n"\
7309"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/assert.h */ \\\n"\
7310"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/assert.h */ \\\n"\
7311"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
7312"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
7313"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/assert.h */ \\\n"\
7314"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/classert.h */ \\\n"\
7315"/** Failed but ignoring it. */ \\\n"\
7316"\n"\
7317"#undef __ae2f_MACRO_GENERATED\n"\
7318"#define __ae2f_MACRO_GENERATED 1\n"\
7319"#endif /** for non-builds */\n"\
7320"\n"\
7321"#define __ae2f_AnnSlpDel\tfree\n"\
7322"#define __ae2f_AnnSlpDel_C\tfree\n"\
7323"\n"\
7324"#if ae2f_NEED_CLASS\n"\
7325"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
7326"\t/** tparam */ \\\n"\
7327"\t\t \\\n"\
7328" \\\n"\
7329"\t/** param */ \\\n"\
7330"\t\t/* , size_t */ v_init, \\\n"\
7331"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
7332"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7333"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7334"\t\t/* const size_t */ inc, \\\n"\
7335"\t\t/* const size_t */ outc \\\n"\
7336") \\\n"\
7337"{ \\\n"\
7338"\t(v_init) = \\\n"\
7339"\t\tsizeof(ae2f_AnnSlp) \\\n"\
7340"\t\t+ \t((weight_opt) ? 0 : (inc) * (outc)) * sizeof(ae2f_float_t) \\\n"\
7341"\t\t+\t((bias_opt) ? 0 : (outc)) * sizeof(ae2f_float_t) \\\n"\
7342"\t\t+\t((cache_opt) ? 0 : (outc) * sizeof(ae2f_float_t)) \\\n"\
7343"\t\t; \\\n"\
7344"}\n"\
7345"\n"\
7346"#define __ae2f_AnnSlpInit_imp( \\\n"\
7347"\t/** tparam */ \\\n"\
7348"\t\t \\\n"\
7349" \\\n"\
7350"\t/** param */ \\\n"\
7351"\t\t/* , size_t */ v_init, \\\n"\
7352"\t\t/* ae2f_AnnSlp_t */ _this, \\\n"\
7353"\t\t/* const size_t */ inc, \\\n"\
7354"\t\t/* const size_t */ outc, \\\n"\
7355"\t\t/* const size_t */ incmax_opt \\\n"\
7356") \\\n"\
7357"{ \\\n"\
7358"\t/* Calculate maximum input size */ \\\n"\
7359"\tunless(incmax_opt) { \\\n"\
7360"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
7361"\t\t\t\tv_init, 0, 0, 0, inc, outc \\\n"\
7362"\t\t\t\t); \\\n"\
7363"\t\t(_this).m_inc\t=\t(inc); \\\n"\
7364"\t} else { \\\n"\
7365"\t\t(_this).m_inc\t=\t(incmax_opt); \\\n"\
7366"\t} \\\n"\
7367" \\\n"\
7368"\t(_this).m_outc\t=\t(outc); \\\n"\
7369"}\n"\
7370"\n"\
7371"\n"\
7372"#define __ae2f_AnnSlpInit( \\\n"\
7373"\t/** tparam */ \\\n"\
7374"\t\t \\\n"\
7375" \\\n"\
7376"\t/** param */ \\\n"\
7377"\t\t/* ,ae2f_AnnSlp_t* const */ _this, \\\n"\
7378"\t\t/* const size_t */ inc, \\\n"\
7379"\t\t/* const size_t */ outc, \\\n"\
7380"\t\t/* const size_t */ offset_opt, \\\n"\
7381"\t\t/* ae2f_err_t* const */ err_opt, \\\n"\
7382"\t\t/* size_t* const */ initsz_opt \\\n"\
7383") \\\n"\
7384"{ \\\n"\
7385"\tif((err_opt) && *(err_opt)) \\\n"\
7386"\t\t; \\\n"\
7387"\tunless(_this) \\\n"\
7388"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7389"\telse { \\\n"\
7390"\t\tsize_t v_init; \\\n"\
7391"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
7392"\t\t\t\tv_init \\\n"\
7393"\t\t\t\t, *(_this) \\\n"\
7394"\t\t\t\t, inc, outc \\\n"\
7395"\t\t\t\t, 0 \\\n"\
7396"\t\t\t\t); \\\n"\
7397"\t\t(initsz_opt) && (*(initsz_opt) = v_init + offset_opt); \\\n"\
7398"\t} \\\n"\
7399"}\n"\
7400"\n"\
7401"#else\n"\
7402"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
7403"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
7404"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7405"\n"\
7406"#undef\t__ae2f_AnnSlpInit_imp\n"\
7407"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
7408"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7409"\n"\
7410"#undef\t__ae2f_AnnSlpInit\n"\
7411"#define __ae2f_AnnSlpInit(...) \\\n"\
7412"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7413"#endif\n"\
7414"\n"\
7415"\n"\
7416"\n"\
7417"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
7418"\n"\
7419"#if ae2f_NEED_CLASS\n"\
7420"#define __ae2f_AnnSlpMk_imp( \\\n"\
7421"\t/** tparam */ \\\n"\
7422"\t\t \\\n"\
7423" \\\n"\
7424"\t/** param */ \\\n"\
7425"\t\t/* , ae2f_AnnSlpMk_t */ v_mk, \\\n"\
7426"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
7427"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7428"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7429"\t\t/* const size_t */ inc, \\\n"\
7430"\t\t/* const size_t */ outc, \\\n"\
7431"\t\t/* const size_t */ offset_opt, \\\n"\
7432"\t\t/* const size_t */ extra_opt, \\\n"\
7433"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7434"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7435"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7436"\t\t/* ae2f_float_t */ learningrate, \\\n"\
7437"\t\t/* ae2f_float_t */ learningrate_bias \\\n"\
7438") \\\n"\
7439"{ \\\n"\
7440"\t__ae2f_AnnSlpInitInpSz_imp(v_mk.m_stack, weight_opt, bias_opt, cache_opt, inc, outc); \\\n"\
7441"\tif((v_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
7442"\t\t\t\t\tae2f_AnnSlp* \\\n"\
7443"\t\t\t\t\t, calloc((v_mk).m_stack + (offset_opt) + (extra_opt), 1))) \\\n"\
7444"\t ) { \\\n"\
7445"\t\t(v_mk).m_alloccount = 0; \\\n"\
7446"\t\t(v_mk).m_fieldptr.b = (v_mk).m_ptr + 1; \\\n"\
7447"\t\t(v_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
7448"\t\t\t\tae2f_AnnSlp* \\\n"\
7449"\t\t\t\t, ae2f_reinterpret_cast(char*, (v_mk).m_fieldptr.b) + (offset_opt) \\\n"\
7450"\t\t\t\t); \\\n"\
7451" \\\n"\
7452"\t\tif(weight_opt) { \\\n"\
7453"\t\t\t(v_mk).m_ptr->m_weight = (weight_opt); \\\n"\
7454"\t\t} else { \\\n"\
7455"\t\t\t(v_mk).m_ptr->m_weight = ((v_mk).m_fieldptr.a); \\\n"\
7456"\t\t\t(v_mk).m_fieldptr.a += (inc) * (outc); \\\n"\
7457"\t\t} \\\n"\
7458" \\\n"\
7459"\t\tif(bias_opt) { \\\n"\
7460"\t\t\t(v_mk).m_ptr->m_bias = (bias_opt); \\\n"\
7461"\t\t} else { \\\n"\
7462"\t\t\t(v_mk).m_ptr->m_bias = (v_mk).m_fieldptr.a; \\\n"\
7463"\t\t\t(v_mk).m_fieldptr.a += (outc); \\\n"\
7464"\t\t} \\\n"\
7465" \\\n"\
7466"\t\tif(cache_opt) { \\\n"\
7467"\t\t\t(v_mk).m_ptr->m_cache = (cache_opt); \\\n"\
7468"\t\t} else { \\\n"\
7469"\t\t\t(v_mk).m_ptr->m_cache = (v_mk).m_fieldptr.a; \\\n"\
7470"\t\t} \\\n"\
7471" \\\n"\
7472"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
7473"\t\t\t\t(v_mk).m_stack \\\n"\
7474"\t\t\t\t, v_mk.m_ptr->m_Slp[0] \\\n"\
7475"\t\t\t\t, inc \\\n"\
7476"\t\t\t\t, outc \\\n"\
7477"\t\t\t\t, inc \\\n"\
7478"\t\t\t\t); \\\n"\
7479" \\\n"\
7480"\t\t(v_mk).m_ptr[0].m_act = act; \\\n"\
7481"\t\t(v_mk).m_ptr[0].m_actderiv = actderiv; \\\n"\
7482"\t\t(v_mk).m_ptr[0].m_lossderiv = lossderiv; \\\n"\
7483"\t\t(v_mk).m_ptr[0].m_learningrate = learningrate; \\\n"\
7484"\t\t(v_mk).m_ptr[0].m_learningrate_bias = learningrate_bias; \\\n"\
7485"\t} \\\n"\
7486"}\n"\
7487"\n"\
7488"#define __ae2f_AnnSlpMk( \\\n"\
7489"\t/** tparam */ \\\n"\
7490"\t\t \\\n"\
7491" \\\n"\
7492"\t/** param */ \\\n"\
7493"\t\t/* ,ae2f_float_t* const */ weight_opt, \\\n"\
7494"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7495"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7496"\t\t/* const size_t */ inc, \\\n"\
7497"\t\t/* const size_t */ outc, \\\n"\
7498"\t\t/* const size_t */ offset_opt, \\\n"\
7499"\t\t/* const size_t */ extra_opt, \\\n"\
7500"\t\t/* ae2f_AnnSlp*** const */ slp, \\\n"\
7501"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7502"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7503"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7504"\t\t/* ae2f_float_t */ learningrate, \\\n"\
7505"\t\t/* ae2f_float_t */ learningrate_bias, \\\n"\
7506"\t\t/* ae2f_optae2f_err_t* const */ err_opt \\\n"\
7507") \\\n"\
7508"{ \\\n"\
7509"\tif((err_opt) && *(err_opt)) \\\n"\
7510"\t\t; \\\n"\
7511"\telse unless(slp) \\\n"\
7512"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7513"\telse { \\\n"\
7514"\t\tae2f_AnnSlpMk_t v_mk; \\\n"\
7515"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
7516"\t\t\t\tv_mk \\\n"\
7517"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
7518"\t\t\t\t, inc \\\n"\
7519"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
7520" \\\n"\
7521"\t\t\t\t, act, actderiv, lossderiv \\\n"\
7522" \\\n"\
7523"\t\t\t\t, learningrate, learningrate_bias \\\n"\
7524"\t\t\t\t); \\\n"\
7525" \\\n"\
7526"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
7527"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7528"\t} \\\n"\
7529"}\n"\
7530"#else\n"\
7531"#undef\t__ae2f_AnnSlpMk_imp\n"\
7532"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
7533"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7534"\n"\
7535"#undef\t__ae2f_AnnSlpMk\n"\
7536"#define\t__ae2f_AnnSlpMk(...) \\\n"\
7537"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7538"#endif\n"\
7539"\n"\
7540"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
7541"\n"\
7542"/** @param v_predict has m_ret. That is the return value. */\n"\
7543"#define __ae2f_AnnSlpPredictOne_imp( \\\n"\
7544"\t/** tparam */ \\\n"\
7545"\t\t \\\n"\
7546" \\\n"\
7547"\t/** param */ \\\n"\
7548"\t\t/* , ae2f_AnnSlpPredictOne_t */ v_predict, \\\n"\
7549"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7550"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7551"\t\t/* const ae2f_float_t */ bias, \\\n"\
7552"\t\t/* ae2f_AnnAct_t */ act_opt, \\\n"\
7553"\t\t/* const size_t */ oidx, \\\n"\
7554"\t\t/* const size_t */ isz \\\n"\
7555") \\\n"\
7556"{ \\\n"\
7557"\t(v_predict).m_tmp = 0; \\\n"\
7558" \\\n"\
7559"\tfor((v_predict).m_j = (isz); (v_predict).m_j--; ) { \\\n"\
7560"\t\t(v_predict).m_tmp \\\n"\
7561"\t\t\t+= (prm_in)[(v_predict).m_j] \\\n"\
7562"\t\t\t* ((weight) + (oidx) * (isz))[(v_predict).m_j]; \\\n"\
7563"\t} \\\n"\
7564" \\\n"\
7565"\tact_opt((&(v_predict).m_ret), ((v_predict).m_tmp + (bias))); \\\n"\
7566"}\n"\
7567"\n"\
7568"#define __ae2f_AnnSlpPredict_imp( \\\n"\
7569"\t/** tparam */ \\\n"\
7570"\t\t \\\n"\
7571" \\\n"\
7572"\t/** param */ \\\n"\
7573"\t\t/* , ae2f_AnnSlpPredict_t */ v_predict, \\\n"\
7574"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
7575"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7576"\t\t/* ae2f_float_t* const */ out, \\\n"\
7577"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7578"\t\t/* constae2f_float_t* const */ bias, \\\n"\
7579"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
7580") \\\n"\
7581"{ \\\n"\
7582"\tfor((v_predict).m_i = (_this).m_outc; (v_predict).m_i--; ) \\\n"\
7583"\t{ \\\n"\
7584"\t\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
7585"\t\t\t\tv_predict \\\n"\
7586"\t\t\t\t, prm_in \\\n"\
7587"\t\t\t\t, weight \\\n"\
7588"\t\t\t\t, (bias)[(v_predict).m_i] \\\n"\
7589"\t\t\t\t, act_opt \\\n"\
7590"\t\t\t\t, (v_predict).m_i \\\n"\
7591"\t\t\t\t, (_this).m_inc \\\n"\
7592"\t\t\t\t); \\\n"\
7593" \\\n"\
7594"\t\t(out)[(v_predict).m_i] = (v_predict).m_ret; \\\n"\
7595"\t} \\\n"\
7596"}\n"\
7597"\n"\
7598"#define __ae2f_AnnSlpPredict( \\\n"\
7599"\t/** tparam */ \\\n"\
7600"\t\t \\\n"\
7601" \\\n"\
7602"\t/** param */ \\\n"\
7603"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
7604"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
7605"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7606"\t\t/* ae2f_float_t* const */ out, \\\n"\
7607"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7608"\t\t/* constae2f_float_t* const */ bias, \\\n"\
7609"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
7610") \\\n"\
7611"{ \\\n"\
7612"\tif((err_opt) && *(err_opt)) \\\n"\
7613"\t\t; \\\n"\
7614"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
7615"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
7616"\telse { \\\n"\
7617"\t\tae2f_AnnSlpPredict_t v_predict; \\\n"\
7618" \\\n"\
7619"\t\tif(act_opt) { \\\n"\
7620"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
7621"\t\t\t\t\t(v_predict) \\\n"\
7622"\t\t\t\t\t, *(_this), (prm_in), out \\\n"\
7623"\t\t\t\t\t, weight, bias, act_opt \\\n"\
7624"\t\t\t\t\t); \\\n"\
7625"\t\t} else { \\\n"\
7626"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
7627"\t\t\t\t\t(v_predict) \\\n"\
7628"\t\t\t\t\t, *(_this), prm_in, out \\\n"\
7629"\t\t\t\t\t, weight, bias, \\\n"\
7630"\t\t\t\t\t); \\\n"\
7631"\t\t} \\\n"\
7632"\t} \\\n"\
7633"}\n"\
7634"\n"\
7635"#if ae2f_NEED_CLASS\n"\
7636"#define __ae2f_AnnSlpPredict_C( \\\n"\
7637"\t/** tparam */ \\\n"\
7638"\t\t \\\n"\
7639" \\\n"\
7640"\t/** param */ \\\n"\
7641"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
7642"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
7643"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7644"\t\t/* ae2f_float_t* const */ out \\\n"\
7645") \\\n"\
7646"{ \\\n"\
7647"\tunless(_this) \\\n"\
7648"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7649"\telse { \\\n"\
7650"\t\t__ae2f_AnnSlpPredict( \\\n"\
7651"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
7652"\t\t\t\t, prm_in, out \\\n"\
7653"\t\t\t\t, (_this)->m_weight \\\n"\
7654"\t\t\t\t, (_this)->m_bias \\\n"\
7655"\t\t\t\t, (_this)->m_act \\\n"\
7656"\t\t\t\t); \\\n"\
7657"\t} \\\n"\
7658"}\n"\
7659"#else\n"\
7660"#undef\t__ae2f_AnnSlpPredict_C\n"\
7661"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
7662"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7663"#endif\n"\
7664"\n"\
7665"/** @brief Weights */\n"\
7666"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
7667"\t/** tparam */ \\\n"\
7668"\t\t \\\n"\
7669" \\\n"\
7670"\t/** param */ \\\n"\
7671"\t\t/* , const ae2f_float_t */ inp, \\\n"\
7672"\t\t/* const ae2f_float_t */ delta, \\\n"\
7673"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7674"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7675"\t\t/* const size_t */ inp_sz, \\\n"\
7676"\t\t/* const size_t */ inp_idx, \\\n"\
7677"\t\t/* const size_t */ out_sz, \\\n"\
7678"\t\t/* const size_t */ out_idx \\\n"\
7679") \\\n"\
7680"{ \\\n"\
7681"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
7682"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
7683"}\n"\
7684"\n"\
7685"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
7686"\t/** tparam */ \\\n"\
7687"\t\t \\\n"\
7688" \\\n"\
7689"\t/** param */ \\\n"\
7690"\t\t/* , ae2f_float_t */ r_bias, \\\n"\
7691"\t\t/* const ae2f_float_t */ delta, \\\n"\
7692"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7693") { (r_bias) -= (delta) * (learningrate_bias); }\n"\
7694"\n"\
7695"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
7696"\t/** tparam */ \\\n"\
7697"\t\t \\\n"\
7698" \\\n"\
7699"\t/** param */ \\\n"\
7700"\t\t/* , ae2f_AnnSlpFollowOne_t */ v_follow, \\\n"\
7701"\t\t/* constae2f_float_t* */ prm_in, \\\n"\
7702"\t\t/* const ae2f_float_t */ delta, \\\n"\
7703"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7704"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7705"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
7706"\t\t/* const size_t */ inp_sz, \\\n"\
7707"\t\t/* const size_t */ out_idx, \\\n"\
7708"\t\t/* ae2f_float_t */ v_bias \\\n"\
7709") \\\n"\
7710"{ \\\n"\
7711"\tfor((v_follow).m_j = 0; (v_follow).m_j < (inp_sz); ++(v_follow).m_j) { \\\n"\
7712"\t\t((weight) + (inp_sz) * (out_idx))[(v_follow).m_j] \\\n"\
7713"\t\t\t-= (delta) * (prm_in)[(v_follow).m_j] * (learningrate); \\\n"\
7714"\t} \\\n"\
7715" \\\n"\
7716"\t(v_bias) -= (delta) * (learningrate_bias); \\\n"\
7717"}\n"\
7718"\n"\
7719"\n"\
7720"#define __ae2f_AnnSlpFollow_imp( \\\n"\
7721"\t/** tparam */ \\\n"\
7722"\t\t \\\n"\
7723" \\\n"\
7724"\t/** param */ \\\n"\
7725"\t\t/* , ae2f_AnnSlpFollow_t */ v_follow, \\\n"\
7726"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
7727"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7728"\t\t/* constae2f_float_t* const */ delta, \\\n"\
7729"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7730"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7731"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7732"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7733") \\\n"\
7734"{ \\\n"\
7735"\tfor(v_follow.m_i = (_this).m_outc; (v_follow).m_i--; ) { \\\n"\
7736"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
7737"\t\t\t\tv_follow \\\n"\
7738"\t\t\t\t, prm_in \\\n"\
7739"\t\t\t\t, (delta)[v_follow.m_i] \\\n"\
7740"\t\t\t\t, ((weight)) \\\n"\
7741"\t\t\t\t, learningrate, learningrate_bias \\\n"\
7742"\t\t\t\t, (_this).m_inc \\\n"\
7743"\t\t\t\t, (v_follow).m_i \\\n"\
7744"\t\t\t\t, (bias)[v_follow.m_i] \\\n"\
7745"\t\t\t\t); \\\n"\
7746"\t} \\\n"\
7747"}\n"\
7748"\n"\
7749"#define __ae2f_AnnSlpFollow( \\\n"\
7750"\t/** tparam */ \\\n"\
7751"\t\t \\\n"\
7752" \\\n"\
7753"\t/** param */ \\\n"\
7754"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
7755"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
7756"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7757"\t\t/* constae2f_float_t* const */ delta, \\\n"\
7758"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7759"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7760"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7761"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7762") \\\n"\
7763"{ \\\n"\
7764"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
7765"\t\t; \\\n"\
7766"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
7767"\t\t; \\\n"\
7768"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
7769"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7770"\telse { \\\n"\
7771"\t\tae2f_AnnSlpFollow_t v_follow; \\\n"\
7772"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
7773"\t\t\t\tv_follow \\\n"\
7774"\t\t\t\t, *(_this) \\\n"\
7775"\t\t\t\t, prm_in \\\n"\
7776"\t\t\t\t, delta \\\n"\
7777"\t\t\t\t, weight, bias \\\n"\
7778"\t\t\t\t, learningrate \\\n"\
7779"\t\t\t\t, learningrate_bias \\\n"\
7780"\t\t\t\t); \\\n"\
7781"\t} \\\n"\
7782"}\n"\
7783"\n"\
7784"#if ae2f_NEED_CLASS\n"\
7785"#define __ae2f_AnnSlpFollow_C( \\\n"\
7786"\t/** tparam */ \\\n"\
7787"\t\t \\\n"\
7788" \\\n"\
7789"\t/** param */ \\\n"\
7790"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
7791"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
7792"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7793"\t\t/* constae2f_float_t* const */ delta \\\n"\
7794") { \\\n"\
7795"\tunless((_this)) \\\n"\
7796"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7797"\telse { \\\n"\
7798"\t\t__ae2f_AnnSlpFollow( \\\n"\
7799"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
7800"\t\t\t\t, prm_in, delta \\\n"\
7801"\t\t\t\t, _this->m_weight \\\n"\
7802"\t\t\t\t, (_this)->m_bias \\\n"\
7803"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
7804"\t\t\t\t); \\\n"\
7805"\t} \\\n"\
7806"}\n"\
7807"#else\n"\
7808"#undef\t__ae2f_AnnSlpFollow_C\n"\
7809"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
7810"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7811"#endif\n"\
7812"\n"\
7813"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
7814"\t/** tparam */ \\\n"\
7815"\t\t \\\n"\
7816" \\\n"\
7817"\t/** param */ \\\n"\
7818"\t\t/* , ae2f_float_t */ v_fetchdelta_0, \\\n"\
7819"\t\t/* ae2f_float_t */ v_fetchdelta_1, \\\n"\
7820"\t\t/* constae2f_float_t* const */ out, \\\n"\
7821"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7822"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7823"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7824"\t\t/* ae2f_float_t */ retdelta, \\\n"\
7825"\t\t/* const size_t */ oidx, \\\n"\
7826"\t\t/* const size_t */ osz \\\n"\
7827") \\\n"\
7828"{ \\\n"\
7829"\tactderiv_opt(&(v_fetchdelta_0), (out)[oidx]); \\\n"\
7830"\tlossderiv((&(v_fetchdelta_1)), (out), (out_desired), (oidx), (osz)); \\\n"\
7831" \\\n"\
7832"\t(retdelta) = \\\n"\
7833"\t\t(v_fetchdelta_0) * \\\n"\
7834"\t\t(v_fetchdelta_1) \\\n"\
7835"\t\t; \\\n"\
7836"}\n"\
7837"\n"\
7838"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
7839"\t/** tparam */ \\\n"\
7840"\t\t \\\n"\
7841" \\\n"\
7842"\t/** param */ \\\n"\
7843"\t\t/* , ae2f_AnnSlpFetchDelta_t */ v_delta, \\\n"\
7844"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
7845"\t\t/* constae2f_float_t* const */ out, \\\n"\
7846"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7847"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7848"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7849"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7850") \\\n"\
7851"{ \\\n"\
7852"\tfor((v_delta).m_i = (slp).m_outc; (v_delta).m_i--; ) \\\n"\
7853"\t\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
7854"\t\t\t\t(v_delta).m_tmp, (v_delta).m_tmp1 \\\n"\
7855"\t\t\t\t, out, out_desired \\\n"\
7856"\t\t\t\t, actderiv_opt, lossderiv \\\n"\
7857"\t\t\t\t, (retdelta)[v_delta.m_i] \\\n"\
7858"\t\t\t\t, (v_delta).m_i \\\n"\
7859"\t\t\t\t, (slp).m_outc \\\n"\
7860"\t\t\t\t); \\\n"\
7861"}\n"\
7862"\n"\
7863"#define __ae2f_AnnSlpFetchDelta( \\\n"\
7864"\t/** tparam */ \\\n"\
7865"\t\t \\\n"\
7866" \\\n"\
7867"\t/** param */ \\\n"\
7868"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
7869"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
7870"\t\t/* constae2f_float_t* const */ out, \\\n"\
7871"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7872"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7873"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7874"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7875") \\\n"\
7876"{ \\\n"\
7877"\tif((err) && *(err)) \\\n"\
7878"\t\t; \\\n"\
7879"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
7880"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7881"\telse unless(lossderiv) \\\n"\
7882"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7883" \\\n"\
7884"\telse if(actderiv_opt) { \\\n"\
7885"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7886"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7887"\t\t\t\tv_delta, (*(slp)) \\\n"\
7888"\t\t\t\t, out, out_desired \\\n"\
7889"\t\t\t\t, actderiv_opt \\\n"\
7890"\t\t\t\t, lossderiv \\\n"\
7891"\t\t\t\t, retdelta \\\n"\
7892"\t\t\t\t); \\\n"\
7893"\t} else { \\\n"\
7894"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7895"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7896"\t\t\t\tv_delta, (*(slp)) \\\n"\
7897"\t\t\t\t, out, out_desired \\\n"\
7898"\t\t\t\t, , lossderiv \\\n"\
7899"\t\t\t\t, retdelta \\\n"\
7900"\t\t\t\t); \\\n"\
7901"\t} \\\n"\
7902"}\n"\
7903"\n"\
7904"#if\tae2f_NEED_CLASS\n"\
7905"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
7906"\t/** tparam */ \\\n"\
7907"\t\t \\\n"\
7908" \\\n"\
7909"\t/** param */ \\\n"\
7910"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
7911"\t\t/* constae2f_AnnSlp* const */ slp, \\\n"\
7912"\t\t/* constae2f_float_t* const */ out, \\\n"\
7913"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7914"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7915") \\\n"\
7916"{ \\\n"\
7917"\tif((err) && *(err)) \\\n"\
7918"\t\t; \\\n"\
7919"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
7920"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7921"\telse unless((slp)->m_lossderiv) \\\n"\
7922"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7923"\telse { \\\n"\
7924"\t\tif((slp)->m_actderiv) { \\\n"\
7925"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7926"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7927"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
7928"\t\t\t\t\t, out, out_desired \\\n"\
7929"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
7930"\t\t\t\t\t, retdelta \\\n"\
7931"\t\t\t\t\t); \\\n"\
7932"\t\t} else { \\\n"\
7933"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7934"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7935"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
7936"\t\t\t\t\t, out, out_desired \\\n"\
7937"\t\t\t\t\t, , (slp)->m_lossderiv \\\n"\
7938"\t\t\t\t\t, retdelta \\\n"\
7939"\t\t\t\t\t); \\\n"\
7940"\t\t} \\\n"\
7941"\t} \\\n"\
7942"}\n"\
7943"#else\n"\
7944"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
7945"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
7946"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7947"#endif\n"\
7948"\n"\
7949"#define __ae2f_AnnSlpFitOne_imp( \\\n"\
7950"\t/** tparam */ \\\n"\
7951"\t\t \\\n"\
7952" \\\n"\
7953"\t/** param */ \\\n"\
7954"\t\t/* , ae2f_AnnSlpFitOne_t */ v_fit, \\\n"\
7955"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7956"\t\t/* constae2f_float_t* const */ out, \\\n"\
7957"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7958"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7959"\t\t/* ae2f_float_t */ r_bias, \\\n"\
7960"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
7961"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7962"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7963"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7964"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
7965"\t\t/* const size_t */ iidx, \\\n"\
7966"\t\t/* const size_t */ oidx, \\\n"\
7967"\t\t/* const size_t */ isz, \\\n"\
7968"\t\t/* const size_t */ osz \\\n"\
7969") \\\n"\
7970"{ \\\n"\
7971"\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
7972"\t\t\t(v_fit).m_tmp, (v_fit).m_tmp1 \\\n"\
7973"\t\t\t, out, out_desired \\\n"\
7974"\t\t\t, actderiv_opt, lossderiv \\\n"\
7975"\t\t\t, r_cachedelta \\\n"\
7976"\t\t\t, oidx, osz \\\n"\
7977"\t\t\t); \\\n"\
7978" \\\n"\
7979" \\\n"\
7980"\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
7981"\t\t\tv_fit, inp, r_cachedelta, weight \\\n"\
7982"\t\t\t, learningrate, learningrate_bias \\\n"\
7983"\t\t\t, isz, oidx, r_bias \\\n"\
7984"\t\t\t); \\\n"\
7985"}\n"\
7986"\n"\
7987"#define __ae2f_AnnSlpFit_imp( \\\n"\
7988"\t/** tparam */ \\\n"\
7989"\t\t \\\n"\
7990" \\\n"\
7991"\t/** param */ \\\n"\
7992"\t\t/* , ae2f_AnnSlpFit_t */ v_fit, \\\n"\
7993"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
7994"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7995"\t\t/* constae2f_float_t* const */ out, \\\n"\
7996"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7997"\t\t/* ae2f_float_t* const */ weights, \\\n"\
7998"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7999"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8000"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
8001"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8002"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8003"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8004") \\\n"\
8005"{ \\\n"\
8006"\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
8007"\t\t\tv_fit, slp \\\n"\
8008"\t\t\t, out, out_desired \\\n"\
8009"\t\t\t, actderiv_opt, lossderiv \\\n"\
8010"\t\t\t, cachedelta \\\n"\
8011"\t\t\t); \\\n"\
8012" \\\n"\
8013"\t__ae2f_AnnSlpFollow_imp( \\\n"\
8014"\t\t\tv_fit, slp, inp \\\n"\
8015"\t\t\t, cachedelta, weights, bias \\\n"\
8016"\t\t\t, learningrate, learningrate_bias \\\n"\
8017"\t\t\t); \\\n"\
8018"}\n"\
8019"\n"\
8020"#define __ae2f_AnnSlpFit( \\\n"\
8021"\t/** tparam */ \\\n"\
8022"\t\t \\\n"\
8023" \\\n"\
8024"\t/** param */ \\\n"\
8025"\t\t/* ,ae2f_err_t* const ae2f_opt */ reterr_opt, \\\n"\
8026"\t\t/* constae2f_AnnSlp_t* */ _this, \\\n"\
8027"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
8028"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
8029"\t\t/* constae2f_float_t* const */ prm_out_desired, \\\n"\
8030"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8031"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8032"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8033"\t\t/* ae2f_AnnAct_t ae2f_opt */ actderiv_opt, \\\n"\
8034"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8035"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8036"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8037") \\\n"\
8038"{ \\\n"\
8039"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
8040"\t\t; \\\n"\
8041"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
8042"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8043"\telse unless(lossderiv) \\\n"\
8044"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
8045"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
8046"\t\t; \\\n"\
8047"\telse { \\\n"\
8048"\t\tae2f_AnnSlpFit_t v_fit; \\\n"\
8049"\t\tif(actderiv_opt) { \\\n"\
8050"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
8051"\t\t\t\t\tv_fit \\\n"\
8052"\t\t\t\t\t, (*(_this)) \\\n"\
8053"\t\t\t\t\t, prm_inp \\\n"\
8054"\t\t\t\t\t, prm_out \\\n"\
8055"\t\t\t\t\t, prm_out_desired \\\n"\
8056"\t\t\t\t\t, weights \\\n"\
8057"\t\t\t\t\t, bias \\\n"\
8058"\t\t\t\t\t, cachedelta \\\n"\
8059"\t\t\t\t\t, actderiv_opt \\\n"\
8060"\t\t\t\t\t, lossderiv \\\n"\
8061"\t\t\t\t\t, learningrate \\\n"\
8062"\t\t\t\t\t, learningrate_bias \\\n"\
8063"\t\t\t\t\t); \\\n"\
8064"\t\t} else { \\\n"\
8065"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
8066"\t\t\t\t\tv_fit \\\n"\
8067"\t\t\t\t\t, (*(_this)) \\\n"\
8068"\t\t\t\t\t, prm_inp \\\n"\
8069"\t\t\t\t\t, prm_out \\\n"\
8070"\t\t\t\t\t, prm_out_desired \\\n"\
8071"\t\t\t\t\t, weights \\\n"\
8072"\t\t\t\t\t, bias \\\n"\
8073"\t\t\t\t\t, cachedelta \\\n"\
8074"\t\t\t\t\t, \\\n"\
8075"\t\t\t\t\t, lossderiv \\\n"\
8076"\t\t\t\t\t, learningrate \\\n"\
8077"\t\t\t\t\t, learningrate_bias \\\n"\
8078"\t\t\t\t\t); \\\n"\
8079"\t\t} \\\n"\
8080"\t} \\\n"\
8081"}\n"\
8082"\n"\
8083"#if\tae2f_NEED_CLASS\n"\
8084"#define __ae2f_AnnSlpFit_C( \\\n"\
8085"\t/** tparam */ \\\n"\
8086"\t\t \\\n"\
8087" \\\n"\
8088"\t/** param */ \\\n"\
8089"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
8090"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
8091"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
8092"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
8093"\t\t/* constae2f_float_t* const */ prm_out_desired \\\n"\
8094") { \\\n"\
8095"\tunless(_this) { \\\n"\
8096"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
8097"\t} \\\n"\
8098"\telse { \\\n"\
8099"\t\t__ae2f_AnnSlpFit( \\\n"\
8100"\t\t\t\treterr_opt \\\n"\
8101"\t\t\t\t, (_this)->m_Slp \\\n"\
8102"\t\t\t\t, prm_inp \\\n"\
8103"\t\t\t\t, prm_out \\\n"\
8104"\t\t\t\t, prm_out_desired \\\n"\
8105"\t\t\t\t, (_this)->m_weight \\\n"\
8106"\t\t\t\t, (_this)->m_bias \\\n"\
8107"\t\t\t\t, (_this)->m_cache \\\n"\
8108"\t\t\t\t, (_this)->m_actderiv \\\n"\
8109"\t\t\t\t, (_this)->m_lossderiv \\\n"\
8110"\t\t\t\t, (_this)->m_learningrate \\\n"\
8111"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
8112"\t\t\t\t); \\\n"\
8113"\t} \\\n"\
8114"}\n"\
8115"#else\n"\
8116"#undef\t__ae2f_AnnSlpFit_C\n"\
8117"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
8118"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
8119"#endif\n"\
8120"\n"\
8121"#define __ae2f_AnnSlpTrainOne_imp( \\\n"\
8122"\t/** tparam */ \\\n"\
8123"\t\t \\\n"\
8124" \\\n"\
8125"\t/** param */ \\\n"\
8126"\t\t/* , ae2f_AnnSlpTrainOne_t */ v_train, \\\n"\
8127"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
8128"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
8129"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8130"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8131"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8132"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8133"\t\t/* ae2f_float_t* const */ weight, \\\n"\
8134"\t\t/* ae2f_float_t */ v_bias, \\\n"\
8135"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
8136"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8137"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
8138"\t\t/* const size_t */ oidx, \\\n"\
8139"\t\t/* const size_t */ osz, \\\n"\
8140"\t\t/* const size_t */ isz \\\n"\
8141") \\\n"\
8142"{ \\\n"\
8143"\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
8144"\t\t\tv_train \\\n"\
8145"\t\t\t, inp \\\n"\
8146"\t\t\t, weight \\\n"\
8147"\t\t\t, v_bias \\\n"\
8148"\t\t\t, act \\\n"\
8149"\t\t\t, oidx \\\n"\
8150"\t\t\t, isz \\\n"\
8151"\t\t\t); \\\n"\
8152" \\\n"\
8153"\t(out_cache)[oidx] = (v_train).m_ret; \\\n"\
8154" \\\n"\
8155"\t__ae2f_AnnSlpFitOne_imp( \\\n"\
8156"\t\t\tv_train \\\n"\
8157"\t\t\t, inp \\\n"\
8158"\t\t\t, out_cache, out_desired \\\n"\
8159"\t\t\t, weight \\\n"\
8160"\t\t\t, v_bias \\\n"\
8161"\t\t\t, r_cachedelta \\\n"\
8162"\t\t\t, actderiv, lossderiv \\\n"\
8163"\t\t\t, learningrate, learningrate_bias \\\n"\
8164"\t\t\t, iidx, oidx, isz, osz \\\n"\
8165"\t\t\t); \\\n"\
8166"}\n"\
8167"\n"\
8168"#define __ae2f_AnnSlpTrain_imp( \\\n"\
8169"\t/** tparam */ \\\n"\
8170"\t\t \\\n"\
8171" \\\n"\
8172"\t/** param */ \\\n"\
8173"\t\t/* , ae2f_AnnSlpTrain_t */ v_train, \\\n"\
8174"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
8175"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8176"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8177"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8178"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8179"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8180"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8181"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
8182"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
8183"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8184"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8185"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8186") \\\n"\
8187"{ \\\n"\
8188"\t__ae2f_AnnSlpPredict_imp(v_train, slp, inp, out_cache, weights, bias, act); \\\n"\
8189"\t__ae2f_AnnSlpFit_imp( \\\n"\
8190"\t\t\tv_train, slp, inp, out_cache, out_desired \\\n"\
8191"\t\t\t, weights, bias, cachedelta \\\n"\
8192"\t\t\t, actderiv, lossderiv \\\n"\
8193"\t\t\t, learningrate, learningrate_bias \\\n"\
8194"\t\t\t); \\\n"\
8195"}\n"\
8196"\n"\
8197"#if ae2f_NEED_CLASS\n"\
8198"#define __ae2f_AnnSlpTrain_C( \\\n"\
8199"\t/** tparam */ \\\n"\
8200"\t\t \\\n"\
8201" \\\n"\
8202"\t/** param */ \\\n"\
8203"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
8204"\t\t/* ae2f_AnnSlp* */ slp, \\\n"\
8205"\t\t/* constae2f_float_t* */ inp, \\\n"\
8206"\t\t/* constae2f_float_t* */ out_desired \\\n"\
8207") \\\n"\
8208"{ \\\n"\
8209"\tunless(slp) \\\n"\
8210"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8211"\telse { \\\n"\
8212"\t\t__ae2f_AnnSlpTrain( \\\n"\
8213"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
8214"\t\t\t\t, (slp)->m_cache \\\n"\
8215"\t\t\t\t, out_desired \\\n"\
8216"\t\t\t\t, (slp)->m_weight \\\n"\
8217"\t\t\t\t, (slp)->m_bias \\\n"\
8218"\t\t\t\t, (slp)->m_cache \\\n"\
8219"\t\t\t\t, (slp)->m_act \\\n"\
8220"\t\t\t\t, (slp)->m_actderiv \\\n"\
8221"\t\t\t\t, (slp)->m_lossderiv \\\n"\
8222"\t\t\t\t, (slp)->m_learningrate \\\n"\
8223"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
8224"\t\t\t\t); \\\n"\
8225"\t} \\\n"\
8226"}\n"\
8227"#else\n"\
8228"#undef\t__ae2f_AnnSlpTrain_C\n"\
8229"#define __ae2f_AnnSlpTrain_C \\\n"\
8230"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
8231"\n"\
8232"#endif\n"\
8233"\n"\
8234"#define __ae2f_AnnSlpTrain( \\\n"\
8235"\t/** tparam */ \\\n"\
8236"\t\t \\\n"\
8237" \\\n"\
8238"\t/** param */ \\\n"\
8239"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
8240"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
8241"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8242"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8243"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8244"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8245"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8246"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8247"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
8248"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
8249"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
8250"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8251"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8252") \\\n"\
8253"{ \\\n"\
8254"\tif((err) && *(err)) \\\n"\
8255"\t\t; \\\n"\
8256"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
8257"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8258"\telse unless(lossderiv) \\\n"\
8259"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
8260"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
8261"\t\t; \\\n"\
8262"\telse { \\\n"\
8263"\t\tae2f_AnnSlpTrain_t v_train; \\\n"\
8264"\t\tif (act) { \\\n"\
8265"\t\t\tif(actderiv) { \\\n"\
8266"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8267"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8268"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8269"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
8270"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8271"\t\t\t\t\t\t); \\\n"\
8272"\t\t\t} else { \\\n"\
8273"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8274"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8275"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8276"\t\t\t\t\t\t, cachedelta, act, , lossderiv \\\n"\
8277"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8278"\t\t\t\t\t\t); \\\n"\
8279" \\\n"\
8280"\t\t\t} \\\n"\
8281"\t\t} else { \\\n"\
8282"\t\t\tif(actderiv) { \\\n"\
8283"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8284"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8285"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8286"\t\t\t\t\t\t, cachedelta, , actderiv, lossderiv \\\n"\
8287"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8288"\t\t\t\t\t\t); \\\n"\
8289"\t\t\t} else { \\\n"\
8290"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8291"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8292"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8293"\t\t\t\t\t\t, cachedelta, , , lossderiv \\\n"\
8294"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8295"\t\t\t\t\t\t); \\\n"\
8296" \\\n"\
8297"\t\t\t} \\\n"\
8298"\t\t} \\\n"\
8299"\t} \\\n"\
8300"}\n"\
8301"\n"\
8302"\n"\
8303"#endif\n"\
8304"\n"\
8305"#undef\t__ae2f_MACRO_GENERATED\n"\
8306"\n"\
8307"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8308"\n"\
8309"/** One eof gracefully */ \\\n"\
8310"\n"\
8311"#undef __ae2f_MACRO_GENERATED\n"\
8312"#define __ae2f_MACRO_GENERATED 1\n"\
8313"/** include detected */ \\\n"\
8314"/** Path cursor */ \\\n"\
8315"/* Opening: ././mac.h */ \\\n"\
8316"/** first fp: 0x559c5e310900 */ \\\n"\
8317"/** Current ././mac.h */ \\\n"\
8318"/** Dir ././ */ \\\n"\
8319"/** Found something. Now let\'s validate. */ \\\n"\
8320"/** It\'s not repeating */ \\\n"\
8321"/******************** */\\\n"\
8322"/* Now the path will be: */ \\\n"\
8323" /*././mac.h */ \\\n"\
8324"#ifndef mac_h\n"\
8325"#define mac_h\n"\
8326"\n"\
8327"#define ae2f_MAC()\tvoid\n"\
8328"#define\tCAST(t, x)\t((t)(x))\n"\
8329"\n"\
8330"\n"\
8331"/** Quick Pattern */\n"\
8332"#if CL_Q\n"\
8333"#define CL_Q_CVRT(x)\tx##_Q\n"\
8334"#else\n"\
8335"#define CL_Q_CVRT(x)\tx\n"\
8336"#endif\n"\
8337"\n"\
8338"#endif\n"\
8339"/** One eof gracefully */ \\\n"\
8340"\n"\
8341"#undef __ae2f_MACRO_GENERATED\n"\
8342"#define __ae2f_MACRO_GENERATED 1\n"\
8343"\n"\
8344"typedef ae2f_AnnSlpPredictOne_t _clSlpPredict_t;\n"\
8345"\n"\
8346"#define _clSlpPredict( \\\n"\
8347"\t/** tparam */ \\\n"\
8348"\t\t \\\n"\
8349" \\\n"\
8350"\t/** param */ \\\n"\
8351"\t\t/* , _clSlpPredict_t */ v_predict, \\\n"\
8352"\t\t/* ae2f_float_t* const */ loc, \\\n"\
8353"\t\t/* constae2f_float_t* const */ p_inp, \\\n"\
8354"\t\t/* constae2f_float_t* const */ p_weight, \\\n"\
8355"\t\t/* constae2f_float_t* const */ p_bias, \\\n"\
8356"\t\t/* const size_t */ iidx, \\\n"\
8357"\t\t/* const size_t */ isz, \\\n"\
8358"\t\t/* const size_t */ oidx, \\\n"\
8359"\t\t/* const size_t */ osz, \\\n"\
8360"\t\t/* ae2f_AnnAct_t */ ACT \\\n"\
8361") \\\n"\
8362"{ \\\n"\
8363"\tif((iidx) == 0 && (oidx) < (osz)) { \\\n"\
8364"\t\t_clSlpPredict_t\t_v_predict; \\\n"\
8365"\t\t(_v_predict).m_tmp = 0; \\\n"\
8366"\t\tfor((_v_predict).m_j = (isz); (_v_predict).m_j--;) { \\\n"\
8367"\t\t\t(_v_predict).m_tmp \\\n"\
8368"\t\t\t\t+= p_inp[(_v_predict).m_j] * p_weight[(_v_predict).m_j + (isz) * (oidx)]; \\\n"\
8369"\t\t} \\\n"\
8370" \\\n"\
8371"\t\t(_v_predict).m_tmp += (p_bias)[oidx]; \\\n"\
8372"\t\tACT(&(_v_predict).m_ret, (_v_predict).m_tmp); \\\n"\
8373"\t\t(loc)[oidx] = (_v_predict).m_ret; \\\n"\
8374"\t} \\\n"\
8375"}\n"\
8376"\n"\
8377"ae2f_structdef(struct, _clSlpPredict_t_Q) {\n"\
8378"\tae2f_float_t\tm_sum, m_ret;\n"\
8379"};\n"\
8380"\n"\
8381"/** Quick version, not precise. */\n"\
8382"#define _clSlpPredict_Q( \\\n"\
8383"\t/** tparam */ \\\n"\
8384"\t\t \\\n"\
8385" \\\n"\
8386"\t/** param */ \\\n"\
8387"\t\t/* , _clSlpPredict_t_Q */ v_predict, \\\n"\
8388"\t\t/* __localae2f_float_t* const */ loc, \\\n"\
8389"\t\t/* constae2f_float_t* const */ p_inp, \\\n"\
8390"\t\t/* constae2f_float_t* const */ p_weight, \\\n"\
8391"\t\t/* constae2f_float_t* const */ p_bias, \\\n"\
8392"\t\t/* const size_t */ iidx, \\\n"\
8393"\t\t/* const size_t */ isz, \\\n"\
8394"\t\t/* const size_t */ oidx, \\\n"\
8395"\t\t/* const size_t */ osz, \\\n"\
8396"\t\t/* ae2f_AnnAct_t */ ACT \\\n"\
8397") \\\n"\
8398"{ \\\n"\
8399"\tif((oidx) < (osz) && (iidx) < (isz)) { \\\n"\
8400"\t\t(v_predict).m_sum = work_group_reduce_add( \\\n"\
8401"\t\t\t\t(p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
8402"\t\t\t\t); \\\n"\
8403" \\\n"\
8404"\t\tif((iidx) == 0) { \\\n"\
8405"\t\t\tACT((&(v_predict).m_ret), ((v_predict).m_sum + (p_bias)[oidx])); \\\n"\
8406"\t\t\t(loc)[oidx] = (v_predict).m_ret; \\\n"\
8407"\t\t} \\\n"\
8408"\t} \\\n"\
8409"}\n"\
8410"\n"\
8411"#define clSlpPredict\tCL_Q_CVRT(_clSlpPredict)\n"\
8412"#define clSlpPredict_t\tCL_Q_CVRT(_clSlpPredict_t)\n"\
8413"\n"\
8414"#endif\n"\
8415"\n"\
8416"#undef\t__ae2f_MACRO_GENERATED\n"\
8417"\n"\
8418"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8419"\n"\
8420"/** One eof gracefully */ \\\n"\
8421"\n"\
8422"#undef __ae2f_MACRO_GENERATED\n"\
8423"#define __ae2f_MACRO_GENERATED 1\n"\
8424"\n"\
8425"typedef void clMlpGetHD1_t(\n"\
8426"\t\tae2f_float_t* const\t\tr_delta,\n"\
8427"\n"\
8428"\t\tconst ae2f_float_t* const\ti_weight,\n"\
8429"\t\tconst ae2f_float_t* const\ti_delta,\n"\
8430"\n"\
8431"\t\tconst size_t\t\t\ti_iidx,\n"\
8432"\t\tconst size_t\t\t\ti_isz,\n"\
8433"\t\tconst size_t\t\t\ti_oidx,\n"\
8434"\t\tconst size_t\t\t\ti_osz\n"\
8435"\t\t);\n"\
8436"\n"\
8437"/** \n"\
8438" * @brief \n"\
8439" * delta to delta \n"\
8440" * Propagate\n"\
8441" *\n"\
8442"\n"\
8443" * @inp aka out_then\n"\
8444" * @deltaseed \n"\
8445" * */\n"\
8446"#define _clMlpRvrse( \\\n"\
8447"\t/** tparam */ \\\n"\
8448"\t\t \\\n"\
8449" \\\n"\
8450"\t/** param */ \\\n"\
8451"\t\t/* , ae2f_float_t */ v_tmp, \\\n"\
8452"\t\t/* ae2f_float_t* const */ r_delta_then, \\\n"\
8453"\t\t/* const size_t */ i_oidx, \\\n"\
8454"\t\t/* const size_t */ i_iidx, \\\n"\
8455"\t\t/* const size_t */ i_isz, \\\n"\
8456"\t\t/* ae2f_AnnAct_t */ i_actderiv_then, \\\n"\
8457"\t\t/* constae2f_float_t* const */ i_inp, \\\n"\
8458"\t\t/* constae2f_float_t* const */ i_deltaseed \\\n"\
8459") \\\n"\
8460"{ \\\n"\
8461"\tif((i_iidx) < (i_isz) && !(i_oidx)) { \\\n"\
8462"\t\ti_actderiv_then(&(v_tmp), (i_inp)[i_iidx]); \\\n"\
8463"\t\t(r_delta_then)[i_iidx] = (v_tmp) * (i_deltaseed)[i_iidx]; \\\n"\
8464"\t} \\\n"\
8465"}\n"\
8466"\n"\
8467"#define _clMlpGetHD1_Q( \\\n"\
8468"\t/** tparam */ \\\n"\
8469"\t\t \\\n"\
8470" \\\n"\
8471"\t/** param */ \\\n"\
8472"\t\t/* ,ae2f_float_t* const */ r_delta_then, \\\n"\
8473"\t\t/* constae2f_float_t* const */ i_weight, \\\n"\
8474"\t\t/* constae2f_float_t* const */ i_delta, \\\n"\
8475"\t\t/* const size_t */ i_iidx, \\\n"\
8476"\t\t/* const size_t */ i_isz, \\\n"\
8477"\t\t/* const size_t */ i_oidx, \\\n"\
8478"\t\t/* const size_t */ i_osz \\\n"\
8479") \\\n"\
8480"{ \\\n"\
8481"\tif((i_oidx) < (i_osz) && (i_iidx) < (i_isz)) { \\\n"\
8482"\t\t(r_delta_then)[(i_iidx)] \\\n"\
8483"\t\t\t= work_group_reduce_add( \\\n"\
8484"\t\t\t\t\t(i_weight)[(i_isz) * (i_oidx) + (i_iidx)] * (i_delta)[i_oidx] \\\n"\
8485"\t\t\t\t\t); \\\n"\
8486"\t} \\\n"\
8487"}\n"\
8488"\n"\
8489"#define _clMlpGetHD1( \\\n"\
8490"\t/** tparam */ \\\n"\
8491"\t\t \\\n"\
8492" \\\n"\
8493"\t/** param */ \\\n"\
8494"\t\t/* ,ae2f_float_t* const */ r_delta_then, \\\n"\
8495"\t\t/* constae2f_float_t* const */ i_weight, \\\n"\
8496"\t\t/* constae2f_float_t* const */ i_delta, \\\n"\
8497"\t\t/* const size_t */ i_iidx, \\\n"\
8498"\t\t/* const size_t */ i_isz, \\\n"\
8499"\t\t/* const size_t */ i_oidx, \\\n"\
8500"\t\t/* const size_t */ i_osz \\\n"\
8501") \\\n"\
8502"{ \\\n"\
8503"\tif((i_oidx) == 0 && (i_iidx) < (i_isz)) { \\\n"\
8504"\t\tsize_t v_oidx = (i_osz); \\\n"\
8505"\t\tae2f_float_t\tv_ret = 0; \\\n"\
8506" \\\n"\
8507"\t\twhile((v_oidx)--) { \\\n"\
8508"\t\t\t(v_ret) += (i_weight)[(i_isz) * (v_oidx) + (i_iidx)] * (i_delta)[(v_oidx)]; \\\n"\
8509"\t\t} \\\n"\
8510" \\\n"\
8511"\t\t(r_delta_then)[(i_iidx)] = (v_ret); \\\n"\
8512"\t} \\\n"\
8513"}\n"\
8514"\n"\
8515"#define _clMlpGetHD( \\\n"\
8516"\t/** tparam */ \\\n"\
8517"\t\t \\\n"\
8518" \\\n"\
8519"\t/** param */ \\\n"\
8520"\t\t/* , clMlpGetHD1_t */ ONE, \\\n"\
8521"\t\t/* ae2f_float_t* const */ r_delta_then, \\\n"\
8522"\t\t/* constae2f_float_t* const */ i_weight, \\\n"\
8523"\t\t/* constae2f_float_t* const */ i_delta, \\\n"\
8524"\t\t/* const size_t */ i_iidx, \\\n"\
8525"\t\t/* const size_t */ i_isz, \\\n"\
8526"\t\t/* const size_t */ i_oidx, \\\n"\
8527"\t\t/* const size_t */ i_osz \\\n"\
8528") \\\n"\
8529"{ \\\n"\
8530"\tif((i_iidx) < (i_isz) && (i_oidx) < (i_osz)) { \\\n"\
8531"\t\tONE(r_delta_then, i_weight, i_delta, i_iidx, i_isz, i_oidx, i_osz); \\\n"\
8532"\t} \\\n"\
8533"}\n"\
8534"\n"\
8535"/** @brief GetHidDelta Need no structure. */\n"\
8536"#define clMlpGetHD(...)\t_clMlpGetHD(CL_Q_CVRT(_clMlpGetHD1), __VA_ARGS__)\n"\
8537"\n"\
8538"\n"\
8539"#endif\n"\
8540"\n"\
8541"#undef\t__ae2f_MACRO_GENERATED\n"\
8542"\n"\
8543"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8544"\n"\
8545"/** One eof gracefully */ \\\n"\
8546"\n"\
8547"#undef __ae2f_MACRO_GENERATED\n"\
8548"#define __ae2f_MACRO_GENERATED 1\n"\
8549"\n"\
8550"#ifndef ACT\n"\
8551"#define ACT(layer_idx, r, x)\n"\
8552"#endif\n"\
8553"\n"\
8554"#ifndef ACT_DERIV\n"\
8555"#define ACT_DERIV(layer_idx, r, x)\n"\
8556"#endif\n"\
8557"\n"\
8558"#ifndef LOSS_DERIV\n"\
8559"#define LOSS_DERIV(r, y, y_desired, i, c)\n"\
8560"#endif\n"\
8561"\n"\
8562"#define pgsz\t\tsz\n"\
8563"#define pgsz_sqr\t(pgsz * pgsz)\n"\
8564"\n"\
8565"/** length of `p_layerszlist` */\n"\
8566"#define lsz\t\tlsz\n"\
8567"\n"\
8568"/** count of layer. */\n"\
8569"#define llsz\t\t(lsz - 1)\n"\
8570"\n"\
8571"/** @brief lsz * sizeof(uint32_t) */\n"\
8572"#define p_layerszlist\tCAST(__global uint32_t*, glob)\n"\
8573"/** @brief sizeof(ae2f_float_t) * lsz * pgsz */\n"\
8574"#define p_outstream\t(CAST(__global ae2f_float_t*, p_layerszlist + lsz))\n"\
8575"#define p_inp\t\tp_outstream\n"\
8576"\n"\
8577"/** @brief sizeof(ae2f_float_t) * pgsz_sqr * llsz */\n"\
8578"#define p_weight\t(p_outstream + lsz * pgsz)\n"\
8579"\n"\
8580"/** @brief sizeof(ae2f_float_t) * pgsz * llsz */\n"\
8581"#define p_bias\t\t(p_weight + pgsz_sqr * llsz)\n"\
8582"\n"\
8583"/** @brief sizeof(ae2f_float_t) * pgsz * llsz */\n"\
8584"#define p_deltastream\t(p_bias + llsz * pgsz)\n"\
8585"\n"\
8586"/** @brief sizeof(ae2f_float_t) * pgsz */\n"\
8587"#define p_goal\t\t(p_deltastream + llsz * pgsz)\n"\
8588"\n"\
8589"\n"\
8590"#define _r_inp(lidx)\t(p_outstream + pgsz * (lidx))\n"\
8591"#define _r_out(lidx)\t(p_outstream + pgsz * ((lidx) + 1))\n"\
8592"#define _r_weight(lidx)\t(p_weight + pgsz_sqr * (lidx))\n"\
8593"#define _r_bias(lidx)\t(p_bias + pgsz * (lidx))\n"\
8594"#define _r_delta(lidx)\t(p_deltastream + pgsz * (lidx))\n"\
8595"#define _r_isz(lidx)\t((p_layerszlist)[lidx])\n"\
8596"#define _r_osz(lidx)\t((p_layerszlist)[(lidx) + 1])\n"\
8597"\n"\
8598"#define r_inp\t\t_r_inp(lidx)\n"\
8599"#define r_out\t\t_r_out(lidx)\n"\
8600"#define r_weight\t_r_weight(lidx)\n"\
8601"#define r_bias\t\t_r_bias(lidx)\n"\
8602"#define r_delta\t\t_r_delta(lidx)\n"\
8603"#define r_isz\t\t_r_isz(lidx)\n"\
8604"#define r_osz\t\t_r_osz(lidx)\n"\
8605"\n"\
8606"#define r_inp_then\t_r_inp(lidx-1)\n"\
8607"#define r_out_then\t_r_out(lidx-1)\n"\
8608"#define r_weight_then\t_r_weight(lidx-1)\n"\
8609"#define r_bias_then\t_r_bias(lidx-1)\n"\
8610"#define r_delta_then\t_r_delta(lidx-1)\n"\
8611"#define r_isz_then\t_r_isz(lidx-1)\n"\
8612"#define r_osz_then\t_r_osz(lidx-1)\n"\
8613"\n"\
8614"#define l_inp(O_R)\t(((loc) + pgsz * ((lidx) O_R)))\n"\
8615"#define l_out(O_R)\t(((loc) + pgsz * ((lidx + 1) O_R)))\n"\
8616"\n"\
8617"#define lp_deltastream\t((loc) + pgsz * ((lsz)))\n"\
8618"#define l_delta\t\t(lp_deltastream + pgsz * ((lidx) & 1))\n"\
8619"#define l_delta_then\t(lp_deltastream + pgsz * (!((lidx) & 1)))\n"\
8620"\n"\
8621"/** For every runners */\n"\
8622"#define ACT_RUN(r, x)\t\t\tACT(lidx, r, x)\n"\
8623"#define ACT_DERIV_RUN(r, x)\t\tACT_DERIV(lidx, r, x)\n"\
8624"\n"\
8625"#define ACT_RUN_THEN(r, x)\t\tACT((lidx - 1), r, x)\n"\
8626"#define ACT_DERIV_RUN_THEN(r, x)\tACT_DERIV((lidx - 1), r, x)\n"\
8627"\n"\
8628"\n"\
8629"/**\n"\
8630"\n"\
8631" * @brief loc\n"\
8632" * ae2f_float_t[Page]:\tinp\n"\
8633" * ae2f_float_t[Page]:\tout\n"\
8634" * */\n"\
8635"__kernel void kPredict(__global void* glob, __local ae2f_float_t* loc, const uint32_t lsz) {\n"\
8636"\tconst size_t\n"\
8637"\t\toidx = get_global_id(0)\n"\
8638"\t\t, iidx = get_global_id(1)\n"\
8639"\t\t, sz = get_global_size(0);\n"\
8640"\n"\
8641"\tsize_t\tlidx = 0;\n"\
8642"\tclSlpPredict_t\tv_predict;\n"\
8643"\n"\
8644"\tclSlpPredict(v_predict, l_out(&1), r_inp, r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8645"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8646"\n"\
8647"\twhile(++lidx < llsz - 1) {\n"\
8648"\t\tclSlpPredict(v_predict, l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8649"\t\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8650"\t}\n"\
8651"\tclSlpPredict(v_predict, r_out, l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8652"}\n"\
8653"\n"\
8654"\n"\
8655"/**\n"\
8656"\n"\
8657" * @brief loc\n"\
8658" * ae2f_float_t[Page]:\tinp\n"\
8659" * ae2f_float_t[Page]:\tout\n"\
8660" * */\n"\
8661"__kernel void kPredictStream(__global void* glob, __local ae2f_float_t* loc, const uint32_t lsz) {\n"\
8662"\tconst size_t\n"\
8663"\t\toidx = get_global_id(0)\n"\
8664"\t\t, iidx = get_global_id(1)\n"\
8665"\t\t, sz = get_global_size(0);\n"\
8666"\n"\
8667"\tsize_t\tlidx = 0;\n"\
8668"\tclSlpPredict_t\tv_predict;\n"\
8669"\n"\
8670"\tclSlpPredict(v_predict, l_out(&1), r_inp, r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8671"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8672"\n"\
8673"\twhile(++lidx < llsz - 1) {\n"\
8674"\t\tclSlpPredict(v_predict, l_out(&1), l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8675"\t\tif(oidx < r_osz && iidx == 0) \n"\
8676"\t\t\tr_out[oidx] = l_out(&1)[oidx];\n"\
8677"\t\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8678"\t}\n"\
8679"\n"\
8680"\tclSlpPredict(v_predict, r_out, l_inp(&1), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8681"}\n"\
8682"\n"\
8683"#pragma pack(push, 1)\n"\
8684"\n"\
8685"ae2f_structdef(union, lrlszel_t) {\n"\
8686"\tae2f_float_t\tm_f;\n"\
8687"\tuint32_t\tm_u;\n"\
8688"};\n"\
8689"\n"\
8690"const ae2f_structdef(struct, lrlsz_t)\n"\
8691"{\n"\
8692"\tlrlszel_t m_lsz, m_weight, m_bias;\n"\
8693"};\n"\
8694"\n"\
8695"typedef char STATIC_ASSERT_LRLSZEL_SZ[\n"\
8696"\tsizeof(lrlszel_t) == (sizeof(uint32_t) > sizeof(ae2f_float_t) ? sizeof(uint32_t) : sizeof(ae2f_float_t))\n"\
8697"\t? 1 : -1\n"\
8698"];\n"\
8699"\n"\
8700"typedef char STATIC_ASSERT_LRLSZ_SZ[sizeof(lrlsz_t) == sizeof(lrlszel_t) * 3 ? 1 : -1];\n"\
8701"\n"\
8702"#pragma pack(pop)\n"\
8703"\n"\
8704"/**\n"\
8705"\n"\
8706" * @brief loc\n"\
8707" * ae2f_float_t[lsz - 1][Page]: OutStream\n"\
8708" * ae2f_float_t[lsz - 1][Page]: DeltaStream\n"\
8709" * */\n"\
8710"__kernel void kFollow(__global void* glob, __local ae2f_float_t* loc, lrlsz_t lr) {\n"\
8711"#undef\tlsz\n"\
8712"#undef\tm_weight\n"\
8713"#undef\tm_bias\n"\
8714"#define lsz\t\tlr.m_lsz.m_u\n"\
8715"#define m_weight\tm_weight.m_f\n"\
8716"#define m_bias\t\tm_bias.m_f\n"\
8717"\tif(lsz < 3) {\n"\
8718"\t\t/** ASSERT */\n"\
8719"\t\treturn;\n"\
8720"\t}\n"\
8721"\n"\
8722"\tsize_t\t\tlidx = llsz - 1;\n"\
8723"\tae2f_float_t\tv_tmp;\n"\
8724"\n"\
8725"\tconst size_t\n"\
8726"\t\toidx = get_global_id(0)\n"\
8727"\t\t, iidx = get_global_id(1)\n"\
8728"\t\t, sz = get_global_size(0);\n"\
8729"\n"\
8730"\tif(oidx < r_osz && iidx < r_isz) {\n"\
8731"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8732"\t\t\t\tr_inp[iidx]\n"\
8733"\t\t\t\t, r_delta[oidx]\n"\
8734"\t\t\t\t, r_weight\n"\
8735"\t\t\t\t, lr.m_weight\n"\
8736"\t\t\t\t, r_isz, iidx\n"\
8737"\t\t\t\t, r_osz, oidx\n"\
8738"\t\t\t\t);\n"\
8739"\n"\
8740"\t\tif(iidx == 0) {\n"\
8741"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8742"\t\t\t\t\tr_bias[oidx]\n"\
8743"\t\t\t\t\t, r_delta[oidx]\n"\
8744"\t\t\t\t\t, lr.m_bias\n"\
8745"\t\t\t\t\t);\n"\
8746"\t\t}\n"\
8747"\t}\n"\
8748"\n"\
8749"\tclMlpGetHD(\n"\
8750"\t\t\tl_delta_then\n"\
8751"\t\t\t, r_weight_then\n"\
8752"\t\t\t, r_delta\n"\
8753"\t\t\t, iidx, r_isz\n"\
8754"\t\t\t, oidx, r_osz\n"\
8755"\t\t );\n"\
8756"\n"\
8757"\t_clMlpRvrse(\n"\
8758"\t\t\tv_tmp\n"\
8759"\t\t\t, l_delta_then\n"\
8760"\t\t\t, oidx, iidx\n"\
8761"\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
8762"\t\t\t, r_inp, l_delta_then\n"\
8763"\t\t );\n"\
8764"\n"\
8765"\t/** Needs to be procedural */\n"\
8766"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8767"\n"\
8768"\n"\
8769"\twhile(--lidx) {\n"\
8770"\t\tif(oidx < r_osz && iidx < r_isz) {\n"\
8771"\t\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8772"\t\t\t\t\tl_inp()[iidx]\n"\
8773"\t\t\t\t\t, l_delta[oidx]\n"\
8774"\t\t\t\t\t, r_weight\n"\
8775"\t\t\t\t\t, lr.m_weight\n"\
8776"\t\t\t\t\t, r_isz, iidx\n"\
8777"\t\t\t\t\t, r_osz, oidx\n"\
8778"\t\t\t\t\t);\n"\
8779"\n"\
8780"\t\t\tif(iidx == 0) {\n"\
8781"\t\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8782"\t\t\t\t\t\tr_bias[oidx]\n"\
8783"\t\t\t\t\t\t, l_delta[oidx]\n"\
8784"\t\t\t\t\t\t, lr.m_bias\n"\
8785"\t\t\t\t\t\t);\n"\
8786"\t\t\t}\n"\
8787"\t\t}\n"\
8788"\n"\
8789"\t\tclMlpGetHD(\n"\
8790"\t\t\t\tl_delta_then\n"\
8791"\t\t\t\t, r_weight_then\n"\
8792"\t\t\t\t, l_delta\n"\
8793"\t\t\t\t, iidx, r_isz\n"\
8794"\t\t\t\t, oidx, r_osz\n"\
8795"\t\t\t );\n"\
8796"\n"\
8797"\t\t_clMlpRvrse(\n"\
8798"\t\t\t\tv_tmp\n"\
8799"\t\t\t\t, l_delta_then\n"\
8800"\t\t\t\t, oidx, iidx\n"\
8801"\t\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
8802"\t\t\t\t, r_inp, l_delta_then\n"\
8803"\t\t\t );\n"\
8804"\n"\
8805"\t\t/** Needs to be procedural */\n"\
8806"\t\tbarrier(CLK_LOCAL_MEM_FENCE);\n"\
8807"\t}\n"\
8808"\n"\
8809"\tif(oidx < r_osz && iidx < r_isz) {\n"\
8810"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8811"\t\t\t\tr_inp[iidx]\n"\
8812"\t\t\t\t, l_delta[oidx]\n"\
8813"\t\t\t\t, r_weight\n"\
8814"\t\t\t\t, lr.m_weight\n"\
8815"\t\t\t\t, r_isz, iidx\n"\
8816"\t\t\t\t, r_osz, oidx\n"\
8817"\t\t\t\t);\n"\
8818"\n"\
8819"\t\tif(iidx == 0) {\n"\
8820"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8821"\t\t\t\t\tr_bias[oidx]\n"\
8822"\t\t\t\t\t, l_delta[oidx]\n"\
8823"\t\t\t\t\t, lr.m_bias\n"\
8824"\t\t\t\t\t);\n"\
8825"\t\t}\n"\
8826"\t}\n"\
8827"}\n"\
8828"\n"\
8829"/**\n"\
8830"\n"\
8831" * @brief loc\n"\
8832" * ae2f_float_t[lsz - 1][Page]: OutStream\n"\
8833" * ae2f_float_t[lsz - 1][Page]: DeltaStream\n"\
8834" * */\n"\
8835"__kernel void kTrainAuto(__global void* glob, __local ae2f_float_t* loc, lrlsz_t lr) {\n"\
8836"\n"\
8837"#undef\tlsz\n"\
8838"#undef\tm_weight\n"\
8839"#undef\tm_bias\n"\
8840"#define lsz\t\tlr.m_lsz.m_u\n"\
8841"#define m_weight\tm_weight.m_f\n"\
8842"#define m_bias\t\tm_bias.m_f\n"\
8843"\tif(lsz < 3) {\n"\
8844"\t\t/** ASSERT */\n"\
8845"\t\treturn;\n"\
8846"\t}\n"\
8847"\n"\
8848"\tsize_t\t\tlidx = 0;\n"\
8849"\tae2f_float_t\tv_tmp, v_tmp1;\n"\
8850"\n"\
8851"\tconst size_t\n"\
8852"\t\toidx = get_global_id(0)\n"\
8853"\t\t, iidx = get_global_id(1)\n"\
8854"\t\t, sz = get_global_size(0);\n"\
8855"\n"\
8856"\tclSlpPredict_t\tv_predict;\n"\
8857"\n"\
8858"\tif(iidx < r_isz && oidx == 0)\n"\
8859"\t\tl_inp()[iidx] = r_inp[iidx];\n"\
8860"\n"\
8861"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8862"\n"\
8863"\tfor(; lidx < llsz - 1; lidx++) {\n"\
8864"\t\tclSlpPredict(v_predict, l_out(), l_inp(), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8865"\t\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8866"\t}\n"\
8867"\n"\
8868"\t/** lidx == llsz - 1 */\n"\
8869"\tclSlpPredict(v_predict, l_out(), l_inp(), r_weight, r_bias, iidx, r_isz, oidx, r_osz, ACT_RUN);\n"\
8870"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8871"\n"\
8872"\tif(oidx < r_osz && iidx == 0) {\n"\
8873"\t\tr_out[oidx] = l_out()[oidx];\n"\
8874"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
8875"\t\t\t\tv_tmp\n"\
8876"\t\t\t\t, v_tmp1\n"\
8877"\t\t\t\t, l_out()\n"\
8878"\t\t\t\t, p_goal\n"\
8879"\t\t\t\t, ACT_DERIV_RUN\n"\
8880"\t\t\t\t, LOSS_DERIV \n"\
8881"\t\t\t\t, l_delta[oidx]\n"\
8882"\t\t\t\t, oidx\n"\
8883"\t\t\t\t, r_osz\n"\
8884"\t\t\t\t);\n"\
8885"\t}\n"\
8886"\n"\
8887"\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8888"\n"\
8889"\t/** lidx == llsz */\n"\
8890"\t++lidx;\n"\
8891"\n"\
8892"\t/** lidx == llsz - 1 */\n"\
8893"\twhile(--lidx) {\n"\
8894"\t\tif(oidx < r_osz && iidx < r_isz) {\n"\
8895"\t\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8896"\t\t\t\t\tl_inp()[iidx]\n"\
8897"\t\t\t\t\t, l_delta[oidx]\n"\
8898"\t\t\t\t\t, r_weight\n"\
8899"\t\t\t\t\t, lr.m_weight\n"\
8900"\t\t\t\t\t, r_isz, iidx\n"\
8901"\t\t\t\t\t, r_osz, oidx\n"\
8902"\t\t\t\t\t);\n"\
8903"\n"\
8904"\t\t\tif(iidx == 0) {\n"\
8905"\t\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8906"\t\t\t\t\t\tr_bias[oidx]\n"\
8907"\t\t\t\t\t\t, l_delta[oidx]\n"\
8908"\t\t\t\t\t\t, lr.m_bias\n"\
8909"\t\t\t\t\t\t);\n"\
8910"\t\t\t}\n"\
8911"\n"\
8912"\t\t\tclMlpGetHD(\n"\
8913"\t\t\t\t\tl_delta_then\n"\
8914"\t\t\t\t\t, r_weight_then\n"\
8915"\t\t\t\t\t, l_delta\n"\
8916"\t\t\t\t\t, iidx, r_isz\n"\
8917"\t\t\t\t\t, oidx, r_osz\n"\
8918"\t\t\t\t );\n"\
8919"\n"\
8920"\t\t\t_clMlpRvrse(\n"\
8921"\t\t\t\t\tv_tmp\n"\
8922"\t\t\t\t\t, l_delta_then\n"\
8923"\t\t\t\t\t, oidx, iidx\n"\
8924"\t\t\t\t\t, r_isz, ACT_DERIV_RUN_THEN\n"\
8925"\t\t\t\t\t, l_inp(), l_delta_then\n"\
8926"\t\t\t\t );\n"\
8927"\t\t}\n"\
8928"\n"\
8929"\t\t/** Needs to be procedural */\n"\
8930"\t\tbarrier(CLK_ALL_MEM_FENCE);\n"\
8931"\t}\n"\
8932"\n"\
8933"\t/** lidx == 0 */\n"\
8934"\tif(oidx < r_osz && iidx < r_isz) {\n"\
8935"\t\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8936"\t\t\t\tl_inp()[iidx]\n"\
8937"\t\t\t\t, l_delta[oidx]\n"\
8938"\t\t\t\t, r_weight\n"\
8939"\t\t\t\t, lr.m_weight\n"\
8940"\t\t\t\t, r_isz, iidx\n"\
8941"\t\t\t\t, r_osz, oidx\n"\
8942"\t\t\t\t);\n"\
8943"\n"\
8944"\t\tif(iidx == 0) {\n"\
8945"\t\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8946"\t\t\t\t\tr_bias[oidx]\n"\
8947"\t\t\t\t\t, l_delta[oidx]\n"\
8948"\t\t\t\t\t, lr.m_bias\n"\
8949"\t\t\t\t\t);\n"\
8950"\t\t}\n"\
8951"\t}\n"\
8952"\n"\
8953"#undef lsz\n"\
8954"}\n"\
8955"\n"\
8956"#undef\t__ae2f_MACRO_GENERATED\n"\
8957"\n"\
8958"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8959"\n"\
8960"/** All done. */\n"\
8961""/** One eof gracefully */
8962
8963/** All done. */
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
Definition Act.h:19
void ae2f_AnnLoss_t(ae2f_float_t *ret, const ae2f_float_t *out, const ae2f_float_t *goal, size_t index, size_t count)
Specify the way of calculating loss.
Definition Act.h:29
#define ae2f_enumdef(name,...)
Definition Cast.h:111
#define ae2f_structdef(key, name)
Definition Cast.h:110
#define ae2f_const_cast(t, v)
Definition Cast.h:57
#define ae2f_static_cast(t, v)
Definition Cast.h:42
#define ae2f_reinterpret_cast(t, v)
Definition Cast.h:52
#define unless(...)
Invokes when condition is false.
Definition Cast.h:103
ae2f_float ae2f_float_t
Definition Float.h:38
#define ae2f_opt
Definition Guide.h:26
#define __ae2fVK_AnnMlpBiasOff(i_depth, i_outc)
Definition Mlp.core.h:142
#define __ae2fVK_AnnMlpUnMapRanged_imp
Definition Mlp.core.h:168
ae2fVK_AnnSlpUnMap_t ae2fVK_AnnMlpUnMap_t
Definition Mlp.core.h:117
#define __ae2fVK_AnnMlpDeltaStreamSz(i_depth, i_outc)
Definition Mlp.core.h:145
#define __ae2fVK_AnnMlpMapRangedGeneric_imp
Definition Mlp.core.h:167
#define __ae2fVK_AnnMlpGoalSz(i_depth, i_outc)
Definition Mlp.core.h:151
VkMappedMemoryRange ae2fVK_AnnMlpMapRangedGeneric_t
Definition Mlp.core.h:118
#define __ae2fVK_AnnMlpMdlOff(...)
Definition Mlp.core.h:125
#define __ae2fVK_AnnMlpOutStreamSz(i_depth, i_outc)
Definition Mlp.core.h:127
#define __ae2fVK_AnnMlpWeightOff(i_depth, i_outc)
Definition Mlp.core.h:136
#define __ae2fVK_AnnMlpMdlSz(i_depth,...)
Definition Mlp.core.h:122
#define __ae2fVK_AnnMlpGoalOff(i_depth, i_outc)
Definition Mlp.core.h:154
ae2fVK_AnnSlpDescPoolCmdMk_t ae2fVK_AnnMlpDescPoolCmdMk_t
Definition Mlp.core.h:119
#define __ae2fVK_AnnMlpOutStreamOff(i_depth, i_outc)
Definition Mlp.core.h:130
#define __ae2fVK_AnnMlpWeightSz(i_depth, i_outc)
Definition Mlp.core.h:133
#define __ae2fVK_AnnMlpBiasSz(i_depth, i_outc)
Definition Mlp.core.h:139
#define __ae2fVK_AnnMlpGlobMemSz(i_depth, i_outc)
Definition Mlp.core.h:157
#define __ae2fVK_AnnMlpDeltaStreamOff(i_depth, i_outc)
Definition Mlp.core.h:148
#define __ae2fVK_AnnSlpGoalSz(i_inp, i_out)
Definition Slp.core.h:172
ae2fVK_eAnnSlpDescLayouts
Definition Slp.core.h:47
@ ae2fVK_eAnnSlpDescLayouts_kPredict
Definition Slp.core.h:48
@ ae2fVK_eAnnSlpDescLayouts_LEN
Definition Slp.core.h:50
@ ae2fVK_eAnnSlpDescLayouts_kTrain
Definition Slp.core.h:49
#define __ae2fVK_AnnSlpBiasOff(i_inp, i_out)
Definition Slp.core.h:175
#define __ae2fVK_AnnSlpGoalOff(i_inp, i_out)
Definition Slp.core.h:179
#define __ae2fVK_AnnSlpOutOff(i_inp, i_out)
Definition Slp.core.h:177
#define __ae2fVK_AnnSlpInpSz(i_inp,...)
Definition Slp.core.h:169
VkMappedMemoryRange ae2fVK_AnnSlpMapRangedGeneric_t
Definition Slp.core.h:152
#define __ae2fVK_AnnSlpBiasSz(i_inp, i_out)
Definition Slp.core.h:168
#define __ae2fVK_AnnSlpWeightSz(i_inp, i_out)
Definition Slp.core.h:167
#define __ae2fVK_AnnSlpInpOff(i_inp, i_out)
Definition Slp.core.h:176
ae2fVK_eAnnSlpPipeLayouts
Definition Slp.core.h:40
@ ae2fVK_eAnnSlpPipeLayouts_LEN
Definition Slp.core.h:44
@ ae2fVK_eAnnSlpPipeLayouts_kTrain
Definition Slp.core.h:42
@ ae2fVK_eAnnSlpPipeLayouts_kPredict
Definition Slp.core.h:41
@ ae2fVK_eAnnSlpPipeLayouts_kFit
Definition Slp.core.h:43
#define __ae2fVK_AnnSlpDeltaSz(i_inp, i_out)
Definition Slp.core.h:171
#define __ae2fVK_AnnSlpWeightOff(i_inp, i_out)
Definition Slp.core.h:174
ae2fVK_eAnnSlpDescPools
Definition Slp.core.h:34
@ ae2fVK_eAnnSlpDescPools_kPredict
Definition Slp.core.h:35
@ ae2fVK_eAnnSlpDescPools_kTrain
Definition Slp.core.h:36
@ ae2fVK_eAnnSlpDescPools_LEN
Definition Slp.core.h:37
#define __ae2fVK_AnnSlpOutSz(i_inp, i_out)
Definition Slp.core.h:170
VkMappedMemoryRange ae2fVK_AnnSlpUnMap_t
Definition Slp.core.h:152
char STATIC_ASSERT_ae2fVK_AnnSlpMkU2_vkdescsetlayoutbind_sz[sizeof(ae2fVK_AnnSlpMkU2S0_t)==sizeof(VkDescriptorSetLayoutBinding) *2 ? 1 :-1]
Definition Slp.core.h:117
ae2fVK_eAnnSlpPipes
Definition Slp.core.h:24
@ ae2fVK_eAnnSlpPipes_kFit
Definition Slp.core.h:28
@ ae2fVK_eAnnSlpPipes_kTrain
Definition Slp.core.h:27
@ ae2fVK_eAnnSlpPipes_kPredict
Definition Slp.core.h:25
@ ae2fVK_eAnnSlpPipes_LEN
This is the end of the value, which typically means the count of actual kernel used.
Definition Slp.core.h:31
@ ae2fVK_eAnnSlpPipes_kFollow
Definition Slp.core.h:26
#define __ae2fVK_AnnSlpDeltaOff(i_inp, i_out)
Definition Slp.core.h:178
#define ae2f_MAC_BUILD
Definition Util.h:4
#define ae2fVK_AnnMlpSHADER
#define __ae2fVK_AnnSlpDescPoolMk_imp(v_descpool, r_pool, r_reterr, iv_slp, i_vkdescpoolcreatflags, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpDescPoolCmdClean_imp(iv_slp, i_pool, i_cmd)
#define __ae2fVK_AnnSlpDescPoolCmdMk_imp(COMMANDONRECORDING, v_cmdmk, r_cmd, iv_slp, i_pool, iv_err, i_desccount, i_offglob, i_szglob, i_offloc, i_szloc, i_desclayout, i_pipe, i_pipelayout, i_vkcmdbuf)
#define __ae2fVK_AnnSlpDescPoolClean_imp(i_slp, i_pool)
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:23
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
Definition errGlob.h:40
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
Definition errGlob.h:50
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
Definition errGlob.h:45
uint8_t ae2f_err_t
Informs that this number represents the error.
Definition errGlob.h:19
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
Definition errGlob.h:32
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
Definition errGlob.h:28
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnMlpDescPoolCmd
Definition Mlp.h:28
ae2fVK_AnnSlpCreatDescPool_t ae2fVK_AnnMlpCreatDescPool_t
Definition Mlp.h:30
ae2fVK_AnnSlpDescPool ae2fVK_AnnMlpDescPool
Definition Mlp.h:27
#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp(r_handle, ir_err, i_first, i_second, i_third)
Definition Slp.auto.h:760
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
Definition Slp.auto.h:834
#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp(CMDONERR, r_reterr, pipecreat, pipelayout, shadermod, entrypoint, idx_pipe, idx_pipelayout)
Definition Slp.auto.h:209
#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(CMDONERR, v_vkpushconstrange, v_vkpipelayoutcreatinfo, r_reterr, iv_slpptr, idx, szrequired, vkalloccalls, vkdev)
Definition Slp.auto.h:248
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
Definition Slp.auto.h:907
#define __ae2fVK_AnnSlpMkAllocVKMem_imp(CMDONERR, sz, r_vkres, r_vkbuf, r_vkdevmem, v_errbit, v_vkbufcreatinfo, v_memallocinfo, vkbufuseflags, vksharemode, vkdev, v_vkmemreq, vkalloccalls, v_memtypeidx, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
Definition Slp.auto.h:110
#define __ae2f_MACRO_GENERATED
Definition Mlp.auto.h:2
#define __ae2f_AnnMlpMk_imp(...)
Definition Mlp.auto.h:315
#define ae2f_MAC()
delta to delta
Definition mac.h:4
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_bias_opt
Definition Mlp.def.cc:49
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const iv_vkalloccalls
Definition Mlp.def.cc:71
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties i_vkmemprops
Definition Mlp.def.cc:69
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t i_extra
Definition Mlp.def.cc:58
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t i_learningrate
Definition Mlp.def.cc:65
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_outstream_opt
Definition Mlp.def.cc:50
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t ae2f_float_t * r_ptrbias
Definition Mlp.def.cc:652
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_deltastream_opt
Definition Mlp.def.cc:51
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t i_len_count
Definition Mlp.def.cc:53
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const i_actderiv
Definition Mlp.def.cc:61
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t i_learningrate_bias
Definition Mlp.def.cc:66
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const ae2f_opt const char *const ae2f_opt const char *const i_vkcldefinition
Definition Mlp.def.cc:76
ae2f_opt ae2f_float_t *const iv_weight_opt
Definition Mlp.def.cc:48
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice i_vkdev
Definition Mlp.def.cc:68
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t i_prm_offset
Definition Mlp.def.cc:57
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const i_act
Definition Mlp.def.cc:60
ae2fVK_AnnMlp iv_mlp
Definition Mlp.def.cc:585
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t * r_ptr
Definition Mlp.def.cc:589
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const ae2f_opt const char *const i_vkcldeclaration
Definition Mlp.def.cc:73
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const i_len_swap
Definition Mlp.def.cc:55
ae2fVK_AnnMlp ae2f_err_t r_err
Definition Mlp.def.cc:586
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const i_len
Definition Mlp.def.cc:54
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t * r_ptrweight
Definition Mlp.def.cc:649
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const i_lossderiv
Definition Mlp.def.cc:63