ae2f_docs
Cmp.h
Go to the documentation of this file.
1/**
2 * @file Cmp.h
3 * @author ae2f
4 * @brief
5 * @date 2025-02-01
6 *
7 * @copyright Copyright (c) 2025
8 *
9 */
10
11#if !defined(ae2f_Cmp_h)
12#define ae2f_Cmp_h
13
14#include "Cmp/Fun.h"
15
16/// @warning
17/// Two parameters must be comparable with operator.
18/// @return
19/// One bigger.
20#define ae2f_CmpGetGt(a, b) ((a) > (b) ? (a) : (b))
21
22/// @warning
23/// Two parameters must be comparable with operator.
24/// @return
25/// One smaller.
26#define ae2f_CmpGetLs(a, b) ((a) < (b) ? (a) : (b))
27
28/// @return
29/// The absolute different of two.
30#define ae2f_CmpDiff(a, b) (ae2f_CmpGetGt(a, b) - ae2f_CmpGetLs(a, b))
31
32/// @brief
33/// Gets the member from the pointer.
34/// Given nullptr, the return will be alter.
35/// @param ptr The pointer for getting member.
36/// @param member The valid member's name. [from the structure]
37/// @param alter The alternative value when given nullptr.
38#define ae2f_CmpGetMem(ptr, member, alter) ((ptr) ? ((ptr)->member) : (alter))
39
40/// @brief
41/// Returns ptr's self.
42/// Given nullptr, the return will be alt.
43/// @param ptr Self Referring
44/// @param alt The alternative value.
45#define ae2f_CmpGetSelf(ptr, alt) ((ptr) ? (ptr) : (alt))
46#endif // !defined(ae2f_Macro_Compare_h)
#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
@ 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
ae2f_float ae2f_float_t
Definition Float.h:38
#define ae2f_mMMapDimLen(mmap,...)
Length vector for every dimension index.
Definition MMap.auto.h:104
#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