1#ifndef ae2fVK_Ann_Slp_c
3#if !__ae2f_MACRO_GENERATED
5
6
7
8
9\
10#include<ae2f/Macro.h>
15
16
17
18
19\
20#include<ae2fVK/Ann/Slp.h>
23#define ae2fVK_Ann_Slp_c
27
28
29
30
31\
32#include<stdlib.h>
35
36
37
38
39\
40#include<assert.h>
43
44
45
46
47\
48#include<string.h>
55#define ae2fVK_AnnSlpSHADER
56
57
58
59
60
61
62
63
64
65
67"#undef\t__ae2f_MACRO_GENERATED\n"\
68"#define\t__ae2f_MACRO_GENERATED\t1\n"\
69"#define ae2f_NEED_CLASS 0\n"\
70"\n"\
71"#if __ae2f_MACRO_GENERATED\n"\
72"#define ae2fVK_clspv_IS_OPENCL 1\n"\
73"#endif\n"\
74"\n"\
75"/** include detected */ \\\n"\
76"/** Path cursor */ \\\n"\
77"/* Opening: ./Slp.auto.h */ \\\n"\
78"/** first fp: 0x55d69182e330 */ \\\n"\
79"/** Current ./Slp.auto.h */ \\\n"\
80"/** Dir ./ */ \\\n"\
81"/** Found something. Now let\'s validate. */ \\\n"\
82"/** It\'s not repeating */ \\\n"\
83"/******************** */\\\n"\
84"/* Now the path will be: */ \\\n"\
85" /*./Slp.auto.h */ \\\n"\
86"#undef\t__ae2f_MACRO_GENERATED\n"\
87"#define\t__ae2f_MACRO_GENERATED\t1\n"\
88"#ifndef Slp_h\n"\
89"#define Slp_h\n"\
90"\n"\
91"#define ae2f_NEED_CLASS 0\n"\
92"\n"\
93"/** include detected */ \\\n"\
94"/** Path cursor */ \\\n"\
95"/* Opening: ./ae2fVK/clspv_clkeys.h */ \\\n"\
96"/** first fp: (nil) */ \\\n"\
97"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
98"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
99"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
100"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/ */ \\\n"\
101"/** Found something. Now let\'s validate. */ \\\n"\
102"/** It\'s not repeating */ \\\n"\
103"/******************** */\\\n"\
104"/* Now the path will be: */ \\\n"\
105" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/clspv_clkeys.h */ \\\n"\
106"#ifndef ae2fVK_clspv_clkeys_h\n"\
107"#define ae2fVK_clspv_clkeys_h\n"\
108"\n"\
109"#ifndef ae2fVK_clspv_IS_OPENCL\n"\
110"#define ae2fVK_clspv_IS_OPENCL 0\n"\
111"#endif\n"\
112"\n"\
113"#if ae2fVK_clspv_IS_OPENCL\n"\
114"\n"\
115"#define ae2f_CL(...)\t__VA_ARGS__\n"\
116"#define ae2f_NCL(...)\n"\
117"\n"\
118"#else\n"\
119"\n"\
120"#define ae2f_CL(...)\n"\
121"#define ae2f_NCL(...)\t__VA_ARGS__\n"\
122"\n"\
123"/** include detected */ \\\n"\
124"/** Path cursor */ \\\n"\
125"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/stddef.h */ \\\n"\
126"/** first fp: (nil) */ \\\n"\
127"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
128"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
129"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
130"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
131"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
132"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
133"/** Failed but ignoring it. */ \\\n"\
134"\n"\
135"/** include detected */ \\\n"\
136"/** Path cursor */ \\\n"\
137"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2fVK/stdint.h */ \\\n"\
138"/** first fp: (nil) */ \\\n"\
139"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
140"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
141"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
142"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
143"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
144"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
145"/** Failed but ignoring it. */ \\\n"\
146"\n"\
147"\n"\
148"#define __kernel\n"\
149"#define __global\n"\
150"#define __constant\n"\
151"#define __local\n"\
152"\n"\
153"#endif\n"\
154"\n"\
155"#define int8_t\t\tae2f_CL(char)\tae2f_NCL(int8_t)\n"\
156"#define uint8_t\t\tae2f_CL(uchar)\tae2f_NCL(uint8_t)\n"\
157"#define uchar\t\tae2f_CL(uchar)\tae2f_NCL(uint8_t)\n"\
158"\n"\
159"#define int16_t\t\tae2f_CL(short)\tae2f_NCL(int16_t)\n"\
160"#define uint16_t\tae2f_CL(ushort)\tae2f_NCL(uint16_t)\n"\
161"#define ushort\t\tae2f_CL(ushort)\tae2f_NCL(uint16_t)\n"\
162"\n"\
163"#define int32_t\t\tae2f_CL(int)\tae2f_NCL(int32_t)\n"\
164"#define uint32_t\tae2f_CL(uint)\tae2f_NCL(uint32_t)\n"\
165"#define uint\t\tae2f_CL(uint)\tae2f_NCL(uint32_t)\n"\
166"\n"\
167"#define int64_t\t\tae2f_CL(long)\tae2f_NCL(int64_t)\n"\
168"#define uint64_t\tae2f_CL(ulong)\tae2f_NCL(uint64_t)\n"\
169"#define ulong\t\tae2f_CL(ulong)\tae2f_NCL(uint64_t)\n"\
170"\n"\
171"#define size_t\tuint\n"\
172"\n"\
173"#if !ae2fVK_clspv_IS_OPENCL\n"\
174"uint get_work_dim();\n"\
175"size_t get_global_size(uint dimindx);\n"\
176"size_t get_global_id(uint dimindx);\n"\
177"size_t get_local_size(uint dimindx);\n"\
178"size_t get_enqueued_local_size( uint dimindx);\n"\
179"size_t get_local_id(uint dimindx);\n"\
180"size_t get_num_groups(uint dimindx);\n"\
181"size_t get_global_offset(uint dimindx);\n"\
182"size_t get_group_id(uint dimindx);\n"\
183"size_t get_global_linear_id();\n"\
184"size_t get_local_linear_id();\n"\
185"\n"\
186"typedef enum cl_mem_fence_flags {\n"\
187"\tCLK_LOCAL_MEM_FENCE =\t0b01,\n"\
188"\tCLK_GLOBAL_MEM_FENCE =\t0b10\n"\
189"} cl_mem_fence_flags;\n"\
190"\n"\
191"void barrier(cl_mem_fence_flags flags);\n"\
192"\n"\
193"#endif\n"\
194"\n"\
195"/** @brief Contains both LOCAL and GLOBAL */\n"\
196"#define CLK_ALL_MEM_FENCE\t(CLK_LOCAL_MEM_FENCE | CLK_GLOBAL_MEM_FENCE)\n"\
197"\n"\
198"#define work_group_reduce_add(x) 0\n"\
199"\n"\
200"#endif\n"\
201"/** One eof gracefully */ \\\n"\
202"\n"\
203"#undef __ae2f_MACRO_GENERATED\n"\
204"#define __ae2f_MACRO_GENERATED 1\n"\
205"/** include detected */ \\\n"\
206"/** Path cursor */ \\\n"\
207"/* Opening: ./ae2f/Ann/Slp.core.h */ \\\n"\
208"/** first fp: (nil) */ \\\n"\
209"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
210"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
211"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
212"/** Found something. Now let\'s validate. */ \\\n"\
213"/** It\'s not repeating */ \\\n"\
214"/******************** */\\\n"\
215"/* Now the path will be: */ \\\n"\
216" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.core.h */ \\\n"\
217"#ifndef ae2f_Ann_Slp_Core_h\n"\
218"#define ae2f_Ann_Slp_Core_h\n"\
219"\n"\
220"/** include detected */ \\\n"\
221"/** Path cursor */ \\\n"\
222"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
223"/** first fp: (nil) */ \\\n"\
224"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
225"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
226"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
227"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
228"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
229"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
230"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
231"/** Found something. Now let\'s validate. */ \\\n"\
232"/** It\'s not repeating */ \\\n"\
233"/******************** */\\\n"\
234"/* Now the path will be: */ \\\n"\
235" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
236"/**\n"\
237"\n"\
238" * @file Float.h\n"\
239" * @brief\n"\
240" * Here, float will be treated as bit vector with four attributes:\n"\
241" *\n"\
242"\n"\
243" * sign: \\n\t\n"\
244" * \t> Whether it has sign or not. \\n\n"\
245" *\n"\
246"\n"\
247" * exp:\t\\n\n"\
248" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
249" * \t> Which is the exponent of the [frac]\n"\
250" *\n"\
251"\n"\
252" * expbiasp: \\n\n"\
253" * \t> Exponent bias in order to be considered as zero. \\n\n"\
254" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
255" *\n"\
256"\n"\
257" * \t> Here, the value of exponent bias is limited with following rules:\n"\
258" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
259" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
260" *\n"\
261"\n"\
262" * frac: \\n\n"\
263" * \t> The actual \"value\" for floating point.\n"\
264" *\n"\
265"\n"\
266" * ==================\n"\
267" *\n"\
268"\n"\
269" * Following is the expected structure as bit vector: \\n\n"\
270" * [frac | exp | sign]\n"\
271" * \n"\
272" * Size of this will be calculated as: \\n\n"\
273" * [sign] + [exp] + [frac]\n"\
274" */\n"\
275"\n"\
276"#ifndef ae2f_Float_h\n"\
277"#define ae2f_Float_h\n"\
278"\n"\
279"/** include detected */ \\\n"\
280"/** Path cursor */ \\\n"\
281"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
282"/** first fp: 0x55d691831900 */ \\\n"\
283"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
284"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
285"/** Found something. Now let\'s validate. */ \\\n"\
286"/** It\'s not repeating */ \\\n"\
287"/******************** */\\\n"\
288"/* Now the path will be: */ \\\n"\
289" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
290"/**\n"\
291"\n"\
292" * @file Float.h\n"\
293" * @author ae2f\n"\
294" * @brief \n"\
295" * @date 2025-02-01\n"\
296" * \n"\
297" * @copyright Copyright (c) 2025\n"\
298" * \n"\
299" */\n"\
300"#ifndef ae2f_float_h\n"\
301"#define ae2f_float_h\n"\
302"\n"\
303"/// @brief \n"\
304"/// Predefined floating point type.\n"\
305"/// \n"\
306"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
307"#define ae2f_float float\n"\
308"\n"\
309"#endif \n"\
310"/** One eof gracefully */ \\\n"\
311"\n"\
312"\n"\
313"typedef ae2f_float ae2f_float_t;\n"\
314"\n"\
315"#endif\n"\
316"/** One eof gracefully */ \\\n"\
317"\n"\
318"/** include detected */ \\\n"\
319"/** Path cursor */ \\\n"\
320"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/errGlob.h */ \\\n"\
321"/** first fp: (nil) */ \\\n"\
322"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/errGlob.h */ \\\n"\
323"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/errGlob.h */ \\\n"\
324"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
325"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
326"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
327"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
328"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
329"/** Found something. Now let\'s validate. */ \\\n"\
330"/** It\'s not repeating */ \\\n"\
331"/******************** */\\\n"\
332"/* Now the path will be: */ \\\n"\
333" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
334"/**\n"\
335"\n"\
336" * @file errGlob.h\n"\
337" * @author ae2f\n"\
338" * @brief \n"\
339" * Those numbers with [ @ref ae2f_err_t ] will be the state.\n"\
340" * \n"\
341" * @date 2025-02-01\n"\
342" * \n"\
343" * @copyright Copyright (c) 2025\n"\
344" */\n"\
345"\n"\
346"#if !defined(ae2f_errGlobal_h)\n"\
347"#define ae2f_errGlobal_h\n"\
348"\n"\
349"/** include detected */ \\\n"\
350"/** Path cursor */ \\\n"\
351"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdint.h */ \\\n"\
352"/** first fp: (nil) */ \\\n"\
353"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
354"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
355"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
356"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
357"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
358"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
359"/** Failed but ignoring it. */ \\\n"\
360"\n"\
361"\n"\
362"/// @brief\n"\
363"/// Informs that this number represents the error.\n"\
364"typedef uint8_t ae2f_err_t;\n"\
365"\n"\
366"/// @brief\n"\
367"/// The Operation you\'ve wanted went successful. \n"\
368"#define ae2f_errGlob_OK 0\n"\
369"\n"\
370"/// @brief\n"\
371"/// Failed to find the function on preprocessor which is callable for some reason\n"\
372"/// No operation has beed done.\n"\
373"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
374"\n"\
375"/// @brief\n"\
376"/// Failed to refer the pointer either l-value inside the function.\n"\
377"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
378"\n"\
379"/// @brief\n"\
380"/// Failed freeing the memory.\n"\
381"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
382"\n"\
383"/// @brief\n"\
384"/// stdlib allocating functions (malloc, calloc, realloc) has been failed.\n"\
385"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
386"\n"\
387"/// @brief\n"\
388"/// Found that parameter sent by programmer is invalid.\n"\
389"/// The operation may have been ceased while the middle.\n"\
390"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
391"\n"\
392"/// @brief\n"\
393"/// Found some errors, but not by parameters.\n"\
394"/// The operation has failed.\n"\
395"#define ae2f_errGlob_NFOUND 0b100000\n"\
396"\n"\
397"/// @brief\n"\
398"/// Means that error was not critical.\n"\
399"/// \n"\
400"/// The operation went done. \\n\n"\
401"/// Note that operation may not be valid.\n"\
402"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
403"\n"\
404"/// @brief\n"\
405"/// Check if the state code is a critical error.\n"\
406"/// @param n {ae2f_err_t} Error code\n"\
407"/// @return If it is not zero, it is a critical error.\n"\
408"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
409"\n"\
410"#endif/** One eof gracefully */ \\\n"\
411"\n"\
412"/** include detected */ \\\n"\
413"/** Path cursor */ \\\n"\
414"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
415"/** first fp: (nil) */ \\\n"\
416"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
417"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
418"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
419"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
420"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
421"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
422"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
423"/** Found something. Now let\'s validate. */ \\\n"\
424"/** It\'s not repeating */ \\\n"\
425"/******************** */\\\n"\
426"/* Now the path will be: */ \\\n"\
427" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
428"/**\n"\
429"\n"\
430" * @file Cast.h\n"\
431" * @author ae2f\n"\
432" * @brief\n"\
433" * @date 2025-02-01\n"\
434" *\n"\
435"\n"\
436" * @copyright Copyright (c) 2025\n"\
437" *\n"\
438"\n"\
439" */\n"\
440"\n"\
441"#if !defined(ae2f_Cast_h)\n"\
442"\n"\
443"/// @brief\n"\
444"/// asdf\n"\
445"#define ae2f_Cast_h\n"\
446"\n"\
447"/// @brief\n"\
448"/// ANSI Code for clearing the console.\n"\
449"/// Clearing all display, moving the cursor on the top.\n"\
450"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
451"\n"\
452"/// @brief\n"\
453"/// simply merge all text inside the round bracket, counting them as a single\n"\
454"/// text block.\n"\
455"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
456"\n"\
457"/** include detected */ \\\n"\
458"/** Path cursor */ \\\n"\
459"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
460"/** first fp: 0x55d691831900 */ \\\n"\
461"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
462"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
463"/** Found something. Now let\'s validate. */ \\\n"\
464"/** It\'s not repeating */ \\\n"\
465"/******************** */\\\n"\
466"/* Now the path will be: */ \\\n"\
467" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
468"/**\n"\
469"\n"\
470" * @file CasterUnion.hpp\n"\
471" * @author ae2f\n"\
472" * @brief\n"\
473" * @date 2025-02-01\n"\
474" *\n"\
475"\n"\
476" * @copyright Copyright (c) 2025\n"\
477" *\n"\
478"\n"\
479" */\n"\
480"\n"\
481"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
482"#define ae2f_Cast_CasterUnion_hpp\n"\
483"/** include detected */ \\\n"\
484"/** Path cursor */ \\\n"\
485"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
486"/** first fp: 0x55d691832af0 */ \\\n"\
487"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
488"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
489"/** Found something. Now let\'s validate. */ \\\n"\
490"/** It\'s not repeating */ \\\n"\
491"/******************** */\\\n"\
492"/* Now the path will be: */ \\\n"\
493" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
494"/**\n"\
495"\n"\
496" * @file consteval.hpp\n"\
497" * @author ae2f\n"\
498" * @brief\n"\
499" * @date 2025-02-01\n"\
500" *\n"\
501"\n"\
502" * @copyright Copyright (c) 2025\n"\
503" *\n"\
504"\n"\
505" */\n"\
506"#ifndef ae2f_Cast_consteval_hpp\n"\
507"#define ae2f_Cast_consteval_hpp\n"\
508"/** include detected */ \\\n"\
509"/** Path cursor */ \\\n"\
510"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
511"/** first fp: 0x55d691833ce0 */ \\\n"\
512"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
513"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
514"/** Found something. Now let\'s validate. */ \\\n"\
515"/** It\'s not repeating */ \\\n"\
516"/******************** */\\\n"\
517"/* Now the path will be: */ \\\n"\
518" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
519"/** include detected */ \\\n"\
520"/** Path cursor */ \\\n"\
521"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
522"/** first fp: 0x55d691834ed0 */ \\\n"\
523"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
524"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
525"/** Found something. Now let\'s validate. */ \\\n"\
526"/** It\'s not repeating */ \\\n"\
527"/******************** */\\\n"\
528"/* Now the path will be: */ \\\n"\
529" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
530"#if 90 >= 50\n"\
531"#define ae2f_LangVer_C 1990\n"\
532"#else\n"\
533"#define ae2f_LangVer_C 2090\n"\
534"#endif\n"\
535"\n"\
536"#if 11 >= 50\n"\
537"#define ae2f_LangVer_CC 1911\n"\
538"#else\n"\
539"#define ae2f_LangVer_CC 2011\n"\
540"#endif\n"\
541"\n"\
542"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
543"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
544"/** One eof gracefully */ \\\n"\
545"\n"\
546"\n"\
547"#ifdef\t__cplusplus\n"\
548"#undef\tae2f_stdcc_v\n"\
549"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
550"#else\n"\
551"\n"\
552"#undef\tae2f_stdcc_v\n"\
553"#define\tae2f_stdcc_v\t(199711L)\n"\
554"\n"\
555"#if __ae2f_lvcheck_cc(2011)\n"\
556"#undef\tae2f_stdcc_v\n"\
557"#define\tae2f_stdcc_v\t(201103L)\n"\
558"#endif\n"\
559"\n"\
560"#if __ae2f_lvcheck_cc(2014)\n"\
561"#undef\tae2f_stdcc_v\n"\
562"#define\tae2f_stdcc_v\t(201402L)\n"\
563"#endif\n"\
564"\n"\
565"#if __ae2f_lvcheck_cc(2017)\n"\
566"#undef\tae2f_stdcc_v\n"\
567"#define\tae2f_stdcc_v\t(201703L)\n"\
568"#endif\n"\
569"\n"\
570"#if __ae2f_lvcheck_cc(2020)\n"\
571"#undef\tae2f_stdcc_v\n"\
572"#define\tae2f_stdcc_v\t(202002L)\n"\
573"#endif\n"\
574"\n"\
575"#if __ae2f_lvcheck_cc(2023)\n"\
576"#undef\tae2f_stdcc_v\n"\
577"#define\tae2f_stdcc_v\t(202302L)\n"\
578"#endif\n"\
579"\n"\
580"#endif\n"\
581"\n"\
582"#ifdef\t__STDC_VERSION__\n"\
583"#undef\tae2f_stdc_v\n"\
584"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
585"#else\n"\
586"\n"\
587"#undef\tae2f_stdc_v\n"\
588"#define ae2f_stdc_v\t(199001L)\n"\
589"\n"\
590"#if __ae2f_lvcheck_c(1999)\n"\
591"#undef\tae2f_stdc_v\n"\
592"#define ae2f_stdc_v\t(199901L)\n"\
593"#endif\n"\
594"\n"\
595"#if __ae2f_lvcheck_c(2011)\n"\
596"#undef\tae2f_stdc_v\n"\
597"#define ae2f_stdc_v\t(201112L)\n"\
598"#endif\n"\
599"\n"\
600"#if __ae2f_lvcheck_c(2017)\n"\
601"#undef\tae2f_stdc_v\n"\
602"#define ae2f_stdc_v\t(201710L)\n"\
603"#endif\n"\
604"\n"\
605"#if __ae2f_lvcheck_c(2023)\n"\
606"#undef\tae2f_stdc_v\n"\
607"#define ae2f_stdc_v\t(202311L)\n"\
608"#endif\n"\
609"\n"\
610"#endif\n"\
611"\n"\
612"#undef\t__ae2f_stdcheck_C\n"\
613"#undef\t__ae2f_stdcheck_CC\n"\
614"\n"\
615"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
616"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
617"/** One eof gracefully */ \\\n"\
618"\n"\
619"\n"\
620"#if __ae2f_stdcheck_CC(201703L)\n"\
621"#define if_constexpr if constexpr\n"\
622"#else\n"\
623"#define if_constexpr if\n"\
624"#endif\n"\
625"\n"\
626"#if __ae2f_stdcheck_CC(202002L)\n"\
627"#define if_consteval if consteval\n"\
628"#else\n"\
629"#define if_consteval if (0)\n"\
630"#endif\n"\
631"\n"\
632"#if __ae2f_stdcheck_CC(202002L)\n"\
633"#define constexprvirtual constexpr virtual\n"\
634"/** constinit */\n"\
635"#else\n"\
636"#define constexprvirtual virtual\n"\
637"#define constinit\t/* not available */\n"\
638"#endif /* C++20 */\n"\
639"\n"\
640"#if __ae2f_stdcheck_CC(201402L)\n"\
641"#define constextendedfun\tconstexpr\n"\
642"#define constextendedeval \tconstexpr\n"\
643"\n"\
644"#define constextendedmethod\tconstexpr\n"\
645"#define constextendedmethodeval\tconstexpr\n"\
646"\n"\
647"#else\n"\
648"#define constextendedfun\tinline\n"\
649"#define constextendedmethod\tinline\n"\
650"\n"\
651"#define constextendedeval\tinline\n"\
652"#define constextendedmethodeval\tinline\n"\
653"#endif // C++14\n"\
654"\n"\
655"#if __ae2f_stdcheck_CC(201103L)\n"\
656"#define constexprmethod\t\tconstexpr\n"\
657"#define constexprfun\t\tconstexpr\n"\
658"#define constevalmethod\t\tconstexpr\n"\
659"\n"\
660"#else\n"\
661"#define constexprmethod\t\tinline\n"\
662"#define constexprfun\t\tinline\n"\
663"#define constevalmethod\t\tinline\n"\
664"#define virtual\n"\
665"\n"\
666"#if !defined(__cplusplus) /* C */\n"\
667"\n"\
668"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
669"/** cosntexpr variable */\n"\
670"#else\n"\
671"#define constexpr\n"\
672"#endif /* C23 */\n"\
673"\n"\
674"\n"\
675"#endif /* C */\n"\
676"\n"\
677"#endif // C++11\n"\
678"\n"\
679"#if __ae2f_stdcheck_CC(202002L)\n"\
680"#undef constevalmethod\n"\
681"#define constevalmethod consteval /* C++20 */\n"\
682"#elif __ae2f_stdcheck_CC(0)\n"\
683"\n"\
684"#undef constevalmethod\n"\
685"/// @brief\n"\
686"/// C++ keyword for constant-time functions.\n"\
687"#define consteval\n"\
688"#define constevalmethod constexprmethod\n"\
689"\n"\
690"#else\n"\
691"\n"\
692"#define consteval\n"\
693"#endif // C++20\n"\
694"\n"\
695"#endif\n"\
696"/** One eof gracefully */ \\\n"\
697"\n"\
698"\n"\
699"/// @brief\n"\
700"/// C++ union definition for @ref ae2f_union_cast\n"\
701"/// @tparam t\n"\
702"/// @tparam k\n"\
703"/// @see\n"\
704"/// @ref ae2f_union_cast\n"\
705"template <typename t, typename k> union ae2f_UnionCaster {\n"\
706" t a;\n"\
707" k b;\n"\
708" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
709" constexprmethod k _b() const { return b; }\n"\
710"};\n"\
711"\n"\
712"#endif\n"\
713"/** One eof gracefully */ \\\n"\
714"\n"\
715"/** include detected */ \\\n"\
716"/** Path cursor */ \\\n"\
717"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
718"/** first fp: 0x55d691831900 */ \\\n"\
719"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
720"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
721"/** Found something. Now let\'s validate. */ \\\n"\
722"/** It\'s not repeating */ \\\n"\
723"/******************** */\\\n"\
724"/* Now the path will be: */ \\\n"\
725" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
726"/**\n"\
727"\n"\
728" * @file consteval.hpp\n"\
729" * @author ae2f\n"\
730" * @brief\n"\
731" * @date 2025-02-01\n"\
732" *\n"\
733"\n"\
734" * @copyright Copyright (c) 2025\n"\
735" *\n"\
736"\n"\
737" */\n"\
738"#ifndef ae2f_Cast_consteval_hpp\n"\
739"#define ae2f_Cast_consteval_hpp\n"\
740"/** include detected */ \\\n"\
741"/** Path cursor */ \\\n"\
742"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
743"/** first fp: 0x55d691832af0 */ \\\n"\
744"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
745"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
746"/** Found something. Now let\'s validate. */ \\\n"\
747"/** It\'s not repeating */ \\\n"\
748"/******************** */\\\n"\
749"/* Now the path will be: */ \\\n"\
750" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
751"/** include detected */ \\\n"\
752"/** Path cursor */ \\\n"\
753"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
754"/** first fp: 0x55d691833ce0 */ \\\n"\
755"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
756"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
757"/** Found something. Now let\'s validate. */ \\\n"\
758"/** It\'s not repeating */ \\\n"\
759"/******************** */\\\n"\
760"/* Now the path will be: */ \\\n"\
761" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
762"#if 90 >= 50\n"\
763"#define ae2f_LangVer_C 1990\n"\
764"#else\n"\
765"#define ae2f_LangVer_C 2090\n"\
766"#endif\n"\
767"\n"\
768"#if 11 >= 50\n"\
769"#define ae2f_LangVer_CC 1911\n"\
770"#else\n"\
771"#define ae2f_LangVer_CC 2011\n"\
772"#endif\n"\
773"\n"\
774"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
775"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
776"/** One eof gracefully */ \\\n"\
777"\n"\
778"\n"\
779"#ifdef\t__cplusplus\n"\
780"#undef\tae2f_stdcc_v\n"\
781"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
782"#else\n"\
783"\n"\
784"#undef\tae2f_stdcc_v\n"\
785"#define\tae2f_stdcc_v\t(199711L)\n"\
786"\n"\
787"#if __ae2f_lvcheck_cc(2011)\n"\
788"#undef\tae2f_stdcc_v\n"\
789"#define\tae2f_stdcc_v\t(201103L)\n"\
790"#endif\n"\
791"\n"\
792"#if __ae2f_lvcheck_cc(2014)\n"\
793"#undef\tae2f_stdcc_v\n"\
794"#define\tae2f_stdcc_v\t(201402L)\n"\
795"#endif\n"\
796"\n"\
797"#if __ae2f_lvcheck_cc(2017)\n"\
798"#undef\tae2f_stdcc_v\n"\
799"#define\tae2f_stdcc_v\t(201703L)\n"\
800"#endif\n"\
801"\n"\
802"#if __ae2f_lvcheck_cc(2020)\n"\
803"#undef\tae2f_stdcc_v\n"\
804"#define\tae2f_stdcc_v\t(202002L)\n"\
805"#endif\n"\
806"\n"\
807"#if __ae2f_lvcheck_cc(2023)\n"\
808"#undef\tae2f_stdcc_v\n"\
809"#define\tae2f_stdcc_v\t(202302L)\n"\
810"#endif\n"\
811"\n"\
812"#endif\n"\
813"\n"\
814"#ifdef\t__STDC_VERSION__\n"\
815"#undef\tae2f_stdc_v\n"\
816"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
817"#else\n"\
818"\n"\
819"#undef\tae2f_stdc_v\n"\
820"#define ae2f_stdc_v\t(199001L)\n"\
821"\n"\
822"#if __ae2f_lvcheck_c(1999)\n"\
823"#undef\tae2f_stdc_v\n"\
824"#define ae2f_stdc_v\t(199901L)\n"\
825"#endif\n"\
826"\n"\
827"#if __ae2f_lvcheck_c(2011)\n"\
828"#undef\tae2f_stdc_v\n"\
829"#define ae2f_stdc_v\t(201112L)\n"\
830"#endif\n"\
831"\n"\
832"#if __ae2f_lvcheck_c(2017)\n"\
833"#undef\tae2f_stdc_v\n"\
834"#define ae2f_stdc_v\t(201710L)\n"\
835"#endif\n"\
836"\n"\
837"#if __ae2f_lvcheck_c(2023)\n"\
838"#undef\tae2f_stdc_v\n"\
839"#define ae2f_stdc_v\t(202311L)\n"\
840"#endif\n"\
841"\n"\
842"#endif\n"\
843"\n"\
844"#undef\t__ae2f_stdcheck_C\n"\
845"#undef\t__ae2f_stdcheck_CC\n"\
846"\n"\
847"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
848"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
849"/** One eof gracefully */ \\\n"\
850"\n"\
851"\n"\
852"#if __ae2f_stdcheck_CC(201703L)\n"\
853"#define if_constexpr if constexpr\n"\
854"#else\n"\
855"#define if_constexpr if\n"\
856"#endif\n"\
857"\n"\
858"#if __ae2f_stdcheck_CC(202002L)\n"\
859"#define if_consteval if consteval\n"\
860"#else\n"\
861"#define if_consteval if (0)\n"\
862"#endif\n"\
863"\n"\
864"#if __ae2f_stdcheck_CC(202002L)\n"\
865"#define constexprvirtual constexpr virtual\n"\
866"/** constinit */\n"\
867"#else\n"\
868"#define constexprvirtual virtual\n"\
869"#define constinit\t/* not available */\n"\
870"#endif /* C++20 */\n"\
871"\n"\
872"#if __ae2f_stdcheck_CC(201402L)\n"\
873"#define constextendedfun\tconstexpr\n"\
874"#define constextendedeval \tconstexpr\n"\
875"\n"\
876"#define constextendedmethod\tconstexpr\n"\
877"#define constextendedmethodeval\tconstexpr\n"\
878"\n"\
879"#else\n"\
880"#define constextendedfun\tinline\n"\
881"#define constextendedmethod\tinline\n"\
882"\n"\
883"#define constextendedeval\tinline\n"\
884"#define constextendedmethodeval\tinline\n"\
885"#endif // C++14\n"\
886"\n"\
887"#if __ae2f_stdcheck_CC(201103L)\n"\
888"#define constexprmethod\t\tconstexpr\n"\
889"#define constexprfun\t\tconstexpr\n"\
890"#define constevalmethod\t\tconstexpr\n"\
891"\n"\
892"#else\n"\
893"#define constexprmethod\t\tinline\n"\
894"#define constexprfun\t\tinline\n"\
895"#define constevalmethod\t\tinline\n"\
896"#define virtual\n"\
897"\n"\
898"#if !defined(__cplusplus) /* C */\n"\
899"\n"\
900"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
901"/** cosntexpr variable */\n"\
902"#else\n"\
903"#define constexpr\n"\
904"#endif /* C23 */\n"\
905"\n"\
906"\n"\
907"#endif /* C */\n"\
908"\n"\
909"#endif // C++11\n"\
910"\n"\
911"#if __ae2f_stdcheck_CC(202002L)\n"\
912"#undef constevalmethod\n"\
913"#define constevalmethod consteval /* C++20 */\n"\
914"#elif __ae2f_stdcheck_CC(0)\n"\
915"\n"\
916"#undef constevalmethod\n"\
917"/// @brief\n"\
918"/// C++ keyword for constant-time functions.\n"\
919"#define consteval\n"\
920"#define constevalmethod constexprmethod\n"\
921"\n"\
922"#else\n"\
923"\n"\
924"#define consteval\n"\
925"#endif // C++20\n"\
926"\n"\
927"#endif\n"\
928"/** One eof gracefully */ \\\n"\
929"\n"\
930"/** include detected */ \\\n"\
931"/** Path cursor */ \\\n"\
932"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
933"/** first fp: 0x55d691831900 */ \\\n"\
934"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
935"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
936"/** Found something. Now let\'s validate. */ \\\n"\
937"/** It\'s not repeating */ \\\n"\
938"/******************** */\\\n"\
939"/* Now the path will be: */ \\\n"\
940" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
941"#if 90 >= 50\n"\
942"#define ae2f_LangVer_C 1990\n"\
943"#else\n"\
944"#define ae2f_LangVer_C 2090\n"\
945"#endif\n"\
946"\n"\
947"#if 11 >= 50\n"\
948"#define ae2f_LangVer_CC 1911\n"\
949"#else\n"\
950"#define ae2f_LangVer_CC 2011\n"\
951"#endif\n"\
952"\n"\
953"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
954"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
955"/** One eof gracefully */ \\\n"\
956"\n"\
957"/** include detected */ \\\n"\
958"/** Path cursor */ \\\n"\
959"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
960"/** first fp: 0x55d691831900 */ \\\n"\
961"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
962"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
963"/** Found something. Now let\'s validate. */ \\\n"\
964"/** It\'s not repeating */ \\\n"\
965"/******************** */\\\n"\
966"/* Now the path will be: */ \\\n"\
967" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
968"/**\n"\
969"\n"\
970" * @file Cxx.h\n"\
971" * @author ae2f\n"\
972" * @brief \n"\
973" * @date 2025-02-01\n"\
974" * \n"\
975" * @copyright Copyright (c) 2025\n"\
976" * \n"\
977" */\n"\
978"\n"\
979"/// @brief\n"\
980"/// Literally nothing.\n"\
981"#define ae2f_NONE\n"\
982"\n"\
983"#if __cplusplus\n"\
984"\n"\
985"/// @def ae2f_WhenCXX \n"\
986"/// @brief\n"\
987"/// Appears when the current language is C++.\n"\
988"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
989"\n"\
990"/// @brief\n"\
991"/// Appears when the current language is C.\n"\
992"#define ae2f_WhenC(...) ae2f_NONE\n"\
993"\n"\
994"#else\n"\
995"\n"\
996"/// @brief\n"\
997"/// Appears when the current language is C++.\n"\
998"#define ae2f_WhenC(...) __VA_ARGS__\n"\
999"\n"\
1000"/// @brief\n"\
1001"/// Appears when the current language is C.\n"\
1002"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
1003"\n"\
1004"#endif\n"\
1005"\n"\
1006"/// @brief\n"\
1007"/// \n"\
1008"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
1009"\n"\
1010"/// @brief\n"\
1011"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
1012"/// \n"\
1013"/// For alter, see @ref ae2f_cxx_check\n"\
1014"#define ae2f_c_check && !ae2f_is_cxx\n"\
1015"\n"\
1016"/// @brief\n"\
1017"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
1018"/// \n"\
1019"/// For alter, see @ref ae2f_c_check\n"\
1020"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
1021"\n"\
1022"/** include detected */ \\\n"\
1023"/** Path cursor */ \\\n"\
1024"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
1025"/** first fp: (nil) */ \\\n"\
1026"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
1027"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
1028"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
1029"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
1030"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
1031"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
1032"/** Failed but ignoring it. */ \\\n"\
1033"\n"\
1034"/** include detected */ \\\n"\
1035"/** Path cursor */ \\\n"\
1036"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
1037"/** first fp: (nil) */ \\\n"\
1038"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
1039"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
1040"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1041"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1042"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
1043"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
1044"/** Failed but ignoring it. */ \\\n"\
1045"\n"\
1046"/** include detected */ \\\n"\
1047"/** Path cursor */ \\\n"\
1048"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1049"/** first fp: 0x55d691831900 */ \\\n"\
1050"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1051"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1052"/** Found something. Now let\'s validate. */ \\\n"\
1053"/** It\'s not repeating */ \\\n"\
1054"/******************** */\\\n"\
1055"/* Now the path will be: */ \\\n"\
1056" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
1057"/**\n"\
1058"\n"\
1059" * @file ae2f/Guide.h\n"\
1060" * @brief\n"\
1061" * Guide markers for conventions.\n"\
1062" * */\n"\
1063"#undef ae2f_LP\n"\
1064"#undef ae2f_NONE\n"\
1065"#undef ae2f_opt\n"\
1066"\n"\
1067"/** @def ae2f_NONE @brief nothing. */\n"\
1068"#define ae2f_NONE\n"\
1069"\n"\
1070"/** \n"\
1071" * @def ae2f_LP\n"\
1072" *\n"\
1073"\n"\
1074" * @brief \n"\
1075" * Desired count required. \n"\
1076" * \n"\
1077" * @param ...\n"\
1078" * Parameter with this preprocessor means \\n\n"\
1079" * the pointer is considered as list, and inside of this is a desired size.\n"\
1080" * */\n"\
1081"#define\tae2f_LP(...) ae2f_NONE\n"\
1082"\n"\
1083"/** @def ae2f_opt @brief Optional. */\n"\
1084"#define ae2f_opt ae2f_NONE\n"\
1085"\n"\
1086"/** \n"\
1087" * @def ae2f_FREE \n"\
1088" * @brief Use this marker to show the desired functions\n"\
1089" * \tto effectively free the resources.\n"\
1090" * */\n"\
1091"#define ae2f_FREE(...) ae2f_NONE\n"\
1092"\n"\
1093"/** @brief l_value. */\n"\
1094"#define ae2f_v ae2f_NONE\n"\
1095"/** One eof gracefully */ \\\n"\
1096"\n"\
1097"\n"\
1098"/// @brief\n"\
1099"/// Initialiser for trivial structures / classes.\n"\
1100"#define ae2f_RecordMk(type, ...) \\\n"\
1101" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
1102"\n"\
1103"/// @brief\n"\
1104"/// # static_cast\n"\
1105"#define ae2f_static_cast(t, v) \\\n"\
1106" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
1107"\n"\
1108"/// @brief\n"\
1109"/// # dynamic_cast\n"\
1110"#define ae2f_dynamic_cast(t, v) \\\n"\
1111" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
1112"\n"\
1113"/// @brief\n"\
1114"/// # reinterpret_cast\n"\
1115"#define ae2f_reinterpret_cast(t, v) \\\n"\
1116" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
1117"\n"\
1118"/// @brief\n"\
1119"/// # const_cast\n"\
1120"#define ae2f_const_cast(t, v) \\\n"\
1121" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
1122"\n"\
1123"/// @brief\n"\
1124"/// Makes a union that reads a memory in two methods. \\n\n"\
1125"/// `tThen` -> `tNow`\n"\
1126"/// @tparam tThen\n"\
1127"/// The existing data\'s type as input.\n"\
1128"///\n"\
1129"/// @tparam tNow\n"\
1130"/// Wanted output datatype for casting.\n"\
1131"///\n"\
1132"/// @param v\n"\
1133"/// Input value\n"\
1134"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
1135" ae2f_WhenC((union { \\\n"\
1136" tThen a; \\\n"\
1137" tNow b; \\\n"\
1138" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
1139" ._b()\n"\
1140"\n"\
1141"/// @brief\n"\
1142"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
1143"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
1144"///\n"\
1145"/// This keyword resolves the difference of the rules of two.\n"\
1146"#define ae2f_struct ae2f_WhenC(struct)\n"\
1147"\n"\
1148"/// @brief\n"\
1149"/// Suggests the existence of external variable or function, in naming of C.\n"\
1150"/// [non-mangling]\n"\
1151"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
1152"\n"\
1153"/// @brief\n"\
1154"/// Class\n"\
1155"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
1156"\n"\
1157"/// @brief\n"\
1158"/// Makes the global variable in naming of C. [non-mangling]\n"\
1159"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
1160"\n"\
1161"/// @brief\n"\
1162"/// Function definitions\n"\
1163"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
1164"\n"\
1165"/** @brief Invokes when condition is `false`. */\n"\
1166"#define unless(...) if (!(__VA_ARGS__))\n"\
1167"\n"\
1168"#define ae2f_structdef_v(key, name, ...) \\\n"\
1169" typedef key name __VA_ARGS__; \\\n"\
1170" key name\n"\
1171"\n"\
1172"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
1173"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
1174"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
1175"\n"\
1176"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
1177"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
1178"\n"\
1179"/**\n"\
1180"\n"\
1181" * @brief\n"\
1182" * Make two pair of function as [eval] and [expr]. \\n\n"\
1183" * [expr] will just call [eval]. \\n\n"\
1184" * You will implement the body of [eval].\n"\
1185" *\n"\
1186"\n"\
1187" * Following is an use case.\n"\
1188" * @code\n"\
1189" * ae2f_evaldef(\n"\
1190"\t\ttemplate<int a>, <0>\n"\
1191"\t\t, consteval, constexprfun\n"\
1192"\t\t, int, Hello, _Hello, char v, v) \n"\
1193"\t\t{ return v; }\n"\
1194" * */\n"\
1195"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
1196"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
1197"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
1198"\t\treturn nameeval tmpluse (prmuse); \\\n"\
1199"\t} \\\n"\
1200"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
1201"\n"\
1202"#if !__ae2f_stdcheck_CC(201103L)\n"\
1203"#undef\tnoexcept\n"\
1204"#define noexcept\n"\
1205"#endif\n"\
1206"\n"\
1207"\n"\
1208"#undef\trestrict /** First declaration */\n"\
1209"#if ae2f_stdc_v < 199901L\n"\
1210"#undef\trestrict\n"\
1211"#define restrict\n"\
1212"#endif // C>=99\n"\
1213"\n"\
1214"#if __cplusplus\n"\
1215"#undef\trestrict\n"\
1216"#define restrict\n"\
1217"#endif // C++\n"\
1218"\n"\
1219"#if !__ae2f_stdcheck_CC(201103L)\n"\
1220"/// @brief\n"\
1221"/// Means that there will be no exception thrown written in code.\n"\
1222"#define noexcept\n"\
1223"#define constexpr\n"\
1224"#endif /* C++<=11 */\n"\
1225"\n"\
1226"#if ae2f_WhenC(!)0\n"\
1227"#undef noexcept\n"\
1228"#define noexcept\n"\
1229"#endif\n"\
1230"\n"\
1231"#endif\n"\
1232"/** One eof gracefully */ \\\n"\
1233"\n"\
1234"/** include detected */ \\\n"\
1235"/** Path cursor */ \\\n"\
1236"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Call.h */ \\\n"\
1237"/** first fp: (nil) */ \\\n"\
1238"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
1239"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
1240"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
1241"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
1242"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1243"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1244"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1245"/** Found something. Now let\'s validate. */ \\\n"\
1246"/** It\'s not repeating */ \\\n"\
1247"/******************** */\\\n"\
1248"/* Now the path will be: */ \\\n"\
1249" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
1250"/**\n"\
1251"\n"\
1252" * @file Call.h\n"\
1253" * @author ae2f\n"\
1254" * @brief \n"\
1255" * @date 2025-02-01\n"\
1256" * \n"\
1257" * @copyright Copyright (c) 2025\n"\
1258" * \n"\
1259" */\n"\
1260"\n"\
1261"#ifndef ae2f_Call_h\n"\
1262"#define ae2f_Call_h\n"\
1263"\n"\
1264"/** include detected */ \\\n"\
1265"/** Path cursor */ \\\n"\
1266"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1267"/** first fp: 0x55d691831900 */ \\\n"\
1268"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1269"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1270"/** Found something. Now let\'s validate. */ \\\n"\
1271"/** It\'s not repeating */ \\\n"\
1272"/******************** */\\\n"\
1273"/* Now the path will be: */ \\\n"\
1274" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
1275"#define ON 1\n"\
1276"#define OFF 0\n"\
1277"\n"\
1278"#if (defined(_WIN32) || defined(_WIN64))\n"\
1279"#define ae2f_IS_WIN 1\n"\
1280"#else \n"\
1281"#define ae2f_IS_WIN 0\n"\
1282"#endif\n"\
1283"\n"\
1284"#if (defined(__linux__))\n"\
1285"#define ae2f_IS_LINUX 1\n"\
1286"#else \n"\
1287"#define ae2f_IS_LINUX 0\n"\
1288"#endif\n"\
1289"\n"\
1290"#if defined(__MACH__) || defined(__APPLE__)\n"\
1291"#define ae2f_IS_APPLE 1\n"\
1292"#else\n"\
1293"#define ae2f_IS_APPLE 0\n"\
1294"#endif\n"\
1295"\n"\
1296"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
1297"/** PLATFORM NOT SPECIFIED. */\n"\
1298"\n"\
1299"/**** @brief UNSPECIFIED */\n"\
1300"#define ae2f_IDK 1\n"\
1301"#else\n"\
1302"/**** @brief UNSPECIFIED */\n"\
1303"#define ae2f_IDK 0\n"\
1304"#endif\n"\
1305"/** One eof gracefully */ \\\n"\
1306"\n"\
1307"/** include detected */ \\\n"\
1308"/** Path cursor */ \\\n"\
1309"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1310"/** first fp: 0x55d691831900 */ \\\n"\
1311"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1312"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1313"/** Found something. Now let\'s validate. */ \\\n"\
1314"/** It\'s not repeating */ \\\n"\
1315"/******************** */\\\n"\
1316"/* Now the path will be: */ \\\n"\
1317" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
1318"/**\n"\
1319"\n"\
1320" * @file Call.h\n"\
1321" * @author ae2f\n"\
1322" * @brief \n"\
1323" * @date 2025-02-01\n"\
1324" * \n"\
1325" * @copyright Copyright (c) 2025\n"\
1326" * \n"\
1327" */\n"\
1328"\n"\
1329"/** @brief Is a library shared */\n"\
1330"#define ae2f_IS_SHARED ON\n"\
1331"/** One eof gracefully */ \\\n"\
1332"\n"\
1333"\n"\
1334"#if ae2f_IS_SHARED\n"\
1335"\n"\
1336"#if ae2f_IS_WIN\n"\
1337"/// @brief\n"\
1338"/// # For Windows\n"\
1339"/// \n"\
1340"/// shared function imp\n"\
1341"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
1342"\n"\
1343"/// @brief\n"\
1344"/// # For Windows\n"\
1345"/// \n"\
1346"/// Function api call\n"\
1347"#define ae2f_SHAREDCALL \n"\
1348"#endif\n"\
1349"\n"\
1350"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
1351"/// @brief\n"\
1352"/// # For Linux, gcc based.\n"\
1353"/// \n"\
1354"/// shared function imp\n"\
1355"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
1356"\n"\
1357"/// @brief\n"\
1358"/// # For Linux, gcc based.\n"\
1359"///\n"\
1360"/// Function api call\n"\
1361"#define ae2f_SHAREDCALL\n"\
1362"#endif\n"\
1363"\n"\
1364"\n"\
1365"\n"\
1366"#else\n"\
1367"\n"\
1368"/// @brief\n"\
1369"/// # It is no shared library.\n"\
1370"/// \n"\
1371"/// shared function imp\n"\
1372"#define ae2f_SHAREDEXPORT\n"\
1373"/// @brief \n"\
1374"/// # It is no shared library.\n"\
1375"///\n"\
1376"/// Function api call\n"\
1377"#define ae2f_SHAREDCALL\n"\
1378"#endif\n"\
1379"\n"\
1380"#endif\n"\
1381"/** One eof gracefully */ \\\n"\
1382"\n"\
1383"/** include detected */ \\\n"\
1384"/** Path cursor */ \\\n"\
1385"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Macro.h */ \\\n"\
1386"/** first fp: (nil) */ \\\n"\
1387"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Macro.h */ \\\n"\
1388"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Macro.h */ \\\n"\
1389"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
1390"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
1391"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Macro.h */ \\\n"\
1392"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clae2f/Macro.h */ \\\n"\
1393"/** Failed but ignoring it. */ \\\n"\
1394"\n"\
1395"/** include detected */ \\\n"\
1396"/** Path cursor */ \\\n"\
1397"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Guide.h */ \\\n"\
1398"/** first fp: (nil) */ \\\n"\
1399"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Guide.h */ \\\n"\
1400"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Guide.h */ \\\n"\
1401"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
1402"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
1403"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1404"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1405"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1406"/** Found something. Now let\'s validate. */ \\\n"\
1407"/** It\'s not repeating */ \\\n"\
1408"/******************** */\\\n"\
1409"/* Now the path will be: */ \\\n"\
1410" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
1411"/**\n"\
1412"\n"\
1413" * @file ae2f/Guide.h\n"\
1414" * @brief\n"\
1415" * Guide markers for conventions.\n"\
1416" * */\n"\
1417"#undef ae2f_LP\n"\
1418"#undef ae2f_NONE\n"\
1419"#undef ae2f_opt\n"\
1420"\n"\
1421"/** @def ae2f_NONE @brief nothing. */\n"\
1422"#define ae2f_NONE\n"\
1423"\n"\
1424"/** \n"\
1425" * @def ae2f_LP\n"\
1426" *\n"\
1427"\n"\
1428" * @brief \n"\
1429" * Desired count required. \n"\
1430" * \n"\
1431" * @param ...\n"\
1432" * Parameter with this preprocessor means \\n\n"\
1433" * the pointer is considered as list, and inside of this is a desired size.\n"\
1434" * */\n"\
1435"#define\tae2f_LP(...) ae2f_NONE\n"\
1436"\n"\
1437"/** @def ae2f_opt @brief Optional. */\n"\
1438"#define ae2f_opt ae2f_NONE\n"\
1439"\n"\
1440"/** \n"\
1441" * @def ae2f_FREE \n"\
1442" * @brief Use this marker to show the desired functions\n"\
1443" * \tto effectively free the resources.\n"\
1444" * */\n"\
1445"#define ae2f_FREE(...) ae2f_NONE\n"\
1446"\n"\
1447"/** @brief l_value. */\n"\
1448"#define ae2f_v ae2f_NONE\n"\
1449"/** One eof gracefully */ \\\n"\
1450"\n"\
1451"\n"\
1452"/** include detected */ \\\n"\
1453"/** Path cursor */ \\\n"\
1454"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Act.h */ \\\n"\
1455"/** first fp: (nil) */ \\\n"\
1456"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1457"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1458"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
1459"/** Found something. Now let\'s validate. */ \\\n"\
1460"/** It\'s not repeating */ \\\n"\
1461"/******************** */\\\n"\
1462"/* Now the path will be: */ \\\n"\
1463" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
1464"/**\n"\
1465"\n"\
1466" * @file vAct.h\n"\
1467" * @author ae2f\n"\
1468" * @brief \n"\
1469" * @version 0.1\n"\
1470" * @date 2025-02-13\n"\
1471" * \n"\
1472" * @copyright Copyright (c) 2025\n"\
1473" * \n"\
1474" */\n"\
1475"\n"\
1476"#ifndef ae2fCL_AnnAct_h\n"\
1477"#define ae2fCL_AnnAct_h\n"\
1478"\n"\
1479"/** include detected */ \\\n"\
1480"/** Path cursor */ \\\n"\
1481"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stddef.h */ \\\n"\
1482"/** first fp: (nil) */ \\\n"\
1483"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
1484"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
1485"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1486"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
1487"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
1488"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
1489"/** Failed but ignoring it. */ \\\n"\
1490"\n"\
1491"/** include detected */ \\\n"\
1492"/** Path cursor */ \\\n"\
1493"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
1494"/** first fp: (nil) */ \\\n"\
1495"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
1496"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
1497"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
1498"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
1499"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1500"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1501"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1502"/** Found something. Now let\'s validate. */ \\\n"\
1503"/** It\'s not repeating */ \\\n"\
1504"/******************** */\\\n"\
1505"/* Now the path will be: */ \\\n"\
1506" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
1507"/**\n"\
1508"\n"\
1509" * @file Float.h\n"\
1510" * @brief\n"\
1511" * Here, float will be treated as bit vector with four attributes:\n"\
1512" *\n"\
1513"\n"\
1514" * sign: \\n\t\n"\
1515" * \t> Whether it has sign or not. \\n\n"\
1516" *\n"\
1517"\n"\
1518" * exp:\t\\n\n"\
1519" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
1520" * \t> Which is the exponent of the [frac]\n"\
1521" *\n"\
1522"\n"\
1523" * expbiasp: \\n\n"\
1524" * \t> Exponent bias in order to be considered as zero. \\n\n"\
1525" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
1526" *\n"\
1527"\n"\
1528" * \t> Here, the value of exponent bias is limited with following rules:\n"\
1529" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
1530" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
1531" *\n"\
1532"\n"\
1533" * frac: \\n\n"\
1534" * \t> The actual \"value\" for floating point.\n"\
1535" *\n"\
1536"\n"\
1537" * ==================\n"\
1538" *\n"\
1539"\n"\
1540" * Following is the expected structure as bit vector: \\n\n"\
1541" * [frac | exp | sign]\n"\
1542" * \n"\
1543" * Size of this will be calculated as: \\n\n"\
1544" * [sign] + [exp] + [frac]\n"\
1545" */\n"\
1546"\n"\
1547"#ifndef ae2f_Float_h\n"\
1548"#define ae2f_Float_h\n"\
1549"\n"\
1550"/** include detected */ \\\n"\
1551"/** Path cursor */ \\\n"\
1552"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1553"/** first fp: 0x55d691832af0 */ \\\n"\
1554"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1555"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
1556"/** Found something. Now let\'s validate. */ \\\n"\
1557"/** It\'s not repeating */ \\\n"\
1558"/******************** */\\\n"\
1559"/* Now the path will be: */ \\\n"\
1560" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
1561"/**\n"\
1562"\n"\
1563" * @file Float.h\n"\
1564" * @author ae2f\n"\
1565" * @brief \n"\
1566" * @date 2025-02-01\n"\
1567" * \n"\
1568" * @copyright Copyright (c) 2025\n"\
1569" * \n"\
1570" */\n"\
1571"#ifndef ae2f_float_h\n"\
1572"#define ae2f_float_h\n"\
1573"\n"\
1574"/// @brief \n"\
1575"/// Predefined floating point type.\n"\
1576"/// \n"\
1577"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
1578"#define ae2f_float float\n"\
1579"\n"\
1580"#endif \n"\
1581"/** One eof gracefully */ \\\n"\
1582"\n"\
1583"\n"\
1584"typedef ae2f_float ae2f_float_t;\n"\
1585"\n"\
1586"#endif\n"\
1587"/** One eof gracefully */ \\\n"\
1588"\n"\
1589"\n"\
1590"/// @brief Customisable activasion function type.\n"\
1591"typedef void ae2f_AnnAct_t (ae2f_float_t* ret, ae2f_float_t x);\n"\
1592"\n"\
1593"/// @brief\n"\
1594"/// Specify the way of calculating loss.\n"\
1595"/// \n"\
1596"/// This will be multiplied with learning rate, \\n\n"\
1597"/// and that value will be added to each weights field and bias.\n"\
1598"/// @param out Predicted value\n"\
1599"/// @param goal Expected value (wanted)\n"\
1600"/// @return Calculated loss.\n"\
1601"typedef void ae2f_AnnLoss_t (\n"\
1602"\t\tae2f_float_t*\t\tret,\n"\
1603"\t\tconst ae2f_float_t*\tout, \n"\
1604"\t\tconst ae2f_float_t* \tgoal,\n"\
1605"\t\tsize_t\t\t\tindex,\n"\
1606"\t\tsize_t\t\t\tcount\n"\
1607"\t\t);\n"\
1608"\n"\
1609"#endif\n"\
1610"/** One eof gracefully */ \\\n"\
1611"\n"\
1612"/** include detected */ \\\n"\
1613"/** Path cursor */ \\\n"\
1614"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
1615"/** first fp: (nil) */ \\\n"\
1616"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
1617"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1618"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
1619"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
1620"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1621"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1622"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
1623"/** Found something. Now let\'s validate. */ \\\n"\
1624"/** It\'s not repeating */ \\\n"\
1625"/******************** */\\\n"\
1626"/* Now the path will be: */ \\\n"\
1627" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
1628"/**\n"\
1629"\n"\
1630" * @file Beg.h\n"\
1631" * @author ae2f\n"\
1632" * @brief\n"\
1633" * @date 2025-02-01\n"\
1634" * \n"\
1635" * @copyright Copyright (c) 2025\n"\
1636" * \n"\
1637" */\n"\
1638"\n"\
1639"/** include detected */ \\\n"\
1640"/** Path cursor */ \\\n"\
1641"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1642"/** first fp: 0x55d691831900 */ \\\n"\
1643"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1644"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
1645"/** Found something. Now let\'s validate. */ \\\n"\
1646"/** It\'s not repeating */ \\\n"\
1647"/******************** */\\\n"\
1648"/* Now the path will be: */ \\\n"\
1649" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
1650"/**\n"\
1651"\n"\
1652" * @file Num.h\n"\
1653" * @author ae2f\n"\
1654" * @brief \n"\
1655" * @date 2025-02-01\n"\
1656" * \n"\
1657" * @copyright Copyright (c) 2025\n"\
1658" * \n"\
1659" */\n"\
1660"\n"\
1661"/// @brief\n"\
1662"/// Pre-defined structure packed byte count.\n"\
1663"/// \n"\
1664"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
1665"#define ae2f_PackCount 0\n"\
1666"/** One eof gracefully */ \\\n"\
1667"\n"\
1668"\n"\
1669"#if ae2f_PackCount\n"\
1670"#pragma pack(push, 0)\n"\
1671"#endif\n"\
1672"/** One eof gracefully */ \\\n"\
1673"\n"\
1674"/** include detected */ \\\n"\
1675"/** Path cursor */ \\\n"\
1676"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Util.h */ \\\n"\
1677"/** first fp: (nil) */ \\\n"\
1678"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1679"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1680"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
1681"/** Found something. Now let\'s validate. */ \\\n"\
1682"/** It\'s not repeating */ \\\n"\
1683"/******************** */\\\n"\
1684"/* Now the path will be: */ \\\n"\
1685" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
1686"#ifndef ae2f_Ann_Util_h\n"\
1687"#define ae2f_Ann_Util_h\n"\
1688"\n"\
1689"/** include detected */ \\\n"\
1690"/** Path cursor */ \\\n"\
1691"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
1692"/** first fp: (nil) */ \\\n"\
1693"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
1694"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
1695"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
1696"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
1697"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1698"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1699"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
1700"/** Found something. Now let\'s validate. */ \\\n"\
1701"/** It\'s not repeating */ \\\n"\
1702"/******************** */\\\n"\
1703"/* Now the path will be: */ \\\n"\
1704" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
1705"/**\n"\
1706"\n"\
1707" * @file Cast.h\n"\
1708" * @author ae2f\n"\
1709" * @brief\n"\
1710" * @date 2025-02-01\n"\
1711" *\n"\
1712"\n"\
1713" * @copyright Copyright (c) 2025\n"\
1714" *\n"\
1715"\n"\
1716" */\n"\
1717"\n"\
1718"#if !defined(ae2f_Cast_h)\n"\
1719"\n"\
1720"/// @brief\n"\
1721"/// asdf\n"\
1722"#define ae2f_Cast_h\n"\
1723"\n"\
1724"/// @brief\n"\
1725"/// ANSI Code for clearing the console.\n"\
1726"/// Clearing all display, moving the cursor on the top.\n"\
1727"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
1728"\n"\
1729"/// @brief\n"\
1730"/// simply merge all text inside the round bracket, counting them as a single\n"\
1731"/// text block.\n"\
1732"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
1733"\n"\
1734"/** include detected */ \\\n"\
1735"/** Path cursor */ \\\n"\
1736"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1737"/** first fp: 0x55d691832af0 */ \\\n"\
1738"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1739"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
1740"/** Found something. Now let\'s validate. */ \\\n"\
1741"/** It\'s not repeating */ \\\n"\
1742"/******************** */\\\n"\
1743"/* Now the path will be: */ \\\n"\
1744" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
1745"/**\n"\
1746"\n"\
1747" * @file CasterUnion.hpp\n"\
1748" * @author ae2f\n"\
1749" * @brief\n"\
1750" * @date 2025-02-01\n"\
1751" *\n"\
1752"\n"\
1753" * @copyright Copyright (c) 2025\n"\
1754" *\n"\
1755"\n"\
1756" */\n"\
1757"\n"\
1758"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
1759"#define ae2f_Cast_CasterUnion_hpp\n"\
1760"/** include detected */ \\\n"\
1761"/** Path cursor */ \\\n"\
1762"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1763"/** first fp: 0x55d691833ce0 */ \\\n"\
1764"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1765"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
1766"/** Found something. Now let\'s validate. */ \\\n"\
1767"/** It\'s not repeating */ \\\n"\
1768"/******************** */\\\n"\
1769"/* Now the path will be: */ \\\n"\
1770" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
1771"/**\n"\
1772"\n"\
1773" * @file consteval.hpp\n"\
1774" * @author ae2f\n"\
1775" * @brief\n"\
1776" * @date 2025-02-01\n"\
1777" *\n"\
1778"\n"\
1779" * @copyright Copyright (c) 2025\n"\
1780" *\n"\
1781"\n"\
1782" */\n"\
1783"#ifndef ae2f_Cast_consteval_hpp\n"\
1784"#define ae2f_Cast_consteval_hpp\n"\
1785"/** include detected */ \\\n"\
1786"/** Path cursor */ \\\n"\
1787"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1788"/** first fp: 0x55d691834ed0 */ \\\n"\
1789"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1790"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
1791"/** Found something. Now let\'s validate. */ \\\n"\
1792"/** It\'s not repeating */ \\\n"\
1793"/******************** */\\\n"\
1794"/* Now the path will be: */ \\\n"\
1795" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
1796"/** include detected */ \\\n"\
1797"/** Path cursor */ \\\n"\
1798"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1799"/** first fp: 0x55d6918360c0 */ \\\n"\
1800"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1801"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
1802"/** Found something. Now let\'s validate. */ \\\n"\
1803"/** It\'s not repeating */ \\\n"\
1804"/******************** */\\\n"\
1805"/* Now the path will be: */ \\\n"\
1806" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
1807"#if 90 >= 50\n"\
1808"#define ae2f_LangVer_C 1990\n"\
1809"#else\n"\
1810"#define ae2f_LangVer_C 2090\n"\
1811"#endif\n"\
1812"\n"\
1813"#if 11 >= 50\n"\
1814"#define ae2f_LangVer_CC 1911\n"\
1815"#else\n"\
1816"#define ae2f_LangVer_CC 2011\n"\
1817"#endif\n"\
1818"\n"\
1819"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
1820"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
1821"/** One eof gracefully */ \\\n"\
1822"\n"\
1823"\n"\
1824"#ifdef\t__cplusplus\n"\
1825"#undef\tae2f_stdcc_v\n"\
1826"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
1827"#else\n"\
1828"\n"\
1829"#undef\tae2f_stdcc_v\n"\
1830"#define\tae2f_stdcc_v\t(199711L)\n"\
1831"\n"\
1832"#if __ae2f_lvcheck_cc(2011)\n"\
1833"#undef\tae2f_stdcc_v\n"\
1834"#define\tae2f_stdcc_v\t(201103L)\n"\
1835"#endif\n"\
1836"\n"\
1837"#if __ae2f_lvcheck_cc(2014)\n"\
1838"#undef\tae2f_stdcc_v\n"\
1839"#define\tae2f_stdcc_v\t(201402L)\n"\
1840"#endif\n"\
1841"\n"\
1842"#if __ae2f_lvcheck_cc(2017)\n"\
1843"#undef\tae2f_stdcc_v\n"\
1844"#define\tae2f_stdcc_v\t(201703L)\n"\
1845"#endif\n"\
1846"\n"\
1847"#if __ae2f_lvcheck_cc(2020)\n"\
1848"#undef\tae2f_stdcc_v\n"\
1849"#define\tae2f_stdcc_v\t(202002L)\n"\
1850"#endif\n"\
1851"\n"\
1852"#if __ae2f_lvcheck_cc(2023)\n"\
1853"#undef\tae2f_stdcc_v\n"\
1854"#define\tae2f_stdcc_v\t(202302L)\n"\
1855"#endif\n"\
1856"\n"\
1857"#endif\n"\
1858"\n"\
1859"#ifdef\t__STDC_VERSION__\n"\
1860"#undef\tae2f_stdc_v\n"\
1861"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
1862"#else\n"\
1863"\n"\
1864"#undef\tae2f_stdc_v\n"\
1865"#define ae2f_stdc_v\t(199001L)\n"\
1866"\n"\
1867"#if __ae2f_lvcheck_c(1999)\n"\
1868"#undef\tae2f_stdc_v\n"\
1869"#define ae2f_stdc_v\t(199901L)\n"\
1870"#endif\n"\
1871"\n"\
1872"#if __ae2f_lvcheck_c(2011)\n"\
1873"#undef\tae2f_stdc_v\n"\
1874"#define ae2f_stdc_v\t(201112L)\n"\
1875"#endif\n"\
1876"\n"\
1877"#if __ae2f_lvcheck_c(2017)\n"\
1878"#undef\tae2f_stdc_v\n"\
1879"#define ae2f_stdc_v\t(201710L)\n"\
1880"#endif\n"\
1881"\n"\
1882"#if __ae2f_lvcheck_c(2023)\n"\
1883"#undef\tae2f_stdc_v\n"\
1884"#define ae2f_stdc_v\t(202311L)\n"\
1885"#endif\n"\
1886"\n"\
1887"#endif\n"\
1888"\n"\
1889"#undef\t__ae2f_stdcheck_C\n"\
1890"#undef\t__ae2f_stdcheck_CC\n"\
1891"\n"\
1892"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
1893"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
1894"/** One eof gracefully */ \\\n"\
1895"\n"\
1896"\n"\
1897"#if __ae2f_stdcheck_CC(201703L)\n"\
1898"#define if_constexpr if constexpr\n"\
1899"#else\n"\
1900"#define if_constexpr if\n"\
1901"#endif\n"\
1902"\n"\
1903"#if __ae2f_stdcheck_CC(202002L)\n"\
1904"#define if_consteval if consteval\n"\
1905"#else\n"\
1906"#define if_consteval if (0)\n"\
1907"#endif\n"\
1908"\n"\
1909"#if __ae2f_stdcheck_CC(202002L)\n"\
1910"#define constexprvirtual constexpr virtual\n"\
1911"/** constinit */\n"\
1912"#else\n"\
1913"#define constexprvirtual virtual\n"\
1914"#define constinit\t/* not available */\n"\
1915"#endif /* C++20 */\n"\
1916"\n"\
1917"#if __ae2f_stdcheck_CC(201402L)\n"\
1918"#define constextendedfun\tconstexpr\n"\
1919"#define constextendedeval \tconstexpr\n"\
1920"\n"\
1921"#define constextendedmethod\tconstexpr\n"\
1922"#define constextendedmethodeval\tconstexpr\n"\
1923"\n"\
1924"#else\n"\
1925"#define constextendedfun\tinline\n"\
1926"#define constextendedmethod\tinline\n"\
1927"\n"\
1928"#define constextendedeval\tinline\n"\
1929"#define constextendedmethodeval\tinline\n"\
1930"#endif // C++14\n"\
1931"\n"\
1932"#if __ae2f_stdcheck_CC(201103L)\n"\
1933"#define constexprmethod\t\tconstexpr\n"\
1934"#define constexprfun\t\tconstexpr\n"\
1935"#define constevalmethod\t\tconstexpr\n"\
1936"\n"\
1937"#else\n"\
1938"#define constexprmethod\t\tinline\n"\
1939"#define constexprfun\t\tinline\n"\
1940"#define constevalmethod\t\tinline\n"\
1941"#define virtual\n"\
1942"\n"\
1943"#if !defined(__cplusplus) /* C */\n"\
1944"\n"\
1945"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
1946"/** cosntexpr variable */\n"\
1947"#else\n"\
1948"#define constexpr\n"\
1949"#endif /* C23 */\n"\
1950"\n"\
1951"\n"\
1952"#endif /* C */\n"\
1953"\n"\
1954"#endif // C++11\n"\
1955"\n"\
1956"#if __ae2f_stdcheck_CC(202002L)\n"\
1957"#undef constevalmethod\n"\
1958"#define constevalmethod consteval /* C++20 */\n"\
1959"#elif __ae2f_stdcheck_CC(0)\n"\
1960"\n"\
1961"#undef constevalmethod\n"\
1962"/// @brief\n"\
1963"/// C++ keyword for constant-time functions.\n"\
1964"#define consteval\n"\
1965"#define constevalmethod constexprmethod\n"\
1966"\n"\
1967"#else\n"\
1968"\n"\
1969"#define consteval\n"\
1970"#endif // C++20\n"\
1971"\n"\
1972"#endif\n"\
1973"/** One eof gracefully */ \\\n"\
1974"\n"\
1975"\n"\
1976"/// @brief\n"\
1977"/// C++ union definition for @ref ae2f_union_cast\n"\
1978"/// @tparam t\n"\
1979"/// @tparam k\n"\
1980"/// @see\n"\
1981"/// @ref ae2f_union_cast\n"\
1982"template <typename t, typename k> union ae2f_UnionCaster {\n"\
1983" t a;\n"\
1984" k b;\n"\
1985" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
1986" constexprmethod k _b() const { return b; }\n"\
1987"};\n"\
1988"\n"\
1989"#endif\n"\
1990"/** One eof gracefully */ \\\n"\
1991"\n"\
1992"/** include detected */ \\\n"\
1993"/** Path cursor */ \\\n"\
1994"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
1995"/** first fp: 0x55d691832af0 */ \\\n"\
1996"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
1997"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
1998"/** Found something. Now let\'s validate. */ \\\n"\
1999"/** It\'s not repeating */ \\\n"\
2000"/******************** */\\\n"\
2001"/* Now the path will be: */ \\\n"\
2002" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
2003"/**\n"\
2004"\n"\
2005" * @file consteval.hpp\n"\
2006" * @author ae2f\n"\
2007" * @brief\n"\
2008" * @date 2025-02-01\n"\
2009" *\n"\
2010"\n"\
2011" * @copyright Copyright (c) 2025\n"\
2012" *\n"\
2013"\n"\
2014" */\n"\
2015"#ifndef ae2f_Cast_consteval_hpp\n"\
2016"#define ae2f_Cast_consteval_hpp\n"\
2017"/** include detected */ \\\n"\
2018"/** Path cursor */ \\\n"\
2019"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
2020"/** first fp: 0x55d691833ce0 */ \\\n"\
2021"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
2022"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
2023"/** Found something. Now let\'s validate. */ \\\n"\
2024"/** It\'s not repeating */ \\\n"\
2025"/******************** */\\\n"\
2026"/* Now the path will be: */ \\\n"\
2027" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
2028"/** include detected */ \\\n"\
2029"/** Path cursor */ \\\n"\
2030"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
2031"/** first fp: 0x55d691834ed0 */ \\\n"\
2032"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
2033"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
2034"/** Found something. Now let\'s validate. */ \\\n"\
2035"/** It\'s not repeating */ \\\n"\
2036"/******************** */\\\n"\
2037"/* Now the path will be: */ \\\n"\
2038" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
2039"#if 90 >= 50\n"\
2040"#define ae2f_LangVer_C 1990\n"\
2041"#else\n"\
2042"#define ae2f_LangVer_C 2090\n"\
2043"#endif\n"\
2044"\n"\
2045"#if 11 >= 50\n"\
2046"#define ae2f_LangVer_CC 1911\n"\
2047"#else\n"\
2048"#define ae2f_LangVer_CC 2011\n"\
2049"#endif\n"\
2050"\n"\
2051"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2052"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2053"/** One eof gracefully */ \\\n"\
2054"\n"\
2055"\n"\
2056"#ifdef\t__cplusplus\n"\
2057"#undef\tae2f_stdcc_v\n"\
2058"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
2059"#else\n"\
2060"\n"\
2061"#undef\tae2f_stdcc_v\n"\
2062"#define\tae2f_stdcc_v\t(199711L)\n"\
2063"\n"\
2064"#if __ae2f_lvcheck_cc(2011)\n"\
2065"#undef\tae2f_stdcc_v\n"\
2066"#define\tae2f_stdcc_v\t(201103L)\n"\
2067"#endif\n"\
2068"\n"\
2069"#if __ae2f_lvcheck_cc(2014)\n"\
2070"#undef\tae2f_stdcc_v\n"\
2071"#define\tae2f_stdcc_v\t(201402L)\n"\
2072"#endif\n"\
2073"\n"\
2074"#if __ae2f_lvcheck_cc(2017)\n"\
2075"#undef\tae2f_stdcc_v\n"\
2076"#define\tae2f_stdcc_v\t(201703L)\n"\
2077"#endif\n"\
2078"\n"\
2079"#if __ae2f_lvcheck_cc(2020)\n"\
2080"#undef\tae2f_stdcc_v\n"\
2081"#define\tae2f_stdcc_v\t(202002L)\n"\
2082"#endif\n"\
2083"\n"\
2084"#if __ae2f_lvcheck_cc(2023)\n"\
2085"#undef\tae2f_stdcc_v\n"\
2086"#define\tae2f_stdcc_v\t(202302L)\n"\
2087"#endif\n"\
2088"\n"\
2089"#endif\n"\
2090"\n"\
2091"#ifdef\t__STDC_VERSION__\n"\
2092"#undef\tae2f_stdc_v\n"\
2093"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
2094"#else\n"\
2095"\n"\
2096"#undef\tae2f_stdc_v\n"\
2097"#define ae2f_stdc_v\t(199001L)\n"\
2098"\n"\
2099"#if __ae2f_lvcheck_c(1999)\n"\
2100"#undef\tae2f_stdc_v\n"\
2101"#define ae2f_stdc_v\t(199901L)\n"\
2102"#endif\n"\
2103"\n"\
2104"#if __ae2f_lvcheck_c(2011)\n"\
2105"#undef\tae2f_stdc_v\n"\
2106"#define ae2f_stdc_v\t(201112L)\n"\
2107"#endif\n"\
2108"\n"\
2109"#if __ae2f_lvcheck_c(2017)\n"\
2110"#undef\tae2f_stdc_v\n"\
2111"#define ae2f_stdc_v\t(201710L)\n"\
2112"#endif\n"\
2113"\n"\
2114"#if __ae2f_lvcheck_c(2023)\n"\
2115"#undef\tae2f_stdc_v\n"\
2116"#define ae2f_stdc_v\t(202311L)\n"\
2117"#endif\n"\
2118"\n"\
2119"#endif\n"\
2120"\n"\
2121"#undef\t__ae2f_stdcheck_C\n"\
2122"#undef\t__ae2f_stdcheck_CC\n"\
2123"\n"\
2124"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
2125"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
2126"/** One eof gracefully */ \\\n"\
2127"\n"\
2128"\n"\
2129"#if __ae2f_stdcheck_CC(201703L)\n"\
2130"#define if_constexpr if constexpr\n"\
2131"#else\n"\
2132"#define if_constexpr if\n"\
2133"#endif\n"\
2134"\n"\
2135"#if __ae2f_stdcheck_CC(202002L)\n"\
2136"#define if_consteval if consteval\n"\
2137"#else\n"\
2138"#define if_consteval if (0)\n"\
2139"#endif\n"\
2140"\n"\
2141"#if __ae2f_stdcheck_CC(202002L)\n"\
2142"#define constexprvirtual constexpr virtual\n"\
2143"/** constinit */\n"\
2144"#else\n"\
2145"#define constexprvirtual virtual\n"\
2146"#define constinit\t/* not available */\n"\
2147"#endif /* C++20 */\n"\
2148"\n"\
2149"#if __ae2f_stdcheck_CC(201402L)\n"\
2150"#define constextendedfun\tconstexpr\n"\
2151"#define constextendedeval \tconstexpr\n"\
2152"\n"\
2153"#define constextendedmethod\tconstexpr\n"\
2154"#define constextendedmethodeval\tconstexpr\n"\
2155"\n"\
2156"#else\n"\
2157"#define constextendedfun\tinline\n"\
2158"#define constextendedmethod\tinline\n"\
2159"\n"\
2160"#define constextendedeval\tinline\n"\
2161"#define constextendedmethodeval\tinline\n"\
2162"#endif // C++14\n"\
2163"\n"\
2164"#if __ae2f_stdcheck_CC(201103L)\n"\
2165"#define constexprmethod\t\tconstexpr\n"\
2166"#define constexprfun\t\tconstexpr\n"\
2167"#define constevalmethod\t\tconstexpr\n"\
2168"\n"\
2169"#else\n"\
2170"#define constexprmethod\t\tinline\n"\
2171"#define constexprfun\t\tinline\n"\
2172"#define constevalmethod\t\tinline\n"\
2173"#define virtual\n"\
2174"\n"\
2175"#if !defined(__cplusplus) /* C */\n"\
2176"\n"\
2177"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
2178"/** cosntexpr variable */\n"\
2179"#else\n"\
2180"#define constexpr\n"\
2181"#endif /* C23 */\n"\
2182"\n"\
2183"\n"\
2184"#endif /* C */\n"\
2185"\n"\
2186"#endif // C++11\n"\
2187"\n"\
2188"#if __ae2f_stdcheck_CC(202002L)\n"\
2189"#undef constevalmethod\n"\
2190"#define constevalmethod consteval /* C++20 */\n"\
2191"#elif __ae2f_stdcheck_CC(0)\n"\
2192"\n"\
2193"#undef constevalmethod\n"\
2194"/// @brief\n"\
2195"/// C++ keyword for constant-time functions.\n"\
2196"#define consteval\n"\
2197"#define constevalmethod constexprmethod\n"\
2198"\n"\
2199"#else\n"\
2200"\n"\
2201"#define consteval\n"\
2202"#endif // C++20\n"\
2203"\n"\
2204"#endif\n"\
2205"/** One eof gracefully */ \\\n"\
2206"\n"\
2207"/** include detected */ \\\n"\
2208"/** Path cursor */ \\\n"\
2209"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2210"/** first fp: 0x55d691832af0 */ \\\n"\
2211"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2212"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2213"/** Found something. Now let\'s validate. */ \\\n"\
2214"/** It\'s not repeating */ \\\n"\
2215"/******************** */\\\n"\
2216"/* Now the path will be: */ \\\n"\
2217" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
2218"#if 90 >= 50\n"\
2219"#define ae2f_LangVer_C 1990\n"\
2220"#else\n"\
2221"#define ae2f_LangVer_C 2090\n"\
2222"#endif\n"\
2223"\n"\
2224"#if 11 >= 50\n"\
2225"#define ae2f_LangVer_CC 1911\n"\
2226"#else\n"\
2227"#define ae2f_LangVer_CC 2011\n"\
2228"#endif\n"\
2229"\n"\
2230"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
2231"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
2232"/** One eof gracefully */ \\\n"\
2233"\n"\
2234"/** include detected */ \\\n"\
2235"/** Path cursor */ \\\n"\
2236"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2237"/** first fp: 0x55d691832af0 */ \\\n"\
2238"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2239"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2240"/** Found something. Now let\'s validate. */ \\\n"\
2241"/** It\'s not repeating */ \\\n"\
2242"/******************** */\\\n"\
2243"/* Now the path will be: */ \\\n"\
2244" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
2245"/**\n"\
2246"\n"\
2247" * @file Cxx.h\n"\
2248" * @author ae2f\n"\
2249" * @brief \n"\
2250" * @date 2025-02-01\n"\
2251" * \n"\
2252" * @copyright Copyright (c) 2025\n"\
2253" * \n"\
2254" */\n"\
2255"\n"\
2256"/// @brief\n"\
2257"/// Literally nothing.\n"\
2258"#define ae2f_NONE\n"\
2259"\n"\
2260"#if __cplusplus\n"\
2261"\n"\
2262"/// @def ae2f_WhenCXX \n"\
2263"/// @brief\n"\
2264"/// Appears when the current language is C++.\n"\
2265"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
2266"\n"\
2267"/// @brief\n"\
2268"/// Appears when the current language is C.\n"\
2269"#define ae2f_WhenC(...) ae2f_NONE\n"\
2270"\n"\
2271"#else\n"\
2272"\n"\
2273"/// @brief\n"\
2274"/// Appears when the current language is C++.\n"\
2275"#define ae2f_WhenC(...) __VA_ARGS__\n"\
2276"\n"\
2277"/// @brief\n"\
2278"/// Appears when the current language is C.\n"\
2279"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
2280"\n"\
2281"#endif\n"\
2282"\n"\
2283"/// @brief\n"\
2284"/// \n"\
2285"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
2286"\n"\
2287"/// @brief\n"\
2288"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
2289"/// \n"\
2290"/// For alter, see @ref ae2f_cxx_check\n"\
2291"#define ae2f_c_check && !ae2f_is_cxx\n"\
2292"\n"\
2293"/// @brief\n"\
2294"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
2295"/// \n"\
2296"/// For alter, see @ref ae2f_c_check\n"\
2297"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
2298"\n"\
2299"/** include detected */ \\\n"\
2300"/** Path cursor */ \\\n"\
2301"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
2302"/** first fp: (nil) */ \\\n"\
2303"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
2304"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
2305"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
2306"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
2307"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
2308"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
2309"/** Failed but ignoring it. */ \\\n"\
2310"\n"\
2311"/** include detected */ \\\n"\
2312"/** Path cursor */ \\\n"\
2313"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
2314"/** first fp: (nil) */ \\\n"\
2315"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
2316"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
2317"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
2318"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
2319"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
2320"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
2321"/** Failed but ignoring it. */ \\\n"\
2322"\n"\
2323"/** include detected */ \\\n"\
2324"/** Path cursor */ \\\n"\
2325"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2326"/** first fp: 0x55d691832af0 */ \\\n"\
2327"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2328"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2329"/** Found something. Now let\'s validate. */ \\\n"\
2330"/** It\'s not repeating */ \\\n"\
2331"/******************** */\\\n"\
2332"/* Now the path will be: */ \\\n"\
2333" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
2334"/**\n"\
2335"\n"\
2336" * @file ae2f/Guide.h\n"\
2337" * @brief\n"\
2338" * Guide markers for conventions.\n"\
2339" * */\n"\
2340"#undef ae2f_LP\n"\
2341"#undef ae2f_NONE\n"\
2342"#undef ae2f_opt\n"\
2343"\n"\
2344"/** @def ae2f_NONE @brief nothing. */\n"\
2345"#define ae2f_NONE\n"\
2346"\n"\
2347"/** \n"\
2348" * @def ae2f_LP\n"\
2349" *\n"\
2350"\n"\
2351" * @brief \n"\
2352" * Desired count required. \n"\
2353" * \n"\
2354" * @param ...\n"\
2355" * Parameter with this preprocessor means \\n\n"\
2356" * the pointer is considered as list, and inside of this is a desired size.\n"\
2357" * */\n"\
2358"#define\tae2f_LP(...) ae2f_NONE\n"\
2359"\n"\
2360"/** @def ae2f_opt @brief Optional. */\n"\
2361"#define ae2f_opt ae2f_NONE\n"\
2362"\n"\
2363"/** \n"\
2364" * @def ae2f_FREE \n"\
2365" * @brief Use this marker to show the desired functions\n"\
2366" * \tto effectively free the resources.\n"\
2367" * */\n"\
2368"#define ae2f_FREE(...) ae2f_NONE\n"\
2369"\n"\
2370"/** @brief l_value. */\n"\
2371"#define ae2f_v ae2f_NONE\n"\
2372"/** One eof gracefully */ \\\n"\
2373"\n"\
2374"\n"\
2375"/// @brief\n"\
2376"/// Initialiser for trivial structures / classes.\n"\
2377"#define ae2f_RecordMk(type, ...) \\\n"\
2378" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
2379"\n"\
2380"/// @brief\n"\
2381"/// # static_cast\n"\
2382"#define ae2f_static_cast(t, v) \\\n"\
2383" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
2384"\n"\
2385"/// @brief\n"\
2386"/// # dynamic_cast\n"\
2387"#define ae2f_dynamic_cast(t, v) \\\n"\
2388" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
2389"\n"\
2390"/// @brief\n"\
2391"/// # reinterpret_cast\n"\
2392"#define ae2f_reinterpret_cast(t, v) \\\n"\
2393" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
2394"\n"\
2395"/// @brief\n"\
2396"/// # const_cast\n"\
2397"#define ae2f_const_cast(t, v) \\\n"\
2398" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
2399"\n"\
2400"/// @brief\n"\
2401"/// Makes a union that reads a memory in two methods. \\n\n"\
2402"/// `tThen` -> `tNow`\n"\
2403"/// @tparam tThen\n"\
2404"/// The existing data\'s type as input.\n"\
2405"///\n"\
2406"/// @tparam tNow\n"\
2407"/// Wanted output datatype for casting.\n"\
2408"///\n"\
2409"/// @param v\n"\
2410"/// Input value\n"\
2411"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
2412" ae2f_WhenC((union { \\\n"\
2413" tThen a; \\\n"\
2414" tNow b; \\\n"\
2415" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
2416" ._b()\n"\
2417"\n"\
2418"/// @brief\n"\
2419"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
2420"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
2421"///\n"\
2422"/// This keyword resolves the difference of the rules of two.\n"\
2423"#define ae2f_struct ae2f_WhenC(struct)\n"\
2424"\n"\
2425"/// @brief\n"\
2426"/// Suggests the existence of external variable or function, in naming of C.\n"\
2427"/// [non-mangling]\n"\
2428"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
2429"\n"\
2430"/// @brief\n"\
2431"/// Class\n"\
2432"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
2433"\n"\
2434"/// @brief\n"\
2435"/// Makes the global variable in naming of C. [non-mangling]\n"\
2436"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
2437"\n"\
2438"/// @brief\n"\
2439"/// Function definitions\n"\
2440"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
2441"\n"\
2442"/** @brief Invokes when condition is `false`. */\n"\
2443"#define unless(...) if (!(__VA_ARGS__))\n"\
2444"\n"\
2445"#define ae2f_structdef_v(key, name, ...) \\\n"\
2446" typedef key name __VA_ARGS__; \\\n"\
2447" key name\n"\
2448"\n"\
2449"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
2450"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
2451"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
2452"\n"\
2453"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
2454"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
2455"\n"\
2456"/**\n"\
2457"\n"\
2458" * @brief\n"\
2459" * Make two pair of function as [eval] and [expr]. \\n\n"\
2460" * [expr] will just call [eval]. \\n\n"\
2461" * You will implement the body of [eval].\n"\
2462" *\n"\
2463"\n"\
2464" * Following is an use case.\n"\
2465" * @code\n"\
2466" * ae2f_evaldef(\n"\
2467"\t\ttemplate<int a>, <0>\n"\
2468"\t\t, consteval, constexprfun\n"\
2469"\t\t, int, Hello, _Hello, char v, v) \n"\
2470"\t\t{ return v; }\n"\
2471" * */\n"\
2472"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
2473"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
2474"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
2475"\t\treturn nameeval tmpluse (prmuse); \\\n"\
2476"\t} \\\n"\
2477"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
2478"\n"\
2479"#if !__ae2f_stdcheck_CC(201103L)\n"\
2480"#undef\tnoexcept\n"\
2481"#define noexcept\n"\
2482"#endif\n"\
2483"\n"\
2484"\n"\
2485"#undef\trestrict /** First declaration */\n"\
2486"#if ae2f_stdc_v < 199901L\n"\
2487"#undef\trestrict\n"\
2488"#define restrict\n"\
2489"#endif // C>=99\n"\
2490"\n"\
2491"#if __cplusplus\n"\
2492"#undef\trestrict\n"\
2493"#define restrict\n"\
2494"#endif // C++\n"\
2495"\n"\
2496"#if !__ae2f_stdcheck_CC(201103L)\n"\
2497"/// @brief\n"\
2498"/// Means that there will be no exception thrown written in code.\n"\
2499"#define noexcept\n"\
2500"#define constexpr\n"\
2501"#endif /* C++<=11 */\n"\
2502"\n"\
2503"#if ae2f_WhenC(!)0\n"\
2504"#undef noexcept\n"\
2505"#define noexcept\n"\
2506"#endif\n"\
2507"\n"\
2508"#endif\n"\
2509"/** One eof gracefully */ \\\n"\
2510"\n"\
2511"/** include detected */ \\\n"\
2512"/** Path cursor */ \\\n"\
2513"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
2514"/** first fp: (nil) */ \\\n"\
2515"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
2516"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2517"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
2518"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
2519"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2520"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2521"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2522"/** Found something. Now let\'s validate. */ \\\n"\
2523"/** It\'s not repeating */ \\\n"\
2524"/******************** */\\\n"\
2525"/* Now the path will be: */ \\\n"\
2526" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
2527"/**\n"\
2528"\n"\
2529" * @file Beg.h\n"\
2530" * @author ae2f\n"\
2531" * @brief\n"\
2532" * @date 2025-02-01\n"\
2533" * \n"\
2534" * @copyright Copyright (c) 2025\n"\
2535" * \n"\
2536" */\n"\
2537"\n"\
2538"/** include detected */ \\\n"\
2539"/** Path cursor */ \\\n"\
2540"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2541"/** first fp: 0x55d691832af0 */ \\\n"\
2542"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2543"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
2544"/** Found something. Now let\'s validate. */ \\\n"\
2545"/** It\'s not repeating */ \\\n"\
2546"/******************** */\\\n"\
2547"/* Now the path will be: */ \\\n"\
2548" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
2549"/**\n"\
2550"\n"\
2551" * @file Num.h\n"\
2552" * @author ae2f\n"\
2553" * @brief \n"\
2554" * @date 2025-02-01\n"\
2555" * \n"\
2556" * @copyright Copyright (c) 2025\n"\
2557" * \n"\
2558" */\n"\
2559"\n"\
2560"/// @brief\n"\
2561"/// Pre-defined structure packed byte count.\n"\
2562"/// \n"\
2563"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
2564"#define ae2f_PackCount 0\n"\
2565"/** One eof gracefully */ \\\n"\
2566"\n"\
2567"\n"\
2568"#if ae2f_PackCount\n"\
2569"#pragma pack(push, 0)\n"\
2570"#endif\n"\
2571"/** One eof gracefully */ \\\n"\
2572"\n"\
2573"/** include detected */ \\\n"\
2574"/** Path cursor */ \\\n"\
2575"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/MMap/Util.h */ \\\n"\
2576"/** first fp: (nil) */ \\\n"\
2577"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2578"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2579"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ */ \\\n"\
2580"/** Found something. Now let\'s validate. */ \\\n"\
2581"/** It\'s not repeating */ \\\n"\
2582"/******************** */\\\n"\
2583"/* Now the path will be: */ \\\n"\
2584" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
2585"/** include detected */ \\\n"\
2586"/** Path cursor */ \\\n"\
2587"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ae2f/Call.h */ \\\n"\
2588"/** first fp: (nil) */ \\\n"\
2589"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
2590"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
2591"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
2592"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
2593"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2594"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2595"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2596"/** Found something. Now let\'s validate. */ \\\n"\
2597"/** It\'s not repeating */ \\\n"\
2598"/******************** */\\\n"\
2599"/* Now the path will be: */ \\\n"\
2600" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
2601"/**\n"\
2602"\n"\
2603" * @file Call.h\n"\
2604" * @author ae2f\n"\
2605" * @brief \n"\
2606" * @date 2025-02-01\n"\
2607" * \n"\
2608" * @copyright Copyright (c) 2025\n"\
2609" * \n"\
2610" */\n"\
2611"\n"\
2612"#ifndef ae2f_Call_h\n"\
2613"#define ae2f_Call_h\n"\
2614"\n"\
2615"/** include detected */ \\\n"\
2616"/** Path cursor */ \\\n"\
2617"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2618"/** first fp: 0x55d691833ce0 */ \\\n"\
2619"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2620"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2621"/** Found something. Now let\'s validate. */ \\\n"\
2622"/** It\'s not repeating */ \\\n"\
2623"/******************** */\\\n"\
2624"/* Now the path will be: */ \\\n"\
2625" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
2626"#define ON 1\n"\
2627"#define OFF 0\n"\
2628"\n"\
2629"#if (defined(_WIN32) || defined(_WIN64))\n"\
2630"#define ae2f_IS_WIN 1\n"\
2631"#else \n"\
2632"#define ae2f_IS_WIN 0\n"\
2633"#endif\n"\
2634"\n"\
2635"#if (defined(__linux__))\n"\
2636"#define ae2f_IS_LINUX 1\n"\
2637"#else \n"\
2638"#define ae2f_IS_LINUX 0\n"\
2639"#endif\n"\
2640"\n"\
2641"#if defined(__MACH__) || defined(__APPLE__)\n"\
2642"#define ae2f_IS_APPLE 1\n"\
2643"#else\n"\
2644"#define ae2f_IS_APPLE 0\n"\
2645"#endif\n"\
2646"\n"\
2647"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
2648"/** PLATFORM NOT SPECIFIED. */\n"\
2649"\n"\
2650"/**** @brief UNSPECIFIED */\n"\
2651"#define ae2f_IDK 1\n"\
2652"#else\n"\
2653"/**** @brief UNSPECIFIED */\n"\
2654"#define ae2f_IDK 0\n"\
2655"#endif\n"\
2656"/** One eof gracefully */ \\\n"\
2657"\n"\
2658"/** include detected */ \\\n"\
2659"/** Path cursor */ \\\n"\
2660"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2661"/** first fp: 0x55d691833ce0 */ \\\n"\
2662"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2663"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
2664"/** Found something. Now let\'s validate. */ \\\n"\
2665"/** It\'s not repeating */ \\\n"\
2666"/******************** */\\\n"\
2667"/* Now the path will be: */ \\\n"\
2668" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
2669"/**\n"\
2670"\n"\
2671" * @file Call.h\n"\
2672" * @author ae2f\n"\
2673" * @brief \n"\
2674" * @date 2025-02-01\n"\
2675" * \n"\
2676" * @copyright Copyright (c) 2025\n"\
2677" * \n"\
2678" */\n"\
2679"\n"\
2680"/** @brief Is a library shared */\n"\
2681"#define ae2f_IS_SHARED ON\n"\
2682"/** One eof gracefully */ \\\n"\
2683"\n"\
2684"\n"\
2685"#if ae2f_IS_SHARED\n"\
2686"\n"\
2687"#if ae2f_IS_WIN\n"\
2688"/// @brief\n"\
2689"/// # For Windows\n"\
2690"/// \n"\
2691"/// shared function imp\n"\
2692"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
2693"\n"\
2694"/// @brief\n"\
2695"/// # For Windows\n"\
2696"/// \n"\
2697"/// Function api call\n"\
2698"#define ae2f_SHAREDCALL \n"\
2699"#endif\n"\
2700"\n"\
2701"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
2702"/// @brief\n"\
2703"/// # For Linux, gcc based.\n"\
2704"/// \n"\
2705"/// shared function imp\n"\
2706"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
2707"\n"\
2708"/// @brief\n"\
2709"/// # For Linux, gcc based.\n"\
2710"///\n"\
2711"/// Function api call\n"\
2712"#define ae2f_SHAREDCALL\n"\
2713"#endif\n"\
2714"\n"\
2715"\n"\
2716"\n"\
2717"#else\n"\
2718"\n"\
2719"/// @brief\n"\
2720"/// # It is no shared library.\n"\
2721"/// \n"\
2722"/// shared function imp\n"\
2723"#define ae2f_SHAREDEXPORT\n"\
2724"/// @brief \n"\
2725"/// # It is no shared library.\n"\
2726"///\n"\
2727"/// Function api call\n"\
2728"#define ae2f_SHAREDCALL\n"\
2729"#endif\n"\
2730"\n"\
2731"#endif\n"\
2732"/** One eof gracefully */ \\\n"\
2733"\n"\
2734"\n"\
2735"#ifndef ae2f_MAC_BUILD\n"\
2736"#define\tae2f_MAC_BUILD ON\n"\
2737"#endif\n"\
2738"\n"\
2739"/** One eof gracefully */ \\\n"\
2740"\n"\
2741"\n"\
2742"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
2743"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
2744"\n"\
2745"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
2746"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
2747"\n"\
2748"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
2749"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
2750"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
2751"\n"\
2752"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
2753"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
2754"{ A_t* a; B_t* b; }\n"\
2755"\n"\
2756"/** include detected */ \\\n"\
2757"/** Path cursor */ \\\n"\
2758"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
2759"/** first fp: (nil) */ \\\n"\
2760"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
2761"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
2762"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2763"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2764"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2765"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2766"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2767"/** Found something. Now let\'s validate. */ \\\n"\
2768"/** It\'s not repeating */ \\\n"\
2769"/******************** */\\\n"\
2770"/* Now the path will be: */ \\\n"\
2771" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2772"/**\n"\
2773"\n"\
2774" * @file End.h\n"\
2775" * @author ae2f\n"\
2776" * @brief \n"\
2777" * @date 2025-02-01\n"\
2778" * \n"\
2779" * @copyright Copyright (c) 2025\n"\
2780" * \n"\
2781" */\n"\
2782"\n"\
2783"#if ae2f_PackCount\n"\
2784"#pragma pack(pop)\n"\
2785"#endif\n"\
2786"/** One eof gracefully */ \\\n"\
2787"\n"\
2788"\n"\
2789"#endif\n"\
2790"/** One eof gracefully */ \\\n"\
2791"\n"\
2792"\n"\
2793"/**\n"\
2794"\n"\
2795" * @brief\n"\
2796" * # Single Layered Perceptron\n"\
2797" *\n"\
2798"\n"\
2799" * Multiple input, multiple output. \\n\n"\
2800" * For predicting & training operations are able to be parallel.\n"\
2801" */\n"\
2802"ae2f_structdef(struct, ae2f_AnnSlp_t) {\n"\
2803"\t/**\n"\
2804"\n"\
2805"\t * @brief \n"\
2806"\t * input count\n"\
2807"\t */\n"\
2808"\tsize_t m_inc;\n"\
2809"\n"\
2810"\t/**\n"\
2811"\n"\
2812"\t * @brief \n"\
2813"\t * output count\n"\
2814"\t */\n"\
2815"\tsize_t m_outc;\n"\
2816"};\n"\
2817"\n"\
2818"/**\n"\
2819"\n"\
2820" * @brief\n"\
2821" * Structure for SLP prediction and training data.\n"\
2822" */\n"\
2823"ae2f_structdef(struct, ae2f_AnnSlpPredict_t) {\n"\
2824"\t/**\n"\
2825"\n"\
2826"\t * @brief\n"\
2827"\t * Loop counters and layer sizes.\n"\
2828"\t */\n"\
2829"\tsize_t\t\t\tm_i, m_j;\n"\
2830"\n"\
2831"\tae2f_float_t\t\tm_ret;\n"\
2832"\tae2f_float_t\t\tm_tmp;\n"\
2833"};\n"\
2834"\n"\
2835"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
2836"\t/**\n"\
2837"\n"\
2838"\t * @brief\n"\
2839"\t * Loop counters and layer sizes.\n"\
2840"\t */\n"\
2841"\tsize_t\t\t\tm_i, m_j;\n"\
2842"\n"\
2843"\tae2f_float_t\t\tm_ret;\n"\
2844"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2845"};\n"\
2846"\n"\
2847"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
2848"\tsize_t\t\tm_j;\n"\
2849"\tae2f_float_t\tm_ret;\n"\
2850"\tae2f_float_t\tm_tmp;\n"\
2851"};\n"\
2852"\n"\
2853"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
2854"\tsize_t\t\tm_j;\n"\
2855"\tae2f_float_t\tm_ret;\n"\
2856"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
2857"};\n"\
2858"\n"\
2859"/**\n"\
2860"\n"\
2861" * @brief\n"\
2862" * Structure for a single step of the follow operation.\n"\
2863" */\n"\
2864"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFitOne_t) {\n"\
2865"\t/**\n"\
2866"\n"\
2867"\t * @brief\n"\
2868"\t * Loop counter.\n"\
2869"\t */\n"\
2870"\tsize_t\t\t\tm_j;\n"\
2871"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2872"};\n"\
2873"\n"\
2874"\n"\
2875"/**\n"\
2876"\n"\
2877" * @brief\n"\
2878" * Structure for SLP follow, fit, and fetch delta operations.\n"\
2879" */\n"\
2880"ae2f_structdef_n(struct, ae2f_AnnSlpFollow_t, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
2881"\t/**\n"\
2882"\n"\
2883"\t * @brief\n"\
2884"\t * Loop counters and layer sizes.\n"\
2885"\t */\n"\
2886"\tsize_t\t\t\tm_i, m_j;\n"\
2887"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
2888"};\n"\
2889"\n"\
2890"/** include detected */ \\\n"\
2891"/** Path cursor */ \\\n"\
2892"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
2893"/** first fp: (nil) */ \\\n"\
2894"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
2895"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
2896"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2897"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
2898"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2899"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2900"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
2901"/** Found something. Now let\'s validate. */ \\\n"\
2902"/** It\'s not repeating */ \\\n"\
2903"/******************** */\\\n"\
2904"/* Now the path will be: */ \\\n"\
2905" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
2906"/**\n"\
2907"\n"\
2908" * @file End.h\n"\
2909" * @author ae2f\n"\
2910" * @brief \n"\
2911" * @date 2025-02-01\n"\
2912" * \n"\
2913" * @copyright Copyright (c) 2025\n"\
2914" * \n"\
2915" */\n"\
2916"\n"\
2917"#if ae2f_PackCount\n"\
2918"#pragma pack(pop)\n"\
2919"#endif\n"\
2920"/** One eof gracefully */ \\\n"\
2921"\n"\
2922"\n"\
2923"#endif\n"\
2924"/** One eof gracefully */ \\\n"\
2925"\n"\
2926"#undef __ae2f_MACRO_GENERATED\n"\
2927"#define __ae2f_MACRO_GENERATED 1\n"\
2928"/** include detected */ \\\n"\
2929"/** Path cursor */ \\\n"\
2930"/* Opening: ./ae2f/Ann/Slp.auto.h */ \\\n"\
2931"/** first fp: (nil) */ \\\n"\
2932"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2933"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2934"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
2935"/** Found something. Now let\'s validate. */ \\\n"\
2936"/** It\'s not repeating */ \\\n"\
2937"/******************** */\\\n"\
2938"/* Now the path will be: */ \\\n"\
2939" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.auto.h */ \\\n"\
2940"#undef\t__ae2f_MACRO_GENERATED\n"\
2941"#define\t__ae2f_MACRO_GENERATED\t1\n"\
2942"#ifndef ae2f_Ann_Slp_c\n"\
2943"#if !__ae2f_MACRO_GENERATED\n"\
2944"/** include detected */ \\\n"\
2945"/** Path cursor */ \\\n"\
2946"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Ann/Slp.h */ \\\n"\
2947"/** first fp: (nil) */ \\\n"\
2948"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2949"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2950"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\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/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
2956"#ifndef ae2f_NEED_CLASS\n"\
2957"#define ae2f_NEED_CLASS\t1\n"\
2958"#endif\n"\
2959"\n"\
2960"\n"\
2961"#ifndef ae2f_Ann_Slp_h\n"\
2962"#define ae2f_Ann_Slp_h\n"\
2963"\n"\
2964"/** include detected */ \\\n"\
2965"/** Path cursor */ \\\n"\
2966"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2967"/** first fp: 0x55d691831900 */ \\\n"\
2968"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2969"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ */ \\\n"\
2970"/** Found something. Now let\'s validate. */ \\\n"\
2971"/** It\'s not repeating */ \\\n"\
2972"/******************** */\\\n"\
2973"/* Now the path will be: */ \\\n"\
2974" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.core.h */ \\\n"\
2975"#ifndef ae2f_Ann_Slp_Core_h\n"\
2976"#define ae2f_Ann_Slp_Core_h\n"\
2977"\n"\
2978"/** include detected */ \\\n"\
2979"/** Path cursor */ \\\n"\
2980"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Float.h */ \\\n"\
2981"/** first fp: (nil) */ \\\n"\
2982"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
2983"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
2984"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
2985"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
2986"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2987"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2988"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
2989"/** Found something. Now let\'s validate. */ \\\n"\
2990"/** It\'s not repeating */ \\\n"\
2991"/******************** */\\\n"\
2992"/* Now the path will be: */ \\\n"\
2993" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
2994"/**\n"\
2995"\n"\
2996" * @file Float.h\n"\
2997" * @brief\n"\
2998" * Here, float will be treated as bit vector with four attributes:\n"\
2999" *\n"\
3000"\n"\
3001" * sign: \\n\t\n"\
3002" * \t> Whether it has sign or not. \\n\n"\
3003" *\n"\
3004"\n"\
3005" * exp:\t\\n\n"\
3006" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
3007" * \t> Which is the exponent of the [frac]\n"\
3008" *\n"\
3009"\n"\
3010" * expbiasp: \\n\n"\
3011" * \t> Exponent bias in order to be considered as zero. \\n\n"\
3012" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
3013" *\n"\
3014"\n"\
3015" * \t> Here, the value of exponent bias is limited with following rules:\n"\
3016" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
3017" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
3018" *\n"\
3019"\n"\
3020" * frac: \\n\n"\
3021" * \t> The actual \"value\" for floating point.\n"\
3022" *\n"\
3023"\n"\
3024" * ==================\n"\
3025" *\n"\
3026"\n"\
3027" * Following is the expected structure as bit vector: \\n\n"\
3028" * [frac | exp | sign]\n"\
3029" * \n"\
3030" * Size of this will be calculated as: \\n\n"\
3031" * [sign] + [exp] + [frac]\n"\
3032" */\n"\
3033"\n"\
3034"#ifndef ae2f_Float_h\n"\
3035"#define ae2f_Float_h\n"\
3036"\n"\
3037"/** include detected */ \\\n"\
3038"/** Path cursor */ \\\n"\
3039"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3040"/** first fp: 0x55d691833ce0 */ \\\n"\
3041"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3042"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3043"/** Found something. Now let\'s validate. */ \\\n"\
3044"/** It\'s not repeating */ \\\n"\
3045"/******************** */\\\n"\
3046"/* Now the path will be: */ \\\n"\
3047" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
3048"/**\n"\
3049"\n"\
3050" * @file Float.h\n"\
3051" * @author ae2f\n"\
3052" * @brief \n"\
3053" * @date 2025-02-01\n"\
3054" * \n"\
3055" * @copyright Copyright (c) 2025\n"\
3056" * \n"\
3057" */\n"\
3058"#ifndef ae2f_float_h\n"\
3059"#define ae2f_float_h\n"\
3060"\n"\
3061"/// @brief \n"\
3062"/// Predefined floating point type.\n"\
3063"/// \n"\
3064"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
3065"#define ae2f_float float\n"\
3066"\n"\
3067"#endif \n"\
3068"/** One eof gracefully */ \\\n"\
3069"\n"\
3070"\n"\
3071"typedef ae2f_float ae2f_float_t;\n"\
3072"\n"\
3073"#endif\n"\
3074"/** One eof gracefully */ \\\n"\
3075"\n"\
3076"/** include detected */ \\\n"\
3077"/** Path cursor */ \\\n"\
3078"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/errGlob.h */ \\\n"\
3079"/** first fp: (nil) */ \\\n"\
3080"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/errGlob.h */ \\\n"\
3081"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/errGlob.h */ \\\n"\
3082"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
3083"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/errGlob.h */ \\\n"\
3084"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3085"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3086"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3087"/** Found something. Now let\'s validate. */ \\\n"\
3088"/** It\'s not repeating */ \\\n"\
3089"/******************** */\\\n"\
3090"/* Now the path will be: */ \\\n"\
3091" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/errGlob.h */ \\\n"\
3092"/**\n"\
3093"\n"\
3094" * @file errGlob.h\n"\
3095" * @author ae2f\n"\
3096" * @brief \n"\
3097" * Those numbers with [ @ref ae2f_err_t ] will be the state.\n"\
3098" * \n"\
3099" * @date 2025-02-01\n"\
3100" * \n"\
3101" * @copyright Copyright (c) 2025\n"\
3102" */\n"\
3103"\n"\
3104"#if !defined(ae2f_errGlobal_h)\n"\
3105"#define ae2f_errGlobal_h\n"\
3106"\n"\
3107"/** include detected */ \\\n"\
3108"/** Path cursor */ \\\n"\
3109"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdint.h */ \\\n"\
3110"/** first fp: (nil) */ \\\n"\
3111"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdint.h */ \\\n"\
3112"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdint.h */ \\\n"\
3113"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
3114"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdint.h */ \\\n"\
3115"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdint.h */ \\\n"\
3116"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdint.h */ \\\n"\
3117"/** Failed but ignoring it. */ \\\n"\
3118"\n"\
3119"\n"\
3120"/// @brief\n"\
3121"/// Informs that this number represents the error.\n"\
3122"typedef uint8_t ae2f_err_t;\n"\
3123"\n"\
3124"/// @brief\n"\
3125"/// The Operation you\'ve wanted went successful. \n"\
3126"#define ae2f_errGlob_OK 0\n"\
3127"\n"\
3128"/// @brief\n"\
3129"/// Failed to find the function on preprocessor which is callable for some reason\n"\
3130"/// No operation has beed done.\n"\
3131"#define ae2f_errGlob_IMP_NOT_FOUND 0b1\n"\
3132"\n"\
3133"/// @brief\n"\
3134"/// Failed to refer the pointer either l-value inside the function.\n"\
3135"#define ae2f_errGlob_PTR_IS_NULL 0b10\n"\
3136"\n"\
3137"/// @brief\n"\
3138"/// Failed freeing the memory.\n"\
3139"#define ae2f_errGlob_FLUSH_FAILED 0b100\n"\
3140"\n"\
3141"/// @brief\n"\
3142"/// stdlib allocating functions (malloc, calloc, realloc) has been failed.\n"\
3143"#define ae2f_errGlob_ALLOC_FAILED 0b1000\n"\
3144"\n"\
3145"/// @brief\n"\
3146"/// Found that parameter sent by programmer is invalid.\n"\
3147"/// The operation may have been ceased while the middle.\n"\
3148"#define ae2f_errGlob_WRONG_OPERATION 0b10000\n"\
3149"\n"\
3150"/// @brief\n"\
3151"/// Found some errors, but not by parameters.\n"\
3152"/// The operation has failed.\n"\
3153"#define ae2f_errGlob_NFOUND 0b100000\n"\
3154"\n"\
3155"/// @brief\n"\
3156"/// Means that error was not critical.\n"\
3157"/// \n"\
3158"/// The operation went done. \\n\n"\
3159"/// Note that operation may not be valid.\n"\
3160"#define ae2f_errGlob_DONE_HOWEV 0b1000000\n"\
3161"\n"\
3162"/// @brief\n"\
3163"/// Check if the state code is a critical error.\n"\
3164"/// @param n {ae2f_err_t} Error code\n"\
3165"/// @return If it is not zero, it is a critical error.\n"\
3166"#define ae2f_errGlobNormalised(n) (((n) & ae2f_errGlob_DONE_HOWEV) ? ae2f_errGlob_OK : (n))\n"\
3167"\n"\
3168"#endif/** One eof gracefully */ \\\n"\
3169"\n"\
3170"/** include detected */ \\\n"\
3171"/** Path cursor */ \\\n"\
3172"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Cast.h */ \\\n"\
3173"/** first fp: (nil) */ \\\n"\
3174"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
3175"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
3176"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
3177"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
3178"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3179"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3180"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3181"/** Found something. Now let\'s validate. */ \\\n"\
3182"/** It\'s not repeating */ \\\n"\
3183"/******************** */\\\n"\
3184"/* Now the path will be: */ \\\n"\
3185" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
3186"/**\n"\
3187"\n"\
3188" * @file Cast.h\n"\
3189" * @author ae2f\n"\
3190" * @brief\n"\
3191" * @date 2025-02-01\n"\
3192" *\n"\
3193"\n"\
3194" * @copyright Copyright (c) 2025\n"\
3195" *\n"\
3196"\n"\
3197" */\n"\
3198"\n"\
3199"#if !defined(ae2f_Cast_h)\n"\
3200"\n"\
3201"/// @brief\n"\
3202"/// asdf\n"\
3203"#define ae2f_Cast_h\n"\
3204"\n"\
3205"/// @brief\n"\
3206"/// ANSI Code for clearing the console.\n"\
3207"/// Clearing all display, moving the cursor on the top.\n"\
3208"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
3209"\n"\
3210"/// @brief\n"\
3211"/// simply merge all text inside the round bracket, counting them as a single\n"\
3212"/// text block.\n"\
3213"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
3214"\n"\
3215"/** include detected */ \\\n"\
3216"/** Path cursor */ \\\n"\
3217"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3218"/** first fp: 0x55d691833ce0 */ \\\n"\
3219"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3220"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
3221"/** Found something. Now let\'s validate. */ \\\n"\
3222"/** It\'s not repeating */ \\\n"\
3223"/******************** */\\\n"\
3224"/* Now the path will be: */ \\\n"\
3225" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
3226"/**\n"\
3227"\n"\
3228" * @file CasterUnion.hpp\n"\
3229" * @author ae2f\n"\
3230" * @brief\n"\
3231" * @date 2025-02-01\n"\
3232" *\n"\
3233"\n"\
3234" * @copyright Copyright (c) 2025\n"\
3235" *\n"\
3236"\n"\
3237" */\n"\
3238"\n"\
3239"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
3240"#define ae2f_Cast_CasterUnion_hpp\n"\
3241"/** include detected */ \\\n"\
3242"/** Path cursor */ \\\n"\
3243"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3244"/** first fp: 0x55d691834ed0 */ \\\n"\
3245"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3246"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
3247"/** Found something. Now let\'s validate. */ \\\n"\
3248"/** It\'s not repeating */ \\\n"\
3249"/******************** */\\\n"\
3250"/* Now the path will be: */ \\\n"\
3251" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
3252"/**\n"\
3253"\n"\
3254" * @file consteval.hpp\n"\
3255" * @author ae2f\n"\
3256" * @brief\n"\
3257" * @date 2025-02-01\n"\
3258" *\n"\
3259"\n"\
3260" * @copyright Copyright (c) 2025\n"\
3261" *\n"\
3262"\n"\
3263" */\n"\
3264"#ifndef ae2f_Cast_consteval_hpp\n"\
3265"#define ae2f_Cast_consteval_hpp\n"\
3266"/** include detected */ \\\n"\
3267"/** Path cursor */ \\\n"\
3268"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3269"/** first fp: 0x55d6918360c0 */ \\\n"\
3270"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3271"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
3272"/** Found something. Now let\'s validate. */ \\\n"\
3273"/** It\'s not repeating */ \\\n"\
3274"/******************** */\\\n"\
3275"/* Now the path will be: */ \\\n"\
3276" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
3277"/** include detected */ \\\n"\
3278"/** Path cursor */ \\\n"\
3279"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3280"/** first fp: 0x55d6918372b0 */ \\\n"\
3281"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3282"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
3283"/** Found something. Now let\'s validate. */ \\\n"\
3284"/** It\'s not repeating */ \\\n"\
3285"/******************** */\\\n"\
3286"/* Now the path will be: */ \\\n"\
3287" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
3288"#if 90 >= 50\n"\
3289"#define ae2f_LangVer_C 1990\n"\
3290"#else\n"\
3291"#define ae2f_LangVer_C 2090\n"\
3292"#endif\n"\
3293"\n"\
3294"#if 11 >= 50\n"\
3295"#define ae2f_LangVer_CC 1911\n"\
3296"#else\n"\
3297"#define ae2f_LangVer_CC 2011\n"\
3298"#endif\n"\
3299"\n"\
3300"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3301"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3302"/** One eof gracefully */ \\\n"\
3303"\n"\
3304"\n"\
3305"#ifdef\t__cplusplus\n"\
3306"#undef\tae2f_stdcc_v\n"\
3307"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
3308"#else\n"\
3309"\n"\
3310"#undef\tae2f_stdcc_v\n"\
3311"#define\tae2f_stdcc_v\t(199711L)\n"\
3312"\n"\
3313"#if __ae2f_lvcheck_cc(2011)\n"\
3314"#undef\tae2f_stdcc_v\n"\
3315"#define\tae2f_stdcc_v\t(201103L)\n"\
3316"#endif\n"\
3317"\n"\
3318"#if __ae2f_lvcheck_cc(2014)\n"\
3319"#undef\tae2f_stdcc_v\n"\
3320"#define\tae2f_stdcc_v\t(201402L)\n"\
3321"#endif\n"\
3322"\n"\
3323"#if __ae2f_lvcheck_cc(2017)\n"\
3324"#undef\tae2f_stdcc_v\n"\
3325"#define\tae2f_stdcc_v\t(201703L)\n"\
3326"#endif\n"\
3327"\n"\
3328"#if __ae2f_lvcheck_cc(2020)\n"\
3329"#undef\tae2f_stdcc_v\n"\
3330"#define\tae2f_stdcc_v\t(202002L)\n"\
3331"#endif\n"\
3332"\n"\
3333"#if __ae2f_lvcheck_cc(2023)\n"\
3334"#undef\tae2f_stdcc_v\n"\
3335"#define\tae2f_stdcc_v\t(202302L)\n"\
3336"#endif\n"\
3337"\n"\
3338"#endif\n"\
3339"\n"\
3340"#ifdef\t__STDC_VERSION__\n"\
3341"#undef\tae2f_stdc_v\n"\
3342"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
3343"#else\n"\
3344"\n"\
3345"#undef\tae2f_stdc_v\n"\
3346"#define ae2f_stdc_v\t(199001L)\n"\
3347"\n"\
3348"#if __ae2f_lvcheck_c(1999)\n"\
3349"#undef\tae2f_stdc_v\n"\
3350"#define ae2f_stdc_v\t(199901L)\n"\
3351"#endif\n"\
3352"\n"\
3353"#if __ae2f_lvcheck_c(2011)\n"\
3354"#undef\tae2f_stdc_v\n"\
3355"#define ae2f_stdc_v\t(201112L)\n"\
3356"#endif\n"\
3357"\n"\
3358"#if __ae2f_lvcheck_c(2017)\n"\
3359"#undef\tae2f_stdc_v\n"\
3360"#define ae2f_stdc_v\t(201710L)\n"\
3361"#endif\n"\
3362"\n"\
3363"#if __ae2f_lvcheck_c(2023)\n"\
3364"#undef\tae2f_stdc_v\n"\
3365"#define ae2f_stdc_v\t(202311L)\n"\
3366"#endif\n"\
3367"\n"\
3368"#endif\n"\
3369"\n"\
3370"#undef\t__ae2f_stdcheck_C\n"\
3371"#undef\t__ae2f_stdcheck_CC\n"\
3372"\n"\
3373"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
3374"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
3375"/** One eof gracefully */ \\\n"\
3376"\n"\
3377"\n"\
3378"#if __ae2f_stdcheck_CC(201703L)\n"\
3379"#define if_constexpr if constexpr\n"\
3380"#else\n"\
3381"#define if_constexpr if\n"\
3382"#endif\n"\
3383"\n"\
3384"#if __ae2f_stdcheck_CC(202002L)\n"\
3385"#define if_consteval if consteval\n"\
3386"#else\n"\
3387"#define if_consteval if (0)\n"\
3388"#endif\n"\
3389"\n"\
3390"#if __ae2f_stdcheck_CC(202002L)\n"\
3391"#define constexprvirtual constexpr virtual\n"\
3392"/** constinit */\n"\
3393"#else\n"\
3394"#define constexprvirtual virtual\n"\
3395"#define constinit\t/* not available */\n"\
3396"#endif /* C++20 */\n"\
3397"\n"\
3398"#if __ae2f_stdcheck_CC(201402L)\n"\
3399"#define constextendedfun\tconstexpr\n"\
3400"#define constextendedeval \tconstexpr\n"\
3401"\n"\
3402"#define constextendedmethod\tconstexpr\n"\
3403"#define constextendedmethodeval\tconstexpr\n"\
3404"\n"\
3405"#else\n"\
3406"#define constextendedfun\tinline\n"\
3407"#define constextendedmethod\tinline\n"\
3408"\n"\
3409"#define constextendedeval\tinline\n"\
3410"#define constextendedmethodeval\tinline\n"\
3411"#endif // C++14\n"\
3412"\n"\
3413"#if __ae2f_stdcheck_CC(201103L)\n"\
3414"#define constexprmethod\t\tconstexpr\n"\
3415"#define constexprfun\t\tconstexpr\n"\
3416"#define constevalmethod\t\tconstexpr\n"\
3417"\n"\
3418"#else\n"\
3419"#define constexprmethod\t\tinline\n"\
3420"#define constexprfun\t\tinline\n"\
3421"#define constevalmethod\t\tinline\n"\
3422"#define virtual\n"\
3423"\n"\
3424"#if !defined(__cplusplus) /* C */\n"\
3425"\n"\
3426"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
3427"/** cosntexpr variable */\n"\
3428"#else\n"\
3429"#define constexpr\n"\
3430"#endif /* C23 */\n"\
3431"\n"\
3432"\n"\
3433"#endif /* C */\n"\
3434"\n"\
3435"#endif // C++11\n"\
3436"\n"\
3437"#if __ae2f_stdcheck_CC(202002L)\n"\
3438"#undef constevalmethod\n"\
3439"#define constevalmethod consteval /* C++20 */\n"\
3440"#elif __ae2f_stdcheck_CC(0)\n"\
3441"\n"\
3442"#undef constevalmethod\n"\
3443"/// @brief\n"\
3444"/// C++ keyword for constant-time functions.\n"\
3445"#define consteval\n"\
3446"#define constevalmethod constexprmethod\n"\
3447"\n"\
3448"#else\n"\
3449"\n"\
3450"#define consteval\n"\
3451"#endif // C++20\n"\
3452"\n"\
3453"#endif\n"\
3454"/** One eof gracefully */ \\\n"\
3455"\n"\
3456"\n"\
3457"/// @brief\n"\
3458"/// C++ union definition for @ref ae2f_union_cast\n"\
3459"/// @tparam t\n"\
3460"/// @tparam k\n"\
3461"/// @see\n"\
3462"/// @ref ae2f_union_cast\n"\
3463"template <typename t, typename k> union ae2f_UnionCaster {\n"\
3464" t a;\n"\
3465" k b;\n"\
3466" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
3467" constexprmethod k _b() const { return b; }\n"\
3468"};\n"\
3469"\n"\
3470"#endif\n"\
3471"/** One eof gracefully */ \\\n"\
3472"\n"\
3473"/** include detected */ \\\n"\
3474"/** Path cursor */ \\\n"\
3475"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3476"/** first fp: 0x55d691833ce0 */ \\\n"\
3477"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3478"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
3479"/** Found something. Now let\'s validate. */ \\\n"\
3480"/** It\'s not repeating */ \\\n"\
3481"/******************** */\\\n"\
3482"/* Now the path will be: */ \\\n"\
3483" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
3484"/**\n"\
3485"\n"\
3486" * @file consteval.hpp\n"\
3487" * @author ae2f\n"\
3488" * @brief\n"\
3489" * @date 2025-02-01\n"\
3490" *\n"\
3491"\n"\
3492" * @copyright Copyright (c) 2025\n"\
3493" *\n"\
3494"\n"\
3495" */\n"\
3496"#ifndef ae2f_Cast_consteval_hpp\n"\
3497"#define ae2f_Cast_consteval_hpp\n"\
3498"/** include detected */ \\\n"\
3499"/** Path cursor */ \\\n"\
3500"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3501"/** first fp: 0x55d691834ed0 */ \\\n"\
3502"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3503"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
3504"/** Found something. Now let\'s validate. */ \\\n"\
3505"/** It\'s not repeating */ \\\n"\
3506"/******************** */\\\n"\
3507"/* Now the path will be: */ \\\n"\
3508" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
3509"/** include detected */ \\\n"\
3510"/** Path cursor */ \\\n"\
3511"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3512"/** first fp: 0x55d6918360c0 */ \\\n"\
3513"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3514"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
3515"/** Found something. Now let\'s validate. */ \\\n"\
3516"/** It\'s not repeating */ \\\n"\
3517"/******************** */\\\n"\
3518"/* Now the path will be: */ \\\n"\
3519" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
3520"#if 90 >= 50\n"\
3521"#define ae2f_LangVer_C 1990\n"\
3522"#else\n"\
3523"#define ae2f_LangVer_C 2090\n"\
3524"#endif\n"\
3525"\n"\
3526"#if 11 >= 50\n"\
3527"#define ae2f_LangVer_CC 1911\n"\
3528"#else\n"\
3529"#define ae2f_LangVer_CC 2011\n"\
3530"#endif\n"\
3531"\n"\
3532"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3533"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3534"/** One eof gracefully */ \\\n"\
3535"\n"\
3536"\n"\
3537"#ifdef\t__cplusplus\n"\
3538"#undef\tae2f_stdcc_v\n"\
3539"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
3540"#else\n"\
3541"\n"\
3542"#undef\tae2f_stdcc_v\n"\
3543"#define\tae2f_stdcc_v\t(199711L)\n"\
3544"\n"\
3545"#if __ae2f_lvcheck_cc(2011)\n"\
3546"#undef\tae2f_stdcc_v\n"\
3547"#define\tae2f_stdcc_v\t(201103L)\n"\
3548"#endif\n"\
3549"\n"\
3550"#if __ae2f_lvcheck_cc(2014)\n"\
3551"#undef\tae2f_stdcc_v\n"\
3552"#define\tae2f_stdcc_v\t(201402L)\n"\
3553"#endif\n"\
3554"\n"\
3555"#if __ae2f_lvcheck_cc(2017)\n"\
3556"#undef\tae2f_stdcc_v\n"\
3557"#define\tae2f_stdcc_v\t(201703L)\n"\
3558"#endif\n"\
3559"\n"\
3560"#if __ae2f_lvcheck_cc(2020)\n"\
3561"#undef\tae2f_stdcc_v\n"\
3562"#define\tae2f_stdcc_v\t(202002L)\n"\
3563"#endif\n"\
3564"\n"\
3565"#if __ae2f_lvcheck_cc(2023)\n"\
3566"#undef\tae2f_stdcc_v\n"\
3567"#define\tae2f_stdcc_v\t(202302L)\n"\
3568"#endif\n"\
3569"\n"\
3570"#endif\n"\
3571"\n"\
3572"#ifdef\t__STDC_VERSION__\n"\
3573"#undef\tae2f_stdc_v\n"\
3574"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
3575"#else\n"\
3576"\n"\
3577"#undef\tae2f_stdc_v\n"\
3578"#define ae2f_stdc_v\t(199001L)\n"\
3579"\n"\
3580"#if __ae2f_lvcheck_c(1999)\n"\
3581"#undef\tae2f_stdc_v\n"\
3582"#define ae2f_stdc_v\t(199901L)\n"\
3583"#endif\n"\
3584"\n"\
3585"#if __ae2f_lvcheck_c(2011)\n"\
3586"#undef\tae2f_stdc_v\n"\
3587"#define ae2f_stdc_v\t(201112L)\n"\
3588"#endif\n"\
3589"\n"\
3590"#if __ae2f_lvcheck_c(2017)\n"\
3591"#undef\tae2f_stdc_v\n"\
3592"#define ae2f_stdc_v\t(201710L)\n"\
3593"#endif\n"\
3594"\n"\
3595"#if __ae2f_lvcheck_c(2023)\n"\
3596"#undef\tae2f_stdc_v\n"\
3597"#define ae2f_stdc_v\t(202311L)\n"\
3598"#endif\n"\
3599"\n"\
3600"#endif\n"\
3601"\n"\
3602"#undef\t__ae2f_stdcheck_C\n"\
3603"#undef\t__ae2f_stdcheck_CC\n"\
3604"\n"\
3605"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
3606"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
3607"/** One eof gracefully */ \\\n"\
3608"\n"\
3609"\n"\
3610"#if __ae2f_stdcheck_CC(201703L)\n"\
3611"#define if_constexpr if constexpr\n"\
3612"#else\n"\
3613"#define if_constexpr if\n"\
3614"#endif\n"\
3615"\n"\
3616"#if __ae2f_stdcheck_CC(202002L)\n"\
3617"#define if_consteval if consteval\n"\
3618"#else\n"\
3619"#define if_consteval if (0)\n"\
3620"#endif\n"\
3621"\n"\
3622"#if __ae2f_stdcheck_CC(202002L)\n"\
3623"#define constexprvirtual constexpr virtual\n"\
3624"/** constinit */\n"\
3625"#else\n"\
3626"#define constexprvirtual virtual\n"\
3627"#define constinit\t/* not available */\n"\
3628"#endif /* C++20 */\n"\
3629"\n"\
3630"#if __ae2f_stdcheck_CC(201402L)\n"\
3631"#define constextendedfun\tconstexpr\n"\
3632"#define constextendedeval \tconstexpr\n"\
3633"\n"\
3634"#define constextendedmethod\tconstexpr\n"\
3635"#define constextendedmethodeval\tconstexpr\n"\
3636"\n"\
3637"#else\n"\
3638"#define constextendedfun\tinline\n"\
3639"#define constextendedmethod\tinline\n"\
3640"\n"\
3641"#define constextendedeval\tinline\n"\
3642"#define constextendedmethodeval\tinline\n"\
3643"#endif // C++14\n"\
3644"\n"\
3645"#if __ae2f_stdcheck_CC(201103L)\n"\
3646"#define constexprmethod\t\tconstexpr\n"\
3647"#define constexprfun\t\tconstexpr\n"\
3648"#define constevalmethod\t\tconstexpr\n"\
3649"\n"\
3650"#else\n"\
3651"#define constexprmethod\t\tinline\n"\
3652"#define constexprfun\t\tinline\n"\
3653"#define constevalmethod\t\tinline\n"\
3654"#define virtual\n"\
3655"\n"\
3656"#if !defined(__cplusplus) /* C */\n"\
3657"\n"\
3658"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
3659"/** cosntexpr variable */\n"\
3660"#else\n"\
3661"#define constexpr\n"\
3662"#endif /* C23 */\n"\
3663"\n"\
3664"\n"\
3665"#endif /* C */\n"\
3666"\n"\
3667"#endif // C++11\n"\
3668"\n"\
3669"#if __ae2f_stdcheck_CC(202002L)\n"\
3670"#undef constevalmethod\n"\
3671"#define constevalmethod consteval /* C++20 */\n"\
3672"#elif __ae2f_stdcheck_CC(0)\n"\
3673"\n"\
3674"#undef constevalmethod\n"\
3675"/// @brief\n"\
3676"/// C++ keyword for constant-time functions.\n"\
3677"#define consteval\n"\
3678"#define constevalmethod constexprmethod\n"\
3679"\n"\
3680"#else\n"\
3681"\n"\
3682"#define consteval\n"\
3683"#endif // C++20\n"\
3684"\n"\
3685"#endif\n"\
3686"/** One eof gracefully */ \\\n"\
3687"\n"\
3688"/** include detected */ \\\n"\
3689"/** Path cursor */ \\\n"\
3690"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3691"/** first fp: 0x55d691833ce0 */ \\\n"\
3692"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3693"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3694"/** Found something. Now let\'s validate. */ \\\n"\
3695"/** It\'s not repeating */ \\\n"\
3696"/******************** */\\\n"\
3697"/* Now the path will be: */ \\\n"\
3698" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
3699"#if 90 >= 50\n"\
3700"#define ae2f_LangVer_C 1990\n"\
3701"#else\n"\
3702"#define ae2f_LangVer_C 2090\n"\
3703"#endif\n"\
3704"\n"\
3705"#if 11 >= 50\n"\
3706"#define ae2f_LangVer_CC 1911\n"\
3707"#else\n"\
3708"#define ae2f_LangVer_CC 2011\n"\
3709"#endif\n"\
3710"\n"\
3711"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
3712"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
3713"/** One eof gracefully */ \\\n"\
3714"\n"\
3715"/** include detected */ \\\n"\
3716"/** Path cursor */ \\\n"\
3717"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3718"/** first fp: 0x55d691833ce0 */ \\\n"\
3719"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3720"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
3721"/** Found something. Now let\'s validate. */ \\\n"\
3722"/** It\'s not repeating */ \\\n"\
3723"/******************** */\\\n"\
3724"/* Now the path will be: */ \\\n"\
3725" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
3726"/**\n"\
3727"\n"\
3728" * @file Cxx.h\n"\
3729" * @author ae2f\n"\
3730" * @brief \n"\
3731" * @date 2025-02-01\n"\
3732" * \n"\
3733" * @copyright Copyright (c) 2025\n"\
3734" * \n"\
3735" */\n"\
3736"\n"\
3737"/// @brief\n"\
3738"/// Literally nothing.\n"\
3739"#define ae2f_NONE\n"\
3740"\n"\
3741"#if __cplusplus\n"\
3742"\n"\
3743"/// @def ae2f_WhenCXX \n"\
3744"/// @brief\n"\
3745"/// Appears when the current language is C++.\n"\
3746"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
3747"\n"\
3748"/// @brief\n"\
3749"/// Appears when the current language is C.\n"\
3750"#define ae2f_WhenC(...) ae2f_NONE\n"\
3751"\n"\
3752"#else\n"\
3753"\n"\
3754"/// @brief\n"\
3755"/// Appears when the current language is C++.\n"\
3756"#define ae2f_WhenC(...) __VA_ARGS__\n"\
3757"\n"\
3758"/// @brief\n"\
3759"/// Appears when the current language is C.\n"\
3760"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
3761"\n"\
3762"#endif\n"\
3763"\n"\
3764"/// @brief\n"\
3765"/// \n"\
3766"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
3767"\n"\
3768"/// @brief\n"\
3769"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
3770"/// \n"\
3771"/// For alter, see @ref ae2f_cxx_check\n"\
3772"#define ae2f_c_check && !ae2f_is_cxx\n"\
3773"\n"\
3774"/// @brief\n"\
3775"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
3776"/// \n"\
3777"/// For alter, see @ref ae2f_c_check\n"\
3778"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
3779"\n"\
3780"/** include detected */ \\\n"\
3781"/** Path cursor */ \\\n"\
3782"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
3783"/** first fp: (nil) */ \\\n"\
3784"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
3785"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
3786"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
3787"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
3788"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
3789"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
3790"/** Failed but ignoring it. */ \\\n"\
3791"\n"\
3792"/** include detected */ \\\n"\
3793"/** Path cursor */ \\\n"\
3794"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
3795"/** first fp: (nil) */ \\\n"\
3796"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
3797"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
3798"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
3799"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
3800"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
3801"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
3802"/** Failed but ignoring it. */ \\\n"\
3803"\n"\
3804"/** include detected */ \\\n"\
3805"/** Path cursor */ \\\n"\
3806"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3807"/** first fp: 0x55d691833ce0 */ \\\n"\
3808"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3809"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
3810"/** Found something. Now let\'s validate. */ \\\n"\
3811"/** It\'s not repeating */ \\\n"\
3812"/******************** */\\\n"\
3813"/* Now the path will be: */ \\\n"\
3814" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
3815"/**\n"\
3816"\n"\
3817" * @file ae2f/Guide.h\n"\
3818" * @brief\n"\
3819" * Guide markers for conventions.\n"\
3820" * */\n"\
3821"#undef ae2f_LP\n"\
3822"#undef ae2f_NONE\n"\
3823"#undef ae2f_opt\n"\
3824"\n"\
3825"/** @def ae2f_NONE @brief nothing. */\n"\
3826"#define ae2f_NONE\n"\
3827"\n"\
3828"/** \n"\
3829" * @def ae2f_LP\n"\
3830" *\n"\
3831"\n"\
3832" * @brief \n"\
3833" * Desired count required. \n"\
3834" * \n"\
3835" * @param ...\n"\
3836" * Parameter with this preprocessor means \\n\n"\
3837" * the pointer is considered as list, and inside of this is a desired size.\n"\
3838" * */\n"\
3839"#define\tae2f_LP(...) ae2f_NONE\n"\
3840"\n"\
3841"/** @def ae2f_opt @brief Optional. */\n"\
3842"#define ae2f_opt ae2f_NONE\n"\
3843"\n"\
3844"/** \n"\
3845" * @def ae2f_FREE \n"\
3846" * @brief Use this marker to show the desired functions\n"\
3847" * \tto effectively free the resources.\n"\
3848" * */\n"\
3849"#define ae2f_FREE(...) ae2f_NONE\n"\
3850"\n"\
3851"/** @brief l_value. */\n"\
3852"#define ae2f_v ae2f_NONE\n"\
3853"/** One eof gracefully */ \\\n"\
3854"\n"\
3855"\n"\
3856"/// @brief\n"\
3857"/// Initialiser for trivial structures / classes.\n"\
3858"#define ae2f_RecordMk(type, ...) \\\n"\
3859" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
3860"\n"\
3861"/// @brief\n"\
3862"/// # static_cast\n"\
3863"#define ae2f_static_cast(t, v) \\\n"\
3864" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
3865"\n"\
3866"/// @brief\n"\
3867"/// # dynamic_cast\n"\
3868"#define ae2f_dynamic_cast(t, v) \\\n"\
3869" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
3870"\n"\
3871"/// @brief\n"\
3872"/// # reinterpret_cast\n"\
3873"#define ae2f_reinterpret_cast(t, v) \\\n"\
3874" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
3875"\n"\
3876"/// @brief\n"\
3877"/// # const_cast\n"\
3878"#define ae2f_const_cast(t, v) \\\n"\
3879" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
3880"\n"\
3881"/// @brief\n"\
3882"/// Makes a union that reads a memory in two methods. \\n\n"\
3883"/// `tThen` -> `tNow`\n"\
3884"/// @tparam tThen\n"\
3885"/// The existing data\'s type as input.\n"\
3886"///\n"\
3887"/// @tparam tNow\n"\
3888"/// Wanted output datatype for casting.\n"\
3889"///\n"\
3890"/// @param v\n"\
3891"/// Input value\n"\
3892"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
3893" ae2f_WhenC((union { \\\n"\
3894" tThen a; \\\n"\
3895" tNow b; \\\n"\
3896" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
3897" ._b()\n"\
3898"\n"\
3899"/// @brief\n"\
3900"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
3901"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
3902"///\n"\
3903"/// This keyword resolves the difference of the rules of two.\n"\
3904"#define ae2f_struct ae2f_WhenC(struct)\n"\
3905"\n"\
3906"/// @brief\n"\
3907"/// Suggests the existence of external variable or function, in naming of C.\n"\
3908"/// [non-mangling]\n"\
3909"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
3910"\n"\
3911"/// @brief\n"\
3912"/// Class\n"\
3913"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
3914"\n"\
3915"/// @brief\n"\
3916"/// Makes the global variable in naming of C. [non-mangling]\n"\
3917"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
3918"\n"\
3919"/// @brief\n"\
3920"/// Function definitions\n"\
3921"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
3922"\n"\
3923"/** @brief Invokes when condition is `false`. */\n"\
3924"#define unless(...) if (!(__VA_ARGS__))\n"\
3925"\n"\
3926"#define ae2f_structdef_v(key, name, ...) \\\n"\
3927" typedef key name __VA_ARGS__; \\\n"\
3928" key name\n"\
3929"\n"\
3930"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
3931"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
3932"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
3933"\n"\
3934"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
3935"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
3936"\n"\
3937"/**\n"\
3938"\n"\
3939" * @brief\n"\
3940" * Make two pair of function as [eval] and [expr]. \\n\n"\
3941" * [expr] will just call [eval]. \\n\n"\
3942" * You will implement the body of [eval].\n"\
3943" *\n"\
3944"\n"\
3945" * Following is an use case.\n"\
3946" * @code\n"\
3947" * ae2f_evaldef(\n"\
3948"\t\ttemplate<int a>, <0>\n"\
3949"\t\t, consteval, constexprfun\n"\
3950"\t\t, int, Hello, _Hello, char v, v) \n"\
3951"\t\t{ return v; }\n"\
3952" * */\n"\
3953"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
3954"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
3955"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
3956"\t\treturn nameeval tmpluse (prmuse); \\\n"\
3957"\t} \\\n"\
3958"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
3959"\n"\
3960"#if !__ae2f_stdcheck_CC(201103L)\n"\
3961"#undef\tnoexcept\n"\
3962"#define noexcept\n"\
3963"#endif\n"\
3964"\n"\
3965"\n"\
3966"#undef\trestrict /** First declaration */\n"\
3967"#if ae2f_stdc_v < 199901L\n"\
3968"#undef\trestrict\n"\
3969"#define restrict\n"\
3970"#endif // C>=99\n"\
3971"\n"\
3972"#if __cplusplus\n"\
3973"#undef\trestrict\n"\
3974"#define restrict\n"\
3975"#endif // C++\n"\
3976"\n"\
3977"#if !__ae2f_stdcheck_CC(201103L)\n"\
3978"/// @brief\n"\
3979"/// Means that there will be no exception thrown written in code.\n"\
3980"#define noexcept\n"\
3981"#define constexpr\n"\
3982"#endif /* C++<=11 */\n"\
3983"\n"\
3984"#if ae2f_WhenC(!)0\n"\
3985"#undef noexcept\n"\
3986"#define noexcept\n"\
3987"#endif\n"\
3988"\n"\
3989"#endif\n"\
3990"/** One eof gracefully */ \\\n"\
3991"\n"\
3992"/** include detected */ \\\n"\
3993"/** Path cursor */ \\\n"\
3994"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Call.h */ \\\n"\
3995"/** first fp: (nil) */ \\\n"\
3996"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
3997"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
3998"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
3999"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
4000"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
4001"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
4002"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4003"/** Found something. Now let\'s validate. */ \\\n"\
4004"/** It\'s not repeating */ \\\n"\
4005"/******************** */\\\n"\
4006"/* Now the path will be: */ \\\n"\
4007" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
4008"/**\n"\
4009"\n"\
4010" * @file Call.h\n"\
4011" * @author ae2f\n"\
4012" * @brief \n"\
4013" * @date 2025-02-01\n"\
4014" * \n"\
4015" * @copyright Copyright (c) 2025\n"\
4016" * \n"\
4017" */\n"\
4018"\n"\
4019"#ifndef ae2f_Call_h\n"\
4020"#define ae2f_Call_h\n"\
4021"\n"\
4022"/** include detected */ \\\n"\
4023"/** Path cursor */ \\\n"\
4024"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
4025"/** first fp: 0x55d691833ce0 */ \\\n"\
4026"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
4027"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4028"/** Found something. Now let\'s validate. */ \\\n"\
4029"/** It\'s not repeating */ \\\n"\
4030"/******************** */\\\n"\
4031"/* Now the path will be: */ \\\n"\
4032" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
4033"#define ON 1\n"\
4034"#define OFF 0\n"\
4035"\n"\
4036"#if (defined(_WIN32) || defined(_WIN64))\n"\
4037"#define ae2f_IS_WIN 1\n"\
4038"#else \n"\
4039"#define ae2f_IS_WIN 0\n"\
4040"#endif\n"\
4041"\n"\
4042"#if (defined(__linux__))\n"\
4043"#define ae2f_IS_LINUX 1\n"\
4044"#else \n"\
4045"#define ae2f_IS_LINUX 0\n"\
4046"#endif\n"\
4047"\n"\
4048"#if defined(__MACH__) || defined(__APPLE__)\n"\
4049"#define ae2f_IS_APPLE 1\n"\
4050"#else\n"\
4051"#define ae2f_IS_APPLE 0\n"\
4052"#endif\n"\
4053"\n"\
4054"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
4055"/** PLATFORM NOT SPECIFIED. */\n"\
4056"\n"\
4057"/**** @brief UNSPECIFIED */\n"\
4058"#define ae2f_IDK 1\n"\
4059"#else\n"\
4060"/**** @brief UNSPECIFIED */\n"\
4061"#define ae2f_IDK 0\n"\
4062"#endif\n"\
4063"/** One eof gracefully */ \\\n"\
4064"\n"\
4065"/** include detected */ \\\n"\
4066"/** Path cursor */ \\\n"\
4067"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4068"/** first fp: 0x55d691833ce0 */ \\\n"\
4069"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4070"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4071"/** Found something. Now let\'s validate. */ \\\n"\
4072"/** It\'s not repeating */ \\\n"\
4073"/******************** */\\\n"\
4074"/* Now the path will be: */ \\\n"\
4075" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
4076"/**\n"\
4077"\n"\
4078" * @file Call.h\n"\
4079" * @author ae2f\n"\
4080" * @brief \n"\
4081" * @date 2025-02-01\n"\
4082" * \n"\
4083" * @copyright Copyright (c) 2025\n"\
4084" * \n"\
4085" */\n"\
4086"\n"\
4087"/** @brief Is a library shared */\n"\
4088"#define ae2f_IS_SHARED ON\n"\
4089"/** One eof gracefully */ \\\n"\
4090"\n"\
4091"\n"\
4092"#if ae2f_IS_SHARED\n"\
4093"\n"\
4094"#if ae2f_IS_WIN\n"\
4095"/// @brief\n"\
4096"/// # For Windows\n"\
4097"/// \n"\
4098"/// shared function imp\n"\
4099"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
4100"\n"\
4101"/// @brief\n"\
4102"/// # For Windows\n"\
4103"/// \n"\
4104"/// Function api call\n"\
4105"#define ae2f_SHAREDCALL \n"\
4106"#endif\n"\
4107"\n"\
4108"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
4109"/// @brief\n"\
4110"/// # For Linux, gcc based.\n"\
4111"/// \n"\
4112"/// shared function imp\n"\
4113"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
4114"\n"\
4115"/// @brief\n"\
4116"/// # For Linux, gcc based.\n"\
4117"///\n"\
4118"/// Function api call\n"\
4119"#define ae2f_SHAREDCALL\n"\
4120"#endif\n"\
4121"\n"\
4122"\n"\
4123"\n"\
4124"#else\n"\
4125"\n"\
4126"/// @brief\n"\
4127"/// # It is no shared library.\n"\
4128"/// \n"\
4129"/// shared function imp\n"\
4130"#define ae2f_SHAREDEXPORT\n"\
4131"/// @brief \n"\
4132"/// # It is no shared library.\n"\
4133"///\n"\
4134"/// Function api call\n"\
4135"#define ae2f_SHAREDCALL\n"\
4136"#endif\n"\
4137"\n"\
4138"#endif\n"\
4139"/** One eof gracefully */ \\\n"\
4140"\n"\
4141"/** include detected */ \\\n"\
4142"/** Path cursor */ \\\n"\
4143"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Macro.h */ \\\n"\
4144"/** first fp: (nil) */ \\\n"\
4145"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Macro.h */ \\\n"\
4146"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Macro.h */ \\\n"\
4147"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
4148"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Macro.h */ \\\n"\
4149"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Macro.h */ \\\n"\
4150"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clae2f/Macro.h */ \\\n"\
4151"/** Failed but ignoring it. */ \\\n"\
4152"\n"\
4153"/** include detected */ \\\n"\
4154"/** Path cursor */ \\\n"\
4155"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Guide.h */ \\\n"\
4156"/** first fp: (nil) */ \\\n"\
4157"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Guide.h */ \\\n"\
4158"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Guide.h */ \\\n"\
4159"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
4160"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Guide.h */ \\\n"\
4161"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4162"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4163"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4164"/** Found something. Now let\'s validate. */ \\\n"\
4165"/** It\'s not repeating */ \\\n"\
4166"/******************** */\\\n"\
4167"/* Now the path will be: */ \\\n"\
4168" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Guide.h */ \\\n"\
4169"/**\n"\
4170"\n"\
4171" * @file ae2f/Guide.h\n"\
4172" * @brief\n"\
4173" * Guide markers for conventions.\n"\
4174" * */\n"\
4175"#undef ae2f_LP\n"\
4176"#undef ae2f_NONE\n"\
4177"#undef ae2f_opt\n"\
4178"\n"\
4179"/** @def ae2f_NONE @brief nothing. */\n"\
4180"#define ae2f_NONE\n"\
4181"\n"\
4182"/** \n"\
4183" * @def ae2f_LP\n"\
4184" *\n"\
4185"\n"\
4186" * @brief \n"\
4187" * Desired count required. \n"\
4188" * \n"\
4189" * @param ...\n"\
4190" * Parameter with this preprocessor means \\n\n"\
4191" * the pointer is considered as list, and inside of this is a desired size.\n"\
4192" * */\n"\
4193"#define\tae2f_LP(...) ae2f_NONE\n"\
4194"\n"\
4195"/** @def ae2f_opt @brief Optional. */\n"\
4196"#define ae2f_opt ae2f_NONE\n"\
4197"\n"\
4198"/** \n"\
4199" * @def ae2f_FREE \n"\
4200" * @brief Use this marker to show the desired functions\n"\
4201" * \tto effectively free the resources.\n"\
4202" * */\n"\
4203"#define ae2f_FREE(...) ae2f_NONE\n"\
4204"\n"\
4205"/** @brief l_value. */\n"\
4206"#define ae2f_v ae2f_NONE\n"\
4207"/** One eof gracefully */ \\\n"\
4208"\n"\
4209"\n"\
4210"/** include detected */ \\\n"\
4211"/** Path cursor */ \\\n"\
4212"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Act.h */ \\\n"\
4213"/** first fp: (nil) */ \\\n"\
4214"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4215"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4216"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
4217"/** Found something. Now let\'s validate. */ \\\n"\
4218"/** It\'s not repeating */ \\\n"\
4219"/******************** */\\\n"\
4220"/* Now the path will be: */ \\\n"\
4221" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Act.h */ \\\n"\
4222"/**\n"\
4223"\n"\
4224" * @file vAct.h\n"\
4225" * @author ae2f\n"\
4226" * @brief \n"\
4227" * @version 0.1\n"\
4228" * @date 2025-02-13\n"\
4229" * \n"\
4230" * @copyright Copyright (c) 2025\n"\
4231" * \n"\
4232" */\n"\
4233"\n"\
4234"#ifndef ae2fCL_AnnAct_h\n"\
4235"#define ae2fCL_AnnAct_h\n"\
4236"\n"\
4237"/** include detected */ \\\n"\
4238"/** Path cursor */ \\\n"\
4239"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stddef.h */ \\\n"\
4240"/** first fp: (nil) */ \\\n"\
4241"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
4242"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
4243"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
4244"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
4245"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
4246"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
4247"/** Failed but ignoring it. */ \\\n"\
4248"\n"\
4249"/** include detected */ \\\n"\
4250"/** Path cursor */ \\\n"\
4251"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Float.h */ \\\n"\
4252"/** first fp: (nil) */ \\\n"\
4253"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Float.h */ \\\n"\
4254"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Float.h */ \\\n"\
4255"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
4256"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Float.h */ \\\n"\
4257"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4258"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4259"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4260"/** Found something. Now let\'s validate. */ \\\n"\
4261"/** It\'s not repeating */ \\\n"\
4262"/******************** */\\\n"\
4263"/* Now the path will be: */ \\\n"\
4264" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Float.h */ \\\n"\
4265"/**\n"\
4266"\n"\
4267" * @file Float.h\n"\
4268" * @brief\n"\
4269" * Here, float will be treated as bit vector with four attributes:\n"\
4270" *\n"\
4271"\n"\
4272" * sign: \\n\t\n"\
4273" * \t> Whether it has sign or not. \\n\n"\
4274" *\n"\
4275"\n"\
4276" * exp:\t\\n\n"\
4277" * \t> Exponent. It will be considered as unsigned integer, \\n\n"\
4278" * \t> Which is the exponent of the [frac]\n"\
4279" *\n"\
4280"\n"\
4281" * expbiasp: \\n\n"\
4282" * \t> Exponent bias in order to be considered as zero. \\n\n"\
4283" * \t> For handling possibly negative values of [exp] (such as 0.5) \\n\n"\
4284" *\n"\
4285"\n"\
4286" * \t> Here, the value of exponent bias is limited with following rules:\n"\
4287" * \t\t- It must be (2^([expbiasp]) - 1), and you are actually setting [expbiasp].\n"\
4288" * \t\t- [expbiasp] must be between 1 and [exp].\n"\
4289" *\n"\
4290"\n"\
4291" * frac: \\n\n"\
4292" * \t> The actual \"value\" for floating point.\n"\
4293" *\n"\
4294"\n"\
4295" * ==================\n"\
4296" *\n"\
4297"\n"\
4298" * Following is the expected structure as bit vector: \\n\n"\
4299" * [frac | exp | sign]\n"\
4300" * \n"\
4301" * Size of this will be calculated as: \\n\n"\
4302" * [sign] + [exp] + [frac]\n"\
4303" */\n"\
4304"\n"\
4305"#ifndef ae2f_Float_h\n"\
4306"#define ae2f_Float_h\n"\
4307"\n"\
4308"/** include detected */ \\\n"\
4309"/** Path cursor */ \\\n"\
4310"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4311"/** first fp: 0x55d691834ed0 */ \\\n"\
4312"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4313"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4314"/** Found something. Now let\'s validate. */ \\\n"\
4315"/** It\'s not repeating */ \\\n"\
4316"/******************** */\\\n"\
4317"/* Now the path will be: */ \\\n"\
4318" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Float.auto.h */ \\\n"\
4319"/**\n"\
4320"\n"\
4321" * @file Float.h\n"\
4322" * @author ae2f\n"\
4323" * @brief \n"\
4324" * @date 2025-02-01\n"\
4325" * \n"\
4326" * @copyright Copyright (c) 2025\n"\
4327" * \n"\
4328" */\n"\
4329"#ifndef ae2f_float_h\n"\
4330"#define ae2f_float_h\n"\
4331"\n"\
4332"/// @brief \n"\
4333"/// Predefined floating point type.\n"\
4334"/// \n"\
4335"/// See @ref ___DOC_CMAKE::ae2f_float\n"\
4336"#define ae2f_float float\n"\
4337"\n"\
4338"#endif \n"\
4339"/** One eof gracefully */ \\\n"\
4340"\n"\
4341"\n"\
4342"typedef ae2f_float ae2f_float_t;\n"\
4343"\n"\
4344"#endif\n"\
4345"/** One eof gracefully */ \\\n"\
4346"\n"\
4347"\n"\
4348"/// @brief Customisable activasion function type.\n"\
4349"typedef void ae2f_AnnAct_t (ae2f_float_t* ret, ae2f_float_t x);\n"\
4350"\n"\
4351"/// @brief\n"\
4352"/// Specify the way of calculating loss.\n"\
4353"/// \n"\
4354"/// This will be multiplied with learning rate, \\n\n"\
4355"/// and that value will be added to each weights field and bias.\n"\
4356"/// @param out Predicted value\n"\
4357"/// @param goal Expected value (wanted)\n"\
4358"/// @return Calculated loss.\n"\
4359"typedef void ae2f_AnnLoss_t (\n"\
4360"\t\tae2f_float_t*\t\tret,\n"\
4361"\t\tconst ae2f_float_t*\tout, \n"\
4362"\t\tconst ae2f_float_t* \tgoal,\n"\
4363"\t\tsize_t\t\t\tindex,\n"\
4364"\t\tsize_t\t\t\tcount\n"\
4365"\t\t);\n"\
4366"\n"\
4367"#endif\n"\
4368"/** One eof gracefully */ \\\n"\
4369"\n"\
4370"/** include detected */ \\\n"\
4371"/** Path cursor */ \\\n"\
4372"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Pack/Beg.h */ \\\n"\
4373"/** first fp: (nil) */ \\\n"\
4374"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
4375"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4376"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
4377"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
4378"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4379"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4380"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
4381"/** Found something. Now let\'s validate. */ \\\n"\
4382"/** It\'s not repeating */ \\\n"\
4383"/******************** */\\\n"\
4384"/* Now the path will be: */ \\\n"\
4385" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
4386"/**\n"\
4387"\n"\
4388" * @file Beg.h\n"\
4389" * @author ae2f\n"\
4390" * @brief\n"\
4391" * @date 2025-02-01\n"\
4392" * \n"\
4393" * @copyright Copyright (c) 2025\n"\
4394" * \n"\
4395" */\n"\
4396"\n"\
4397"/** include detected */ \\\n"\
4398"/** Path cursor */ \\\n"\
4399"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4400"/** first fp: 0x55d691833ce0 */ \\\n"\
4401"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4402"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
4403"/** Found something. Now let\'s validate. */ \\\n"\
4404"/** It\'s not repeating */ \\\n"\
4405"/******************** */\\\n"\
4406"/* Now the path will be: */ \\\n"\
4407" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
4408"/**\n"\
4409"\n"\
4410" * @file Num.h\n"\
4411" * @author ae2f\n"\
4412" * @brief \n"\
4413" * @date 2025-02-01\n"\
4414" * \n"\
4415" * @copyright Copyright (c) 2025\n"\
4416" * \n"\
4417" */\n"\
4418"\n"\
4419"/// @brief\n"\
4420"/// Pre-defined structure packed byte count.\n"\
4421"/// \n"\
4422"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
4423"#define ae2f_PackCount 0\n"\
4424"/** One eof gracefully */ \\\n"\
4425"\n"\
4426"\n"\
4427"#if ae2f_PackCount\n"\
4428"#pragma pack(push, 0)\n"\
4429"#endif\n"\
4430"/** One eof gracefully */ \\\n"\
4431"\n"\
4432"/** include detected */ \\\n"\
4433"/** Path cursor */ \\\n"\
4434"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Util.h */ \\\n"\
4435"/** first fp: (nil) */ \\\n"\
4436"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4437"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4438"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
4439"/** Found something. Now let\'s validate. */ \\\n"\
4440"/** It\'s not repeating */ \\\n"\
4441"/******************** */\\\n"\
4442"/* Now the path will be: */ \\\n"\
4443" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Util.h */ \\\n"\
4444"#ifndef ae2f_Ann_Util_h\n"\
4445"#define ae2f_Ann_Util_h\n"\
4446"\n"\
4447"/** include detected */ \\\n"\
4448"/** Path cursor */ \\\n"\
4449"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Cast.h */ \\\n"\
4450"/** first fp: (nil) */ \\\n"\
4451"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Cast.h */ \\\n"\
4452"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Cast.h */ \\\n"\
4453"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
4454"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Cast.h */ \\\n"\
4455"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4456"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4457"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4458"/** Found something. Now let\'s validate. */ \\\n"\
4459"/** It\'s not repeating */ \\\n"\
4460"/******************** */\\\n"\
4461"/* Now the path will be: */ \\\n"\
4462" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cast.h */ \\\n"\
4463"/**\n"\
4464"\n"\
4465" * @file Cast.h\n"\
4466" * @author ae2f\n"\
4467" * @brief\n"\
4468" * @date 2025-02-01\n"\
4469" *\n"\
4470"\n"\
4471" * @copyright Copyright (c) 2025\n"\
4472" *\n"\
4473"\n"\
4474" */\n"\
4475"\n"\
4476"#if !defined(ae2f_Cast_h)\n"\
4477"\n"\
4478"/// @brief\n"\
4479"/// asdf\n"\
4480"#define ae2f_Cast_h\n"\
4481"\n"\
4482"/// @brief\n"\
4483"/// ANSI Code for clearing the console.\n"\
4484"/// Clearing all display, moving the cursor on the top.\n"\
4485"#define ae2f_CastCCls \"\\033[2J\\033[H\"\n"\
4486"\n"\
4487"/// @brief\n"\
4488"/// simply merge all text inside the round bracket, counting them as a single\n"\
4489"/// text block.\n"\
4490"#define ae2f_CastMerge(...) __VA_ARGS__\n"\
4491"\n"\
4492"/** include detected */ \\\n"\
4493"/** Path cursor */ \\\n"\
4494"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4495"/** first fp: 0x55d691834ed0 */ \\\n"\
4496"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4497"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
4498"/** Found something. Now let\'s validate. */ \\\n"\
4499"/** It\'s not repeating */ \\\n"\
4500"/******************** */\\\n"\
4501"/* Now the path will be: */ \\\n"\
4502" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/CasterUnion.hpp */ \\\n"\
4503"/**\n"\
4504"\n"\
4505" * @file CasterUnion.hpp\n"\
4506" * @author ae2f\n"\
4507" * @brief\n"\
4508" * @date 2025-02-01\n"\
4509" *\n"\
4510"\n"\
4511" * @copyright Copyright (c) 2025\n"\
4512" *\n"\
4513"\n"\
4514" */\n"\
4515"\n"\
4516"#if !defined(ae2f_Cast_CasterUnion_hpp) && defined(__cplusplus)\n"\
4517"#define ae2f_Cast_CasterUnion_hpp\n"\
4518"/** include detected */ \\\n"\
4519"/** Path cursor */ \\\n"\
4520"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4521"/** first fp: 0x55d6918360c0 */ \\\n"\
4522"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4523"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./ */ \\\n"\
4524"/** Found something. Now let\'s validate. */ \\\n"\
4525"/** It\'s not repeating */ \\\n"\
4526"/******************** */\\\n"\
4527"/* Now the path will be: */ \\\n"\
4528" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./Constexpr.hpp */ \\\n"\
4529"/**\n"\
4530"\n"\
4531" * @file consteval.hpp\n"\
4532" * @author ae2f\n"\
4533" * @brief\n"\
4534" * @date 2025-02-01\n"\
4535" *\n"\
4536"\n"\
4537" * @copyright Copyright (c) 2025\n"\
4538" *\n"\
4539"\n"\
4540" */\n"\
4541"#ifndef ae2f_Cast_consteval_hpp\n"\
4542"#define ae2f_Cast_consteval_hpp\n"\
4543"/** include detected */ \\\n"\
4544"/** Path cursor */ \\\n"\
4545"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4546"/** first fp: 0x55d6918372b0 */ \\\n"\
4547"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4548"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../ */ \\\n"\
4549"/** Found something. Now let\'s validate. */ \\\n"\
4550"/** It\'s not repeating */ \\\n"\
4551"/******************** */\\\n"\
4552"/* Now the path will be: */ \\\n"\
4553" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./../LangVer.h */ \\\n"\
4554"/** include detected */ \\\n"\
4555"/** Path cursor */ \\\n"\
4556"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4557"/** first fp: 0x55d6918384a0 */ \\\n"\
4558"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4559"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././ */ \\\n"\
4560"/** Found something. Now let\'s validate. */ \\\n"\
4561"/** It\'s not repeating */ \\\n"\
4562"/******************** */\\\n"\
4563"/* Now the path will be: */ \\\n"\
4564" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/./.././LangVer.auto.h */ \\\n"\
4565"#if 90 >= 50\n"\
4566"#define ae2f_LangVer_C 1990\n"\
4567"#else\n"\
4568"#define ae2f_LangVer_C 2090\n"\
4569"#endif\n"\
4570"\n"\
4571"#if 11 >= 50\n"\
4572"#define ae2f_LangVer_CC 1911\n"\
4573"#else\n"\
4574"#define ae2f_LangVer_CC 2011\n"\
4575"#endif\n"\
4576"\n"\
4577"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4578"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4579"/** One eof gracefully */ \\\n"\
4580"\n"\
4581"\n"\
4582"#ifdef\t__cplusplus\n"\
4583"#undef\tae2f_stdcc_v\n"\
4584"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
4585"#else\n"\
4586"\n"\
4587"#undef\tae2f_stdcc_v\n"\
4588"#define\tae2f_stdcc_v\t(199711L)\n"\
4589"\n"\
4590"#if __ae2f_lvcheck_cc(2011)\n"\
4591"#undef\tae2f_stdcc_v\n"\
4592"#define\tae2f_stdcc_v\t(201103L)\n"\
4593"#endif\n"\
4594"\n"\
4595"#if __ae2f_lvcheck_cc(2014)\n"\
4596"#undef\tae2f_stdcc_v\n"\
4597"#define\tae2f_stdcc_v\t(201402L)\n"\
4598"#endif\n"\
4599"\n"\
4600"#if __ae2f_lvcheck_cc(2017)\n"\
4601"#undef\tae2f_stdcc_v\n"\
4602"#define\tae2f_stdcc_v\t(201703L)\n"\
4603"#endif\n"\
4604"\n"\
4605"#if __ae2f_lvcheck_cc(2020)\n"\
4606"#undef\tae2f_stdcc_v\n"\
4607"#define\tae2f_stdcc_v\t(202002L)\n"\
4608"#endif\n"\
4609"\n"\
4610"#if __ae2f_lvcheck_cc(2023)\n"\
4611"#undef\tae2f_stdcc_v\n"\
4612"#define\tae2f_stdcc_v\t(202302L)\n"\
4613"#endif\n"\
4614"\n"\
4615"#endif\n"\
4616"\n"\
4617"#ifdef\t__STDC_VERSION__\n"\
4618"#undef\tae2f_stdc_v\n"\
4619"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
4620"#else\n"\
4621"\n"\
4622"#undef\tae2f_stdc_v\n"\
4623"#define ae2f_stdc_v\t(199001L)\n"\
4624"\n"\
4625"#if __ae2f_lvcheck_c(1999)\n"\
4626"#undef\tae2f_stdc_v\n"\
4627"#define ae2f_stdc_v\t(199901L)\n"\
4628"#endif\n"\
4629"\n"\
4630"#if __ae2f_lvcheck_c(2011)\n"\
4631"#undef\tae2f_stdc_v\n"\
4632"#define ae2f_stdc_v\t(201112L)\n"\
4633"#endif\n"\
4634"\n"\
4635"#if __ae2f_lvcheck_c(2017)\n"\
4636"#undef\tae2f_stdc_v\n"\
4637"#define ae2f_stdc_v\t(201710L)\n"\
4638"#endif\n"\
4639"\n"\
4640"#if __ae2f_lvcheck_c(2023)\n"\
4641"#undef\tae2f_stdc_v\n"\
4642"#define ae2f_stdc_v\t(202311L)\n"\
4643"#endif\n"\
4644"\n"\
4645"#endif\n"\
4646"\n"\
4647"#undef\t__ae2f_stdcheck_C\n"\
4648"#undef\t__ae2f_stdcheck_CC\n"\
4649"\n"\
4650"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
4651"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
4652"/** One eof gracefully */ \\\n"\
4653"\n"\
4654"\n"\
4655"#if __ae2f_stdcheck_CC(201703L)\n"\
4656"#define if_constexpr if constexpr\n"\
4657"#else\n"\
4658"#define if_constexpr if\n"\
4659"#endif\n"\
4660"\n"\
4661"#if __ae2f_stdcheck_CC(202002L)\n"\
4662"#define if_consteval if consteval\n"\
4663"#else\n"\
4664"#define if_consteval if (0)\n"\
4665"#endif\n"\
4666"\n"\
4667"#if __ae2f_stdcheck_CC(202002L)\n"\
4668"#define constexprvirtual constexpr virtual\n"\
4669"/** constinit */\n"\
4670"#else\n"\
4671"#define constexprvirtual virtual\n"\
4672"#define constinit\t/* not available */\n"\
4673"#endif /* C++20 */\n"\
4674"\n"\
4675"#if __ae2f_stdcheck_CC(201402L)\n"\
4676"#define constextendedfun\tconstexpr\n"\
4677"#define constextendedeval \tconstexpr\n"\
4678"\n"\
4679"#define constextendedmethod\tconstexpr\n"\
4680"#define constextendedmethodeval\tconstexpr\n"\
4681"\n"\
4682"#else\n"\
4683"#define constextendedfun\tinline\n"\
4684"#define constextendedmethod\tinline\n"\
4685"\n"\
4686"#define constextendedeval\tinline\n"\
4687"#define constextendedmethodeval\tinline\n"\
4688"#endif // C++14\n"\
4689"\n"\
4690"#if __ae2f_stdcheck_CC(201103L)\n"\
4691"#define constexprmethod\t\tconstexpr\n"\
4692"#define constexprfun\t\tconstexpr\n"\
4693"#define constevalmethod\t\tconstexpr\n"\
4694"\n"\
4695"#else\n"\
4696"#define constexprmethod\t\tinline\n"\
4697"#define constexprfun\t\tinline\n"\
4698"#define constevalmethod\t\tinline\n"\
4699"#define virtual\n"\
4700"\n"\
4701"#if !defined(__cplusplus) /* C */\n"\
4702"\n"\
4703"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
4704"/** cosntexpr variable */\n"\
4705"#else\n"\
4706"#define constexpr\n"\
4707"#endif /* C23 */\n"\
4708"\n"\
4709"\n"\
4710"#endif /* C */\n"\
4711"\n"\
4712"#endif // C++11\n"\
4713"\n"\
4714"#if __ae2f_stdcheck_CC(202002L)\n"\
4715"#undef constevalmethod\n"\
4716"#define constevalmethod consteval /* C++20 */\n"\
4717"#elif __ae2f_stdcheck_CC(0)\n"\
4718"\n"\
4719"#undef constevalmethod\n"\
4720"/// @brief\n"\
4721"/// C++ keyword for constant-time functions.\n"\
4722"#define consteval\n"\
4723"#define constevalmethod constexprmethod\n"\
4724"\n"\
4725"#else\n"\
4726"\n"\
4727"#define consteval\n"\
4728"#endif // C++20\n"\
4729"\n"\
4730"#endif\n"\
4731"/** One eof gracefully */ \\\n"\
4732"\n"\
4733"\n"\
4734"/// @brief\n"\
4735"/// C++ union definition for @ref ae2f_union_cast\n"\
4736"/// @tparam t\n"\
4737"/// @tparam k\n"\
4738"/// @see\n"\
4739"/// @ref ae2f_union_cast\n"\
4740"template <typename t, typename k> union ae2f_UnionCaster {\n"\
4741" t a;\n"\
4742" k b;\n"\
4743" constexprmethod ae2f_UnionCaster(t _) : a(_) {}\n"\
4744" constexprmethod k _b() const { return b; }\n"\
4745"};\n"\
4746"\n"\
4747"#endif\n"\
4748"/** One eof gracefully */ \\\n"\
4749"\n"\
4750"/** include detected */ \\\n"\
4751"/** Path cursor */ \\\n"\
4752"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4753"/** first fp: 0x55d691834ed0 */ \\\n"\
4754"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4755"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/ */ \\\n"\
4756"/** Found something. Now let\'s validate. */ \\\n"\
4757"/** It\'s not repeating */ \\\n"\
4758"/******************** */\\\n"\
4759"/* Now the path will be: */ \\\n"\
4760" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/Constexpr.hpp */ \\\n"\
4761"/**\n"\
4762"\n"\
4763" * @file consteval.hpp\n"\
4764" * @author ae2f\n"\
4765" * @brief\n"\
4766" * @date 2025-02-01\n"\
4767" *\n"\
4768"\n"\
4769" * @copyright Copyright (c) 2025\n"\
4770" *\n"\
4771"\n"\
4772" */\n"\
4773"#ifndef ae2f_Cast_consteval_hpp\n"\
4774"#define ae2f_Cast_consteval_hpp\n"\
4775"/** include detected */ \\\n"\
4776"/** Path cursor */ \\\n"\
4777"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4778"/** first fp: 0x55d6918360c0 */ \\\n"\
4779"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4780"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../ */ \\\n"\
4781"/** Found something. Now let\'s validate. */ \\\n"\
4782"/** It\'s not repeating */ \\\n"\
4783"/******************** */\\\n"\
4784"/* Now the path will be: */ \\\n"\
4785" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/../LangVer.h */ \\\n"\
4786"/** include detected */ \\\n"\
4787"/** Path cursor */ \\\n"\
4788"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4789"/** first fp: 0x55d6918372b0 */ \\\n"\
4790"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4791"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././ */ \\\n"\
4792"/** Found something. Now let\'s validate. */ \\\n"\
4793"/** It\'s not repeating */ \\\n"\
4794"/******************** */\\\n"\
4795"/* Now the path will be: */ \\\n"\
4796" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Cast/.././LangVer.auto.h */ \\\n"\
4797"#if 90 >= 50\n"\
4798"#define ae2f_LangVer_C 1990\n"\
4799"#else\n"\
4800"#define ae2f_LangVer_C 2090\n"\
4801"#endif\n"\
4802"\n"\
4803"#if 11 >= 50\n"\
4804"#define ae2f_LangVer_CC 1911\n"\
4805"#else\n"\
4806"#define ae2f_LangVer_CC 2011\n"\
4807"#endif\n"\
4808"\n"\
4809"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4810"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4811"/** One eof gracefully */ \\\n"\
4812"\n"\
4813"\n"\
4814"#ifdef\t__cplusplus\n"\
4815"#undef\tae2f_stdcc_v\n"\
4816"#define\tae2f_stdcc_v\t(__cplusplus)\n"\
4817"#else\n"\
4818"\n"\
4819"#undef\tae2f_stdcc_v\n"\
4820"#define\tae2f_stdcc_v\t(199711L)\n"\
4821"\n"\
4822"#if __ae2f_lvcheck_cc(2011)\n"\
4823"#undef\tae2f_stdcc_v\n"\
4824"#define\tae2f_stdcc_v\t(201103L)\n"\
4825"#endif\n"\
4826"\n"\
4827"#if __ae2f_lvcheck_cc(2014)\n"\
4828"#undef\tae2f_stdcc_v\n"\
4829"#define\tae2f_stdcc_v\t(201402L)\n"\
4830"#endif\n"\
4831"\n"\
4832"#if __ae2f_lvcheck_cc(2017)\n"\
4833"#undef\tae2f_stdcc_v\n"\
4834"#define\tae2f_stdcc_v\t(201703L)\n"\
4835"#endif\n"\
4836"\n"\
4837"#if __ae2f_lvcheck_cc(2020)\n"\
4838"#undef\tae2f_stdcc_v\n"\
4839"#define\tae2f_stdcc_v\t(202002L)\n"\
4840"#endif\n"\
4841"\n"\
4842"#if __ae2f_lvcheck_cc(2023)\n"\
4843"#undef\tae2f_stdcc_v\n"\
4844"#define\tae2f_stdcc_v\t(202302L)\n"\
4845"#endif\n"\
4846"\n"\
4847"#endif\n"\
4848"\n"\
4849"#ifdef\t__STDC_VERSION__\n"\
4850"#undef\tae2f_stdc_v\n"\
4851"#define ae2f_stdc_v\t(__STDC_VERSION__)\n"\
4852"#else\n"\
4853"\n"\
4854"#undef\tae2f_stdc_v\n"\
4855"#define ae2f_stdc_v\t(199001L)\n"\
4856"\n"\
4857"#if __ae2f_lvcheck_c(1999)\n"\
4858"#undef\tae2f_stdc_v\n"\
4859"#define ae2f_stdc_v\t(199901L)\n"\
4860"#endif\n"\
4861"\n"\
4862"#if __ae2f_lvcheck_c(2011)\n"\
4863"#undef\tae2f_stdc_v\n"\
4864"#define ae2f_stdc_v\t(201112L)\n"\
4865"#endif\n"\
4866"\n"\
4867"#if __ae2f_lvcheck_c(2017)\n"\
4868"#undef\tae2f_stdc_v\n"\
4869"#define ae2f_stdc_v\t(201710L)\n"\
4870"#endif\n"\
4871"\n"\
4872"#if __ae2f_lvcheck_c(2023)\n"\
4873"#undef\tae2f_stdc_v\n"\
4874"#define ae2f_stdc_v\t(202311L)\n"\
4875"#endif\n"\
4876"\n"\
4877"#endif\n"\
4878"\n"\
4879"#undef\t__ae2f_stdcheck_C\n"\
4880"#undef\t__ae2f_stdcheck_CC\n"\
4881"\n"\
4882"#define __ae2f_stdcheck_C(v)\t(ae2f_stdc_v >= (v))\n"\
4883"#define __ae2f_stdcheck_CC(v)\t(ae2f_stdcc_v >= (v))\n"\
4884"/** One eof gracefully */ \\\n"\
4885"\n"\
4886"\n"\
4887"#if __ae2f_stdcheck_CC(201703L)\n"\
4888"#define if_constexpr if constexpr\n"\
4889"#else\n"\
4890"#define if_constexpr if\n"\
4891"#endif\n"\
4892"\n"\
4893"#if __ae2f_stdcheck_CC(202002L)\n"\
4894"#define if_consteval if consteval\n"\
4895"#else\n"\
4896"#define if_consteval if (0)\n"\
4897"#endif\n"\
4898"\n"\
4899"#if __ae2f_stdcheck_CC(202002L)\n"\
4900"#define constexprvirtual constexpr virtual\n"\
4901"/** constinit */\n"\
4902"#else\n"\
4903"#define constexprvirtual virtual\n"\
4904"#define constinit\t/* not available */\n"\
4905"#endif /* C++20 */\n"\
4906"\n"\
4907"#if __ae2f_stdcheck_CC(201402L)\n"\
4908"#define constextendedfun\tconstexpr\n"\
4909"#define constextendedeval \tconstexpr\n"\
4910"\n"\
4911"#define constextendedmethod\tconstexpr\n"\
4912"#define constextendedmethodeval\tconstexpr\n"\
4913"\n"\
4914"#else\n"\
4915"#define constextendedfun\tinline\n"\
4916"#define constextendedmethod\tinline\n"\
4917"\n"\
4918"#define constextendedeval\tinline\n"\
4919"#define constextendedmethodeval\tinline\n"\
4920"#endif // C++14\n"\
4921"\n"\
4922"#if __ae2f_stdcheck_CC(201103L)\n"\
4923"#define constexprmethod\t\tconstexpr\n"\
4924"#define constexprfun\t\tconstexpr\n"\
4925"#define constevalmethod\t\tconstexpr\n"\
4926"\n"\
4927"#else\n"\
4928"#define constexprmethod\t\tinline\n"\
4929"#define constexprfun\t\tinline\n"\
4930"#define constevalmethod\t\tinline\n"\
4931"#define virtual\n"\
4932"\n"\
4933"#if !defined(__cplusplus) /* C */\n"\
4934"\n"\
4935"#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)\n"\
4936"/** cosntexpr variable */\n"\
4937"#else\n"\
4938"#define constexpr\n"\
4939"#endif /* C23 */\n"\
4940"\n"\
4941"\n"\
4942"#endif /* C */\n"\
4943"\n"\
4944"#endif // C++11\n"\
4945"\n"\
4946"#if __ae2f_stdcheck_CC(202002L)\n"\
4947"#undef constevalmethod\n"\
4948"#define constevalmethod consteval /* C++20 */\n"\
4949"#elif __ae2f_stdcheck_CC(0)\n"\
4950"\n"\
4951"#undef constevalmethod\n"\
4952"/// @brief\n"\
4953"/// C++ keyword for constant-time functions.\n"\
4954"#define consteval\n"\
4955"#define constevalmethod constexprmethod\n"\
4956"\n"\
4957"#else\n"\
4958"\n"\
4959"#define consteval\n"\
4960"#endif // C++20\n"\
4961"\n"\
4962"#endif\n"\
4963"/** One eof gracefully */ \\\n"\
4964"\n"\
4965"/** include detected */ \\\n"\
4966"/** Path cursor */ \\\n"\
4967"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4968"/** first fp: 0x55d691834ed0 */ \\\n"\
4969"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4970"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
4971"/** Found something. Now let\'s validate. */ \\\n"\
4972"/** It\'s not repeating */ \\\n"\
4973"/******************** */\\\n"\
4974"/* Now the path will be: */ \\\n"\
4975" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./LangVer.auto.h */ \\\n"\
4976"#if 90 >= 50\n"\
4977"#define ae2f_LangVer_C 1990\n"\
4978"#else\n"\
4979"#define ae2f_LangVer_C 2090\n"\
4980"#endif\n"\
4981"\n"\
4982"#if 11 >= 50\n"\
4983"#define ae2f_LangVer_CC 1911\n"\
4984"#else\n"\
4985"#define ae2f_LangVer_CC 2011\n"\
4986"#endif\n"\
4987"\n"\
4988"#define __ae2f_lvcheck_c(v) (ae2f_LangVer_C >= (v))\n"\
4989"#define __ae2f_lvcheck_cc(v) (ae2f_LangVer_CC >= (v))\n"\
4990"/** One eof gracefully */ \\\n"\
4991"\n"\
4992"/** include detected */ \\\n"\
4993"/** Path cursor */ \\\n"\
4994"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
4995"/** first fp: 0x55d691834ed0 */ \\\n"\
4996"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
4997"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
4998"/** Found something. Now let\'s validate. */ \\\n"\
4999"/** It\'s not repeating */ \\\n"\
5000"/******************** */\\\n"\
5001"/* Now the path will be: */ \\\n"\
5002" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Cxx.h */ \\\n"\
5003"/**\n"\
5004"\n"\
5005" * @file Cxx.h\n"\
5006" * @author ae2f\n"\
5007" * @brief \n"\
5008" * @date 2025-02-01\n"\
5009" * \n"\
5010" * @copyright Copyright (c) 2025\n"\
5011" * \n"\
5012" */\n"\
5013"\n"\
5014"/// @brief\n"\
5015"/// Literally nothing.\n"\
5016"#define ae2f_NONE\n"\
5017"\n"\
5018"#if __cplusplus\n"\
5019"\n"\
5020"/// @def ae2f_WhenCXX \n"\
5021"/// @brief\n"\
5022"/// Appears when the current language is C++.\n"\
5023"#define ae2f_WhenCXX(...) __VA_ARGS__\n"\
5024"\n"\
5025"/// @brief\n"\
5026"/// Appears when the current language is C.\n"\
5027"#define ae2f_WhenC(...) ae2f_NONE\n"\
5028"\n"\
5029"#else\n"\
5030"\n"\
5031"/// @brief\n"\
5032"/// Appears when the current language is C++.\n"\
5033"#define ae2f_WhenC(...) __VA_ARGS__\n"\
5034"\n"\
5035"/// @brief\n"\
5036"/// Appears when the current language is C.\n"\
5037"#define ae2f_WhenCXX(...) ae2f_NONE\n"\
5038"\n"\
5039"#endif\n"\
5040"\n"\
5041"/// @brief\n"\
5042"/// \n"\
5043"#define ae2f_is_cxx ae2f_WhenC(0) ae2f_WhenCXX(1)\n"\
5044"\n"\
5045"/// @brief\n"\
5046"/// Putting it after one condition in #if will find if the script\'s language considered as [C], while doxygen does not notice.\n"\
5047"/// \n"\
5048"/// For alter, see @ref ae2f_cxx_check\n"\
5049"#define ae2f_c_check && !ae2f_is_cxx\n"\
5050"\n"\
5051"/// @brief\n"\
5052"/// Putting it after one condition in #if will find if the script\'s language considered as [C++], while doxygen does not notice.\n"\
5053"/// \n"\
5054"/// For alter, see @ref ae2f_c_check\n"\
5055"#define ae2f_cxx_check && ae2f_is_cxx/** One eof gracefully */ \\\n"\
5056"\n"\
5057"/** include detected */ \\\n"\
5058"/** Path cursor */ \\\n"\
5059"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stdbool.h */ \\\n"\
5060"/** first fp: (nil) */ \\\n"\
5061"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdbool.h */ \\\n"\
5062"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdbool.h */ \\\n"\
5063"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
5064"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdbool.h */ \\\n"\
5065"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdbool.h */ \\\n"\
5066"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdbool.h */ \\\n"\
5067"/** Failed but ignoring it. */ \\\n"\
5068"\n"\
5069"/** include detected */ \\\n"\
5070"/** Path cursor */ \\\n"\
5071"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/stddef.h */ \\\n"\
5072"/** first fp: (nil) */ \\\n"\
5073"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stddef.h */ \\\n"\
5074"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stddef.h */ \\\n"\
5075"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
5076"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstddef.h */ \\\n"\
5077"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stddef.h */ \\\n"\
5078"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstddef.h */ \\\n"\
5079"/** Failed but ignoring it. */ \\\n"\
5080"\n"\
5081"/** include detected */ \\\n"\
5082"/** Path cursor */ \\\n"\
5083"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5084"/** first fp: 0x55d691834ed0 */ \\\n"\
5085"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5086"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5087"/** Found something. Now let\'s validate. */ \\\n"\
5088"/** It\'s not repeating */ \\\n"\
5089"/******************** */\\\n"\
5090"/* Now the path will be: */ \\\n"\
5091" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Guide.h */ \\\n"\
5092"/**\n"\
5093"\n"\
5094" * @file ae2f/Guide.h\n"\
5095" * @brief\n"\
5096" * Guide markers for conventions.\n"\
5097" * */\n"\
5098"#undef ae2f_LP\n"\
5099"#undef ae2f_NONE\n"\
5100"#undef ae2f_opt\n"\
5101"\n"\
5102"/** @def ae2f_NONE @brief nothing. */\n"\
5103"#define ae2f_NONE\n"\
5104"\n"\
5105"/** \n"\
5106" * @def ae2f_LP\n"\
5107" *\n"\
5108"\n"\
5109" * @brief \n"\
5110" * Desired count required. \n"\
5111" * \n"\
5112" * @param ...\n"\
5113" * Parameter with this preprocessor means \\n\n"\
5114" * the pointer is considered as list, and inside of this is a desired size.\n"\
5115" * */\n"\
5116"#define\tae2f_LP(...) ae2f_NONE\n"\
5117"\n"\
5118"/** @def ae2f_opt @brief Optional. */\n"\
5119"#define ae2f_opt ae2f_NONE\n"\
5120"\n"\
5121"/** \n"\
5122" * @def ae2f_FREE \n"\
5123" * @brief Use this marker to show the desired functions\n"\
5124" * \tto effectively free the resources.\n"\
5125" * */\n"\
5126"#define ae2f_FREE(...) ae2f_NONE\n"\
5127"\n"\
5128"/** @brief l_value. */\n"\
5129"#define ae2f_v ae2f_NONE\n"\
5130"/** One eof gracefully */ \\\n"\
5131"\n"\
5132"\n"\
5133"/// @brief\n"\
5134"/// Initialiser for trivial structures / classes.\n"\
5135"#define ae2f_RecordMk(type, ...) \\\n"\
5136" (ae2f_WhenC((type){__VA_ARGS__}) ae2f_WhenCXX(type{__VA_ARGS__}))\n"\
5137"\n"\
5138"/// @brief\n"\
5139"/// # static_cast\n"\
5140"#define ae2f_static_cast(t, v) \\\n"\
5141" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(static_cast<t>(v))\n"\
5142"\n"\
5143"/// @brief\n"\
5144"/// # dynamic_cast\n"\
5145"#define ae2f_dynamic_cast(t, v) \\\n"\
5146" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(dynamic_cast<t>(v))\n"\
5147"\n"\
5148"/// @brief\n"\
5149"/// # reinterpret_cast\n"\
5150"#define ae2f_reinterpret_cast(t, v) \\\n"\
5151" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(reinterpret_cast<t>(v))\n"\
5152"\n"\
5153"/// @brief\n"\
5154"/// # const_cast\n"\
5155"#define ae2f_const_cast(t, v) \\\n"\
5156" ae2f_WhenC(((t)(v))) ae2f_WhenCXX(const_cast<t>(v))\n"\
5157"\n"\
5158"/// @brief\n"\
5159"/// Makes a union that reads a memory in two methods. \\n\n"\
5160"/// `tThen` -> `tNow`\n"\
5161"/// @tparam tThen\n"\
5162"/// The existing data\'s type as input.\n"\
5163"///\n"\
5164"/// @tparam tNow\n"\
5165"/// Wanted output datatype for casting.\n"\
5166"///\n"\
5167"/// @param v\n"\
5168"/// Input value\n"\
5169"#define ae2f_union_cast(tThen, tNow, v) \\\n"\
5170" ae2f_WhenC((union { \\\n"\
5171" tThen a; \\\n"\
5172" tNow b; \\\n"\
5173" }){v}) ae2f_WhenCXX(ae2f_UnionCaster<tThen, tNow>(v)) \\\n"\
5174" ._b()\n"\
5175"\n"\
5176"/// @brief\n"\
5177"/// In C, keyword \'struct\' must be written in front of the structure\'s name in\n"\
5178"/// order to use as a type name. \\n In C++ that keyword is not required.\n"\
5179"///\n"\
5180"/// This keyword resolves the difference of the rules of two.\n"\
5181"#define ae2f_struct ae2f_WhenC(struct)\n"\
5182"\n"\
5183"/// @brief\n"\
5184"/// Suggests the existence of external variable or function, in naming of C.\n"\
5185"/// [non-mangling]\n"\
5186"#define ae2f_extern ae2f_WhenC(extern) ae2f_WhenCXX(extern \"C\")\n"\
5187"\n"\
5188"/// @brief\n"\
5189"/// Class\n"\
5190"#define ae2f_class ae2f_WhenC(struct) ae2f_WhenCXX(class)\n"\
5191"\n"\
5192"/// @brief\n"\
5193"/// Makes the global variable in naming of C. [non-mangling]\n"\
5194"#define ae2f_var ae2f_WhenCXX(extern \"C\")\n"\
5195"\n"\
5196"/// @brief\n"\
5197"/// Function definitions\n"\
5198"#define ae2f_fdef(rtn_t, name, ...) rtn_t (*name)(__VA_ARGS__)\n"\
5199"\n"\
5200"/** @brief Invokes when condition is `false`. */\n"\
5201"#define unless(...) if (!(__VA_ARGS__))\n"\
5202"\n"\
5203"#define ae2f_structdef_v(key, name, ...) \\\n"\
5204" typedef key name __VA_ARGS__; \\\n"\
5205" key name\n"\
5206"\n"\
5207"#define ae2f_structdef_n(key, name, ...)\tae2f_structdef_v(key, name, name, __VA_ARGS__)\n"\
5208"#define ae2f_structdef(key, name)\t\tae2f_structdef_v(key, name, name)\n"\
5209"#define ae2f_enumdef(name, ...)\t\t\ttypedef enum name __VA_ARGS__ name\n"\
5210"\n"\
5211"#define ae2f_tmpldef(...) template<__VA_ARGS__>\n"\
5212"#define ae2f_tmpluse(...) <__VA_ARGS__>\n"\
5213"\n"\
5214"/**\n"\
5215"\n"\
5216" * @brief\n"\
5217" * Make two pair of function as [eval] and [expr]. \\n\n"\
5218" * [expr] will just call [eval]. \\n\n"\
5219" * You will implement the body of [eval].\n"\
5220" *\n"\
5221"\n"\
5222" * Following is an use case.\n"\
5223" * @code\n"\
5224" * ae2f_evaldef(\n"\
5225"\t\ttemplate<int a>, <0>\n"\
5226"\t\t, consteval, constexprfun\n"\
5227"\t\t, int, Hello, _Hello, char v, v) \n"\
5228"\t\t{ return v; }\n"\
5229" * */\n"\
5230"#define ae2f_evaldef(tmpldef, tmpluse, keyeval, keyexpr, ret_t, nameeval, nameexpr, prmdef, prmuse) \\\n"\
5231"\ttmpldef keyeval ret_t nameeval(prmdef); \\\n"\
5232"\ttmpldef keyexpr ret_t nameexpr(prmdef) { \\\n"\
5233"\t\treturn nameeval tmpluse (prmuse); \\\n"\
5234"\t} \\\n"\
5235"\ttmpldef keyeval ret_t nameeval(prmdef)\n"\
5236"\n"\
5237"#if !__ae2f_stdcheck_CC(201103L)\n"\
5238"#undef\tnoexcept\n"\
5239"#define noexcept\n"\
5240"#endif\n"\
5241"\n"\
5242"\n"\
5243"#undef\trestrict /** First declaration */\n"\
5244"#if ae2f_stdc_v < 199901L\n"\
5245"#undef\trestrict\n"\
5246"#define restrict\n"\
5247"#endif // C>=99\n"\
5248"\n"\
5249"#if __cplusplus\n"\
5250"#undef\trestrict\n"\
5251"#define restrict\n"\
5252"#endif // C++\n"\
5253"\n"\
5254"#if !__ae2f_stdcheck_CC(201103L)\n"\
5255"/// @brief\n"\
5256"/// Means that there will be no exception thrown written in code.\n"\
5257"#define noexcept\n"\
5258"#define constexpr\n"\
5259"#endif /* C++<=11 */\n"\
5260"\n"\
5261"#if ae2f_WhenC(!)0\n"\
5262"#undef noexcept\n"\
5263"#define noexcept\n"\
5264"#endif\n"\
5265"\n"\
5266"#endif\n"\
5267"/** One eof gracefully */ \\\n"\
5268"\n"\
5269"/** include detected */ \\\n"\
5270"/** Path cursor */ \\\n"\
5271"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
5272"/** first fp: (nil) */ \\\n"\
5273"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
5274"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5275"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5276"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5277"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5278"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5279"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5280"/** Found something. Now let\'s validate. */ \\\n"\
5281"/** It\'s not repeating */ \\\n"\
5282"/******************** */\\\n"\
5283"/* Now the path will be: */ \\\n"\
5284" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5285"/**\n"\
5286"\n"\
5287" * @file Beg.h\n"\
5288" * @author ae2f\n"\
5289" * @brief\n"\
5290" * @date 2025-02-01\n"\
5291" * \n"\
5292" * @copyright Copyright (c) 2025\n"\
5293" * \n"\
5294" */\n"\
5295"\n"\
5296"/** include detected */ \\\n"\
5297"/** Path cursor */ \\\n"\
5298"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5299"/** first fp: 0x55d691834ed0 */ \\\n"\
5300"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5301"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
5302"/** Found something. Now let\'s validate. */ \\\n"\
5303"/** It\'s not repeating */ \\\n"\
5304"/******************** */\\\n"\
5305"/* Now the path will be: */ \\\n"\
5306" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5307"/**\n"\
5308"\n"\
5309" * @file Num.h\n"\
5310" * @author ae2f\n"\
5311" * @brief \n"\
5312" * @date 2025-02-01\n"\
5313" * \n"\
5314" * @copyright Copyright (c) 2025\n"\
5315" * \n"\
5316" */\n"\
5317"\n"\
5318"/// @brief\n"\
5319"/// Pre-defined structure packed byte count.\n"\
5320"/// \n"\
5321"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
5322"#define ae2f_PackCount 0\n"\
5323"/** One eof gracefully */ \\\n"\
5324"\n"\
5325"\n"\
5326"#if ae2f_PackCount\n"\
5327"#pragma pack(push, 0)\n"\
5328"#endif\n"\
5329"/** One eof gracefully */ \\\n"\
5330"\n"\
5331"/** include detected */ \\\n"\
5332"/** Path cursor */ \\\n"\
5333"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/MMap/Util.h */ \\\n"\
5334"/** first fp: (nil) */ \\\n"\
5335"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5336"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5337"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ */ \\\n"\
5338"/** Found something. Now let\'s validate. */ \\\n"\
5339"/** It\'s not repeating */ \\\n"\
5340"/******************** */\\\n"\
5341"/* Now the path will be: */ \\\n"\
5342" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/Util.h */ \\\n"\
5343"/** include detected */ \\\n"\
5344"/** Path cursor */ \\\n"\
5345"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/MMap/ae2f/Call.h */ \\\n"\
5346"/** first fp: (nil) */ \\\n"\
5347"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Call.h */ \\\n"\
5348"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Call.h */ \\\n"\
5349"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
5350"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Call.h */ \\\n"\
5351"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5352"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5353"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/ */ \\\n"\
5354"/** Found something. Now let\'s validate. */ \\\n"\
5355"/** It\'s not repeating */ \\\n"\
5356"/******************** */\\\n"\
5357"/* Now the path will be: */ \\\n"\
5358" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Call.h */ \\\n"\
5359"/**\n"\
5360"\n"\
5361" * @file Call.h\n"\
5362" * @author ae2f\n"\
5363" * @brief \n"\
5364" * @date 2025-02-01\n"\
5365" * \n"\
5366" * @copyright Copyright (c) 2025\n"\
5367" * \n"\
5368" */\n"\
5369"\n"\
5370"#ifndef ae2f_Call_h\n"\
5371"#define ae2f_Call_h\n"\
5372"\n"\
5373"/** include detected */ \\\n"\
5374"/** Path cursor */ \\\n"\
5375"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5376"/** first fp: 0x55d6918360c0 */ \\\n"\
5377"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5378"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5379"/** Found something. Now let\'s validate. */ \\\n"\
5380"/** It\'s not repeating */ \\\n"\
5381"/******************** */\\\n"\
5382"/* Now the path will be: */ \\\n"\
5383" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Platform.h */ \\\n"\
5384"#define ON 1\n"\
5385"#define OFF 0\n"\
5386"\n"\
5387"#if (defined(_WIN32) || defined(_WIN64))\n"\
5388"#define ae2f_IS_WIN 1\n"\
5389"#else \n"\
5390"#define ae2f_IS_WIN 0\n"\
5391"#endif\n"\
5392"\n"\
5393"#if (defined(__linux__))\n"\
5394"#define ae2f_IS_LINUX 1\n"\
5395"#else \n"\
5396"#define ae2f_IS_LINUX 0\n"\
5397"#endif\n"\
5398"\n"\
5399"#if defined(__MACH__) || defined(__APPLE__)\n"\
5400"#define ae2f_IS_APPLE 1\n"\
5401"#else\n"\
5402"#define ae2f_IS_APPLE 0\n"\
5403"#endif\n"\
5404"\n"\
5405"#if (ae2f_IS_WIN == ae2f_IS_LINUX) && (ae2f_IS_LINUX == ae2f_IS_APPLE) && (ae2f_IS_APPLE == ae2f_IS_WIN)\n"\
5406"/** PLATFORM NOT SPECIFIED. */\n"\
5407"\n"\
5408"/**** @brief UNSPECIFIED */\n"\
5409"#define ae2f_IDK 1\n"\
5410"#else\n"\
5411"/**** @brief UNSPECIFIED */\n"\
5412"#define ae2f_IDK 0\n"\
5413"#endif\n"\
5414"/** One eof gracefully */ \\\n"\
5415"\n"\
5416"/** include detected */ \\\n"\
5417"/** Path cursor */ \\\n"\
5418"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5419"/** first fp: 0x55d6918360c0 */ \\\n"\
5420"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5421"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./ */ \\\n"\
5422"/** Found something. Now let\'s validate. */ \\\n"\
5423"/** It\'s not repeating */ \\\n"\
5424"/******************** */\\\n"\
5425"/* Now the path will be: */ \\\n"\
5426" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/./Call.auto.h */ \\\n"\
5427"/**\n"\
5428"\n"\
5429" * @file Call.h\n"\
5430" * @author ae2f\n"\
5431" * @brief \n"\
5432" * @date 2025-02-01\n"\
5433" * \n"\
5434" * @copyright Copyright (c) 2025\n"\
5435" * \n"\
5436" */\n"\
5437"\n"\
5438"/** @brief Is a library shared */\n"\
5439"#define ae2f_IS_SHARED ON\n"\
5440"/** One eof gracefully */ \\\n"\
5441"\n"\
5442"\n"\
5443"#if ae2f_IS_SHARED\n"\
5444"\n"\
5445"#if ae2f_IS_WIN\n"\
5446"/// @brief\n"\
5447"/// # For Windows\n"\
5448"/// \n"\
5449"/// shared function imp\n"\
5450"#define ae2f_SHAREDEXPORT __declspec(dllexport)\n"\
5451"\n"\
5452"/// @brief\n"\
5453"/// # For Windows\n"\
5454"/// \n"\
5455"/// Function api call\n"\
5456"#define ae2f_SHAREDCALL \n"\
5457"#endif\n"\
5458"\n"\
5459"#if ae2f_IS_LINUX || ae2f_IS_APPLE\n"\
5460"/// @brief\n"\
5461"/// # For Linux, gcc based.\n"\
5462"/// \n"\
5463"/// shared function imp\n"\
5464"#define ae2f_SHAREDEXPORT __attribute__((visibility(\"default\")))\n"\
5465"\n"\
5466"/// @brief\n"\
5467"/// # For Linux, gcc based.\n"\
5468"///\n"\
5469"/// Function api call\n"\
5470"#define ae2f_SHAREDCALL\n"\
5471"#endif\n"\
5472"\n"\
5473"\n"\
5474"\n"\
5475"#else\n"\
5476"\n"\
5477"/// @brief\n"\
5478"/// # It is no shared library.\n"\
5479"/// \n"\
5480"/// shared function imp\n"\
5481"#define ae2f_SHAREDEXPORT\n"\
5482"/// @brief \n"\
5483"/// # It is no shared library.\n"\
5484"///\n"\
5485"/// Function api call\n"\
5486"#define ae2f_SHAREDCALL\n"\
5487"#endif\n"\
5488"\n"\
5489"#endif\n"\
5490"/** One eof gracefully */ \\\n"\
5491"\n"\
5492"\n"\
5493"#ifndef ae2f_MAC_BUILD\n"\
5494"#define\tae2f_MAC_BUILD ON\n"\
5495"#endif\n"\
5496"\n"\
5497"/** One eof gracefully */ \\\n"\
5498"\n"\
5499"\n"\
5500"#define ae2f_AnnUtilPtr2Name(A_t, B_t) \\\n"\
5501"\tae2f_AnnUtilPtr__##A_t##B_t\n"\
5502"\n"\
5503"#define ae2f_AnnUtilV2Name(A_t, B_t) \\\n"\
5504"\tae2f_AnnUtilV2Name__##A_t##B_t\n"\
5505"\n"\
5506"#define ae2f_AnnUtilV2(A_LEFT, A_t, A_POST, B_LEFT, B_t, B_POST) \\\n"\
5507"\tae2f_structdef(union, ae2f_AnnUtilV2Name(A_t, B_t)) \\\n"\
5508"{ A_LEFT A_t A_POST a; B_LEFT B_t B_POST b; }\n"\
5509"\n"\
5510"#define ae2f_AnnUtilPtr2(A_t, B_t, ...) \\\n"\
5511"\tae2f_structdef(union, ae2f_AnnUtilPtr2Name(A_t, B_t)) \\\n"\
5512"{ A_t* a; B_t* b; }\n"\
5513"\n"\
5514"/** include detected */ \\\n"\
5515"/** Path cursor */ \\\n"\
5516"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
5517"/** first fp: (nil) */ \\\n"\
5518"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5519"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5520"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5521"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5522"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5523"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5524"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5525"/** Found something. Now let\'s validate. */ \\\n"\
5526"/** It\'s not repeating */ \\\n"\
5527"/******************** */\\\n"\
5528"/* Now the path will be: */ \\\n"\
5529" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5530"/**\n"\
5531"\n"\
5532" * @file End.h\n"\
5533" * @author ae2f\n"\
5534" * @brief \n"\
5535" * @date 2025-02-01\n"\
5536" * \n"\
5537" * @copyright Copyright (c) 2025\n"\
5538" * \n"\
5539" */\n"\
5540"\n"\
5541"#if ae2f_PackCount\n"\
5542"#pragma pack(pop)\n"\
5543"#endif\n"\
5544"/** One eof gracefully */ \\\n"\
5545"\n"\
5546"\n"\
5547"#endif\n"\
5548"/** One eof gracefully */ \\\n"\
5549"\n"\
5550"\n"\
5551"/**\n"\
5552"\n"\
5553" * @brief\n"\
5554" * # Single Layered Perceptron\n"\
5555" *\n"\
5556"\n"\
5557" * Multiple input, multiple output. \\n\n"\
5558" * For predicting & training operations are able to be parallel.\n"\
5559" */\n"\
5560"ae2f_structdef(struct, ae2f_AnnSlp_t) {\n"\
5561"\t/**\n"\
5562"\n"\
5563"\t * @brief \n"\
5564"\t * input count\n"\
5565"\t */\n"\
5566"\tsize_t m_inc;\n"\
5567"\n"\
5568"\t/**\n"\
5569"\n"\
5570"\t * @brief \n"\
5571"\t * output count\n"\
5572"\t */\n"\
5573"\tsize_t m_outc;\n"\
5574"};\n"\
5575"\n"\
5576"/**\n"\
5577"\n"\
5578" * @brief\n"\
5579" * Structure for SLP prediction and training data.\n"\
5580" */\n"\
5581"ae2f_structdef(struct, ae2f_AnnSlpPredict_t) {\n"\
5582"\t/**\n"\
5583"\n"\
5584"\t * @brief\n"\
5585"\t * Loop counters and layer sizes.\n"\
5586"\t */\n"\
5587"\tsize_t\t\t\tm_i, m_j;\n"\
5588"\n"\
5589"\tae2f_float_t\t\tm_ret;\n"\
5590"\tae2f_float_t\t\tm_tmp;\n"\
5591"};\n"\
5592"\n"\
5593"ae2f_structdef(struct, ae2f_AnnSlpTrain_t) {\n"\
5594"\t/**\n"\
5595"\n"\
5596"\t * @brief\n"\
5597"\t * Loop counters and layer sizes.\n"\
5598"\t */\n"\
5599"\tsize_t\t\t\tm_i, m_j;\n"\
5600"\n"\
5601"\tae2f_float_t\t\tm_ret;\n"\
5602"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5603"};\n"\
5604"\n"\
5605"ae2f_structdef(struct, ae2f_AnnSlpPredictOne_t) {\n"\
5606"\tsize_t\t\tm_j;\n"\
5607"\tae2f_float_t\tm_ret;\n"\
5608"\tae2f_float_t\tm_tmp;\n"\
5609"};\n"\
5610"\n"\
5611"ae2f_structdef(struct, ae2f_AnnSlpTrainOne_t) {\n"\
5612"\tsize_t\t\tm_j;\n"\
5613"\tae2f_float_t\tm_ret;\n"\
5614"\tae2f_float_t\tm_tmp, m_tmp1;\n"\
5615"};\n"\
5616"\n"\
5617"/**\n"\
5618"\n"\
5619" * @brief\n"\
5620" * Structure for a single step of the follow operation.\n"\
5621" */\n"\
5622"ae2f_structdef_n(struct, ae2f_AnnSlpFollowOne_t, ae2f_AnnSlpFitOne_t) {\n"\
5623"\t/**\n"\
5624"\n"\
5625"\t * @brief\n"\
5626"\t * Loop counter.\n"\
5627"\t */\n"\
5628"\tsize_t\t\t\tm_j;\n"\
5629"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5630"};\n"\
5631"\n"\
5632"\n"\
5633"/**\n"\
5634"\n"\
5635" * @brief\n"\
5636" * Structure for SLP follow, fit, and fetch delta operations.\n"\
5637" */\n"\
5638"ae2f_structdef_n(struct, ae2f_AnnSlpFollow_t, ae2f_AnnSlpFit_t, ae2f_AnnSlpFetchDelta_t) {\n"\
5639"\t/**\n"\
5640"\n"\
5641"\t * @brief\n"\
5642"\t * Loop counters and layer sizes.\n"\
5643"\t */\n"\
5644"\tsize_t\t\t\tm_i, m_j;\n"\
5645"\tae2f_float_t\t\tm_tmp, m_tmp1;\n"\
5646"};\n"\
5647"\n"\
5648"/** include detected */ \\\n"\
5649"/** Path cursor */ \\\n"\
5650"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Pack/End.h */ \\\n"\
5651"/** first fp: (nil) */ \\\n"\
5652"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5653"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5654"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5655"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5656"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5657"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5658"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5659"/** Found something. Now let\'s validate. */ \\\n"\
5660"/** It\'s not repeating */ \\\n"\
5661"/******************** */\\\n"\
5662"/* Now the path will be: */ \\\n"\
5663" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5664"/**\n"\
5665"\n"\
5666" * @file End.h\n"\
5667" * @author ae2f\n"\
5668" * @brief \n"\
5669" * @date 2025-02-01\n"\
5670" * \n"\
5671" * @copyright Copyright (c) 2025\n"\
5672" * \n"\
5673" */\n"\
5674"\n"\
5675"#if ae2f_PackCount\n"\
5676"#pragma pack(pop)\n"\
5677"#endif\n"\
5678"/** One eof gracefully */ \\\n"\
5679"\n"\
5680"\n"\
5681"#endif\n"\
5682"/** One eof gracefully */ \\\n"\
5683"\n"\
5684"/** include detected */ \\\n"\
5685"/** Path cursor */ \\\n"\
5686"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
5687"/** first fp: (nil) */ \\\n"\
5688"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
5689"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5690"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5691"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
5692"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5693"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5694"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5695"/** Found something. Now let\'s validate. */ \\\n"\
5696"/** It\'s not repeating */ \\\n"\
5697"/******************** */\\\n"\
5698"/* Now the path will be: */ \\\n"\
5699" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
5700"/**\n"\
5701"\n"\
5702" * @file Beg.h\n"\
5703" * @author ae2f\n"\
5704" * @brief\n"\
5705" * @date 2025-02-01\n"\
5706" * \n"\
5707" * @copyright Copyright (c) 2025\n"\
5708" * \n"\
5709" */\n"\
5710"\n"\
5711"/** include detected */ \\\n"\
5712"/** Path cursor */ \\\n"\
5713"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5714"/** first fp: 0x55d691832af0 */ \\\n"\
5715"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5716"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
5717"/** Found something. Now let\'s validate. */ \\\n"\
5718"/** It\'s not repeating */ \\\n"\
5719"/******************** */\\\n"\
5720"/* Now the path will be: */ \\\n"\
5721" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
5722"/**\n"\
5723"\n"\
5724" * @file Num.h\n"\
5725" * @author ae2f\n"\
5726" * @brief \n"\
5727" * @date 2025-02-01\n"\
5728" * \n"\
5729" * @copyright Copyright (c) 2025\n"\
5730" * \n"\
5731" */\n"\
5732"\n"\
5733"/// @brief\n"\
5734"/// Pre-defined structure packed byte count.\n"\
5735"/// \n"\
5736"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
5737"#define ae2f_PackCount 0\n"\
5738"/** One eof gracefully */ \\\n"\
5739"\n"\
5740"\n"\
5741"#if ae2f_PackCount\n"\
5742"#pragma pack(push, 0)\n"\
5743"#endif\n"\
5744"/** One eof gracefully */ \\\n"\
5745"\n"\
5746"\n"\
5747"/**\n"\
5748"\n"\
5749" * @brief\n"\
5750" * # Single Layered Perceptron\n"\
5751" *\n"\
5752"\n"\
5753" * This is the main structure for the SLP.\n"\
5754" */\n"\
5755"ae2f_structdef(struct, ae2f_AnnSlp) \n"\
5756"#if ae2f_NEED_CLASS\n"\
5757"{\n"\
5758"\t/**\n"\
5759"\n"\
5760"\t * @brief\n"\
5761"\t * Weights of the network.\n"\
5762"\t */\n"\
5763"\tae2f_float_t* restrict m_weight;\n"\
5764"\t/**\n"\
5765"\n"\
5766"\t * @brief\n"\
5767"\t * Biases of the network.\n"\
5768"\t */\n"\
5769"\tae2f_float_t* restrict m_bias;\n"\
5770"\t/**\n"\
5771"\n"\
5772"\t * @brief\n"\
5773"\t * Cache for layer outputs.\n"\
5774"\t */\n"\
5775"\tae2f_float_t* restrict m_cache;\n"\
5776"\n"\
5777"\t/**\n"\
5778"\n"\
5779"\t * @brief\n"\
5780"\t * SLP data.\n"\
5781"\t */\n"\
5782"\tae2f_AnnSlp_t m_Slp[1];\n"\
5783"\n"\
5784"\t/**\n"\
5785"\n"\
5786"\t * @brief\n"\
5787"\t * Activation function.\n"\
5788"\t */\n"\
5789"\tae2f_AnnAct_t * m_act;\n"\
5790"\t/**\n"\
5791"\n"\
5792"\t * @brief\n"\
5793"\t * Derivative of the activation function.\n"\
5794"\t */\n"\
5795"\tae2f_AnnAct_t * m_actderiv;\n"\
5796"\t/**\n"\
5797"\n"\
5798"\t * @brief\n"\
5799"\t * Derivative of the loss function.\n"\
5800"\t */\n"\
5801"\tae2f_AnnLoss_t* m_lossderiv;\n"\
5802"\n"\
5803"\t/**\n"\
5804"\n"\
5805"\t * @brief\n"\
5806"\t * Learning rate for weights.\n"\
5807"\t */\n"\
5808"\tae2f_float_t m_learningrate;\n"\
5809"\t/**\n"\
5810"\n"\
5811"\t * @brief\n"\
5812"\t * Learning rate for biases.\n"\
5813"\t */\n"\
5814"\tae2f_float_t m_learningrate_bias;\n"\
5815"\n"\
5816"#if ae2f_WhenCXX(!)0\n"\
5817"#define ae2f_TMP\n"\
5818"\n"\
5819"\tinline static void ae2f_TMP operator delete(void* end);\n"\
5820"\tinline static void* ae2f_TMP operator new(\n"\
5821"\t\tsize_t oneonly\n"\
5822"\t\t, ae2f_LP(inc * outc) ae2f_float_t* restrict const\tweight_opt,\n"\
5823"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tbias_opt,\n"\
5824"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tcache_opt,\n"\
5825"\n"\
5826"\t\tconst size_t\t\t\t\t\tinc,\n"\
5827"\t\tconst size_t\t\t\t\t\toutc,\n"\
5828"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
5829"\n"\
5830"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
5831"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
5832"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
5833"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
5834"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
5835"\t\tae2f_opt ae2f_err_t* restrict const\t\terr_opt\n"\
5836"\t\t) throw();\n"\
5837"\n"\
5838"\tinline void ae2f_TMP Predict(\n"\
5839"\t\tae2f_err_t* const err_opt\n"\
5840"\t\t, ae2f_LP(_this::inc)\n"\
5841"\t\tconst ae2f_float_t* const prm_in\n"\
5842"\t\t, ae2f_LP(_this::outc)\n"\
5843"\t\tae2f_float_t* const out\n"\
5844"\t\t) const;\n"\
5845"\n"\
5846"\tinline void ae2f_TMP Follow(\n"\
5847"\t\tae2f_err_t* const reterr_opt\n"\
5848"\t\t, ae2f_LP(_this::inc)\n"\
5849"\t\tconst ae2f_float_t* const prm_in\n"\
5850"\t\t, ae2f_LP(_this::outc) \n"\
5851"\t\tconst ae2f_float_t* const delta\n"\
5852"\t\t);\n"\
5853"\n"\
5854"\tinline void ae2f_TMP Fit(\n"\
5855"\t\tae2f_err_t* const reterr_opt\n"\
5856"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
5857"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
5858"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
5859"\t\t);\n"\
5860"\n"\
5861"\tinline void ae2f_TMP Train(\n"\
5862"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
5863"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
5864"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
5865"\t\t);\n"\
5866"\n"\
5867"#undef ae2f_TMP\n"\
5868"#endif \n"\
5869"}\n"\
5870"#endif\n"\
5871";\n"\
5872"\n"\
5873"/** include detected */ \\\n"\
5874"/** Path cursor */ \\\n"\
5875"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
5876"/** first fp: (nil) */ \\\n"\
5877"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
5878"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
5879"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5880"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
5881"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5882"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5883"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
5884"/** Found something. Now let\'s validate. */ \\\n"\
5885"/** It\'s not repeating */ \\\n"\
5886"/******************** */\\\n"\
5887"/* Now the path will be: */ \\\n"\
5888" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
5889"/**\n"\
5890"\n"\
5891" * @file End.h\n"\
5892" * @author ae2f\n"\
5893" * @brief \n"\
5894" * @date 2025-02-01\n"\
5895" * \n"\
5896" * @copyright Copyright (c) 2025\n"\
5897" * \n"\
5898" */\n"\
5899"\n"\
5900"#if ae2f_PackCount\n"\
5901"#pragma pack(pop)\n"\
5902"#endif\n"\
5903"/** One eof gracefully */ \\\n"\
5904"\n"\
5905"\n"\
5906"\n"\
5907"/* @memberof ae2f_mAnnSlp\n"\
5908" * @brief\n"\
5909" * Desired least byte size for initialising.\n"\
5910" *\n"\
5911"\n"\
5912" * Cache\t(output size)\n"\
5913" * Bias\t\t(output size)\n"\
5914" * Weight\t(input * output)\n"\
5915" */\n"\
5916"#define ae2f_AnnSlpFieldSz(inc, outc) ((((inc) + 2) * ((outc)) * sizeof(ae2f_float_t)) + sizeof(ae2f_AnnSlp))\n"\
5917"\n"\
5918"#if ae2f_NEED_CLASS\n"\
5919"\n"\
5920"/**\n"\
5921"\n"\
5922" * @brief\n"\
5923" * Initiator\n"\
5924" *\n"\
5925"\n"\
5926" * No allocation is occurred on this function.\n"\
5927" */\n"\
5928"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpInit(\n"\
5929"\t\tae2f_AnnSlp_t* restrict _this,\n"\
5930"\t\tconst size_t inc,\n"\
5931"\t\tconst size_t outc,\n"\
5932"\t\tconst size_t offset_opt,\n"\
5933"\t\tae2f_err_t* restrict const err_opt,\n"\
5934"\t\tsize_t* restrict const initsz_opt\n"\
5935"\t\t) noexcept;\n"\
5936"\n"\
5937"/* \n"\
5938" * @memberof ae2f_AnnSlp\n"\
5939" * @brief \n"\
5940" * Makes a typical( @ref ae2f_mAnnSp::expected ) perceptron.\n"\
5941" * See @ref ae2f_mAnnSlpInit.\n"\
5942" * \n"\
5943" * It is heap-allocated. pass the output @ref ae2f_mAnnSpDel after use.\n"\
5944" */\n"\
5945"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpMk(\n"\
5946"\t\tae2f_LP(inc * outc) ae2f_float_t* restrict const\tweight_opt,\n"\
5947"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tbias_opt,\n"\
5948"\t\tae2f_LP(outc) ae2f_float_t* restrict const \t\t\tcache_opt,\n"\
5949"\n"\
5950"\t\tconst size_t\t\t\t\t\tinc,\n"\
5951"\t\tconst size_t\t\t\t\t\toutc,\n"\
5952"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
5953"\t\tconst size_t\t\t\t\t\textra_opt,\n"\
5954"\t\tae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel) \n"\
5955"\t\tae2f_AnnSlp* restrict * restrict const\t\tslp,\n"\
5956"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
5957"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
5958"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
5959"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
5960"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
5961"\t\tae2f_opt ae2f_err_t* restrict const\t\t\terr_opt\n"\
5962"\t\t) noexcept;\n"\
5963"\n"\
5964"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpDel(\n"\
5965"\t\tae2f_AnnSlp* restrict const slp\n"\
5966"\t\t) noexcept;\n"\
5967"\n"\
5968"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpPredict(\n"\
5969"\t\tae2f_err_t* restrict const err_opt\n"\
5970"\t\t, const ae2f_AnnSlp* restrict const _this\n"\
5971"\t\t, ae2f_LP(_this::inc)\n"\
5972"\t\tconst ae2f_float_t* restrict const prm_in\n"\
5973"\t\t, ae2f_LP(_this::outc)\n"\
5974"\t\tae2f_float_t* restrict const out\n"\
5975"\t\t) noexcept;\n"\
5976"\n"\
5977"\t/** \n"\
5978"\t * @brief \n"\
5979"\t * Adjusts the field based on delta\n"\
5980"\t *\n"\
5981"\n"\
5982"\t * @param delta\n"\
5983"\t *\n"\
5984"\n"\
5985"\t * @param prm_in\n"\
5986"\t *\n"\
5987"\n"\
5988"\t * @param field\n"\
5989"\t * Contains weights and biases\n"\
5990"\t *\n"\
5991"\n"\
5992"\t * @param learningrate\n"\
5993"\t * Learning rate for weights\n"\
5994"\t *\n"\
5995"\n"\
5996"\t * @param learningrate_bias\n"\
5997"\t * Learning rate for biases \n"\
5998"\t * */\n"\
5999"ae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFollow(\n"\
6000"\t\tae2f_err_t* restrict const reterr_opt\n"\
6001"\t\t, const ae2f_AnnSlp* restrict const _this\n"\
6002"\t\t, ae2f_LP(_this::inc)\n"\
6003"\t\tconst ae2f_float_t* restrict const prm_in\n"\
6004"\t\t, ae2f_LP(_this::outc) \n"\
6005"\t\tconst ae2f_float_t* restrict const delta\n"\
6006"\t\t) noexcept;\n"\
6007"\n"\
6008"\t/** \n"\
6009"\t * @brief\n"\
6010"\t * Adjusts the delta based on output and desired output.\n"\
6011"\t * */\n"\
6012"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFit(\n"\
6013"\t\t\t\tae2f_err_t* const reterr_opt\n"\
6014"\t\t\t\t, const ae2f_AnnSlp* const _this\n"\
6015"\t\t\t\t, ae2f_LP(_this::inc) const ae2f_float_t* restrict const prm_inp\n"\
6016"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* restrict const prm_out\n"\
6017"\t\t\t\t, ae2f_LP(_this::outc) const ae2f_float_t* restrict const prm_out_desired\n"\
6018"\t\t\t\t) noexcept;\n"\
6019"\n"\
6020"\t/** @brief Calculates the delta based on output and desired output. */\n"\
6021"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpFetchDelta(\n"\
6022"\t\t\t\tae2f_opt ae2f_err_t* restrict const\t\terr\n"\
6023"\t\t\t\t, const ae2f_AnnSlp* restrict\t\t\tslp\n"\
6024"\n"\
6025"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* restrict const\tout\n"\
6026"\t\t\t\t, ae2f_LP(slp::outc) const ae2f_float_t* restrict const\tout_desired\n"\
6027"\n"\
6028"\t\t\t\t, ae2f_LP(slp::outc) ae2f_float_t* restrict const\tretdelta\n"\
6029"\t\t\t\t) noexcept;\n"\
6030"\n"\
6031"\t/** @brief Adjusts the weights and biases based on predicted output from input and desired outpu. */\n"\
6032"\t\tae2f_extern ae2f_SHAREDCALL void ae2f_AnnSlpTrain(\n"\
6033"\t\t\t\tae2f_err_t* const restrict\t\t\t\t\terr\n"\
6034"\t\t\t\t, ae2f_AnnSlp*\trestrict\t\t\t\tslp\n"\
6035"\t\t\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\trestrict\tinp\n"\
6036"\t\t\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\trestrict\tout_desired\n"\
6037"\t\t\t\t) noexcept;\n"\
6038"\n"\
6039"#endif\n"\
6040"\n"\
6041"#if !(ae2f_MAC_BUILD)\n"\
6042"\n"\
6043"#define ae2f_AnnSlpInit\t\t__ae2f_AnnSlpInit_C\n"\
6044"#define ae2f_AnnSlpMk\t\t__ae2f_AnnSlpMk_C\n"\
6045"#define ae2f_AnnSlpDel\t\t__ae2f_AnnSlpDel_C\n"\
6046"#define ae2f_AnnSlpPredict\t__ae2f_AnnSlpPredict_C\n"\
6047"#define ae2f_AnnSlpFollow\t__ae2f_AnnSlpFollow_C\n"\
6048"#define ae2f_AnnSlpFit\t\t__ae2f_AnnSlpFit_C\n"\
6049"#define ae2f_AnnSlpTrain\t__ae2f_AnnSlpTrain_C\n"\
6050"#define ae2f_AnnSlpFetchDelta\t__ae2f_AnnSlpFetchDelta_C\n"\
6051"\n"\
6052"\n"\
6053"#endif /** macbuild */\n"\
6054"#endif\n"\
6055"\n"\
6056"#if !defined(ae2f_Ann_Slp_imp_h)\n"\
6057"#define ae2f_Ann_Slp_imp_h\n"\
6058"\n"\
6059"/** include detected */ \\\n"\
6060"/** Path cursor */ \\\n"\
6061"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/Beg.h */ \\\n"\
6062"/** first fp: (nil) */ \\\n"\
6063"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/Beg.h */ \\\n"\
6064"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6065"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
6066"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/Beg.h */ \\\n"\
6067"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6068"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6069"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
6070"/** Found something. Now let\'s validate. */ \\\n"\
6071"/** It\'s not repeating */ \\\n"\
6072"/******************** */\\\n"\
6073"/* Now the path will be: */ \\\n"\
6074" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/Beg.h */ \\\n"\
6075"/**\n"\
6076"\n"\
6077" * @file Beg.h\n"\
6078" * @author ae2f\n"\
6079" * @brief\n"\
6080" * @date 2025-02-01\n"\
6081" * \n"\
6082" * @copyright Copyright (c) 2025\n"\
6083" * \n"\
6084" */\n"\
6085"\n"\
6086"/** include detected */ \\\n"\
6087"/** Path cursor */ \\\n"\
6088"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6089"/** first fp: 0x55d691832af0 */ \\\n"\
6090"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6091"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./ */ \\\n"\
6092"/** Found something. Now let\'s validate. */ \\\n"\
6093"/** It\'s not repeating */ \\\n"\
6094"/******************** */\\\n"\
6095"/* Now the path will be: */ \\\n"\
6096" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/./Num.auto.h */ \\\n"\
6097"/**\n"\
6098"\n"\
6099" * @file Num.h\n"\
6100" * @author ae2f\n"\
6101" * @brief \n"\
6102" * @date 2025-02-01\n"\
6103" * \n"\
6104" * @copyright Copyright (c) 2025\n"\
6105" * \n"\
6106" */\n"\
6107"\n"\
6108"/// @brief\n"\
6109"/// Pre-defined structure packed byte count.\n"\
6110"/// \n"\
6111"/// See @ref ___DOC_CMAKE::ae2f_packcount\n"\
6112"#define ae2f_PackCount 0\n"\
6113"/** One eof gracefully */ \\\n"\
6114"\n"\
6115"\n"\
6116"#if ae2f_PackCount\n"\
6117"#pragma pack(push, 0)\n"\
6118"#endif\n"\
6119"/** One eof gracefully */ \\\n"\
6120"\n"\
6121"\n"\
6122"\n"\
6123"ae2f_AnnUtilV2(,ae2f_float_t,*restrict, ,ae2f_AnnSlp, *restrict);\n"\
6124"\n"\
6125"/**\n"\
6126"\n"\
6127" * @brief\n"\
6128" * Structure for SLP creation data.\n"\
6129" */\n"\
6130"ae2f_structdef(struct, ae2f_AnnSlpMk_t) {\n"\
6131"\t/**\n"\
6132"\n"\
6133"\t * @brief\n"\
6134"\t * Stack size and allocation count.\n"\
6135"\t */\n"\
6136"\tsize_t m_stack, m_alloccount;\n"\
6137"\t/**\n"\
6138"\n"\
6139"\t * @brief\n"\
6140"\t * Pointer to the created SLP.\n"\
6141"\t */\n"\
6142"\tae2f_AnnSlp* restrict m_ptr;\n"\
6143"\t/**\n"\
6144"\n"\
6145"\t * @brief\n"\
6146"\t * Field pointer for SLP data.\n"\
6147"\t */\n"\
6148"\tae2f_AnnUtilV2Name(ae2f_float_t, ae2f_AnnSlp) m_fieldptr;\n"\
6149"};\n"\
6150"\n"\
6151"/** include detected */ \\\n"\
6152"/** Path cursor */ \\\n"\
6153"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ae2f/Pack/End.h */ \\\n"\
6154"/** first fp: (nil) */ \\\n"\
6155"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Pack/End.h */ \\\n"\
6156"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/ae2f/Pack/End.h */ \\\n"\
6157"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
6158"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incae2f/Pack/End.h */ \\\n"\
6159"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6160"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6161"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/ */ \\\n"\
6162"/** Found something. Now let\'s validate. */ \\\n"\
6163"/** It\'s not repeating */ \\\n"\
6164"/******************** */\\\n"\
6165"/* Now the path will be: */ \\\n"\
6166" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/ae2f/Pack/End.h */ \\\n"\
6167"/**\n"\
6168"\n"\
6169" * @file End.h\n"\
6170" * @author ae2f\n"\
6171" * @brief \n"\
6172" * @date 2025-02-01\n"\
6173" * \n"\
6174" * @copyright Copyright (c) 2025\n"\
6175" * \n"\
6176" */\n"\
6177"\n"\
6178"#if ae2f_PackCount\n"\
6179"#pragma pack(pop)\n"\
6180"#endif\n"\
6181"/** One eof gracefully */ \\\n"\
6182"\n"\
6183"#endif\n"\
6184"\n"\
6185"/** include detected */ \\\n"\
6186"/** Path cursor */ \\\n"\
6187"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6188"/** first fp: 0x55d691831900 */ \\\n"\
6189"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6190"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ */ \\\n"\
6191"/** Found something. Now let\'s validate. */ \\\n"\
6192"/** It\'s not repeating */ \\\n"\
6193"/******************** */\\\n"\
6194"/* Now the path will be: */ \\\n"\
6195" /*/home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./Slp.auto.h */ \\\n"\
6196"#undef\t__ae2f_MACRO_GENERATED\n"\
6197"#define\t__ae2f_MACRO_GENERATED\t1\n"\
6198"#ifndef ae2f_Ann_Slp_c\n"\
6199"#if !__ae2f_MACRO_GENERATED\n"\
6200"/** include detected */ \\\n"\
6201"/** Path cursor */ \\\n"\
6202"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./ae2f/Ann/Slp.h */ \\\n"\
6203"/** first fp: (nil) */ \\\n"\
6204"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
6205"/** Current /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/Slp.h */ \\\n"\
6206"/** Dir /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/ */ \\\n"\
6207"/** Found something. Now let\'s validate. */ \\\n"\
6208"/** It\'s repeating himself for some reason. */ \\\n"\
6209"\n"\
6210"#undef __ae2f_MACRO_GENERATED\n"\
6211"#define __ae2f_MACRO_GENERATED 1\n"\
6212"#endif\n"\
6213"\n"\
6214"#define ae2f_Ann_Slp_c\n"\
6215"\n"\
6216"#if !(ae2f_MAC_BUILD) && ae2f_NEED_CLASS || !(__ae2f_MACRO_GENERATED)\n"\
6217"/** include detected */ \\\n"\
6218"/** Path cursor */ \\\n"\
6219"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./stdlib.h */ \\\n"\
6220"/** first fp: (nil) */ \\\n"\
6221"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdlib.h */ \\\n"\
6222"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdlib.h */ \\\n"\
6223"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
6224"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
6225"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdlib.h */ \\\n"\
6226"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdlib.h */ \\\n"\
6227"/** Failed but ignoring it. */ \\\n"\
6228"\n"\
6229"#undef __ae2f_MACRO_GENERATED\n"\
6230"#define __ae2f_MACRO_GENERATED 1\n"\
6231"/** include detected */ \\\n"\
6232"/** Path cursor */ \\\n"\
6233"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/./assert.h */ \\\n"\
6234"/** first fp: (nil) */ \\\n"\
6235"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/assert.h */ \\\n"\
6236"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/assert.h */ \\\n"\
6237"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
6238"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
6239"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/assert.h */ \\\n"\
6240"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/classert.h */ \\\n"\
6241"/** Failed but ignoring it. */ \\\n"\
6242"\n"\
6243"#undef __ae2f_MACRO_GENERATED\n"\
6244"#define __ae2f_MACRO_GENERATED 1\n"\
6245"#endif /** for non-builds */\n"\
6246"\n"\
6247"#define __ae2f_AnnSlpDel\tfree\n"\
6248"#define __ae2f_AnnSlpDel_C\tfree\n"\
6249"\n"\
6250"#if ae2f_NEED_CLASS\n"\
6251"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
6252"\t/** tparam */ \\\n"\
6253"\t\t \\\n"\
6254" \\\n"\
6255"\t/** param */ \\\n"\
6256"\t\t/* , size_t */ v_init, \\\n"\
6257"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
6258"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6259"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6260"\t\t/* const size_t */ inc, \\\n"\
6261"\t\t/* const size_t */ outc \\\n"\
6262") \\\n"\
6263"{ \\\n"\
6264"\t(v_init) = \\\n"\
6265"\t\tsizeof(ae2f_AnnSlp) \\\n"\
6266"\t\t+ \t((weight_opt) ? 0 : (inc) * (outc)) * sizeof(ae2f_float_t) \\\n"\
6267"\t\t+\t((bias_opt) ? 0 : (outc)) * sizeof(ae2f_float_t) \\\n"\
6268"\t\t+\t((cache_opt) ? 0 : (outc) * sizeof(ae2f_float_t)) \\\n"\
6269"\t\t; \\\n"\
6270"}\n"\
6271"\n"\
6272"#define __ae2f_AnnSlpInit_imp( \\\n"\
6273"\t/** tparam */ \\\n"\
6274"\t\t \\\n"\
6275" \\\n"\
6276"\t/** param */ \\\n"\
6277"\t\t/* , size_t */ v_init, \\\n"\
6278"\t\t/* ae2f_AnnSlp_t */ _this, \\\n"\
6279"\t\t/* const size_t */ inc, \\\n"\
6280"\t\t/* const size_t */ outc, \\\n"\
6281"\t\t/* const size_t */ incmax_opt \\\n"\
6282") \\\n"\
6283"{ \\\n"\
6284"\t/* Calculate maximum input size */ \\\n"\
6285"\tunless(incmax_opt) { \\\n"\
6286"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
6287"\t\t\t\tv_init, 0, 0, 0, inc, outc \\\n"\
6288"\t\t\t\t); \\\n"\
6289"\t\t(_this).m_inc\t=\t(inc); \\\n"\
6290"\t} else { \\\n"\
6291"\t\t(_this).m_inc\t=\t(incmax_opt); \\\n"\
6292"\t} \\\n"\
6293" \\\n"\
6294"\t(_this).m_outc\t=\t(outc); \\\n"\
6295"}\n"\
6296"\n"\
6297"\n"\
6298"#define __ae2f_AnnSlpInit( \\\n"\
6299"\t/** tparam */ \\\n"\
6300"\t\t \\\n"\
6301" \\\n"\
6302"\t/** param */ \\\n"\
6303"\t\t/* ,ae2f_AnnSlp_t* const */ _this, \\\n"\
6304"\t\t/* const size_t */ inc, \\\n"\
6305"\t\t/* const size_t */ outc, \\\n"\
6306"\t\t/* const size_t */ offset_opt, \\\n"\
6307"\t\t/* ae2f_err_t* const */ err_opt, \\\n"\
6308"\t\t/* size_t* const */ initsz_opt \\\n"\
6309") \\\n"\
6310"{ \\\n"\
6311"\tif((err_opt) && *(err_opt)) \\\n"\
6312"\t\t; \\\n"\
6313"\tunless(_this) \\\n"\
6314"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6315"\telse { \\\n"\
6316"\t\tsize_t v_init; \\\n"\
6317"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
6318"\t\t\t\tv_init \\\n"\
6319"\t\t\t\t, *(_this) \\\n"\
6320"\t\t\t\t, inc, outc \\\n"\
6321"\t\t\t\t, 0 \\\n"\
6322"\t\t\t\t); \\\n"\
6323"\t\t(initsz_opt) && (*(initsz_opt) = v_init + offset_opt); \\\n"\
6324"\t} \\\n"\
6325"}\n"\
6326"\n"\
6327"#else\n"\
6328"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
6329"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
6330"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6331"\n"\
6332"#undef\t__ae2f_AnnSlpInit_imp\n"\
6333"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
6334"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6335"\n"\
6336"#undef\t__ae2f_AnnSlpInit\n"\
6337"#define __ae2f_AnnSlpInit(...) \\\n"\
6338"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6339"#endif\n"\
6340"\n"\
6341"\n"\
6342"\n"\
6343"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
6344"\n"\
6345"#if ae2f_NEED_CLASS\n"\
6346"#define __ae2f_AnnSlpMk_imp( \\\n"\
6347"\t/** tparam */ \\\n"\
6348"\t\t \\\n"\
6349" \\\n"\
6350"\t/** param */ \\\n"\
6351"\t\t/* , ae2f_AnnSlpMk_t */ v_mk, \\\n"\
6352"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
6353"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6354"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6355"\t\t/* const size_t */ inc, \\\n"\
6356"\t\t/* const size_t */ outc, \\\n"\
6357"\t\t/* const size_t */ offset_opt, \\\n"\
6358"\t\t/* const size_t */ extra_opt, \\\n"\
6359"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
6360"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
6361"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
6362"\t\t/* ae2f_float_t */ learningrate, \\\n"\
6363"\t\t/* ae2f_float_t */ learningrate_bias \\\n"\
6364") \\\n"\
6365"{ \\\n"\
6366"\t__ae2f_AnnSlpInitInpSz_imp(v_mk.m_stack, weight_opt, bias_opt, cache_opt, inc, outc); \\\n"\
6367"\tif((v_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
6368"\t\t\t\t\tae2f_AnnSlp* \\\n"\
6369"\t\t\t\t\t, calloc((v_mk).m_stack + (offset_opt) + (extra_opt), 1))) \\\n"\
6370"\t ) { \\\n"\
6371"\t\t(v_mk).m_alloccount = 0; \\\n"\
6372"\t\t(v_mk).m_fieldptr.b = (v_mk).m_ptr + 1; \\\n"\
6373"\t\t(v_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
6374"\t\t\t\tae2f_AnnSlp* \\\n"\
6375"\t\t\t\t, ae2f_reinterpret_cast(char*, (v_mk).m_fieldptr.b) + (offset_opt) \\\n"\
6376"\t\t\t\t); \\\n"\
6377" \\\n"\
6378"\t\tif(weight_opt) { \\\n"\
6379"\t\t\t(v_mk).m_ptr->m_weight = (weight_opt); \\\n"\
6380"\t\t} else { \\\n"\
6381"\t\t\t(v_mk).m_ptr->m_weight = ((v_mk).m_fieldptr.a); \\\n"\
6382"\t\t\t(v_mk).m_fieldptr.a += (inc) * (outc); \\\n"\
6383"\t\t} \\\n"\
6384" \\\n"\
6385"\t\tif(bias_opt) { \\\n"\
6386"\t\t\t(v_mk).m_ptr->m_bias = (bias_opt); \\\n"\
6387"\t\t} else { \\\n"\
6388"\t\t\t(v_mk).m_ptr->m_bias = (v_mk).m_fieldptr.a; \\\n"\
6389"\t\t\t(v_mk).m_fieldptr.a += (outc); \\\n"\
6390"\t\t} \\\n"\
6391" \\\n"\
6392"\t\tif(cache_opt) { \\\n"\
6393"\t\t\t(v_mk).m_ptr->m_cache = (cache_opt); \\\n"\
6394"\t\t} else { \\\n"\
6395"\t\t\t(v_mk).m_ptr->m_cache = (v_mk).m_fieldptr.a; \\\n"\
6396"\t\t} \\\n"\
6397" \\\n"\
6398"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
6399"\t\t\t\t(v_mk).m_stack \\\n"\
6400"\t\t\t\t, v_mk.m_ptr->m_Slp[0] \\\n"\
6401"\t\t\t\t, inc \\\n"\
6402"\t\t\t\t, outc \\\n"\
6403"\t\t\t\t, inc \\\n"\
6404"\t\t\t\t); \\\n"\
6405" \\\n"\
6406"\t\t(v_mk).m_ptr[0].m_act = act; \\\n"\
6407"\t\t(v_mk).m_ptr[0].m_actderiv = actderiv; \\\n"\
6408"\t\t(v_mk).m_ptr[0].m_lossderiv = lossderiv; \\\n"\
6409"\t\t(v_mk).m_ptr[0].m_learningrate = learningrate; \\\n"\
6410"\t\t(v_mk).m_ptr[0].m_learningrate_bias = learningrate_bias; \\\n"\
6411"\t} \\\n"\
6412"}\n"\
6413"\n"\
6414"#define __ae2f_AnnSlpMk( \\\n"\
6415"\t/** tparam */ \\\n"\
6416"\t\t \\\n"\
6417" \\\n"\
6418"\t/** param */ \\\n"\
6419"\t\t/* ,ae2f_float_t* const */ weight_opt, \\\n"\
6420"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
6421"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
6422"\t\t/* const size_t */ inc, \\\n"\
6423"\t\t/* const size_t */ outc, \\\n"\
6424"\t\t/* const size_t */ offset_opt, \\\n"\
6425"\t\t/* const size_t */ extra_opt, \\\n"\
6426"\t\t/* ae2f_AnnSlp*** const */ slp, \\\n"\
6427"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
6428"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
6429"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
6430"\t\t/* ae2f_float_t */ learningrate, \\\n"\
6431"\t\t/* ae2f_float_t */ learningrate_bias, \\\n"\
6432"\t\t/* ae2f_optae2f_err_t* const */ err_opt \\\n"\
6433") \\\n"\
6434"{ \\\n"\
6435"\tif((err_opt) && *(err_opt)) \\\n"\
6436"\t\t; \\\n"\
6437"\telse unless(slp) \\\n"\
6438"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6439"\telse { \\\n"\
6440"\t\tae2f_AnnSlpMk_t v_mk; \\\n"\
6441"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
6442"\t\t\t\tv_mk \\\n"\
6443"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
6444"\t\t\t\t, inc \\\n"\
6445"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
6446" \\\n"\
6447"\t\t\t\t, act, actderiv, lossderiv \\\n"\
6448" \\\n"\
6449"\t\t\t\t, learningrate, learningrate_bias \\\n"\
6450"\t\t\t\t); \\\n"\
6451" \\\n"\
6452"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
6453"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6454"\t} \\\n"\
6455"}\n"\
6456"#else\n"\
6457"#undef\t__ae2f_AnnSlpMk_imp\n"\
6458"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
6459"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6460"\n"\
6461"#undef\t__ae2f_AnnSlpMk\n"\
6462"#define\t__ae2f_AnnSlpMk(...) \\\n"\
6463"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6464"#endif\n"\
6465"\n"\
6466"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
6467"\n"\
6468"/** @param v_predict has m_ret. That is the return value. */\n"\
6469"#define __ae2f_AnnSlpPredictOne_imp( \\\n"\
6470"\t/** tparam */ \\\n"\
6471"\t\t \\\n"\
6472" \\\n"\
6473"\t/** param */ \\\n"\
6474"\t\t/* , ae2f_AnnSlpPredictOne_t */ v_predict, \\\n"\
6475"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6476"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6477"\t\t/* const ae2f_float_t */ bias, \\\n"\
6478"\t\t/* ae2f_AnnAct_t */ act_opt, \\\n"\
6479"\t\t/* const size_t */ oidx, \\\n"\
6480"\t\t/* const size_t */ isz \\\n"\
6481") \\\n"\
6482"{ \\\n"\
6483"\t(v_predict).m_tmp = 0; \\\n"\
6484" \\\n"\
6485"\tfor((v_predict).m_j = (isz); (v_predict).m_j--; ) { \\\n"\
6486"\t\t(v_predict).m_tmp \\\n"\
6487"\t\t\t+= (prm_in)[(v_predict).m_j] \\\n"\
6488"\t\t\t* ((weight) + (oidx) * (isz))[(v_predict).m_j]; \\\n"\
6489"\t} \\\n"\
6490" \\\n"\
6491"\tact_opt((&(v_predict).m_ret), ((v_predict).m_tmp + (bias))); \\\n"\
6492"}\n"\
6493"\n"\
6494"#define __ae2f_AnnSlpPredict_imp( \\\n"\
6495"\t/** tparam */ \\\n"\
6496"\t\t \\\n"\
6497" \\\n"\
6498"\t/** param */ \\\n"\
6499"\t\t/* , ae2f_AnnSlpPredict_t */ v_predict, \\\n"\
6500"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
6501"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6502"\t\t/* ae2f_float_t* const */ out, \\\n"\
6503"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6504"\t\t/* constae2f_float_t* const */ bias, \\\n"\
6505"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
6506") \\\n"\
6507"{ \\\n"\
6508"\tfor((v_predict).m_i = (_this).m_outc; (v_predict).m_i--; ) \\\n"\
6509"\t{ \\\n"\
6510"\t\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
6511"\t\t\t\tv_predict \\\n"\
6512"\t\t\t\t, prm_in \\\n"\
6513"\t\t\t\t, weight \\\n"\
6514"\t\t\t\t, (bias)[(v_predict).m_i] \\\n"\
6515"\t\t\t\t, act_opt \\\n"\
6516"\t\t\t\t, (v_predict).m_i \\\n"\
6517"\t\t\t\t, (_this).m_inc \\\n"\
6518"\t\t\t\t); \\\n"\
6519" \\\n"\
6520"\t\t(out)[(v_predict).m_i] = (v_predict).m_ret; \\\n"\
6521"\t} \\\n"\
6522"}\n"\
6523"\n"\
6524"#define __ae2f_AnnSlpPredict( \\\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_t* const */ _this, \\\n"\
6531"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6532"\t\t/* ae2f_float_t* const */ out, \\\n"\
6533"\t\t/* constae2f_float_t* const */ weight, \\\n"\
6534"\t\t/* constae2f_float_t* const */ bias, \\\n"\
6535"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
6536") \\\n"\
6537"{ \\\n"\
6538"\tif((err_opt) && *(err_opt)) \\\n"\
6539"\t\t; \\\n"\
6540"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
6541"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
6542"\telse { \\\n"\
6543"\t\tae2f_AnnSlpPredict_t v_predict; \\\n"\
6544" \\\n"\
6545"\t\tif(act_opt) { \\\n"\
6546"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
6547"\t\t\t\t\t(v_predict) \\\n"\
6548"\t\t\t\t\t, *(_this), (prm_in), out \\\n"\
6549"\t\t\t\t\t, weight, bias, act_opt \\\n"\
6550"\t\t\t\t\t); \\\n"\
6551"\t\t} else { \\\n"\
6552"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
6553"\t\t\t\t\t(v_predict) \\\n"\
6554"\t\t\t\t\t, *(_this), prm_in, out \\\n"\
6555"\t\t\t\t\t, weight, bias, \\\n"\
6556"\t\t\t\t\t); \\\n"\
6557"\t\t} \\\n"\
6558"\t} \\\n"\
6559"}\n"\
6560"\n"\
6561"#if ae2f_NEED_CLASS\n"\
6562"#define __ae2f_AnnSlpPredict_C( \\\n"\
6563"\t/** tparam */ \\\n"\
6564"\t\t \\\n"\
6565" \\\n"\
6566"\t/** param */ \\\n"\
6567"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
6568"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
6569"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6570"\t\t/* ae2f_float_t* const */ out \\\n"\
6571") \\\n"\
6572"{ \\\n"\
6573"\tunless(_this) \\\n"\
6574"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6575"\telse { \\\n"\
6576"\t\t__ae2f_AnnSlpPredict( \\\n"\
6577"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
6578"\t\t\t\t, prm_in, out \\\n"\
6579"\t\t\t\t, (_this)->m_weight \\\n"\
6580"\t\t\t\t, (_this)->m_bias \\\n"\
6581"\t\t\t\t, (_this)->m_act \\\n"\
6582"\t\t\t\t); \\\n"\
6583"\t} \\\n"\
6584"}\n"\
6585"#else\n"\
6586"#undef\t__ae2f_AnnSlpPredict_C\n"\
6587"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
6588"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6589"#endif\n"\
6590"\n"\
6591"/** @brief Weights */\n"\
6592"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
6593"\t/** tparam */ \\\n"\
6594"\t\t \\\n"\
6595" \\\n"\
6596"\t/** param */ \\\n"\
6597"\t\t/* , const ae2f_float_t */ inp, \\\n"\
6598"\t\t/* const ae2f_float_t */ delta, \\\n"\
6599"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6600"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6601"\t\t/* const size_t */ inp_sz, \\\n"\
6602"\t\t/* const size_t */ inp_idx, \\\n"\
6603"\t\t/* const size_t */ out_sz, \\\n"\
6604"\t\t/* const size_t */ out_idx \\\n"\
6605") \\\n"\
6606"{ \\\n"\
6607"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
6608"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
6609"}\n"\
6610"\n"\
6611"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
6612"\t/** tparam */ \\\n"\
6613"\t\t \\\n"\
6614" \\\n"\
6615"\t/** param */ \\\n"\
6616"\t\t/* , ae2f_float_t */ r_bias, \\\n"\
6617"\t\t/* const ae2f_float_t */ delta, \\\n"\
6618"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6619") { (r_bias) -= (delta) * (learningrate_bias); }\n"\
6620"\n"\
6621"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
6622"\t/** tparam */ \\\n"\
6623"\t\t \\\n"\
6624" \\\n"\
6625"\t/** param */ \\\n"\
6626"\t\t/* , ae2f_AnnSlpFollowOne_t */ v_follow, \\\n"\
6627"\t\t/* constae2f_float_t* */ prm_in, \\\n"\
6628"\t\t/* const ae2f_float_t */ delta, \\\n"\
6629"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6630"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6631"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
6632"\t\t/* const size_t */ inp_sz, \\\n"\
6633"\t\t/* const size_t */ out_idx, \\\n"\
6634"\t\t/* ae2f_float_t */ v_bias \\\n"\
6635") \\\n"\
6636"{ \\\n"\
6637"\tfor((v_follow).m_j = 0; (v_follow).m_j < (inp_sz); ++(v_follow).m_j) { \\\n"\
6638"\t\t((weight) + (inp_sz) * (out_idx))[(v_follow).m_j] \\\n"\
6639"\t\t\t-= (delta) * (prm_in)[(v_follow).m_j] * (learningrate); \\\n"\
6640"\t} \\\n"\
6641" \\\n"\
6642"\t(v_bias) -= (delta) * (learningrate_bias); \\\n"\
6643"}\n"\
6644"\n"\
6645"\n"\
6646"#define __ae2f_AnnSlpFollow_imp( \\\n"\
6647"\t/** tparam */ \\\n"\
6648"\t\t \\\n"\
6649" \\\n"\
6650"\t/** param */ \\\n"\
6651"\t\t/* , ae2f_AnnSlpFollow_t */ v_follow, \\\n"\
6652"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
6653"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6654"\t\t/* constae2f_float_t* const */ delta, \\\n"\
6655"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6656"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6657"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6658"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6659") \\\n"\
6660"{ \\\n"\
6661"\tfor(v_follow.m_i = (_this).m_outc; (v_follow).m_i--; ) { \\\n"\
6662"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
6663"\t\t\t\tv_follow \\\n"\
6664"\t\t\t\t, prm_in \\\n"\
6665"\t\t\t\t, (delta)[v_follow.m_i] \\\n"\
6666"\t\t\t\t, ((weight)) \\\n"\
6667"\t\t\t\t, learningrate, learningrate_bias \\\n"\
6668"\t\t\t\t, (_this).m_inc \\\n"\
6669"\t\t\t\t, (v_follow).m_i \\\n"\
6670"\t\t\t\t, (bias)[v_follow.m_i] \\\n"\
6671"\t\t\t\t); \\\n"\
6672"\t} \\\n"\
6673"}\n"\
6674"\n"\
6675"#define __ae2f_AnnSlpFollow( \\\n"\
6676"\t/** tparam */ \\\n"\
6677"\t\t \\\n"\
6678" \\\n"\
6679"\t/** param */ \\\n"\
6680"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
6681"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
6682"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6683"\t\t/* constae2f_float_t* const */ delta, \\\n"\
6684"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6685"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6686"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6687"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6688") \\\n"\
6689"{ \\\n"\
6690"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
6691"\t\t; \\\n"\
6692"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
6693"\t\t; \\\n"\
6694"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
6695"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6696"\telse { \\\n"\
6697"\t\tae2f_AnnSlpFollow_t v_follow; \\\n"\
6698"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
6699"\t\t\t\tv_follow \\\n"\
6700"\t\t\t\t, *(_this) \\\n"\
6701"\t\t\t\t, prm_in \\\n"\
6702"\t\t\t\t, delta \\\n"\
6703"\t\t\t\t, weight, bias \\\n"\
6704"\t\t\t\t, learningrate \\\n"\
6705"\t\t\t\t, learningrate_bias \\\n"\
6706"\t\t\t\t); \\\n"\
6707"\t} \\\n"\
6708"}\n"\
6709"\n"\
6710"#if ae2f_NEED_CLASS\n"\
6711"#define __ae2f_AnnSlpFollow_C( \\\n"\
6712"\t/** tparam */ \\\n"\
6713"\t\t \\\n"\
6714" \\\n"\
6715"\t/** param */ \\\n"\
6716"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
6717"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
6718"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
6719"\t\t/* constae2f_float_t* const */ delta \\\n"\
6720") { \\\n"\
6721"\tunless((_this)) \\\n"\
6722"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6723"\telse { \\\n"\
6724"\t\t__ae2f_AnnSlpFollow( \\\n"\
6725"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
6726"\t\t\t\t, prm_in, delta \\\n"\
6727"\t\t\t\t, _this->m_weight \\\n"\
6728"\t\t\t\t, (_this)->m_bias \\\n"\
6729"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
6730"\t\t\t\t); \\\n"\
6731"\t} \\\n"\
6732"}\n"\
6733"#else\n"\
6734"#undef\t__ae2f_AnnSlpFollow_C\n"\
6735"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
6736"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6737"#endif\n"\
6738"\n"\
6739"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6740"\t/** tparam */ \\\n"\
6741"\t\t \\\n"\
6742" \\\n"\
6743"\t/** param */ \\\n"\
6744"\t\t/* , ae2f_float_t */ v_fetchdelta_0, \\\n"\
6745"\t\t/* ae2f_float_t */ v_fetchdelta_1, \\\n"\
6746"\t\t/* constae2f_float_t* const */ out, \\\n"\
6747"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6748"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6749"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6750"\t\t/* ae2f_float_t */ retdelta, \\\n"\
6751"\t\t/* const size_t */ oidx, \\\n"\
6752"\t\t/* const size_t */ osz \\\n"\
6753") \\\n"\
6754"{ \\\n"\
6755"\tactderiv_opt(&(v_fetchdelta_0), (out)[oidx]); \\\n"\
6756"\tlossderiv((&(v_fetchdelta_1)), (out), (out_desired), (oidx), (osz)); \\\n"\
6757" \\\n"\
6758"\t(retdelta) = \\\n"\
6759"\t\t(v_fetchdelta_0) * \\\n"\
6760"\t\t(v_fetchdelta_1) \\\n"\
6761"\t\t; \\\n"\
6762"}\n"\
6763"\n"\
6764"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
6765"\t/** tparam */ \\\n"\
6766"\t\t \\\n"\
6767" \\\n"\
6768"\t/** param */ \\\n"\
6769"\t\t/* , ae2f_AnnSlpFetchDelta_t */ v_delta, \\\n"\
6770"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
6771"\t\t/* constae2f_float_t* const */ out, \\\n"\
6772"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6773"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6774"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6775"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6776") \\\n"\
6777"{ \\\n"\
6778"\tfor((v_delta).m_i = (slp).m_outc; (v_delta).m_i--; ) \\\n"\
6779"\t\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6780"\t\t\t\t(v_delta).m_tmp, (v_delta).m_tmp1 \\\n"\
6781"\t\t\t\t, out, out_desired \\\n"\
6782"\t\t\t\t, actderiv_opt, lossderiv \\\n"\
6783"\t\t\t\t, (retdelta)[v_delta.m_i] \\\n"\
6784"\t\t\t\t, (v_delta).m_i \\\n"\
6785"\t\t\t\t, (slp).m_outc \\\n"\
6786"\t\t\t\t); \\\n"\
6787"}\n"\
6788"\n"\
6789"#define __ae2f_AnnSlpFetchDelta( \\\n"\
6790"\t/** tparam */ \\\n"\
6791"\t\t \\\n"\
6792" \\\n"\
6793"\t/** param */ \\\n"\
6794"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
6795"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
6796"\t\t/* constae2f_float_t* const */ out, \\\n"\
6797"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6798"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6799"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6800"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6801") \\\n"\
6802"{ \\\n"\
6803"\tif((err) && *(err)) \\\n"\
6804"\t\t; \\\n"\
6805"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
6806"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6807"\telse unless(lossderiv) \\\n"\
6808"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6809" \\\n"\
6810"\telse if(actderiv_opt) { \\\n"\
6811"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6812"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6813"\t\t\t\tv_delta, (*(slp)) \\\n"\
6814"\t\t\t\t, out, out_desired \\\n"\
6815"\t\t\t\t, actderiv_opt \\\n"\
6816"\t\t\t\t, lossderiv \\\n"\
6817"\t\t\t\t, retdelta \\\n"\
6818"\t\t\t\t); \\\n"\
6819"\t} else { \\\n"\
6820"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6821"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6822"\t\t\t\tv_delta, (*(slp)) \\\n"\
6823"\t\t\t\t, out, out_desired \\\n"\
6824"\t\t\t\t, , lossderiv \\\n"\
6825"\t\t\t\t, retdelta \\\n"\
6826"\t\t\t\t); \\\n"\
6827"\t} \\\n"\
6828"}\n"\
6829"\n"\
6830"#if\tae2f_NEED_CLASS\n"\
6831"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
6832"\t/** tparam */ \\\n"\
6833"\t\t \\\n"\
6834" \\\n"\
6835"\t/** param */ \\\n"\
6836"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
6837"\t\t/* constae2f_AnnSlp* const */ slp, \\\n"\
6838"\t\t/* constae2f_float_t* const */ out, \\\n"\
6839"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6840"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
6841") \\\n"\
6842"{ \\\n"\
6843"\tif((err) && *(err)) \\\n"\
6844"\t\t; \\\n"\
6845"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
6846"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6847"\telse unless((slp)->m_lossderiv) \\\n"\
6848"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6849"\telse { \\\n"\
6850"\t\tif((slp)->m_actderiv) { \\\n"\
6851"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6852"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6853"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
6854"\t\t\t\t\t, out, out_desired \\\n"\
6855"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
6856"\t\t\t\t\t, retdelta \\\n"\
6857"\t\t\t\t\t); \\\n"\
6858"\t\t} else { \\\n"\
6859"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
6860"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6861"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
6862"\t\t\t\t\t, out, out_desired \\\n"\
6863"\t\t\t\t\t, , (slp)->m_lossderiv \\\n"\
6864"\t\t\t\t\t, retdelta \\\n"\
6865"\t\t\t\t\t); \\\n"\
6866"\t\t} \\\n"\
6867"\t} \\\n"\
6868"}\n"\
6869"#else\n"\
6870"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
6871"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
6872"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
6873"#endif\n"\
6874"\n"\
6875"#define __ae2f_AnnSlpFitOne_imp( \\\n"\
6876"\t/** tparam */ \\\n"\
6877"\t\t \\\n"\
6878" \\\n"\
6879"\t/** param */ \\\n"\
6880"\t\t/* , ae2f_AnnSlpFitOne_t */ v_fit, \\\n"\
6881"\t\t/* constae2f_float_t* const */ inp, \\\n"\
6882"\t\t/* constae2f_float_t* const */ out, \\\n"\
6883"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6884"\t\t/* ae2f_float_t* const */ weight, \\\n"\
6885"\t\t/* ae2f_float_t */ r_bias, \\\n"\
6886"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
6887"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6888"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6889"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6890"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
6891"\t\t/* const size_t */ iidx, \\\n"\
6892"\t\t/* const size_t */ oidx, \\\n"\
6893"\t\t/* const size_t */ isz, \\\n"\
6894"\t\t/* const size_t */ osz \\\n"\
6895") \\\n"\
6896"{ \\\n"\
6897"\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
6898"\t\t\t(v_fit).m_tmp, (v_fit).m_tmp1 \\\n"\
6899"\t\t\t, out, out_desired \\\n"\
6900"\t\t\t, actderiv_opt, lossderiv \\\n"\
6901"\t\t\t, r_cachedelta \\\n"\
6902"\t\t\t, oidx, osz \\\n"\
6903"\t\t\t); \\\n"\
6904" \\\n"\
6905" \\\n"\
6906"\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
6907"\t\t\tv_fit, inp, r_cachedelta, weight \\\n"\
6908"\t\t\t, learningrate, learningrate_bias \\\n"\
6909"\t\t\t, isz, oidx, r_bias \\\n"\
6910"\t\t\t); \\\n"\
6911"}\n"\
6912"\n"\
6913"#define __ae2f_AnnSlpFit_imp( \\\n"\
6914"\t/** tparam */ \\\n"\
6915"\t\t \\\n"\
6916" \\\n"\
6917"\t/** param */ \\\n"\
6918"\t\t/* , ae2f_AnnSlpFit_t */ v_fit, \\\n"\
6919"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
6920"\t\t/* constae2f_float_t* const */ inp, \\\n"\
6921"\t\t/* constae2f_float_t* const */ out, \\\n"\
6922"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
6923"\t\t/* ae2f_float_t* const */ weights, \\\n"\
6924"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6925"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
6926"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
6927"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6928"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6929"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6930") \\\n"\
6931"{ \\\n"\
6932"\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
6933"\t\t\tv_fit, slp \\\n"\
6934"\t\t\t, out, out_desired \\\n"\
6935"\t\t\t, actderiv_opt, lossderiv \\\n"\
6936"\t\t\t, cachedelta \\\n"\
6937"\t\t\t); \\\n"\
6938" \\\n"\
6939"\t__ae2f_AnnSlpFollow_imp( \\\n"\
6940"\t\t\tv_fit, slp, inp \\\n"\
6941"\t\t\t, cachedelta, weights, bias \\\n"\
6942"\t\t\t, learningrate, learningrate_bias \\\n"\
6943"\t\t\t); \\\n"\
6944"}\n"\
6945"\n"\
6946"#define __ae2f_AnnSlpFit( \\\n"\
6947"\t/** tparam */ \\\n"\
6948"\t\t \\\n"\
6949" \\\n"\
6950"\t/** param */ \\\n"\
6951"\t\t/* ,ae2f_err_t* const ae2f_opt */ reterr_opt, \\\n"\
6952"\t\t/* constae2f_AnnSlp_t* */ _this, \\\n"\
6953"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
6954"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
6955"\t\t/* constae2f_float_t* const */ prm_out_desired, \\\n"\
6956"\t\t/* ae2f_float_t* const */ weights, \\\n"\
6957"\t\t/* ae2f_float_t* const */ bias, \\\n"\
6958"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
6959"\t\t/* ae2f_AnnAct_t ae2f_opt */ actderiv_opt, \\\n"\
6960"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
6961"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
6962"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
6963") \\\n"\
6964"{ \\\n"\
6965"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
6966"\t\t; \\\n"\
6967"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
6968"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
6969"\telse unless(lossderiv) \\\n"\
6970"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
6971"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
6972"\t\t; \\\n"\
6973"\telse { \\\n"\
6974"\t\tae2f_AnnSlpFit_t v_fit; \\\n"\
6975"\t\tif(actderiv_opt) { \\\n"\
6976"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
6977"\t\t\t\t\tv_fit \\\n"\
6978"\t\t\t\t\t, (*(_this)) \\\n"\
6979"\t\t\t\t\t, prm_inp \\\n"\
6980"\t\t\t\t\t, prm_out \\\n"\
6981"\t\t\t\t\t, prm_out_desired \\\n"\
6982"\t\t\t\t\t, weights \\\n"\
6983"\t\t\t\t\t, bias \\\n"\
6984"\t\t\t\t\t, cachedelta \\\n"\
6985"\t\t\t\t\t, actderiv_opt \\\n"\
6986"\t\t\t\t\t, lossderiv \\\n"\
6987"\t\t\t\t\t, learningrate \\\n"\
6988"\t\t\t\t\t, learningrate_bias \\\n"\
6989"\t\t\t\t\t); \\\n"\
6990"\t\t} else { \\\n"\
6991"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
6992"\t\t\t\t\tv_fit \\\n"\
6993"\t\t\t\t\t, (*(_this)) \\\n"\
6994"\t\t\t\t\t, prm_inp \\\n"\
6995"\t\t\t\t\t, prm_out \\\n"\
6996"\t\t\t\t\t, prm_out_desired \\\n"\
6997"\t\t\t\t\t, weights \\\n"\
6998"\t\t\t\t\t, bias \\\n"\
6999"\t\t\t\t\t, cachedelta \\\n"\
7000"\t\t\t\t\t, \\\n"\
7001"\t\t\t\t\t, lossderiv \\\n"\
7002"\t\t\t\t\t, learningrate \\\n"\
7003"\t\t\t\t\t, learningrate_bias \\\n"\
7004"\t\t\t\t\t); \\\n"\
7005"\t\t} \\\n"\
7006"\t} \\\n"\
7007"}\n"\
7008"\n"\
7009"#if\tae2f_NEED_CLASS\n"\
7010"#define __ae2f_AnnSlpFit_C( \\\n"\
7011"\t/** tparam */ \\\n"\
7012"\t\t \\\n"\
7013" \\\n"\
7014"\t/** param */ \\\n"\
7015"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
7016"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
7017"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
7018"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
7019"\t\t/* constae2f_float_t* const */ prm_out_desired \\\n"\
7020") { \\\n"\
7021"\tunless(_this) { \\\n"\
7022"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
7023"\t} \\\n"\
7024"\telse { \\\n"\
7025"\t\t__ae2f_AnnSlpFit( \\\n"\
7026"\t\t\t\treterr_opt \\\n"\
7027"\t\t\t\t, (_this)->m_Slp \\\n"\
7028"\t\t\t\t, prm_inp \\\n"\
7029"\t\t\t\t, prm_out \\\n"\
7030"\t\t\t\t, prm_out_desired \\\n"\
7031"\t\t\t\t, (_this)->m_weight \\\n"\
7032"\t\t\t\t, (_this)->m_bias \\\n"\
7033"\t\t\t\t, (_this)->m_cache \\\n"\
7034"\t\t\t\t, (_this)->m_actderiv \\\n"\
7035"\t\t\t\t, (_this)->m_lossderiv \\\n"\
7036"\t\t\t\t, (_this)->m_learningrate \\\n"\
7037"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
7038"\t\t\t\t); \\\n"\
7039"\t} \\\n"\
7040"}\n"\
7041"#else\n"\
7042"#undef\t__ae2f_AnnSlpFit_C\n"\
7043"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
7044"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7045"#endif\n"\
7046"\n"\
7047"#define __ae2f_AnnSlpTrainOne_imp( \\\n"\
7048"\t/** tparam */ \\\n"\
7049"\t\t \\\n"\
7050" \\\n"\
7051"\t/** param */ \\\n"\
7052"\t\t/* , ae2f_AnnSlpTrainOne_t */ v_train, \\\n"\
7053"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
7054"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
7055"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7056"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7057"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7058"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7059"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7060"\t\t/* ae2f_float_t */ v_bias, \\\n"\
7061"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
7062"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7063"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
7064"\t\t/* const size_t */ oidx, \\\n"\
7065"\t\t/* const size_t */ osz, \\\n"\
7066"\t\t/* const size_t */ isz \\\n"\
7067") \\\n"\
7068"{ \\\n"\
7069"\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
7070"\t\t\tv_train \\\n"\
7071"\t\t\t, inp \\\n"\
7072"\t\t\t, weight \\\n"\
7073"\t\t\t, v_bias \\\n"\
7074"\t\t\t, act \\\n"\
7075"\t\t\t, oidx \\\n"\
7076"\t\t\t, isz \\\n"\
7077"\t\t\t); \\\n"\
7078" \\\n"\
7079"\t(out_cache)[oidx] = (v_train).m_ret; \\\n"\
7080" \\\n"\
7081"\t__ae2f_AnnSlpFitOne_imp( \\\n"\
7082"\t\t\tv_train \\\n"\
7083"\t\t\t, inp \\\n"\
7084"\t\t\t, out_cache, out_desired \\\n"\
7085"\t\t\t, weight \\\n"\
7086"\t\t\t, v_bias \\\n"\
7087"\t\t\t, r_cachedelta \\\n"\
7088"\t\t\t, actderiv, lossderiv \\\n"\
7089"\t\t\t, learningrate, learningrate_bias \\\n"\
7090"\t\t\t, iidx, oidx, isz, osz \\\n"\
7091"\t\t\t); \\\n"\
7092"}\n"\
7093"\n"\
7094"#define __ae2f_AnnSlpTrain_imp( \\\n"\
7095"\t/** tparam */ \\\n"\
7096"\t\t \\\n"\
7097" \\\n"\
7098"\t/** param */ \\\n"\
7099"\t\t/* , ae2f_AnnSlpTrain_t */ v_train, \\\n"\
7100"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
7101"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7102"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7103"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7104"\t\t/* ae2f_float_t* const */ weights, \\\n"\
7105"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7106"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
7107"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
7108"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
7109"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7110"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7111"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7112") \\\n"\
7113"{ \\\n"\
7114"\t__ae2f_AnnSlpPredict_imp(v_train, slp, inp, out_cache, weights, bias, act); \\\n"\
7115"\t__ae2f_AnnSlpFit_imp( \\\n"\
7116"\t\t\tv_train, slp, inp, out_cache, out_desired \\\n"\
7117"\t\t\t, weights, bias, cachedelta \\\n"\
7118"\t\t\t, actderiv, lossderiv \\\n"\
7119"\t\t\t, learningrate, learningrate_bias \\\n"\
7120"\t\t\t); \\\n"\
7121"}\n"\
7122"\n"\
7123"#if ae2f_NEED_CLASS\n"\
7124"#define __ae2f_AnnSlpTrain_C( \\\n"\
7125"\t/** tparam */ \\\n"\
7126"\t\t \\\n"\
7127" \\\n"\
7128"\t/** param */ \\\n"\
7129"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
7130"\t\t/* ae2f_AnnSlp* */ slp, \\\n"\
7131"\t\t/* constae2f_float_t* */ inp, \\\n"\
7132"\t\t/* constae2f_float_t* */ out_desired \\\n"\
7133") \\\n"\
7134"{ \\\n"\
7135"\tunless(slp) \\\n"\
7136"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7137"\telse { \\\n"\
7138"\t\t__ae2f_AnnSlpTrain( \\\n"\
7139"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
7140"\t\t\t\t, (slp)->m_cache \\\n"\
7141"\t\t\t\t, out_desired \\\n"\
7142"\t\t\t\t, (slp)->m_weight \\\n"\
7143"\t\t\t\t, (slp)->m_bias \\\n"\
7144"\t\t\t\t, (slp)->m_cache \\\n"\
7145"\t\t\t\t, (slp)->m_act \\\n"\
7146"\t\t\t\t, (slp)->m_actderiv \\\n"\
7147"\t\t\t\t, (slp)->m_lossderiv \\\n"\
7148"\t\t\t\t, (slp)->m_learningrate \\\n"\
7149"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
7150"\t\t\t\t); \\\n"\
7151"\t} \\\n"\
7152"}\n"\
7153"#else\n"\
7154"#undef\t__ae2f_AnnSlpTrain_C\n"\
7155"#define __ae2f_AnnSlpTrain_C \\\n"\
7156"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7157"\n"\
7158"#endif\n"\
7159"\n"\
7160"#define __ae2f_AnnSlpTrain( \\\n"\
7161"\t/** tparam */ \\\n"\
7162"\t\t \\\n"\
7163" \\\n"\
7164"\t/** param */ \\\n"\
7165"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
7166"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
7167"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7168"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
7169"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7170"\t\t/* ae2f_float_t* const */ weights, \\\n"\
7171"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7172"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
7173"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7174"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7175"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7176"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7177"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7178") \\\n"\
7179"{ \\\n"\
7180"\tif((err) && *(err)) \\\n"\
7181"\t\t; \\\n"\
7182"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
7183"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7184"\telse unless(lossderiv) \\\n"\
7185"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7186"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
7187"\t\t; \\\n"\
7188"\telse { \\\n"\
7189"\t\tae2f_AnnSlpTrain_t v_train; \\\n"\
7190"\t\tif (act) { \\\n"\
7191"\t\t\tif(actderiv) { \\\n"\
7192"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7193"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7194"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7195"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
7196"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7197"\t\t\t\t\t\t); \\\n"\
7198"\t\t\t} else { \\\n"\
7199"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7200"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7201"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7202"\t\t\t\t\t\t, cachedelta, act, , lossderiv \\\n"\
7203"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7204"\t\t\t\t\t\t); \\\n"\
7205" \\\n"\
7206"\t\t\t} \\\n"\
7207"\t\t} else { \\\n"\
7208"\t\t\tif(actderiv) { \\\n"\
7209"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7210"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7211"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7212"\t\t\t\t\t\t, cachedelta, , actderiv, lossderiv \\\n"\
7213"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7214"\t\t\t\t\t\t); \\\n"\
7215"\t\t\t} else { \\\n"\
7216"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
7217"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
7218"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
7219"\t\t\t\t\t\t, cachedelta, , , lossderiv \\\n"\
7220"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
7221"\t\t\t\t\t\t); \\\n"\
7222" \\\n"\
7223"\t\t\t} \\\n"\
7224"\t\t} \\\n"\
7225"\t} \\\n"\
7226"}\n"\
7227"\n"\
7228"\n"\
7229"#endif\n"\
7230"\n"\
7231"#undef\t__ae2f_MACRO_GENERATED\n"\
7232"\n"\
7233"#define\t__ae2f_MACRO_GENERATED\t0\n"\
7234"\n"\
7235"/** One eof gracefully */ \\\n"\
7236"\n"\
7237"\n"\
7238"#if ae2f_WhenCXX(!)0 && !defined(ae2f_Ann_Slp_cc) && ae2f_NEED_CLASS\n"\
7239"#define ae2f_Ann_Slp_cc\n"\
7240"\n"\
7241"#define ae2f_TMP ae2f_AnnSlp::\n"\
7242"\n"\
7243"inline void ae2f_TMP operator delete(void* end) {\n"\
7244"\tae2f_AnnSlpDel(ae2f_reinterpret_cast(ae2f_AnnSlp*, end));\n"\
7245"}\n"\
7246"\n"\
7247"inline void* ae2f_TMP operator new(\n"\
7248"\t\tsize_t oneonly\n"\
7249"\t\t, ae2f_LP(inc * outc) ae2f_float_t* const\t\tweight_opt,\n"\
7250"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tbias_opt,\n"\
7251"\t\tae2f_LP(outc) ae2f_float_t* const \t\t\tcache_opt,\n"\
7252"\n"\
7253"\t\tconst size_t\t\t\t\t\tinc,\n"\
7254"\t\tconst size_t\t\t\t\t\toutc,\n"\
7255"\t\tconst size_t\t\t\t\t\toffset_opt,\n"\
7256"\n"\
7257"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tact,\n"\
7258"\t\tae2f_opt ae2f_AnnAct_t* const\t\t\tactderiv,\n"\
7259"\t\tae2f_AnnLoss_t* const\t\t\t\tlossderiv,\n"\
7260"\t\tae2f_float_t\t\t\t\t\tlearningrate,\n"\
7261"\t\tae2f_float_t\t\t\t\t\tlearningrate_bias,\n"\
7262"\t\tae2f_opt ae2f_err_t* const\t\t\terr_opt\n"\
7263"\t\t) throw() \n"\
7264"{\n"\
7265"\tif(oneonly != sizeof(ae2f_AnnSlp)) return 0;\n"\
7266"\tae2f_AnnSlp* __v[1] = { NULL };\n"\
7267"\n"\
7268"\tae2f_AnnSlpMk(\n"\
7269"\t\t\tweight_opt, bias_opt, cache_opt, inc, outc, offset_opt, 0\n"\
7270"\t\t\t, __v, act, actderiv, lossderiv, learningrate, learningrate_bias, err_opt);\n"\
7271"\n"\
7272"\treturn __v[0];\n"\
7273"}\n"\
7274"\n"\
7275"inline void ae2f_TMP Predict(\n"\
7276"\t\tae2f_err_t* const err_opt\n"\
7277"\t\t, ae2f_LP(_this::inc)\n"\
7278"\t\tconst ae2f_float_t* const prm_in\n"\
7279"\t\t, ae2f_LP(_this::outc)\n"\
7280"\t\tae2f_float_t* const out\n"\
7281"\t\t) const \n"\
7282"{\n"\
7283"\tae2f_AnnSlpPredict(err_opt, this, prm_in, out);\n"\
7284"}\n"\
7285"\n"\
7286"inline void ae2f_TMP Follow(\n"\
7287"\t\tae2f_err_t* const reterr_opt\n"\
7288"\t\t, ae2f_LP(_this::inc)\n"\
7289"\t\tconst ae2f_float_t* const prm_in\n"\
7290"\t\t, ae2f_LP(_this::outc) \n"\
7291"\t\tconst ae2f_float_t* const delta\n"\
7292"\t\t) \n"\
7293"{\n"\
7294"\tae2f_AnnSlpFollow(reterr_opt, this, prm_in, delta);\n"\
7295"}\n"\
7296"\n"\
7297"inline void ae2f_TMP Fit(\n"\
7298"\t\tae2f_err_t* const reterr_opt\n"\
7299"\t\t, ae2f_LP(_this::inc) const ae2f_float_t* const prm_inp\n"\
7300"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out\n"\
7301"\t\t, ae2f_LP(_this::outc) const ae2f_float_t* const prm_out_desired\n"\
7302"\t\t) \n"\
7303"{\n"\
7304"\tae2f_AnnSlpFit(reterr_opt, this, prm_inp, prm_out, prm_out_desired);\n"\
7305"}\n"\
7306"\n"\
7307"inline void ae2f_TMP Train(\n"\
7308"\t\tae2f_err_t* const\t\t\t\t\terr\n"\
7309"\t\t, ae2f_LP(slp::inc)\tconst ae2f_float_t*\tinp\n"\
7310"\t\t, ae2f_LP(slp::outc)\tconst ae2f_float_t*\tout_desired\n"\
7311"\t\t) \n"\
7312"{\n"\
7313"\tae2f_AnnSlpTrain(err, this, inp, out_desired);\n"\
7314"}\n"\
7315"\n"\
7316"#undef ae2f_TMP\n"\
7317"\n"\
7318"#endif\n"\
7319"\n"\
7320"/** One eof gracefully */ \\\n"\
7321"\n"\
7322"#undef __ae2f_MACRO_GENERATED\n"\
7323"#define __ae2f_MACRO_GENERATED 1\n"\
7324"#endif\n"\
7325"\n"\
7326"#define ae2f_Ann_Slp_c\n"\
7327"\n"\
7328"#if !(ae2f_MAC_BUILD) && ae2f_NEED_CLASS || !(__ae2f_MACRO_GENERATED)\n"\
7329"/** include detected */ \\\n"\
7330"/** Path cursor */ \\\n"\
7331"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/stdlib.h */ \\\n"\
7332"/** first fp: (nil) */ \\\n"\
7333"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/stdlib.h */ \\\n"\
7334"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/stdlib.h */ \\\n"\
7335"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
7336"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incstdlib.h */ \\\n"\
7337"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/stdlib.h */ \\\n"\
7338"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/clstdlib.h */ \\\n"\
7339"/** Failed but ignoring it. */ \\\n"\
7340"\n"\
7341"#undef __ae2f_MACRO_GENERATED\n"\
7342"#define __ae2f_MACRO_GENERATED 1\n"\
7343"/** include detected */ \\\n"\
7344"/** Path cursor */ \\\n"\
7345"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/ae2f/Ann/assert.h */ \\\n"\
7346"/** first fp: (nil) */ \\\n"\
7347"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/inc/assert.h */ \\\n"\
7348"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/VK-Core/inc/assert.h */ \\\n"\
7349"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
7350"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/incassert.h */ \\\n"\
7351"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Core/inc/assert.h */ \\\n"\
7352"/* Opening: /home/ae2f/Dev/ae2f/ae2f/submod/ae2f/Ann/src/vk/classert.h */ \\\n"\
7353"/** Failed but ignoring it. */ \\\n"\
7354"\n"\
7355"#undef __ae2f_MACRO_GENERATED\n"\
7356"#define __ae2f_MACRO_GENERATED 1\n"\
7357"#endif /** for non-builds */\n"\
7358"\n"\
7359"#define __ae2f_AnnSlpDel\tfree\n"\
7360"#define __ae2f_AnnSlpDel_C\tfree\n"\
7361"\n"\
7362"#if ae2f_NEED_CLASS\n"\
7363"#define __ae2f_AnnSlpInitInpSz_imp( \\\n"\
7364"\t/** tparam */ \\\n"\
7365"\t\t \\\n"\
7366" \\\n"\
7367"\t/** param */ \\\n"\
7368"\t\t/* , size_t */ v_init, \\\n"\
7369"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
7370"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7371"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7372"\t\t/* const size_t */ inc, \\\n"\
7373"\t\t/* const size_t */ outc \\\n"\
7374") \\\n"\
7375"{ \\\n"\
7376"\t(v_init) = \\\n"\
7377"\t\tsizeof(ae2f_AnnSlp) \\\n"\
7378"\t\t+ \t((weight_opt) ? 0 : (inc) * (outc)) * sizeof(ae2f_float_t) \\\n"\
7379"\t\t+\t((bias_opt) ? 0 : (outc)) * sizeof(ae2f_float_t) \\\n"\
7380"\t\t+\t((cache_opt) ? 0 : (outc) * sizeof(ae2f_float_t)) \\\n"\
7381"\t\t; \\\n"\
7382"}\n"\
7383"\n"\
7384"#define __ae2f_AnnSlpInit_imp( \\\n"\
7385"\t/** tparam */ \\\n"\
7386"\t\t \\\n"\
7387" \\\n"\
7388"\t/** param */ \\\n"\
7389"\t\t/* , size_t */ v_init, \\\n"\
7390"\t\t/* ae2f_AnnSlp_t */ _this, \\\n"\
7391"\t\t/* const size_t */ inc, \\\n"\
7392"\t\t/* const size_t */ outc, \\\n"\
7393"\t\t/* const size_t */ incmax_opt \\\n"\
7394") \\\n"\
7395"{ \\\n"\
7396"\t/* Calculate maximum input size */ \\\n"\
7397"\tunless(incmax_opt) { \\\n"\
7398"\t\t__ae2f_AnnSlpInitInpSz_imp( \\\n"\
7399"\t\t\t\tv_init, 0, 0, 0, inc, outc \\\n"\
7400"\t\t\t\t); \\\n"\
7401"\t\t(_this).m_inc\t=\t(inc); \\\n"\
7402"\t} else { \\\n"\
7403"\t\t(_this).m_inc\t=\t(incmax_opt); \\\n"\
7404"\t} \\\n"\
7405" \\\n"\
7406"\t(_this).m_outc\t=\t(outc); \\\n"\
7407"}\n"\
7408"\n"\
7409"\n"\
7410"#define __ae2f_AnnSlpInit( \\\n"\
7411"\t/** tparam */ \\\n"\
7412"\t\t \\\n"\
7413" \\\n"\
7414"\t/** param */ \\\n"\
7415"\t\t/* ,ae2f_AnnSlp_t* const */ _this, \\\n"\
7416"\t\t/* const size_t */ inc, \\\n"\
7417"\t\t/* const size_t */ outc, \\\n"\
7418"\t\t/* const size_t */ offset_opt, \\\n"\
7419"\t\t/* ae2f_err_t* const */ err_opt, \\\n"\
7420"\t\t/* size_t* const */ initsz_opt \\\n"\
7421") \\\n"\
7422"{ \\\n"\
7423"\tif((err_opt) && *(err_opt)) \\\n"\
7424"\t\t; \\\n"\
7425"\tunless(_this) \\\n"\
7426"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7427"\telse { \\\n"\
7428"\t\tsize_t v_init; \\\n"\
7429"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
7430"\t\t\t\tv_init \\\n"\
7431"\t\t\t\t, *(_this) \\\n"\
7432"\t\t\t\t, inc, outc \\\n"\
7433"\t\t\t\t, 0 \\\n"\
7434"\t\t\t\t); \\\n"\
7435"\t\t(initsz_opt) && (*(initsz_opt) = v_init + offset_opt); \\\n"\
7436"\t} \\\n"\
7437"}\n"\
7438"\n"\
7439"#else\n"\
7440"#undef\t__ae2f_AnnSlpInitInpSz_imp\n"\
7441"#define __ae2f_AnnSlpInitInpSz_imp(...) \\\n"\
7442"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7443"\n"\
7444"#undef\t__ae2f_AnnSlpInit_imp\n"\
7445"#define __ae2f_AnnSlpInit_imp(...) \\\n"\
7446"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7447"\n"\
7448"#undef\t__ae2f_AnnSlpInit\n"\
7449"#define __ae2f_AnnSlpInit(...) \\\n"\
7450"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7451"#endif\n"\
7452"\n"\
7453"\n"\
7454"\n"\
7455"#define __ae2f_AnnSlpInit_C __ae2f_AnnSlpInit\n"\
7456"\n"\
7457"#if ae2f_NEED_CLASS\n"\
7458"#define __ae2f_AnnSlpMk_imp( \\\n"\
7459"\t/** tparam */ \\\n"\
7460"\t\t \\\n"\
7461" \\\n"\
7462"\t/** param */ \\\n"\
7463"\t\t/* , ae2f_AnnSlpMk_t */ v_mk, \\\n"\
7464"\t\t/* ae2f_float_t* const */ weight_opt, \\\n"\
7465"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7466"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7467"\t\t/* const size_t */ inc, \\\n"\
7468"\t\t/* const size_t */ outc, \\\n"\
7469"\t\t/* const size_t */ offset_opt, \\\n"\
7470"\t\t/* const size_t */ extra_opt, \\\n"\
7471"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7472"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7473"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7474"\t\t/* ae2f_float_t */ learningrate, \\\n"\
7475"\t\t/* ae2f_float_t */ learningrate_bias \\\n"\
7476") \\\n"\
7477"{ \\\n"\
7478"\t__ae2f_AnnSlpInitInpSz_imp(v_mk.m_stack, weight_opt, bias_opt, cache_opt, inc, outc); \\\n"\
7479"\tif((v_mk.m_ptr = ae2f_reinterpret_cast( \\\n"\
7480"\t\t\t\t\tae2f_AnnSlp* \\\n"\
7481"\t\t\t\t\t, calloc((v_mk).m_stack + (offset_opt) + (extra_opt), 1))) \\\n"\
7482"\t ) { \\\n"\
7483"\t\t(v_mk).m_alloccount = 0; \\\n"\
7484"\t\t(v_mk).m_fieldptr.b = (v_mk).m_ptr + 1; \\\n"\
7485"\t\t(v_mk).m_fieldptr.b = ae2f_reinterpret_cast( \\\n"\
7486"\t\t\t\tae2f_AnnSlp* \\\n"\
7487"\t\t\t\t, ae2f_reinterpret_cast(char*, (v_mk).m_fieldptr.b) + (offset_opt) \\\n"\
7488"\t\t\t\t); \\\n"\
7489" \\\n"\
7490"\t\tif(weight_opt) { \\\n"\
7491"\t\t\t(v_mk).m_ptr->m_weight = (weight_opt); \\\n"\
7492"\t\t} else { \\\n"\
7493"\t\t\t(v_mk).m_ptr->m_weight = ((v_mk).m_fieldptr.a); \\\n"\
7494"\t\t\t(v_mk).m_fieldptr.a += (inc) * (outc); \\\n"\
7495"\t\t} \\\n"\
7496" \\\n"\
7497"\t\tif(bias_opt) { \\\n"\
7498"\t\t\t(v_mk).m_ptr->m_bias = (bias_opt); \\\n"\
7499"\t\t} else { \\\n"\
7500"\t\t\t(v_mk).m_ptr->m_bias = (v_mk).m_fieldptr.a; \\\n"\
7501"\t\t\t(v_mk).m_fieldptr.a += (outc); \\\n"\
7502"\t\t} \\\n"\
7503" \\\n"\
7504"\t\tif(cache_opt) { \\\n"\
7505"\t\t\t(v_mk).m_ptr->m_cache = (cache_opt); \\\n"\
7506"\t\t} else { \\\n"\
7507"\t\t\t(v_mk).m_ptr->m_cache = (v_mk).m_fieldptr.a; \\\n"\
7508"\t\t} \\\n"\
7509" \\\n"\
7510"\t\t__ae2f_AnnSlpInit_imp( \\\n"\
7511"\t\t\t\t(v_mk).m_stack \\\n"\
7512"\t\t\t\t, v_mk.m_ptr->m_Slp[0] \\\n"\
7513"\t\t\t\t, inc \\\n"\
7514"\t\t\t\t, outc \\\n"\
7515"\t\t\t\t, inc \\\n"\
7516"\t\t\t\t); \\\n"\
7517" \\\n"\
7518"\t\t(v_mk).m_ptr[0].m_act = act; \\\n"\
7519"\t\t(v_mk).m_ptr[0].m_actderiv = actderiv; \\\n"\
7520"\t\t(v_mk).m_ptr[0].m_lossderiv = lossderiv; \\\n"\
7521"\t\t(v_mk).m_ptr[0].m_learningrate = learningrate; \\\n"\
7522"\t\t(v_mk).m_ptr[0].m_learningrate_bias = learningrate_bias; \\\n"\
7523"\t} \\\n"\
7524"}\n"\
7525"\n"\
7526"#define __ae2f_AnnSlpMk( \\\n"\
7527"\t/** tparam */ \\\n"\
7528"\t\t \\\n"\
7529" \\\n"\
7530"\t/** param */ \\\n"\
7531"\t\t/* ,ae2f_float_t* const */ weight_opt, \\\n"\
7532"\t\t/* ae2f_float_t* const */ bias_opt, \\\n"\
7533"\t\t/* ae2f_float_t* const */ cache_opt, \\\n"\
7534"\t\t/* const size_t */ inc, \\\n"\
7535"\t\t/* const size_t */ outc, \\\n"\
7536"\t\t/* const size_t */ offset_opt, \\\n"\
7537"\t\t/* const size_t */ extra_opt, \\\n"\
7538"\t\t/* ae2f_AnnSlp*** const */ slp, \\\n"\
7539"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
7540"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
7541"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
7542"\t\t/* ae2f_float_t */ learningrate, \\\n"\
7543"\t\t/* ae2f_float_t */ learningrate_bias, \\\n"\
7544"\t\t/* ae2f_optae2f_err_t* const */ err_opt \\\n"\
7545") \\\n"\
7546"{ \\\n"\
7547"\tif((err_opt) && *(err_opt)) \\\n"\
7548"\t\t; \\\n"\
7549"\telse unless(slp) \\\n"\
7550"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7551"\telse { \\\n"\
7552"\t\tae2f_AnnSlpMk_t v_mk; \\\n"\
7553"\t\t__ae2f_AnnSlpMk_imp( \\\n"\
7554"\t\t\t\tv_mk \\\n"\
7555"\t\t\t\t, weight_opt, bias_opt, cache_opt \\\n"\
7556"\t\t\t\t, inc \\\n"\
7557"\t\t\t\t, outc, offset_opt, extra_opt \\\n"\
7558" \\\n"\
7559"\t\t\t\t, act, actderiv, lossderiv \\\n"\
7560" \\\n"\
7561"\t\t\t\t, learningrate, learningrate_bias \\\n"\
7562"\t\t\t\t); \\\n"\
7563" \\\n"\
7564"\t\t(err_opt) && !(*(slp) = v_mk.m_ptr) && \\\n"\
7565"\t\t\t(*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7566"\t} \\\n"\
7567"}\n"\
7568"#else\n"\
7569"#undef\t__ae2f_AnnSlpMk_imp\n"\
7570"#define\t__ae2f_AnnSlpMk_imp(...) \\\n"\
7571"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7572"\n"\
7573"#undef\t__ae2f_AnnSlpMk\n"\
7574"#define\t__ae2f_AnnSlpMk(...) \\\n"\
7575"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7576"#endif\n"\
7577"\n"\
7578"#define __ae2f_AnnSlpMk_C __ae2f_AnnSlpMk\n"\
7579"\n"\
7580"/** @param v_predict has m_ret. That is the return value. */\n"\
7581"#define __ae2f_AnnSlpPredictOne_imp( \\\n"\
7582"\t/** tparam */ \\\n"\
7583"\t\t \\\n"\
7584" \\\n"\
7585"\t/** param */ \\\n"\
7586"\t\t/* , ae2f_AnnSlpPredictOne_t */ v_predict, \\\n"\
7587"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7588"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7589"\t\t/* const ae2f_float_t */ bias, \\\n"\
7590"\t\t/* ae2f_AnnAct_t */ act_opt, \\\n"\
7591"\t\t/* const size_t */ oidx, \\\n"\
7592"\t\t/* const size_t */ isz \\\n"\
7593") \\\n"\
7594"{ \\\n"\
7595"\t(v_predict).m_tmp = 0; \\\n"\
7596" \\\n"\
7597"\tfor((v_predict).m_j = (isz); (v_predict).m_j--; ) { \\\n"\
7598"\t\t(v_predict).m_tmp \\\n"\
7599"\t\t\t+= (prm_in)[(v_predict).m_j] \\\n"\
7600"\t\t\t* ((weight) + (oidx) * (isz))[(v_predict).m_j]; \\\n"\
7601"\t} \\\n"\
7602" \\\n"\
7603"\tact_opt((&(v_predict).m_ret), ((v_predict).m_tmp + (bias))); \\\n"\
7604"}\n"\
7605"\n"\
7606"#define __ae2f_AnnSlpPredict_imp( \\\n"\
7607"\t/** tparam */ \\\n"\
7608"\t\t \\\n"\
7609" \\\n"\
7610"\t/** param */ \\\n"\
7611"\t\t/* , ae2f_AnnSlpPredict_t */ v_predict, \\\n"\
7612"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
7613"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7614"\t\t/* ae2f_float_t* const */ out, \\\n"\
7615"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7616"\t\t/* constae2f_float_t* const */ bias, \\\n"\
7617"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
7618") \\\n"\
7619"{ \\\n"\
7620"\tfor((v_predict).m_i = (_this).m_outc; (v_predict).m_i--; ) \\\n"\
7621"\t{ \\\n"\
7622"\t\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
7623"\t\t\t\tv_predict \\\n"\
7624"\t\t\t\t, prm_in \\\n"\
7625"\t\t\t\t, weight \\\n"\
7626"\t\t\t\t, (bias)[(v_predict).m_i] \\\n"\
7627"\t\t\t\t, act_opt \\\n"\
7628"\t\t\t\t, (v_predict).m_i \\\n"\
7629"\t\t\t\t, (_this).m_inc \\\n"\
7630"\t\t\t\t); \\\n"\
7631" \\\n"\
7632"\t\t(out)[(v_predict).m_i] = (v_predict).m_ret; \\\n"\
7633"\t} \\\n"\
7634"}\n"\
7635"\n"\
7636"#define __ae2f_AnnSlpPredict( \\\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_t* const */ _this, \\\n"\
7643"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7644"\t\t/* ae2f_float_t* const */ out, \\\n"\
7645"\t\t/* constae2f_float_t* const */ weight, \\\n"\
7646"\t\t/* constae2f_float_t* const */ bias, \\\n"\
7647"\t\t/* ae2f_AnnAct_t */ act_opt \\\n"\
7648") \\\n"\
7649"{ \\\n"\
7650"\tif((err_opt) && *(err_opt)) \\\n"\
7651"\t\t; \\\n"\
7652"\telse unless((_this) && (prm_in) && (out) && (weight) && (bias)) \\\n"\
7653"\t\t(err_opt) && ((err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
7654"\telse { \\\n"\
7655"\t\tae2f_AnnSlpPredict_t v_predict; \\\n"\
7656" \\\n"\
7657"\t\tif(act_opt) { \\\n"\
7658"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
7659"\t\t\t\t\t(v_predict) \\\n"\
7660"\t\t\t\t\t, *(_this), (prm_in), out \\\n"\
7661"\t\t\t\t\t, weight, bias, act_opt \\\n"\
7662"\t\t\t\t\t); \\\n"\
7663"\t\t} else { \\\n"\
7664"\t\t\t__ae2f_AnnSlpPredict_imp( \\\n"\
7665"\t\t\t\t\t(v_predict) \\\n"\
7666"\t\t\t\t\t, *(_this), prm_in, out \\\n"\
7667"\t\t\t\t\t, weight, bias, \\\n"\
7668"\t\t\t\t\t); \\\n"\
7669"\t\t} \\\n"\
7670"\t} \\\n"\
7671"}\n"\
7672"\n"\
7673"#if ae2f_NEED_CLASS\n"\
7674"#define __ae2f_AnnSlpPredict_C( \\\n"\
7675"\t/** tparam */ \\\n"\
7676"\t\t \\\n"\
7677" \\\n"\
7678"\t/** param */ \\\n"\
7679"\t\t/* ,ae2f_err_t* const */ err_opt, \\\n"\
7680"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
7681"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7682"\t\t/* ae2f_float_t* const */ out \\\n"\
7683") \\\n"\
7684"{ \\\n"\
7685"\tunless(_this) \\\n"\
7686"\t\t(err_opt) && (*(err_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7687"\telse { \\\n"\
7688"\t\t__ae2f_AnnSlpPredict( \\\n"\
7689"\t\t\t\terr_opt, (_this)->m_Slp \\\n"\
7690"\t\t\t\t, prm_in, out \\\n"\
7691"\t\t\t\t, (_this)->m_weight \\\n"\
7692"\t\t\t\t, (_this)->m_bias \\\n"\
7693"\t\t\t\t, (_this)->m_act \\\n"\
7694"\t\t\t\t); \\\n"\
7695"\t} \\\n"\
7696"}\n"\
7697"#else\n"\
7698"#undef\t__ae2f_AnnSlpPredict_C\n"\
7699"#define\t__ae2f_AnnSlpPredict_C(...) \\\n"\
7700"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7701"#endif\n"\
7702"\n"\
7703"/** @brief Weights */\n"\
7704"#define __ae2f_AnnSlpFollowOneW_imp( \\\n"\
7705"\t/** tparam */ \\\n"\
7706"\t\t \\\n"\
7707" \\\n"\
7708"\t/** param */ \\\n"\
7709"\t\t/* , const ae2f_float_t */ inp, \\\n"\
7710"\t\t/* const ae2f_float_t */ delta, \\\n"\
7711"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7712"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7713"\t\t/* const size_t */ inp_sz, \\\n"\
7714"\t\t/* const size_t */ inp_idx, \\\n"\
7715"\t\t/* const size_t */ out_sz, \\\n"\
7716"\t\t/* const size_t */ out_idx \\\n"\
7717") \\\n"\
7718"{ \\\n"\
7719"\t((weight) + (inp_sz) * (out_idx))[(inp_idx)] \\\n"\
7720"\t\t-= (delta) * (inp) * (learningrate); \\\n"\
7721"}\n"\
7722"\n"\
7723"#define __ae2f_AnnSlpFollowOneB_imp( \\\n"\
7724"\t/** tparam */ \\\n"\
7725"\t\t \\\n"\
7726" \\\n"\
7727"\t/** param */ \\\n"\
7728"\t\t/* , ae2f_float_t */ r_bias, \\\n"\
7729"\t\t/* const ae2f_float_t */ delta, \\\n"\
7730"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7731") { (r_bias) -= (delta) * (learningrate_bias); }\n"\
7732"\n"\
7733"#define __ae2f_AnnSlpFollowOne_imp( \\\n"\
7734"\t/** tparam */ \\\n"\
7735"\t\t \\\n"\
7736" \\\n"\
7737"\t/** param */ \\\n"\
7738"\t\t/* , ae2f_AnnSlpFollowOne_t */ v_follow, \\\n"\
7739"\t\t/* constae2f_float_t* */ prm_in, \\\n"\
7740"\t\t/* const ae2f_float_t */ delta, \\\n"\
7741"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7742"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7743"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
7744"\t\t/* const size_t */ inp_sz, \\\n"\
7745"\t\t/* const size_t */ out_idx, \\\n"\
7746"\t\t/* ae2f_float_t */ v_bias \\\n"\
7747") \\\n"\
7748"{ \\\n"\
7749"\tfor((v_follow).m_j = 0; (v_follow).m_j < (inp_sz); ++(v_follow).m_j) { \\\n"\
7750"\t\t((weight) + (inp_sz) * (out_idx))[(v_follow).m_j] \\\n"\
7751"\t\t\t-= (delta) * (prm_in)[(v_follow).m_j] * (learningrate); \\\n"\
7752"\t} \\\n"\
7753" \\\n"\
7754"\t(v_bias) -= (delta) * (learningrate_bias); \\\n"\
7755"}\n"\
7756"\n"\
7757"\n"\
7758"#define __ae2f_AnnSlpFollow_imp( \\\n"\
7759"\t/** tparam */ \\\n"\
7760"\t\t \\\n"\
7761" \\\n"\
7762"\t/** param */ \\\n"\
7763"\t\t/* , ae2f_AnnSlpFollow_t */ v_follow, \\\n"\
7764"\t\t/* const ae2f_AnnSlp_t */ _this, \\\n"\
7765"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7766"\t\t/* constae2f_float_t* const */ delta, \\\n"\
7767"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7768"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7769"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7770"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7771") \\\n"\
7772"{ \\\n"\
7773"\tfor(v_follow.m_i = (_this).m_outc; (v_follow).m_i--; ) { \\\n"\
7774"\t\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
7775"\t\t\t\tv_follow \\\n"\
7776"\t\t\t\t, prm_in \\\n"\
7777"\t\t\t\t, (delta)[v_follow.m_i] \\\n"\
7778"\t\t\t\t, ((weight)) \\\n"\
7779"\t\t\t\t, learningrate, learningrate_bias \\\n"\
7780"\t\t\t\t, (_this).m_inc \\\n"\
7781"\t\t\t\t, (v_follow).m_i \\\n"\
7782"\t\t\t\t, (bias)[v_follow.m_i] \\\n"\
7783"\t\t\t\t); \\\n"\
7784"\t} \\\n"\
7785"}\n"\
7786"\n"\
7787"#define __ae2f_AnnSlpFollow( \\\n"\
7788"\t/** tparam */ \\\n"\
7789"\t\t \\\n"\
7790" \\\n"\
7791"\t/** param */ \\\n"\
7792"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
7793"\t\t/* constae2f_AnnSlp_t* const */ _this, \\\n"\
7794"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7795"\t\t/* constae2f_float_t* const */ delta, \\\n"\
7796"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7797"\t\t/* ae2f_float_t* const */ bias, \\\n"\
7798"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
7799"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
7800") \\\n"\
7801"{ \\\n"\
7802"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
7803"\t\t; \\\n"\
7804"\telse if(learningrate == 0 && learningrate_bias == 0) \\\n"\
7805"\t\t; \\\n"\
7806"\telse unless((_this) && (prm_in) && (delta) && (weight) && (bias)) \\\n"\
7807"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7808"\telse { \\\n"\
7809"\t\tae2f_AnnSlpFollow_t v_follow; \\\n"\
7810"\t\t__ae2f_AnnSlpFollow_imp( \\\n"\
7811"\t\t\t\tv_follow \\\n"\
7812"\t\t\t\t, *(_this) \\\n"\
7813"\t\t\t\t, prm_in \\\n"\
7814"\t\t\t\t, delta \\\n"\
7815"\t\t\t\t, weight, bias \\\n"\
7816"\t\t\t\t, learningrate \\\n"\
7817"\t\t\t\t, learningrate_bias \\\n"\
7818"\t\t\t\t); \\\n"\
7819"\t} \\\n"\
7820"}\n"\
7821"\n"\
7822"#if ae2f_NEED_CLASS\n"\
7823"#define __ae2f_AnnSlpFollow_C( \\\n"\
7824"\t/** tparam */ \\\n"\
7825"\t\t \\\n"\
7826" \\\n"\
7827"\t/** param */ \\\n"\
7828"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
7829"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
7830"\t\t/* constae2f_float_t* const */ prm_in, \\\n"\
7831"\t\t/* constae2f_float_t* const */ delta \\\n"\
7832") { \\\n"\
7833"\tunless((_this)) \\\n"\
7834"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7835"\telse { \\\n"\
7836"\t\t__ae2f_AnnSlpFollow( \\\n"\
7837"\t\t\t\treterr_opt, _this->m_Slp \\\n"\
7838"\t\t\t\t, prm_in, delta \\\n"\
7839"\t\t\t\t, _this->m_weight \\\n"\
7840"\t\t\t\t, (_this)->m_bias \\\n"\
7841"\t\t\t\t, (_this)->m_learningrate, (_this)->m_learningrate_bias \\\n"\
7842"\t\t\t\t); \\\n"\
7843"\t} \\\n"\
7844"}\n"\
7845"#else\n"\
7846"#undef\t__ae2f_AnnSlpFollow_C\n"\
7847"#define __ae2f_AnnSlpFollow_C(...) \\\n"\
7848"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7849"#endif\n"\
7850"\n"\
7851"#define __ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
7852"\t/** tparam */ \\\n"\
7853"\t\t \\\n"\
7854" \\\n"\
7855"\t/** param */ \\\n"\
7856"\t\t/* , ae2f_float_t */ v_fetchdelta_0, \\\n"\
7857"\t\t/* ae2f_float_t */ v_fetchdelta_1, \\\n"\
7858"\t\t/* constae2f_float_t* const */ out, \\\n"\
7859"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7860"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7861"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7862"\t\t/* ae2f_float_t */ retdelta, \\\n"\
7863"\t\t/* const size_t */ oidx, \\\n"\
7864"\t\t/* const size_t */ osz \\\n"\
7865") \\\n"\
7866"{ \\\n"\
7867"\tactderiv_opt(&(v_fetchdelta_0), (out)[oidx]); \\\n"\
7868"\tlossderiv((&(v_fetchdelta_1)), (out), (out_desired), (oidx), (osz)); \\\n"\
7869" \\\n"\
7870"\t(retdelta) = \\\n"\
7871"\t\t(v_fetchdelta_0) * \\\n"\
7872"\t\t(v_fetchdelta_1) \\\n"\
7873"\t\t; \\\n"\
7874"}\n"\
7875"\n"\
7876"#define __ae2f_AnnSlpFetchDelta_imp( \\\n"\
7877"\t/** tparam */ \\\n"\
7878"\t\t \\\n"\
7879" \\\n"\
7880"\t/** param */ \\\n"\
7881"\t\t/* , ae2f_AnnSlpFetchDelta_t */ v_delta, \\\n"\
7882"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
7883"\t\t/* constae2f_float_t* const */ out, \\\n"\
7884"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7885"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7886"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7887"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7888") \\\n"\
7889"{ \\\n"\
7890"\tfor((v_delta).m_i = (slp).m_outc; (v_delta).m_i--; ) \\\n"\
7891"\t\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
7892"\t\t\t\t(v_delta).m_tmp, (v_delta).m_tmp1 \\\n"\
7893"\t\t\t\t, out, out_desired \\\n"\
7894"\t\t\t\t, actderiv_opt, lossderiv \\\n"\
7895"\t\t\t\t, (retdelta)[v_delta.m_i] \\\n"\
7896"\t\t\t\t, (v_delta).m_i \\\n"\
7897"\t\t\t\t, (slp).m_outc \\\n"\
7898"\t\t\t\t); \\\n"\
7899"}\n"\
7900"\n"\
7901"#define __ae2f_AnnSlpFetchDelta( \\\n"\
7902"\t/** tparam */ \\\n"\
7903"\t\t \\\n"\
7904" \\\n"\
7905"\t/** param */ \\\n"\
7906"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
7907"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
7908"\t\t/* constae2f_float_t* const */ out, \\\n"\
7909"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7910"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
7911"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
7912"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7913") \\\n"\
7914"{ \\\n"\
7915"\tif((err) && *(err)) \\\n"\
7916"\t\t; \\\n"\
7917"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
7918"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7919"\telse unless(lossderiv) \\\n"\
7920"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7921" \\\n"\
7922"\telse if(actderiv_opt) { \\\n"\
7923"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7924"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7925"\t\t\t\tv_delta, (*(slp)) \\\n"\
7926"\t\t\t\t, out, out_desired \\\n"\
7927"\t\t\t\t, actderiv_opt \\\n"\
7928"\t\t\t\t, lossderiv \\\n"\
7929"\t\t\t\t, retdelta \\\n"\
7930"\t\t\t\t); \\\n"\
7931"\t} else { \\\n"\
7932"\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7933"\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7934"\t\t\t\tv_delta, (*(slp)) \\\n"\
7935"\t\t\t\t, out, out_desired \\\n"\
7936"\t\t\t\t, , lossderiv \\\n"\
7937"\t\t\t\t, retdelta \\\n"\
7938"\t\t\t\t); \\\n"\
7939"\t} \\\n"\
7940"}\n"\
7941"\n"\
7942"#if\tae2f_NEED_CLASS\n"\
7943"#define __ae2f_AnnSlpFetchDelta_C( \\\n"\
7944"\t/** tparam */ \\\n"\
7945"\t\t \\\n"\
7946" \\\n"\
7947"\t/** param */ \\\n"\
7948"\t\t/* , ae2f_optae2f_err_t* const */ err, \\\n"\
7949"\t\t/* constae2f_AnnSlp* const */ slp, \\\n"\
7950"\t\t/* constae2f_float_t* const */ out, \\\n"\
7951"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7952"\t\t/* ae2f_float_t* const */ retdelta \\\n"\
7953") \\\n"\
7954"{ \\\n"\
7955"\tif((err) && *(err)) \\\n"\
7956"\t\t; \\\n"\
7957"\telse unless((slp) && (out) && (out_desired) && (retdelta)) \\\n"\
7958"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
7959"\telse unless((slp)->m_lossderiv) \\\n"\
7960"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
7961"\telse { \\\n"\
7962"\t\tif((slp)->m_actderiv) { \\\n"\
7963"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7964"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7965"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
7966"\t\t\t\t\t, out, out_desired \\\n"\
7967"\t\t\t\t\t, (slp)->m_actderiv, (slp)->m_lossderiv \\\n"\
7968"\t\t\t\t\t, retdelta \\\n"\
7969"\t\t\t\t\t); \\\n"\
7970"\t\t} else { \\\n"\
7971"\t\t\tae2f_AnnSlpFetchDelta_t v_delta; \\\n"\
7972"\t\t\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
7973"\t\t\t\t\tv_delta, (slp)->m_Slp[0] \\\n"\
7974"\t\t\t\t\t, out, out_desired \\\n"\
7975"\t\t\t\t\t, , (slp)->m_lossderiv \\\n"\
7976"\t\t\t\t\t, retdelta \\\n"\
7977"\t\t\t\t\t); \\\n"\
7978"\t\t} \\\n"\
7979"\t} \\\n"\
7980"}\n"\
7981"#else\n"\
7982"#undef\t__ae2f_AnnSlpFetchDelta_C\n"\
7983"#define __ae2f_AnnSlpFetchDelta_C(...) \\\n"\
7984"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
7985"#endif\n"\
7986"\n"\
7987"#define __ae2f_AnnSlpFitOne_imp( \\\n"\
7988"\t/** tparam */ \\\n"\
7989"\t\t \\\n"\
7990" \\\n"\
7991"\t/** param */ \\\n"\
7992"\t\t/* , ae2f_AnnSlpFitOne_t */ v_fit, \\\n"\
7993"\t\t/* constae2f_float_t* const */ inp, \\\n"\
7994"\t\t/* constae2f_float_t* const */ out, \\\n"\
7995"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
7996"\t\t/* ae2f_float_t* const */ weight, \\\n"\
7997"\t\t/* ae2f_float_t */ r_bias, \\\n"\
7998"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
7999"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
8000"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8001"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8002"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
8003"\t\t/* const size_t */ iidx, \\\n"\
8004"\t\t/* const size_t */ oidx, \\\n"\
8005"\t\t/* const size_t */ isz, \\\n"\
8006"\t\t/* const size_t */ osz \\\n"\
8007") \\\n"\
8008"{ \\\n"\
8009"\t__ae2f_AnnSlpFetchDeltaOne_imp( \\\n"\
8010"\t\t\t(v_fit).m_tmp, (v_fit).m_tmp1 \\\n"\
8011"\t\t\t, out, out_desired \\\n"\
8012"\t\t\t, actderiv_opt, lossderiv \\\n"\
8013"\t\t\t, r_cachedelta \\\n"\
8014"\t\t\t, oidx, osz \\\n"\
8015"\t\t\t); \\\n"\
8016" \\\n"\
8017" \\\n"\
8018"\t__ae2f_AnnSlpFollowOne_imp( \\\n"\
8019"\t\t\tv_fit, inp, r_cachedelta, weight \\\n"\
8020"\t\t\t, learningrate, learningrate_bias \\\n"\
8021"\t\t\t, isz, oidx, r_bias \\\n"\
8022"\t\t\t); \\\n"\
8023"}\n"\
8024"\n"\
8025"#define __ae2f_AnnSlpFit_imp( \\\n"\
8026"\t/** tparam */ \\\n"\
8027"\t\t \\\n"\
8028" \\\n"\
8029"\t/** param */ \\\n"\
8030"\t\t/* , ae2f_AnnSlpFit_t */ v_fit, \\\n"\
8031"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
8032"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8033"\t\t/* constae2f_float_t* const */ out, \\\n"\
8034"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8035"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8036"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8037"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8038"\t\t/* ae2f_AnnAct_t */ actderiv_opt, \\\n"\
8039"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8040"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8041"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8042") \\\n"\
8043"{ \\\n"\
8044"\t__ae2f_AnnSlpFetchDelta_imp( \\\n"\
8045"\t\t\tv_fit, slp \\\n"\
8046"\t\t\t, out, out_desired \\\n"\
8047"\t\t\t, actderiv_opt, lossderiv \\\n"\
8048"\t\t\t, cachedelta \\\n"\
8049"\t\t\t); \\\n"\
8050" \\\n"\
8051"\t__ae2f_AnnSlpFollow_imp( \\\n"\
8052"\t\t\tv_fit, slp, inp \\\n"\
8053"\t\t\t, cachedelta, weights, bias \\\n"\
8054"\t\t\t, learningrate, learningrate_bias \\\n"\
8055"\t\t\t); \\\n"\
8056"}\n"\
8057"\n"\
8058"#define __ae2f_AnnSlpFit( \\\n"\
8059"\t/** tparam */ \\\n"\
8060"\t\t \\\n"\
8061" \\\n"\
8062"\t/** param */ \\\n"\
8063"\t\t/* ,ae2f_err_t* const ae2f_opt */ reterr_opt, \\\n"\
8064"\t\t/* constae2f_AnnSlp_t* */ _this, \\\n"\
8065"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
8066"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
8067"\t\t/* constae2f_float_t* const */ prm_out_desired, \\\n"\
8068"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8069"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8070"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8071"\t\t/* ae2f_AnnAct_t ae2f_opt */ actderiv_opt, \\\n"\
8072"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8073"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8074"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8075") \\\n"\
8076"{ \\\n"\
8077"\tif((reterr_opt) && *(reterr_opt)) \\\n"\
8078"\t\t; \\\n"\
8079"\telse unless((_this) && (prm_inp) && (prm_out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
8080"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8081"\telse unless(lossderiv) \\\n"\
8082"\t\t(reterr_opt) && (*(reterr_opt) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
8083"\telse if ((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
8084"\t\t; \\\n"\
8085"\telse { \\\n"\
8086"\t\tae2f_AnnSlpFit_t v_fit; \\\n"\
8087"\t\tif(actderiv_opt) { \\\n"\
8088"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
8089"\t\t\t\t\tv_fit \\\n"\
8090"\t\t\t\t\t, (*(_this)) \\\n"\
8091"\t\t\t\t\t, prm_inp \\\n"\
8092"\t\t\t\t\t, prm_out \\\n"\
8093"\t\t\t\t\t, prm_out_desired \\\n"\
8094"\t\t\t\t\t, weights \\\n"\
8095"\t\t\t\t\t, bias \\\n"\
8096"\t\t\t\t\t, cachedelta \\\n"\
8097"\t\t\t\t\t, actderiv_opt \\\n"\
8098"\t\t\t\t\t, lossderiv \\\n"\
8099"\t\t\t\t\t, learningrate \\\n"\
8100"\t\t\t\t\t, learningrate_bias \\\n"\
8101"\t\t\t\t\t); \\\n"\
8102"\t\t} else { \\\n"\
8103"\t\t\t__ae2f_AnnSlpFit_imp( \\\n"\
8104"\t\t\t\t\tv_fit \\\n"\
8105"\t\t\t\t\t, (*(_this)) \\\n"\
8106"\t\t\t\t\t, prm_inp \\\n"\
8107"\t\t\t\t\t, prm_out \\\n"\
8108"\t\t\t\t\t, prm_out_desired \\\n"\
8109"\t\t\t\t\t, weights \\\n"\
8110"\t\t\t\t\t, bias \\\n"\
8111"\t\t\t\t\t, cachedelta \\\n"\
8112"\t\t\t\t\t, \\\n"\
8113"\t\t\t\t\t, lossderiv \\\n"\
8114"\t\t\t\t\t, learningrate \\\n"\
8115"\t\t\t\t\t, learningrate_bias \\\n"\
8116"\t\t\t\t\t); \\\n"\
8117"\t\t} \\\n"\
8118"\t} \\\n"\
8119"}\n"\
8120"\n"\
8121"#if\tae2f_NEED_CLASS\n"\
8122"#define __ae2f_AnnSlpFit_C( \\\n"\
8123"\t/** tparam */ \\\n"\
8124"\t\t \\\n"\
8125" \\\n"\
8126"\t/** param */ \\\n"\
8127"\t\t/* ,ae2f_err_t* const */ reterr_opt, \\\n"\
8128"\t\t/* constae2f_AnnSlp* const */ _this, \\\n"\
8129"\t\t/* constae2f_float_t* const */ prm_inp, \\\n"\
8130"\t\t/* constae2f_float_t* const */ prm_out, \\\n"\
8131"\t\t/* constae2f_float_t* const */ prm_out_desired \\\n"\
8132") { \\\n"\
8133"\tunless(_this) { \\\n"\
8134"\t\t((reterr_opt) && (*(reterr_opt)|= ae2f_errGlob_PTR_IS_NULL)); \\\n"\
8135"\t} \\\n"\
8136"\telse { \\\n"\
8137"\t\t__ae2f_AnnSlpFit( \\\n"\
8138"\t\t\t\treterr_opt \\\n"\
8139"\t\t\t\t, (_this)->m_Slp \\\n"\
8140"\t\t\t\t, prm_inp \\\n"\
8141"\t\t\t\t, prm_out \\\n"\
8142"\t\t\t\t, prm_out_desired \\\n"\
8143"\t\t\t\t, (_this)->m_weight \\\n"\
8144"\t\t\t\t, (_this)->m_bias \\\n"\
8145"\t\t\t\t, (_this)->m_cache \\\n"\
8146"\t\t\t\t, (_this)->m_actderiv \\\n"\
8147"\t\t\t\t, (_this)->m_lossderiv \\\n"\
8148"\t\t\t\t, (_this)->m_learningrate \\\n"\
8149"\t\t\t\t, (_this)->m_learningrate_bias \\\n"\
8150"\t\t\t\t); \\\n"\
8151"\t} \\\n"\
8152"}\n"\
8153"#else\n"\
8154"#undef\t__ae2f_AnnSlpFit_C\n"\
8155"#define\t__ae2f_AnnSlpFit_C(...) \\\n"\
8156"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
8157"#endif\n"\
8158"\n"\
8159"#define __ae2f_AnnSlpTrainOne_imp( \\\n"\
8160"\t/** tparam */ \\\n"\
8161"\t\t \\\n"\
8162" \\\n"\
8163"\t/** param */ \\\n"\
8164"\t\t/* , ae2f_AnnSlpTrainOne_t */ v_train, \\\n"\
8165"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
8166"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
8167"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8168"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8169"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8170"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8171"\t\t/* ae2f_float_t* const */ weight, \\\n"\
8172"\t\t/* ae2f_float_t */ v_bias, \\\n"\
8173"\t\t/* ae2f_float_t */ r_cachedelta, \\\n"\
8174"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8175"\t\t/* const ae2f_float_t */ learningrate_bias, \\\n"\
8176"\t\t/* const size_t */ oidx, \\\n"\
8177"\t\t/* const size_t */ osz, \\\n"\
8178"\t\t/* const size_t */ isz \\\n"\
8179") \\\n"\
8180"{ \\\n"\
8181"\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
8182"\t\t\tv_train \\\n"\
8183"\t\t\t, inp \\\n"\
8184"\t\t\t, weight \\\n"\
8185"\t\t\t, v_bias \\\n"\
8186"\t\t\t, act \\\n"\
8187"\t\t\t, oidx \\\n"\
8188"\t\t\t, isz \\\n"\
8189"\t\t\t); \\\n"\
8190" \\\n"\
8191"\t(out_cache)[oidx] = (v_train).m_ret; \\\n"\
8192" \\\n"\
8193"\t__ae2f_AnnSlpFitOne_imp( \\\n"\
8194"\t\t\tv_train \\\n"\
8195"\t\t\t, inp \\\n"\
8196"\t\t\t, out_cache, out_desired \\\n"\
8197"\t\t\t, weight \\\n"\
8198"\t\t\t, v_bias \\\n"\
8199"\t\t\t, r_cachedelta \\\n"\
8200"\t\t\t, actderiv, lossderiv \\\n"\
8201"\t\t\t, learningrate, learningrate_bias \\\n"\
8202"\t\t\t, iidx, oidx, isz, osz \\\n"\
8203"\t\t\t); \\\n"\
8204"}\n"\
8205"\n"\
8206"#define __ae2f_AnnSlpTrain_imp( \\\n"\
8207"\t/** tparam */ \\\n"\
8208"\t\t \\\n"\
8209" \\\n"\
8210"\t/** param */ \\\n"\
8211"\t\t/* , ae2f_AnnSlpTrain_t */ v_train, \\\n"\
8212"\t\t/* const ae2f_AnnSlp_t */ slp, \\\n"\
8213"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8214"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8215"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8216"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8217"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8218"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8219"\t\t/* ae2f_opt ae2f_AnnAct_t */ act, \\\n"\
8220"\t\t/* ae2f_opt ae2f_AnnAct_t */ actderiv, \\\n"\
8221"\t\t/* ae2f_AnnLoss_t */ lossderiv, \\\n"\
8222"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8223"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8224") \\\n"\
8225"{ \\\n"\
8226"\t__ae2f_AnnSlpPredict_imp(v_train, slp, inp, out_cache, weights, bias, act); \\\n"\
8227"\t__ae2f_AnnSlpFit_imp( \\\n"\
8228"\t\t\tv_train, slp, inp, out_cache, out_desired \\\n"\
8229"\t\t\t, weights, bias, cachedelta \\\n"\
8230"\t\t\t, actderiv, lossderiv \\\n"\
8231"\t\t\t, learningrate, learningrate_bias \\\n"\
8232"\t\t\t); \\\n"\
8233"}\n"\
8234"\n"\
8235"#if ae2f_NEED_CLASS\n"\
8236"#define __ae2f_AnnSlpTrain_C( \\\n"\
8237"\t/** tparam */ \\\n"\
8238"\t\t \\\n"\
8239" \\\n"\
8240"\t/** param */ \\\n"\
8241"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
8242"\t\t/* ae2f_AnnSlp* */ slp, \\\n"\
8243"\t\t/* constae2f_float_t* */ inp, \\\n"\
8244"\t\t/* constae2f_float_t* */ out_desired \\\n"\
8245") \\\n"\
8246"{ \\\n"\
8247"\tunless(slp) \\\n"\
8248"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8249"\telse { \\\n"\
8250"\t\t__ae2f_AnnSlpTrain( \\\n"\
8251"\t\t\t\terr, (slp)->m_Slp, inp \\\n"\
8252"\t\t\t\t, (slp)->m_cache \\\n"\
8253"\t\t\t\t, out_desired \\\n"\
8254"\t\t\t\t, (slp)->m_weight \\\n"\
8255"\t\t\t\t, (slp)->m_bias \\\n"\
8256"\t\t\t\t, (slp)->m_cache \\\n"\
8257"\t\t\t\t, (slp)->m_act \\\n"\
8258"\t\t\t\t, (slp)->m_actderiv \\\n"\
8259"\t\t\t\t, (slp)->m_lossderiv \\\n"\
8260"\t\t\t\t, (slp)->m_learningrate \\\n"\
8261"\t\t\t\t, (slp)->m_learningrate_bias \\\n"\
8262"\t\t\t\t); \\\n"\
8263"\t} \\\n"\
8264"}\n"\
8265"#else\n"\
8266"#undef\t__ae2f_AnnSlpTrain_C\n"\
8267"#define __ae2f_AnnSlpTrain_C \\\n"\
8268"\ttypedef char NO_ae2f_NEED_CLASS[-1]\n"\
8269"\n"\
8270"#endif\n"\
8271"\n"\
8272"#define __ae2f_AnnSlpTrain( \\\n"\
8273"\t/** tparam */ \\\n"\
8274"\t\t \\\n"\
8275" \\\n"\
8276"\t/** param */ \\\n"\
8277"\t\t/* ,ae2f_err_t* const */ err, \\\n"\
8278"\t\t/* constae2f_AnnSlp_t* const */ slp, \\\n"\
8279"\t\t/* constae2f_float_t* const */ inp, \\\n"\
8280"\t\t/* ae2f_float_t* const */ out_cache, \\\n"\
8281"\t\t/* constae2f_float_t* const */ out_desired, \\\n"\
8282"\t\t/* ae2f_float_t* const */ weights, \\\n"\
8283"\t\t/* ae2f_float_t* const */ bias, \\\n"\
8284"\t\t/* ae2f_float_t* const */ cachedelta, \\\n"\
8285"\t\t/* ae2f_optae2f_AnnAct_t* const */ act, \\\n"\
8286"\t\t/* ae2f_optae2f_AnnAct_t* const */ actderiv, \\\n"\
8287"\t\t/* ae2f_AnnLoss_t* const */ lossderiv, \\\n"\
8288"\t\t/* const ae2f_float_t */ learningrate, \\\n"\
8289"\t\t/* const ae2f_float_t */ learningrate_bias \\\n"\
8290") \\\n"\
8291"{ \\\n"\
8292"\tif((err) && *(err)) \\\n"\
8293"\t\t; \\\n"\
8294"\telse unless((slp) && (inp) && (out_cache) && (out_desired) && (weights) && (bias) && (cachedelta)) \\\n"\
8295"\t\t(err) && (*(err) |= ae2f_errGlob_PTR_IS_NULL); \\\n"\
8296"\telse unless(lossderiv) \\\n"\
8297"\t\t(err) && (*(err) |= ae2f_errGlob_IMP_NOT_FOUND); \\\n"\
8298"\telse if((learningrate) == 0 && (learningrate_bias) == 0) \\\n"\
8299"\t\t; \\\n"\
8300"\telse { \\\n"\
8301"\t\tae2f_AnnSlpTrain_t v_train; \\\n"\
8302"\t\tif (act) { \\\n"\
8303"\t\t\tif(actderiv) { \\\n"\
8304"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8305"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8306"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8307"\t\t\t\t\t\t, cachedelta, act, actderiv, lossderiv \\\n"\
8308"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8309"\t\t\t\t\t\t); \\\n"\
8310"\t\t\t} else { \\\n"\
8311"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8312"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8313"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8314"\t\t\t\t\t\t, cachedelta, act, , lossderiv \\\n"\
8315"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8316"\t\t\t\t\t\t); \\\n"\
8317" \\\n"\
8318"\t\t\t} \\\n"\
8319"\t\t} else { \\\n"\
8320"\t\t\tif(actderiv) { \\\n"\
8321"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8322"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8323"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8324"\t\t\t\t\t\t, cachedelta, , actderiv, lossderiv \\\n"\
8325"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8326"\t\t\t\t\t\t); \\\n"\
8327"\t\t\t} else { \\\n"\
8328"\t\t\t\t__ae2f_AnnSlpTrain_imp( \\\n"\
8329"\t\t\t\t\t\tv_train, (*slp), inp, out_cache \\\n"\
8330"\t\t\t\t\t\t, out_desired, weights, bias \\\n"\
8331"\t\t\t\t\t\t, cachedelta, , , lossderiv \\\n"\
8332"\t\t\t\t\t\t, learningrate, learningrate_bias \\\n"\
8333"\t\t\t\t\t\t); \\\n"\
8334" \\\n"\
8335"\t\t\t} \\\n"\
8336"\t\t} \\\n"\
8337"\t} \\\n"\
8338"}\n"\
8339"\n"\
8340"\n"\
8341"#endif\n"\
8342"\n"\
8343"#undef\t__ae2f_MACRO_GENERATED\n"\
8344"\n"\
8345"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8346"\n"\
8347"/** One eof gracefully */ \\\n"\
8348"\n"\
8349"#undef __ae2f_MACRO_GENERATED\n"\
8350"#define __ae2f_MACRO_GENERATED 1\n"\
8351"/** include detected */ \\\n"\
8352"/** Path cursor */ \\\n"\
8353"/* Opening: ./mac.h */ \\\n"\
8354"/** first fp: 0x55d691830710 */ \\\n"\
8355"/** Current ./mac.h */ \\\n"\
8356"/** Dir ./ */ \\\n"\
8357"/** Found something. Now let\'s validate. */ \\\n"\
8358"/** It\'s not repeating */ \\\n"\
8359"/******************** */\\\n"\
8360"/* Now the path will be: */ \\\n"\
8361" /*./mac.h */ \\\n"\
8362"#ifndef mac_h\n"\
8363"#define mac_h\n"\
8364"\n"\
8365"#define ae2f_MAC()\tvoid\n"\
8366"#define\tCAST(t, x)\t((t)(x))\n"\
8367"\n"\
8368"\n"\
8369"/** Quick Pattern */\n"\
8370"#if CL_Q\n"\
8371"#define CL_Q_CVRT(x)\tx##_Q\n"\
8372"#else\n"\
8373"#define CL_Q_CVRT(x)\tx\n"\
8374"#endif\n"\
8375"\n"\
8376"#endif\n"\
8377"/** One eof gracefully */ \\\n"\
8378"\n"\
8379"#undef __ae2f_MACRO_GENERATED\n"\
8380"#define __ae2f_MACRO_GENERATED 1\n"\
8381"\n"\
8382"typedef ae2f_AnnSlpPredict_t _clSlpPredict_t;\n"\
8383"\n"\
8384"#define _clSlpPredict( \\\n"\
8385"\t/** tparam */ \\\n"\
8386"\t\t \\\n"\
8387" \\\n"\
8388"\t/** param */ \\\n"\
8389"\t\t/* , _clSlpPredict_t */ v_predict, \\\n"\
8390"\t\t/* ae2f_float_t* const */ loc, \\\n"\
8391"\t\t/* constae2f_float_t* const */ p_inp, \\\n"\
8392"\t\t/* constae2f_float_t* const */ p_weight, \\\n"\
8393"\t\t/* constae2f_float_t* const */ p_bias, \\\n"\
8394"\t\t/* const size_t */ iidx, \\\n"\
8395"\t\t/* const size_t */ isz, \\\n"\
8396"\t\t/* const size_t */ oidx, \\\n"\
8397"\t\t/* const size_t */ osz, \\\n"\
8398"\t\t/* ae2f_AnnAct_t */ ACT \\\n"\
8399") \\\n"\
8400"{ \\\n"\
8401"\tif((iidx) == 0 && (oidx) < (osz)) { \\\n"\
8402"\t\t__ae2f_AnnSlpPredictOne_imp( \\\n"\
8403"\t\t\t\t(v_predict) \\\n"\
8404"\t\t\t\t, (p_inp)\t\t\t\t\t/** prm_in */ \\\n"\
8405"\t\t\t\t, (p_weight)\t\t\t\t/** weight */ \\\n"\
8406"\t\t\t\t, (p_bias)[oidx]\t\t\t\t/** Bias */ \\\n"\
8407"\t\t\t\t, ACT \\\n"\
8408"\t\t\t\t, (oidx) \\\n"\
8409"\t\t\t\t, (isz) \\\n"\
8410"\t\t\t\t); \\\n"\
8411" \\\n"\
8412"\t\t(loc)[oidx] = (v_predict).m_ret; \\\n"\
8413"\t} \\\n"\
8414"}\n"\
8415"\n"\
8416"ae2f_structdef(struct, _clSlpPredict_t_Q) {\n"\
8417"\tae2f_float_t\tm_sum, m_ret;\n"\
8418"};\n"\
8419"\n"\
8420"/** Quick version, not precise. */\n"\
8421"#define _clSlpPredict_Q( \\\n"\
8422"\t/** tparam */ \\\n"\
8423"\t\t \\\n"\
8424" \\\n"\
8425"\t/** param */ \\\n"\
8426"\t\t/* , _clSlpPredict_t_Q */ v_predict, \\\n"\
8427"\t\t/* __localae2f_float_t* const */ loc, \\\n"\
8428"\t\t/* constae2f_float_t* const */ p_inp, \\\n"\
8429"\t\t/* constae2f_float_t* const */ p_weight, \\\n"\
8430"\t\t/* constae2f_float_t* const */ p_bias, \\\n"\
8431"\t\t/* const size_t */ iidx, \\\n"\
8432"\t\t/* const size_t */ isz, \\\n"\
8433"\t\t/* const size_t */ oidx, \\\n"\
8434"\t\t/* const size_t */ osz, \\\n"\
8435"\t\t/* ae2f_AnnAct_t */ ACT \\\n"\
8436") \\\n"\
8437"{ \\\n"\
8438"\tif((oidx) < (osz) && (iidx) < (isz)) { \\\n"\
8439"\t\t(v_predict).m_sum = work_group_reduce_add( \\\n"\
8440"\t\t\t\t(p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx] \\\n"\
8441"\t\t\t\t); \\\n"\
8442" \\\n"\
8443"\t\tif((iidx) == 0) { \\\n"\
8444"\t\t\tACT((&(v_predict).m_ret), ((v_predict).m_sum + (p_bias)[oidx])); \\\n"\
8445"\t\t\t(loc)[oidx] = (v_predict).m_ret; \\\n"\
8446"\t\t} \\\n"\
8447"\t} \\\n"\
8448"}\n"\
8449"\n"\
8450"#define clSlpPredict\tCL_Q_CVRT(_clSlpPredict)\n"\
8451"#define clSlpPredict_t\tCL_Q_CVRT(_clSlpPredict_t)\n"\
8452"\n"\
8453"#endif\n"\
8454"\n"\
8455"#undef\t__ae2f_MACRO_GENERATED\n"\
8456"\n"\
8457"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8458"\n"\
8459"/** One eof gracefully */ \\\n"\
8460"\n"\
8461"#undef __ae2f_MACRO_GENERATED\n"\
8462"#define __ae2f_MACRO_GENERATED 1\n"\
8463"\n"\
8464"#ifndef ACT\n"\
8465"#define ACT(r, x)\n"\
8466"#endif\n"\
8467"\n"\
8468"#ifndef ACT_DERIV\n"\
8469"#define ACT_DERIV(r, x)\n"\
8470"#endif\n"\
8471"\n"\
8472"#ifndef LOSS_DERIV\n"\
8473"#define LOSS_DERIV(r, y, y_desired, i, c)\n"\
8474"#endif\n"\
8475"\n"\
8476"/** Magic numbers */\n"\
8477"#define p_weight\tglob\n"\
8478"#define p_bias\t\t(glob + (osz * isz))\n"\
8479"#define p_inp\t\t((p_bias) + (osz))\n"\
8480"#define p_out\t\t((p_inp) + isz)\n"\
8481"#define p_delta\t\t((p_out) + osz)\n"\
8482"#define p_goal\t\t((p_delta) + osz)\n"\
8483"\n"\
8484"const ae2f_structdef(struct, lr_t) {\n"\
8485"\tae2f_float_t\tm_weight;\n"\
8486"\tae2f_float_t\tm_bias;\n"\
8487"};\n"\
8488"\n"\
8489"\n"\
8490"/**\n"\
8491"\n"\
8492" * @brief\n"\
8493" *\n"\
8494"\n"\
8495" * get_global_id(0) : oidx\t\\n\n"\
8496" *\n"\
8497"\n"\
8498" * Global: \\n\n"\
8499" * \t, ae2f_float_t[Out][Inp] : Weight\t\\n\n"\
8500" * \t, ae2f_float_t[Out] : Bias\t\t\\n\n"\
8501" * \t, ae2f_float_t[Inp]\t\t\t\\n\n"\
8502" * \t, ae2f_float_t[Out]\t\t\t\\n\n"\
8503" *\n"\
8504"\n"\
8505" * */\n"\
8506"__kernel void kPredict(__global ae2f_float_t* glob, const uint32_t unused) {\n"\
8507"\tconst size_t\n"\
8508"\t\toidx = get_global_id(0)\n"\
8509"\t\t, osz = get_global_size(0)\n"\
8510"\t\t, iidx = get_global_id(1)\n"\
8511"\t\t, isz = get_global_size(1);\n"\
8512"\n"\
8513"\tclSlpPredict_t v_predict;\n"\
8514"\n"\
8515"\tclSlpPredict(v_predict, p_out, p_inp, p_weight, p_bias, iidx, isz, oidx, osz, ACT);\n"\
8516"}\n"\
8517"\n"\
8518"/**\n"\
8519"\n"\
8520" * @brief\n"\
8521" *\n"\
8522"\n"\
8523" * get_global_id(0) : oidx\t\\n\n"\
8524" * get_local_id(0) : iidx\t\\n\n"\
8525" *\n"\
8526"\n"\
8527" * Global: \\n\n"\
8528" * \tae2f_float_t[Out][Inp] : Weights\t\\n\n"\
8529" * \t, ae2f_float_t[Out] : \tBias\t\t\\n\n"\
8530" * \t, ae2f_float_t[Inp]\t\t\t\\n\n"\
8531" * \t, ae2f_float_t[Out]\t\t\t\\n\n"\
8532" * \t, ae2f_float_t[Out] : Delta\t\t\\n\n"\
8533" * \t, ae2f_float_t[Out] : Goal\t\t\\n\n"\
8534" *\n"\
8535"\n"\
8536" * Local: \\n\n"\
8537" * \tae2f_float_t[Out]\t\t\\n\n"\
8538" * */\n"\
8539"__kernel void kTrain(lr_t lr, __global ae2f_float_t* glob, __local ae2f_float_t* loc) {\n"\
8540"\tconst size_t\n"\
8541"\t\toidx = get_global_id(0)\n"\
8542"\t\t, osz = get_global_size(0)\n"\
8543"\t\t, iidx = get_global_id(1)\n"\
8544"\t\t, isz = get_global_size(1)\n"\
8545"\t\t;\n"\
8546"\n"\
8547"\tae2f_float_t\t\tdelta = 0, v_tmp = 0, v_tmp1 = 0;\n"\
8548"\tclSlpPredict_t\t\tv_predict;\n"\
8549"\n"\
8550"\tclSlpPredict(v_predict, loc, p_inp, p_weight, p_bias, iidx, isz, oidx, osz, ACT);\n"\
8551"\n"\
8552"\tif(iidx == 0) {\n"\
8553"\t\tp_out[oidx] = loc[oidx];\n"\
8554"\n"\
8555"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
8556"\t\t\t\tv_tmp, v_tmp1\n"\
8557"\t\t\t\t, loc\t\t\t\t\t\t/** out */\n"\
8558"\t\t\t\t, p_goal\t\t\t\t\t/** out_desired */ \n"\
8559"\t\t\t\t, ACT_DERIV, LOSS_DERIV\n"\
8560"\t\t\t\t, delta\n"\
8561"\t\t\t\t, oidx, osz\n"\
8562"\t\t\t\t);\n"\
8563"\n"\
8564"\t\t/** delta */\n"\
8565"\t\tp_delta[oidx] = (delta);\n"\
8566"\n"\
8567"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8568"\t\t\t\tp_bias[oidx] /** r_bias */\n"\
8569"\t\t\t\t, delta /** delta */\n"\
8570"\t\t\t\t, lr.m_bias\n"\
8571"\t\t\t\t);\n"\
8572"\t}\n"\
8573"\n"\
8574"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8575"\t\t\tp_inp[iidx] /** inp */\n"\
8576"\t\t\t, (delta) /** delta */\n"\
8577"\t\t\t, glob /** weight */\n"\
8578"\t\t\t, lr.m_weight\n"\
8579"\t\t\t, isz\n"\
8580"\t\t\t, iidx\n"\
8581"\t\t\t, osz\n"\
8582"\t\t\t, oidx\n"\
8583"\t\t\t);\n"\
8584"\n"\
8585"}\n"\
8586"\n"\
8587"/**\n"\
8588"\n"\
8589" * @brief\n"\
8590" *\n"\
8591"\n"\
8592" * get_global_id(0) : oidx\t\\n\n"\
8593" * get_local_id(0) : iidx\t\\n\n"\
8594" *\n"\
8595"\n"\
8596" * Global: \\n\n"\
8597" * \tae2f_float_t[Out][In] : Weights\t\\n\n"\
8598" * \t, ae2f_float_t[Out] : Bias\t\\n\n"\
8599" *\t\t, ae2f_float_t[Inp]\t\t\\n\n"\
8600" *\t\t, ae2f_float_t[Out]\t\t\\n\n"\
8601" * \t, ae2f_float_t[Out] : Delta\t\\n\n"\
8602" * \t, ae2f_float_t[Out] : Goal\t\\n\n"\
8603" *\n"\
8604"\n"\
8605" * */\n"\
8606"__kernel void kFit(lr_t lr, __global ae2f_float_t* glob) {\n"\
8607"\tconst size_t\n"\
8608"\t\toidx = get_global_id(0)\n"\
8609"\t\t, osz = get_global_size(0)\n"\
8610"\t\t, iidx = get_global_id(1)\n"\
8611"\t\t, isz = get_global_size(1)\n"\
8612"\t\t;\n"\
8613"\n"\
8614"\tae2f_float_t\tdelta, v_tmp, v_tmp1;\n"\
8615"\n"\
8616"\tif(iidx == 0) {\n"\
8617"\t\t__ae2f_AnnSlpFetchDeltaOne_imp(\n"\
8618"\t\t\t\tv_tmp, v_tmp1\n"\
8619"\t\t\t\t, p_out /** out */\n"\
8620"\t\t\t\t, p_goal /** out_desired */ \n"\
8621"\t\t\t\t, ACT_DERIV\n"\
8622"\t\t\t\t, LOSS_DERIV\n"\
8623"\t\t\t\t, delta /** retdelta */\n"\
8624"\t\t\t\t, oidx\n"\
8625"\t\t\t\t, osz\n"\
8626"\t\t\t\t);\n"\
8627"\n"\
8628"\t\t/** delta */\n"\
8629"\t\tp_delta[oidx] = delta;\n"\
8630"\n"\
8631"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8632"\t\t\t\tp_bias[oidx]\t/** r_bias */\n"\
8633"\t\t\t\t, delta\t\t/** delta */\n"\
8634"\t\t\t\t, lr.m_bias\n"\
8635"\t\t\t\t);\n"\
8636"\t}\n"\
8637"\n"\
8638"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8639"\t\t\tp_inp[iidx] /** inp */\n"\
8640"\t\t\t, delta /** delta */\n"\
8641"\t\t\t, p_weight /** weight */\n"\
8642"\t\t\t, lr.m_weight\n"\
8643"\t\t\t, isz\n"\
8644"\t\t\t, iidx\n"\
8645"\t\t\t, osz\n"\
8646"\t\t\t, oidx\n"\
8647"\t\t\t);\n"\
8648"}\n"\
8649"\n"\
8650"/**\n"\
8651"\n"\
8652" * @brief\n"\
8653" * get_global_id(0):\toidx\n"\
8654" * get_local_id(0):\tiidx\n"\
8655" *\n"\
8656"\n"\
8657" * Global: \\n\n"\
8658" * \tae2f_float_t[Out][In] : Weights\t\\n\n"\
8659" * \t, ae2f_float_t[Out] : Bias\t\\n\n"\
8660" * \t, ae2f_float_t[Inp]\t\t\\n\n"\
8661" * \t, ae2f_float_t[Out] : Delta\t\\n\n"\
8662" * */\n"\
8663"__kernel void kFollow(lr_t lr, __global ae2f_float_t* glob) {\n"\
8664"\tconst size_t\n"\
8665"\t\toidx = get_global_id(0)\n"\
8666"\t\t, osz = get_global_size(0)\n"\
8667"\t\t, iidx = get_global_id(1)\n"\
8668"\t\t, isz = get_global_size(1)\n"\
8669"\t\t;\n"\
8670"\n"\
8671"\t__ae2f_AnnSlpFollowOneW_imp(\n"\
8672"\t\t\tp_inp[iidx] /** inp */\n"\
8673"\t\t\t, p_delta[oidx] /** delta */\n"\
8674"\t\t\t, p_weight /** weight */\n"\
8675"\t\t\t, lr.m_weight\n"\
8676"\t\t\t, isz\n"\
8677"\t\t\t, iidx\n"\
8678"\t\t\t, osz\n"\
8679"\t\t\t, oidx\n"\
8680"\t\t\t);\n"\
8681"\n"\
8682"\tif(iidx == 0) {\n"\
8683"\t\t__ae2f_AnnSlpFollowOneB_imp(\n"\
8684"\t\t\t\tp_bias[oidx] /** r_bias */\n"\
8685"\t\t\t\t, p_delta[oidx] /** delta */\n"\
8686"\t\t\t\t, lr.m_bias\n"\
8687"\t\t\t\t);\n"\
8688"\t}\n"\
8689"}\n"\
8690"\n"\
8691"#undef\t__ae2f_MACRO_GENERATED\n"\
8692"\n"\
8693"#define\t__ae2f_MACRO_GENERATED\t0\n"\
8694"\n"\
8695"/** All done. */\n"\
8696""
8702 unsigned char r_memtypeidx,
8711 assert((
vkphydevmemprops).memoryTypeCount <= VK_MAX_MEMORY_TYPES &&
"Invalid memory type count.");
8722 assert(!
"Wanted bit has not found is not supported");
8728ae2f_MAC(CMDONERR, ) _ae2fVK_AnnSlpMkCreatBuf(
8759 assert(!
"Failed vkCreateBuffer");
8764 assert(!
"vkCreateBuffer went null");
8770ae2f_MAC(CMDONERR, ) _ae2fVK_AnnSlpMkAllocVKMem_imp(
8777 VkBufferCreateInfo v_vkbufcreatinfo,
8780 const VkBufferUsageFlags vkbufuseflags,
8781 const VkSharingMode vksharemode,
8782 const VkDevice vkdev,
8786 ae2f_opt const VkAllocationCallbacks* vkalloccalls,
8789 const unsigned char memtypeidx_invalid_minus_one,
8790 const VkMemoryPropertyFlagBits vkpropflag_req,
8791 const VkPhysicalDeviceMemoryProperties vkphydevmemprops
8811 , memtypeidx_invalid_minus_one
8816 vkGetBufferMemoryRequirements(
8823 assert(!
"Buffer size exceeds memory requirements");
8829 (vkphydevmemprops).memoryHeaps[(vkphydevmemprops).memoryTypes[
v_memtypeidx].heapIndex].size)
8831 assert(!
"Requirement size exceeds memory heap size.");
8841 if(((r_vkres) = vkAllocateMemory(
8848 assert(!
"vkAllocateMemory has failed.");
8853 assert(!
"vkAllocateMemory went null.");
8858 if(((r_vkres) = vkBindBufferMemory(
8865 assert(!
"vkBindBufferMemory has failed.");
8870ae2f_MAC(CMDONERR, ) _ae2fVK_AnnSlpMkLoadPipeCreat_imp(
8886 assert(!
"Pipelayout went null");
8896 (
pipecreat)[
idx_pipe].stage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
8904ae2f_MAC(CMDONERR, ) _ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(
8905 VkPushConstantRange v_vkpushconstrange,
8910 const ae2fVK_eAnnSlpPipeLayouts
idx
8912 ,
const VkAllocationCallbacks*
const vkalloccalls
8913 ,
const VkDevice vkdev
8916 (v_vkpushconstrange).size
8920 (v_vkpushconstrange).size
8932 assert(!
"vkCreatePipelineLayout has failed.");
8938 assert(!
"vkCreatePipelineLayout went null");
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962#define __ae2fVK_AnnSlpMkOnePipeLayout_imp(CMDONERR, v_mk, i_idx, i_szrequired, iv_vkalloccalls, i_vkdev)
8965 , (v_mk).m_vkstack.m_layout.m_pushconstant
8966 , (v_mk).m_vkinfo.m_pipelayoutcreat
8968 , (v_mk).m_union.m_alter.m_ptr
8969 , (i_idx), (i_szrequired), (iv_vkalloccalls), (i_vkdev)
8972ae2f_MAC(CMDONERR, ) _ae2fVK_AnnSlpMkCreatDescPool(
8973 VkDescriptorPoolCreateInfo v_vkdescpoolcreatinfo,
8990 (v_vkdescpoolcreatinfo).sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
8991 (v_vkdescpoolcreatinfo).flags = 0;
8992 (v_vkdescpoolcreatinfo).pNext = NULL;
8994 (v_vkdescpoolcreatinfo).poolSizeCount = 1;
8996 (v_vkdescpoolcreatinfo).maxSets = 1;
8998 if(((r_vkres) = vkCreateDescriptorPool(
9000 , &(v_vkdescpoolcreatinfo)
9005 assert(!
"vkCreateDescriptorPool has failed.");
9010 assert(!
"vkCreateDescriptorPool went null.");
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9043 ae2fVK_AnnSlpMk_t v_mk
9057 ,
const VkDevice vkdev
9059 ,
ae2f_opt VkAllocationCallbacks*
const vkalloccalls,
9065 assert((vkdev) &&
"Vulkan device null check");
9069 (v_mk).m_clout.m_void = NULL;
9076 , ((
prm_offset) +
sizeof(ae2fVK_AnnSlp) -
sizeof(ae2f_AnnSlp))
9082 if((v_mk).m_union.m_base.m_ptr->m_Slp[0].m_inc > UINT32_MAX) {
9083 assert(!
"Input size is too large");
9088 if((v_mk).m_union.m_base.m_ptr->m_Slp[0].m_outc > UINT32_MAX) {
9089 assert(!
"Output size is too large");
9096 (v_mk).m_union.m_base.m_alloccount =
9097 (v_mk).m_union.m_base.m_alloccount
9098 -
sizeof(ae2f_AnnSlp)
9105 (v_mk).m_union.m_alter.m_ptr->m_vkdev = vkdev;
9106 (v_mk).m_union.m_alter.m_ptr->m_vkalloccalls = vkalloccalls;
9111 , (v_mk).m_union.m_base.m_alloccount
9112 , (v_mk).m_union.m_alter.m_ptr->m_vkres
9113 , (v_mk).m_union.m_alter.m_ptr->m_vkglobbuf
9114 , (v_mk).m_union.m_alter.m_ptr->m_vkglobdevmem
9116 , (v_mk).m_vkinfo.m_buf
9117 , (v_mk).m_vkinfo.m_alloc
9118 , VK_BUFFER_USAGE_STORAGE_BUFFER_BIT
9119 , VK_SHARING_MODE_EXCLUSIVE
9121 , (v_mk).m_vkstack.m_memreq
9123 , (v_mk).m_union.m_alter.m_i
9125 , VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
9133 , (v_mk).m_union.m_alter.m_ptr->m_vkres
9134 , (v_mk).m_union.m_alter.m_ptr->m_vklocbuf
9135 , (v_mk).m_union.m_alter.m_ptr->m_vklocdevmem
9137 , (v_mk).m_vkinfo.m_buf
9138 , (v_mk).m_vkinfo.m_alloc
9139 , VK_BUFFER_USAGE_STORAGE_BUFFER_BIT
9140 , VK_SHARING_MODE_EXCLUSIVE
9142 , (v_mk).m_vkstack.m_memreq
9144 , (v_mk).m_union.m_alter.m_i
9146 , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
9150 (v_mk).m_vkstack.m_layout.m_bind[0].binding = 0;
9151 (v_mk).m_vkstack.m_layout.m_bind[0].descriptorType
9152 = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
9153 (v_mk).m_vkstack.m_layout.m_bind[0].descriptorCount = 1;
9154 (v_mk).m_vkstack.m_layout.m_bind[0].stageFlags
9155 = VK_SHADER_STAGE_COMPUTE_BIT;
9156 (v_mk).m_vkstack.m_layout.m_bind[0].pImmutableSamplers = NULL;
9158 (v_mk).m_vkstack.m_layout.m_bind[1]
9159 = (v_mk).m_vkstack.m_layout.m_bind[0];
9160 (v_mk).m_vkstack.m_layout.m_bind[1].binding = 1;
9162 (v_mk).m_vkstack.m_layout.m_creatinfo.pBindings
9163 = (v_mk).m_vkstack.m_layout.m_bind;
9164 (v_mk).m_vkstack.m_layout.m_creatinfo.bindingCount = 1;
9165 (v_mk).m_vkstack.m_layout.m_creatinfo.flags
9168 (v_mk).m_vkstack.m_layout.m_creatinfo.pNext = NULL;
9170 (v_mk).m_vkstack.m_layout.m_creatinfo.sType
9171 = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
9173 if(((v_mk).m_union.m_alter.m_ptr->m_vkres = vkCreateDescriptorSetLayout(
9175 , &(v_mk).m_vkstack.m_layout.m_creatinfo
9177 , (v_mk).m_union.m_alter.m_ptr->m_vkdescsetlayout
9179 assert(!
"vkCreateDescriptorSetLayout 0 has failed");
9183 unless((v_mk).m_union.m_alter.m_ptr->m_vkdescsetlayout[0]) {
9184 assert(!
"vkCreateDescriptorSetLayout 0 went null");
9189 (v_mk).m_vkstack.m_layout.m_creatinfo.bindingCount = 2;
9191 if(((v_mk).m_union.m_alter.m_ptr->m_vkres = vkCreateDescriptorSetLayout(
9193 , &(v_mk).m_vkstack.m_layout.m_creatinfo
9195 , (v_mk).m_union.m_alter.m_ptr->m_vkdescsetlayout + 1
9197 assert(!
"vkCreateDescriptorSetLayout 1 has failed");
9201 unless((v_mk).m_union.m_alter.m_ptr->m_vkdescsetlayout[1]) {
9202 assert(!
"vkCreateDescriptorSetLayout 1 went null");
9208 &(v_mk).m_vkinfo.m_pipelayoutcreat
9209 , 0,
sizeof((v_mk).m_vkinfo.m_pipelayoutcreat)
9212 (v_mk).m_vkstack.m_layout.m_pushconstant.offset = 0;
9213 (v_mk).m_vkstack.m_layout.m_pushconstant.stageFlags
9214 = VK_SHADER_STAGE_COMPUTE_BIT;
9216 (v_mk).m_vkinfo.m_pipelayoutcreat.sType
9217 = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
9218 (v_mk).m_vkinfo.m_pipelayoutcreat.setLayoutCount = 1;
9219 (v_mk).m_vkinfo.m_pipelayoutcreat.pushConstantRangeCount = 1;
9221 (v_mk).m_vkinfo.m_pipelayoutcreat.pPushConstantRanges
9222 = &(v_mk).m_vkstack.m_layout.m_pushconstant;
9224 (v_mk).m_vkinfo.m_pipelayoutcreat.pSetLayouts
9225 = (v_mk).m_union.m_alter.m_ptr->m_vkdescsetlayout;
9232 , vkalloccalls, vkdev
9235 if ((v_mk).m_union.m_alter.m_ptr->m_vkres != VK_SUCCESS) {
9236 assert(!
"__ae2fVK_AnnSlpMkOnePipeLayout_imp 0 has failed.");
9243 , ae2fVK_eAnnSlpPipeLayouts_kFollow
9245 , vkalloccalls, vkdev
9248 if ((v_mk).m_union.m_alter.m_ptr->m_vkres != VK_SUCCESS) {
9249 assert(!
"__ae2fVK_AnnSlpMkOnePipeLayout_imp 1 has failed.");
9258 , vkalloccalls, vkdev
9261 if ((v_mk).m_union.m_alter.m_ptr->m_vkres != VK_SUCCESS) {
9262 assert(!
"__ae2fVK_AnnSlpMkOnePipeLayout_imp 2 has failed.");
9270 __ae2fVK_AnnSlpMkCLSPV_imp(
9271 (v_mk).m_clsrc.m_void
9277 if((v_mk).m_reterr) {
9278 assert(!
"__ae2fVK_AnnSlpMkCLSPV_imp has failed.");
9282 assert((v_mk).m_clsrc.m_void);
9285 (v_mk).m_clout_len = 0;
9286 (v_mk).m_clout.m_void = NULL;
9288 if(((v_mk).m_vkstack.m_isgood = clspvCompileFromSourcesString(
9292 const char** restrict
9293 , (&(v_mk).m_clsrc.m_char)
9296 "-pod-pushconstant "
9297 "-cl-fast-relaxed-math "
9298 "-cl-single-precision-constant"
9299 , &(v_mk).m_clout.m_char
9300 , &(v_mk).m_clout_len
9302 )) != CLSPV_SUCCESS)
9304 assert(!
"clspvCompileFromSourcesString has failed.");
9309 free((v_mk).m_clsrc.m_void);
9312 assert((v_mk).m_unused);
9313 assert((v_mk).m_union.m_base.m_ptr &&
"clspvCompileFromSourcesString has done something weird");
9315 (v_mk).m_vkinfo.m_shadermodulecreat.pNext = NULL;
9316 (v_mk).m_vkinfo.m_shadermodulecreat.codeSize
9317 = (v_mk).m_clout_len;
9319 (v_mk).m_vkinfo.m_shadermodulecreat.pCode
9320 = (v_mk).m_clout.m_wrds;
9322 (v_mk).m_vkinfo.m_shadermodulecreat.pNext = NULL;
9323 (v_mk).m_vkinfo.m_shadermodulecreat.flags
9326 (v_mk).m_vkinfo.m_shadermodulecreat.sType
9327 = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
9329 assert((v_mk).m_vkinfo.m_shadermodulecreat.codeSize);
9330 assert((v_mk).m_vkinfo.m_shadermodulecreat.pCode);
9332 if(((v_mk).m_union.m_alter.m_ptr->m_vkres = vkCreateShaderModule(
9334 , &(v_mk).m_vkinfo.m_shadermodulecreat
9336 , &(v_mk).m_union.m_alter.m_ptr->m_vkshadermodule
9339 assert(!
"vkCreateShaderModule has failed.");
9343 unless((v_mk).m_union.m_alter.m_ptr->m_vkshadermodule)
9345 assert(!
"vkCreateShaderModule has produced NULL.");
9353 , (v_mk).m_pipecreat
9354 , (v_mk).m_union.m_alter.m_ptr->m_vkpipelayout
9355 , (v_mk).m_union.m_alter.m_ptr->m_vkshadermodule
9358 , (ae2fVK_eAnnSlpPipeLayouts_kFollow)
9364 , (v_mk).m_pipecreat
9365 , (v_mk).m_union.m_alter.m_ptr->m_vkpipelayout
9366 , (v_mk).m_union.m_alter.m_ptr->m_vkshadermodule
9375 , (v_mk).m_pipecreat
9376 , (v_mk).m_union.m_alter.m_ptr->m_vkpipelayout
9377 , (v_mk).m_union.m_alter.m_ptr->m_vkshadermodule
9386 , (v_mk).m_pipecreat
9387 , (v_mk).m_union.m_alter.m_ptr->m_vkpipelayout
9388 , (v_mk).m_union.m_alter.m_ptr->m_vkshadermodule
9394 if (((v_mk).m_union.m_alter.m_ptr->m_vkres
9395 = vkCreateComputePipelines(
9399 , (v_mk).m_pipecreat
9401 , (v_mk).m_union.m_alter.m_ptr->m_vkpipeline
9405 assert(!
"vkCreateComputePipelines has failed.");
9410 __ae2fVK_AnnSlpMkCreatDescPool(
9412 , (v_mk).m_vkstack.m_creatdescpool.m_creatinfo
9413 , (v_mk).m_vkstack.m_creatdescpool.m_sz
9415 , (v_mk).m_union.m_alter.m_ptr->m_vkdescpool[
9416 ae2fVK_eAnnSlpDescPools_kPredict
9419 , (v_mk).m_union.m_alter.m_ptr->m_vkres
9423 , VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
9424 , VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
9428 __ae2fVK_AnnSlpMkCreatDescPool(
9430 , (v_mk).m_vkstack.m_creatdescpool.m_creatinfo
9431 , (v_mk).m_vkstack.m_creatdescpool.m_sz
9433 , (v_mk).m_union.m_alter.m_ptr->m_vkdescpool[
9434 ae2fVK_eAnnSlpDescPools_kTrain
9437 , (v_mk).m_union.m_alter.m_ptr->m_vkres
9441 , VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
9442 , VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
9447 clspvFreeOutputBuildObjs(
9448 (v_mk).m_clout.m_char
9452 assert((v_mk).m_reterr ==
ae2f_errGlob_OK &&
"Returned error flag has set up");
9453 if((v_mk).m_union.m_alter.m_ptr->m_vkres) {
9454 assert(!
"Vulkan result check for validation");
9460
9461
9462
9463ae2f_MAC() _ae2fVK_AnnSlpMkCLSPVVerbose_imp(
9464 void* restrict r_handle,
9469 const char* restrict i_third
9472 if(!((r_handle) = calloc(
9479 assert(!
"_ae2fVK_AnnSlpMkCLSPV_imp has failed.");
9498 if((slp).m_vkres != VK_SUCCESS) {
9499 assert(!
"Result flag is not valid.");
9502 assert((slp).m_vkdev);
9503 assert((slp).m_vkglobdevmem);
9507 if(((slp).m_vkres = vkMapMemory(
9509 , (slp).m_vkglobdevmem
9515 assert(!
"vkMapMemory has failed.");
9520 assert(!
"vkMapMemory went null.");
9531ae2f_MAC(T,) _ae2fVK_AnnSlpMapRangedGeneric_imp(
9532 VkMappedMemoryRange v_vkmapmemrange,
9533 ae2fVK_AnnSlp iv_slp,
9538 const VkDeviceSize i_off,
9539 const VkDeviceSize i_sz
9542 assert((iv_slp).m_vkres == VK_SUCCESS);
9543 assert((iv_slp).m_vkdev);
9544 assert((iv_slp).m_vkglobdevmem);
9548 if(((iv_slp).m_vkres = vkMapMemory(
9550 , (iv_slp).m_vkglobdevmem
9551 , (v_vkmapmemrange).offset = (i_off)
9552 , (v_vkmapmemrange).size = (i_sz)
9558 assert(!
"vkMapMemory has failed.");
9563 assert(!
"vkMapMemory went null.");
9568 (v_vkmapmemrange).memory = (iv_slp).m_vkglobdevmem;
9569 (v_vkmapmemrange).pNext = NULL;
9570 (v_vkmapmemrange).sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
9572 if (((iv_slp).m_vkres = vkInvalidateMappedMemoryRanges(
9575 , &(v_vkmapmemrange)
9578 assert(!
"vkInvalidateMappedMemoryRanges has failed.");
9583 unless((iv_slp).m_vkres == VK_SUCCESS) {
9590ae2f_MAC() _ae2fVK_AnnSlpMapRanged_imp(
9591 ae2fVK_AnnSlpMap_t v_map,
9594 const VkDeviceSize i_off,
9595 const VkDeviceSize i_sz
9609ae2f_MAC() _ae2fVK_AnnSlpUnMap_imp(
const ae2fVK_AnnSlp slp) {
9610 assert((slp).m_vkdev);
9611 assert((slp).m_vkglobdevmem);
9612 vkUnmapMemory((slp).m_vkdev, (slp).m_vkglobdevmem);
9615ae2f_MAC() _ae2fVK_AnnSlpUnMapRanged_imp(
9617 ae2fVK_AnnSlp vi_slp,
9618 const VkDeviceSize i_off,
9619 const VkDeviceSize i_sz
9622 assert((vi_slp).m_vkres == VK_SUCCESS);
9624 (v_out).memory = (vi_slp).m_vkglobdevmem;
9625 (v_out).offset = (i_off);
9626 (v_out).pNext = NULL;
9627 (v_out).size = (i_sz);
9628 (v_out).sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
9631 if (((vi_slp).m_vkres = vkFlushMappedMemoryRanges(
9637 assert(!
"vkFlushMappedMemoryRanges has failed.");
9646#define COMMANDONRECORDING
9648
9649
9650
9651
9652\
9653#include<stdio.h>
9658
9659
9660
9661
9662ae2f_MAC(COMMANDONRECORDING, ) _ae2fVK_AnnSlpGetCmd_imp(
9663 ae2fVK_AnnSlpGetCmd_t v_getcmd,
9665 ae2fVK_AnnSlpPredictCmd_t r_cmd,
9667 const VkCommandBuffer i_vkcmdbuf,
9669 const VkCommandBufferUsageFlagBits i_vkcmdbufuseflags,
9671 ae2fVK_AnnSlp iv_slp,
9674 const uint32_t i_desccount,
9676 const VkDeviceSize i_offglob,
9677 const VkDeviceSize i_szglob,
9679 const VkDeviceSize i_offloc,
9680 const VkDeviceSize i_szloc,
9682 const ae2fVK_eAnnSlpDescPools i_descpool,
9683 const ae2fVK_eAnnSlpDescLayouts i_desclayout,
9684 const ae2fVK_eAnnSlpPipes i_pipe,
9685 const ae2fVK_eAnnSlpPipeLayouts i_pipelayout
9688 assert((iv_slp).m_vkres == VK_SUCCESS &&
"(iv_slp)'s state is bad.");
9692 (v_getcmd).m_u0.m_vkdescsetallocinfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
9694 (v_getcmd).m_u0.m_vkdescsetallocinfo.descriptorPool
9695 = (iv_slp).m_vkdescpool[i_descpool];
9697 (v_getcmd).m_u0.m_vkdescsetallocinfo.descriptorSetCount
9700 (v_getcmd).m_u0.m_vkdescsetallocinfo.pSetLayouts
9701 = &(iv_slp).m_vkdescsetlayout[i_desclayout];
9703 (v_getcmd).m_u0.m_vkdescsetallocinfo.pNext = NULL;
9705 assert((iv_slp).m_vkdev);
9706 assert((v_getcmd).m_u0.m_vkdescsetallocinfo.pSetLayouts);
9707 assert((v_getcmd).m_u0.m_vkdescsetallocinfo.pSetLayouts[i_desclayout]);
9708 assert((v_getcmd).m_u0.m_vkdescsetallocinfo.descriptorPool);
9711 if (((iv_slp).m_vkres = vkAllocateDescriptorSets(
9713 , &(v_getcmd).m_u0.m_vkdescsetallocinfo
9714 , &(r_cmd).m_lpvkdescset
9717 printf(
"vkres: %d\n", (iv_slp).m_vkres);
9718 printf(
"HELKJDFSLKJSDF\n");
9719 assert((r_cmd).m_lpvkdescset);
9720 assert(!
"vkAllocateDescriptorSets has failed.");
9724 unless((r_cmd).m_lpvkdescset) {
9725 assert(!
"vkAllocateDescriptorSets went NULL.");
9730 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[0]
9731 .buffer = (iv_slp).m_vkglobbuf;
9734 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[0]
9735 .offset = i_offglob;
9738 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[0]
9741 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[1]
9742 .buffer = (iv_slp).m_vklocbuf;
9745 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[1]
9749 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf[1]
9753 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9754 .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
9756 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9757 .dstSet = (r_cmd).m_lpvkdescset;
9759 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9761 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9762 .dstArrayElement = 0;
9764 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9765 .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
9767 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9768 .descriptorCount = (i_desccount);
9770 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9771 .pBufferInfo = (v_getcmd).m_u0.m_vkdescwrdescinfo.m_buf;
9773 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset.pNext = NULL;
9774 (v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset.pImageInfo = NULL;
9776 vkUpdateDescriptorSets(
9779 , &(v_getcmd).m_u0.m_vkdescwrdescinfo.m_wrset
9784 (v_getcmd).m_u0.m_vkcmdbufbeginfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
9785 (v_getcmd).m_u0.m_vkcmdbufbeginfo.pInheritanceInfo = NULL;
9786 (v_getcmd).m_u0.m_vkcmdbufbeginfo.flags = (i_vkcmdbufuseflags);
9787 (v_getcmd).m_u0.m_vkcmdbufbeginfo.pNext = NULL;
9789 if(((iv_slp).m_vkres = vkBeginCommandBuffer(
9791 , &(v_getcmd).m_u0.m_vkcmdbufbeginfo
9794 assert(!
"vkBeginCommandBuffer has failed.");
9800 , VK_PIPELINE_BIND_POINT_COMPUTE
9801 , (iv_slp).m_vkpipeline[i_pipe]
9804 vkCmdBindDescriptorSets(
9806 , VK_PIPELINE_BIND_POINT_COMPUTE
9807 , (iv_slp).m_vkpipelayout[i_pipelayout]
9810 , &(r_cmd).m_lpvkdescset
9817 if(((iv_slp).m_vkres = vkEndCommandBuffer(i_vkcmdbuf)) != VK_SUCCESS) {
9818 assert(!
"vkEndCommandBuffer has failed.");
9823 if(((iv_slp).m_vkres != VK_SUCCESS))
9827#undef COMMANDONRECORDING
9830 const ae2fVK_AnnSlp block
9833 assert((block).m_vkdev &&
"Double free is suspected.");
9835 if((block).m_vkdev) {
9836 if((block).m_vkglobbuf) {
9839 , (block).m_vkglobbuf
9840 , (block).m_vkalloccalls
9844 if((block).m_vklocbuf) {
9847 , (block).m_vklocbuf
9848 , (block).m_vkalloccalls
9852 if((block).m_vkglobdevmem) {
9855 , (block).m_vkglobdevmem
9856 , (block).m_vkalloccalls
9860 if((block).m_vklocdevmem) {
9863 , (block).m_vklocdevmem
9864 , (block).m_vkalloccalls
9868 if((block).m_vkpipeline[0]) {
9871 , (block).m_vkpipeline[0]
9872 , (block).m_vkalloccalls
9876 if((block).m_vkpipeline[1]) {
9879 , (block).m_vkpipeline[1]
9880 , (block).m_vkalloccalls
9884 if((block).m_vkpipeline[2]) {
9887 , (block).m_vkpipeline[2]
9888 , (block).m_vkalloccalls
9892 if((block).m_vkpipeline[3]) {
9895 , (block).m_vkpipeline[3]
9896 , (block).m_vkalloccalls
9900 if((block).m_vkdescsetlayout[0]) {
9901 vkDestroyDescriptorSetLayout(
9903 , (block).m_vkdescsetlayout[0]
9904 , (block).m_vkalloccalls
9908 if((block).m_vkdescsetlayout[1]) {
9909 vkDestroyDescriptorSetLayout(
9911 , (block).m_vkdescsetlayout[1]
9912 , (block).m_vkalloccalls
9916 if((block).m_vkpipelayout[0]) {
9917 vkDestroyPipelineLayout(
9919 , (block).m_vkpipelayout[0]
9920 , (block).m_vkalloccalls
9924 if((block).m_vkpipelayout[1]) {
9925 vkDestroyPipelineLayout(
9927 , (block).m_vkpipelayout[1]
9928 , (block).m_vkalloccalls
9932 if((block).m_vkpipelayout[2]) {
9933 vkDestroyPipelineLayout(
9935 , (block).m_vkpipelayout[2]
9936 , (block).m_vkalloccalls
9940 if((block).m_vkshadermodule) {
9941 vkDestroyShaderModule(
9943 , (block).m_vkshadermodule
9944 , (block).m_vkalloccalls
9948 if((block).m_vkdescpool[0])
9949 vkDestroyDescriptorPool(
9951 , (block).m_vkdescpool[0]
9952 , (block).m_vkalloccalls
9955 if((block).m_vkdescpool[1])
9956 vkDestroyDescriptorPool(
9958 , (block).m_vkdescpool[1]
9959 , (block).m_vkalloccalls
9965ae2f_MAC() _ae2fVK_AnnSlpWBUnMap_imp(
9967 ae2fVK_AnnSlp vi_slp
9974 ,
sizeof(
ae2f_float_t) * ((vi_slp).m_slp.m_Slp[0].m_outc * ((vi_slp).m_slp.m_Slp[0].m_inc + 1))
9987 ae2fVK_AnnSlpMap_t v_map;
9990 __ae2fVK_AnnSlpMapRanged_imp(
9995 ,
sizeof(
ae2f_float_t) * ((slp)->m_slp.m_Slp[0].m_outc * ((slp)->m_slp.m_Slp[0].m_inc + 1))
9998 assert(!
"Got null pointer from slp");
10004 *(ir_ptrweight) = (v_map).m_map.m_f;
10010 + (slp)->m_slp.m_Slp[0].m_inc * (slp)->m_slp.m_Slp[0].m_outc;
10015 *(r_err) |= (v_err);
10020ae2f_MAC() _ae2fVK_AnnSlpIOUnMap_imp(
10022 ae2fVK_AnnSlp vi_slp
10029 ,
sizeof(
ae2f_float_t) * ((vi_slp).m_slp.m_Slp[0].m_outc * (vi_slp).m_slp.m_Slp[0].m_inc + 1)
10030 ,
sizeof(
ae2f_float_t) * ((vi_slp).m_slp.m_Slp[0].m_outc + (vi_slp).m_slp.m_Slp[0].m_inc)
10044 ae2fVK_AnnSlpMap_t v_map;
10047 __ae2fVK_AnnSlpMapRanged_imp(
10052 ((slp)->m_slp.m_Slp[0].m_outc * ((slp)->m_slp.m_Slp[0].m_inc + 1))
10053 ,
sizeof(
ae2f_float_t) * ((slp)->m_slp.m_Slp[0].m_outc + (slp)->m_slp.m_Slp[0].m_inc)
10056 assert(!
"Got null pointer from slp");
10062 *(ir_ptrinp) = (v_map).m_map.m_f;
10066 *(ir_ptrout) = (v_map).m_map.m_f + (slp)->m_slp.m_Slp[0].m_inc;
10071 *(r_err) |= (v_err);
10075ae2f_MAC() _ae2fVK_AnnSlpDeltaUnMap_imp(
10077 ae2fVK_AnnSlp vi_slp
10086 ((vi_slp).m_slp.m_Slp[0].m_outc * ((vi_slp).m_slp.m_Slp[0].m_inc + 2) + (vi_slp).m_slp.m_Slp[0].m_inc)
10087 ,
sizeof(
ae2f_float_t) * ((vi_slp).m_slp.m_Slp[0].m_outc)
10098 ae2fVK_AnnSlpMap_t v_map;
10100 if((slp) && (ir_ptrdelta)) {
10101 __ae2fVK_AnnSlpMapRanged_imp(
10106 ((slp)->m_slp.m_Slp[0].m_outc * ((slp)->m_slp.m_Slp[0].m_inc + 2) + (slp)->m_slp.m_Slp[0].m_inc)
10107 ,
sizeof(
ae2f_float_t) * ((slp)->m_slp.m_Slp[0].m_outc)
10110 assert(!
"Got null pointer from slp");
10116 *(ir_ptrdelta) = (v_map).m_map.m_f;
10121 *(r_err) |= (v_err);
10125ae2f_MAC() _ae2fVK_AnnSlpGoalUnMap_imp(
10127 ae2fVK_AnnSlp vi_slp
10134 ((vi_slp).m_slp.m_Slp[0].m_outc * ((vi_slp).m_slp.m_Slp[0].m_inc + 3) + (vi_slp).m_slp.m_Slp[0].m_inc)
10135 ,
sizeof(
ae2f_float_t) * ((vi_slp).m_slp.m_Slp[0].m_outc)
10147 ae2fVK_AnnSlpMap_t v_map;
10149 if((slp) && (ir_ptrgoal)) {
10150 __ae2fVK_AnnSlpMapRanged_imp(
10155 ((slp)->m_slp.m_Slp[0].m_outc * ((slp)->m_slp.m_Slp[0].m_inc + 3) + (slp)->m_slp.m_Slp[0].m_inc)
10156 ,
sizeof(
ae2f_float_t) * ((slp)->m_slp.m_Slp[0].m_outc)
10159 assert(!
"Got null pointer from slp");
10165 *(ir_ptrgoal) = (v_map).m_map.m_f;
10170 *(r_err) |= (v_err);
10175ae2f_MAC() _ae2fVK_AnnSlpPredictPerformed_imp(
10176 ae2fVK_AnnSlpGetCmd_t v_predict,
10178 ae2fVK_AnnSlpPredictCmd_t r_cmd,
10180 const VkCommandBuffer i_vkcmdbuf,
10182 const VkCommandBufferUsageFlagBits i_vkcmdbufuseflags,
10184 ae2fVK_AnnSlp iv_slp,
10188 __ae2fVK_AnnSlpGetCmd_imp(
10191 vkCmdPushConstants(
10193 , iv_slp.m_vkpipelayout[ae2fVK_eAnnSlpPipeLayouts_kPredict]
10194 , VK_SHADER_STAGE_COMPUTE_BIT
10197 , &(iv_slp).m_slp.m_Slp[0].m_inc
10202 , (iv_slp).m_slp.m_Slp[0].m_outc
10203 , (iv_slp).m_slp.m_Slp[0].m_inc
10212 , i_vkcmdbufuseflags
10219 ,
sizeof(ae2f_float_t)
10220 * ((iv_slp).m_slp.m_Slp[0].m_outc * ((iv_slp).m_slp.m_Slp[0].m_inc + 2)
10221 + (iv_slp).m_slp.m_Slp[0].m_inc
10224 , 0,
sizeof(ae2f_float_t)
10226 , ae2fVK_eAnnSlpDescPools_kPredict
10227 , ae2fVK_eAnnSlpDescLayouts_kPredict
10228 , ae2fVK_eAnnSlpPipes_kPredict
10229 , ae2fVK_eAnnSlpPipeLayouts_kPredict
10233ae2f_MAC() _ae2fVK_AnnSlpPredictFree_imp(
10234 ae2fVK_AnnSlp iv_slp,
10235 ae2fVK_AnnSlpPredictCmd_t iv_cmd
10238 if(((iv_slp).m_vkres = vkFreeDescriptorSets(
10242 , &(iv_cmd).m_lpvkdescset
10244 assert(!
"vkFreeDescriptorSets has failed.");
10247ae2f_MAC() _ae2fVK_AnnSlpTrainFree_imp(
10248 ae2fVK_AnnSlp iv_slp,
10249 ae2fVK_AnnSlpPredictCmd_t iv_cmd
10252 if(((iv_slp).m_vkres = vkFreeDescriptorSets(
10256 , &(iv_cmd).m_lpvkdescset
10258 assert(!
"vkFreeDescriptorSets has failed.");
10261ae2f_MAC() _ae2fVK_AnnSlpTrainPerformed_imp(
10262 ae2fVK_AnnSlpGetCmd_t v_predict,
10264 ae2fVK_AnnSlpPredictCmd_t r_cmd,
10266 const VkCommandBuffer i_vkcmdbuf,
10268 const VkCommandBufferUsageFlagBits i_vkcmdbufuseflags,
10270 ae2fVK_AnnSlp iv_slp,
10274 __ae2fVK_AnnSlpGetCmd_imp(
10277 vkCmdPushConstants(
10279 , iv_slp.m_vkpipelayout[ae2fVK_eAnnSlpPipeLayouts_kTrain]
10280 , VK_SHADER_STAGE_COMPUTE_BIT
10282 ,
sizeof(ae2f_float_t)
10283 , &(iv_slp).m_slp.m_learningrate
10286 vkCmdPushConstants(
10289 , VK_SHADER_STAGE_COMPUTE_BIT
10292 , &(iv_slp).m_slp.m_learningrate_bias
10297 , (iv_slp).m_slp.m_Slp[0].m_outc
10298 , (iv_slp).m_slp.m_Slp[0].m_inc
10307 , i_vkcmdbufuseflags
10314 ,
sizeof(ae2f_float_t)
10315 * ((iv_slp).m_slp.m_Slp[0].m_outc * ((iv_slp).m_slp.m_Slp[0].m_inc + 4)
10316 + (iv_slp).m_slp.m_Slp[0].m_inc)
10319 ,
sizeof(ae2f_float_t) * ((iv_slp).m_slp.m_Slp[0].m_outc)
10321 , ae2fVK_eAnnSlpDescPools_kTrain
10322 , ae2fVK_eAnnSlpDescLayouts_kTrain
10323 , ae2fVK_eAnnSlpPipes_kTrain
10324 , ae2fVK_eAnnSlpPipeLayouts_kTrain
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
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.
#define ae2f_const_cast(t, v)
#define ae2f_CastMerge(...)
simply merge all text inside the round bracket, counting them as a single text block.
#define ae2f_static_cast(t, v)
#define ae2f_reinterpret_cast(t, v)
#define unless(...)
Invokes when condition is false.
#define ae2f_CmpGetGt(a, b)
@ ae2fVK_eAnnSlpPipeLayouts_kTrain
@ ae2fVK_eAnnSlpPipeLayouts_kPredict
@ ae2fVK_eAnnSlpPipeLayouts_kFit
@ ae2fVK_eAnnSlpDescPools_kPredict
@ ae2fVK_eAnnSlpDescPools_kTrain
VkMappedMemoryRange ae2fVK_AnnSlpUnMap_t
@ ae2fVK_eAnnSlpPipes_kFit
@ ae2fVK_eAnnSlpPipes_kTrain
@ ae2fVK_eAnnSlpPipes_kPredict
@ ae2fVK_eAnnSlpPipes_LEN
This is the end of the value, which typically means the count of actual kernel used.
@ ae2fVK_eAnnSlpPipes_kFollow
#define COMMANDONRECORDING
VkComputePipelineCreateInfo *const pipecreat
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t outc
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts idx_pipelayout
ae2f_err_t const unsigned char memtypeidx_invalid_minus_one
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate_bias
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t extra
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char v_memtypeidx
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkmemprops
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits const VkDescriptorType i_vkdesctype
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const ae2f_opt ae2f_AnnAct_t *const actderiv
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const iv_slpptr
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkcldefinition
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode vksharemode
VkDescriptorPoolSize v_vkdescpoolsz
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts const uint32_t szrequired
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo v_memallocinfo
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t prm_offset
ae2f_float_t *const ae2f_float_t *const bias_opt
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags vkbufuseflags
ae2f_float_t *const weight_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkcldeclaration
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const i_vkptrAlloc
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 lossderiv
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule shadermod
VkComputePipelineCreateInfo *const VkPipelineLayout *const pipelayout
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice vkdev
VkResult VkBuffer VkBufferCreateInfo v_vkbufcreatinfo
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits const VkPhysicalDeviceMemoryProperties vkphydevmemprops
VkDescriptorPoolSize VkDescriptorPool r_vkdescpool
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice i_vkdev
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const entrypoint
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t i_vkdescpoolsz_count
VkPipelineLayoutCreateInfo v_vkpipelayoutcreatinfo
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits vkpropflag_req
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const cache_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t inc
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const act
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts idx
#define __ae2fVK_AnnSlpMkOnePipeLayout_imp(CMDONERR, v_mk, i_idx, i_szrequired, iv_vkalloccalls, i_vkdev)
Make one pipeline layout with given push-constant size.
ae2f_err_t const char *restrict i_first
VkPipelineLayoutCreateInfo ae2f_err_t r_reterr
VkResult VkBuffer VkDeviceMemory r_vkdevmem
ae2f_err_t const char *restrict const char *restrict i_second
VkResult VkBuffer r_vkbuf
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes idx_pipe
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements v_vkmemreq
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice ae2f_opt const VkAllocationCallbacks * vkalloccalls
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t v_reterr
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
uint8_t ae2f_err_t
Informs that this number represents the error.
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
#define __ae2fVK_AnnSlpMkFndMemProp_imp(CMDONERR, r_memtypeidx, v_errbit, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
#define __ae2fVK_AnnSlpMkCreatBuf(CMDONERR, sz, r_vkres, r_vkbuf, v_vkbufcreatinfo, v_reterr, vkbufuseflags, vksharemode, vkdev, vkalloccalls)
#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp(CMDONERR, r_reterr, pipecreat, pipelayout, shadermod, entrypoint, idx_pipe, idx_pipelayout)
#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(CMDONERR, v_vkpushconstrange, v_vkpipelayoutcreatinfo, r_reterr, iv_slpptr, idx, szrequired, vkalloccalls, vkdev)
#define __ae2fVK_AnnSlpUnMap_imp(slp)
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
#define __ae2fVK_AnnSlpMkAllocVKMem_imp(CMDONERR, sz, r_vkres, r_vkbuf, r_vkdevmem, v_errbit, v_vkbufcreatinfo, v_memallocinfo, vkbufuseflags, vksharemode, vkdev, v_vkmemreq, vkalloccalls, v_memtypeidx, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
#define __ae2f_MACRO_GENERATED
#define __ae2f_AnnSlpMk_imp(...)
#define __ae2f_AnnSlpInitInpSz_imp(...)
#define ae2f_MAC()
delta to delta