ae2f_docs
Constexpr.hpp
Go to the documentation of this file.
1/**
2 * @file consteval.hpp
3 * @author ae2f
4 * @brief
5 * @date 2025-02-01
6 *
7 * @copyright Copyright (c) 2025
8 *
9 */
10#ifndef ae2f_Cast_consteval_hpp
11#define ae2f_Cast_consteval_hpp
12#include "../LangVer.h"
13
14#if __ae2f_stdcheck_CC(201703L)
15#define if_constexpr if constexpr
16#else
17#define if_constexpr if
18#endif
19
20#if __ae2f_stdcheck_CC(202002L)
21#define if_consteval if consteval
22#else
23#define if_consteval if (0)
24#endif
25
26#if __ae2f_stdcheck_CC(202002L)
27#define constexprvirtual constexpr virtual
28/** constinit */
29#else
30#define constexprvirtual virtual
31#define constinit /* not available */
32#endif /* C++20 */
33
34#if __ae2f_stdcheck_CC(201402L)
35#define constextendedfun constexpr
36#define constextendedeval constexpr
37
38#define constextendedmethod constexpr
39#define constextendedmethodeval constexpr
40
41#else
42#define constextendedfun inline
43#define constextendedmethod inline
44
45#define constextendedeval inline
46#define constextendedmethodeval inline
47#endif // C++14
48
49#if __ae2f_stdcheck_CC(201103L)
50#define constexprmethod constexpr
51#define constexprfun constexpr
52#define constevalmethod constexpr
53
54#else
55#define constexprmethod inline
56#define constexprfun inline
57#define constevalmethod inline
58#define virtual
59
60#if !defined(__cplusplus) /* C */
61
62#if !defined(__cplusplus) && __ae2f_lvcheck_c(2023)
63/** cosntexpr variable */
64#else
65#define constexpr
66#endif /* C23 */
67
68
69#endif /* C */
70
71#endif // C++11
72
73#if __ae2f_stdcheck_CC(202002L)
74#undef constevalmethod
75#define constevalmethod consteval /* C++20 */
76#elif __ae2f_stdcheck_CC(0)
77
78#undef constevalmethod
79/// @brief
80/// C++ keyword for constant-time functions.
81#define consteval
82#define constevalmethod constexprmethod
83
84#else
85
86#define consteval
87#endif // C++20
88
89#endif
#define ON
Definition cmake.hpp:5
#define ae2f_IS_SHARED
Is a library shared.
Definition Call.auto.h:12
#define ae2f_structdef_v(key, name,...)
Definition Cast.h:105
#define ae2f_extern
Suggests the existence of external variable or function, in naming of C. [non-mangling].
Definition Cast.h:88
#define ae2f_CmpGetGt(a, b)
Definition Cmp.h:20
#define ae2f_CmpGetLs(a, b)
Definition Cmp.h:26
#define constexprmethod
Definition Constexpr.hpp:50
ae2f_eAnnCnnPool
Pooling type. See ae2f_AnnCnnPool.
Definition Conv.h:48
@ ae2f_eAnnCnnPool_MIDDLE
Middle. respect the output vector's value.
Definition Conv.h:65
@ ae2f_eAnnCnnPool_MAX
Max.
Definition Conv.h:51
@ ae2f_eAnnCnnPool_MIN
Min.
Definition Conv.h:54
@ ae2f_eAnnCnnPool_ADD
Add.
Definition Conv.h:57
@ ae2f_eAnnCnnPool_AVG
Average.
Definition Conv.h:60
ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnPool1d(const ae2f_float_t *inv, const size_t inc, ae2f_float_t *outv, size_t *opt_outc, const size_t window, const size_t stride, ae2f_eAnnCnnPool type) noexcept
Definition Conv.imp.c:124
ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnPool_imp(size_t dim, const ae2f_float_t *inv, const size_t *inc, size_t incc, ae2f_float_t *outv, size_t *opt_outc, size_t outcc, const size_t *window_opt, const size_t *stride_opt, ae2f_eAnnCnnPool type)
Definition Conv.imp.c:267
ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnPool(size_t dim, const ae2f_float_t *inv, const size_t *inc, size_t incc, ae2f_float_t *outv, size_t *opt_outc, size_t outcc, const size_t *window_opt, size_t windowcc, const size_t *stride_opt, ae2f_eAnnCnnPool type)
Definition Conv.imp.c:350
ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv1d(const ae2f_float_t *infv, size_t infc, const ae2f_float_t *ingv, size_t ingc, ae2f_float_t *outv, size_t *opt_outc, size_t stride, size_t pad)
all vectors are suggested initiated as 0.
Definition Conv.imp.c:69
ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv(size_t dim, const ae2f_float_t *infv, const size_t *infc, size_t infcc, const ae2f_float_t *ingv, const size_t *ingc, size_t ingcc, ae2f_float_t *outv, size_t *outc_opt, size_t outcc, const size_t *stride_opt, const size_t *pad_opt)
dim must be the dimension of mmaps, lengths of lists. This function is meant to be recursive....
Definition Conv.imp.c:210
#define ae2f_WhenC(...)
Appears when the current language is C++.
Definition Cxx.h:30
#define ae2f_WhenCXX(...)
Appears when the current language is C.
Definition Cxx.h:34
ae2f_float ae2f_float_t
Definition Float.h:38
int ae2f_CmpFunRet_t
A predefined returning data type for ae2f_fpCmp_t.
Definition Fun.h:19
#define __ae2f_stdcheck_CC(v)
Definition LangVer.h:72
#define ae2f_stdc_v
Definition LangVer.h:44
#define ae2f_mMMapDimLen(mmap,...)
Length vector for every dimension index.
Definition MMap.auto.h:104
#define ae2f_IS_APPLE
Definition Platform.h:19
#define ae2f_IS_WIN
Definition Platform.h:7
#define ae2f_IS_LINUX
Definition Platform.h:13
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:23
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
Definition errGlob.h:45
uint8_t ae2f_err_t
Informs that this number represents the error.
Definition errGlob.h:19
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
Definition errGlob.h:32
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
Definition errGlob.h:28