ae2f_docs
MMap.auto.h File Reference
#include <ae2f/Call.h>
#include <ae2f/Cast.h>
#include <ae2f/Float.h>
#include <ae2f/errGlob.h>
#include <ae2f/Cmp.h>
#include <ae2f/Pack/Beg.h>
#include <ae2f/Macro.h>
#include <ae2f/Guide.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <ae2f/Pack/End.h>

Go to the source code of this file.

Macros

#define __ae2f_MACRO_GENERATED   1
#define ae2f_MMap_h
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define ae2f_mMMapInit   __ae2f_mMMapInit
#define ae2f_mMMapMk   __ae2f_mMMapMk
#define ae2f_mMMapDel   __ae2f_mMMapDel
#define ae2f_mMMapSz   __ae2f_mMMapSz
#define ae2f_mMMapFieldIdx   __ae2f_mMMapFieldIdx
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define ae2f_mMMapDimLen(mmap, ...)
 Length vector for every dimension index.
#define ae2f_mMMapField(mmap, ...)
#define __ae2f_MACRO_GENERATED   1
#define ae2f_MMap_c
#define __ae2f_mMMapSz_imp(v_mapsz, dim, lens)
#define __ae2f_mMMapSz(dim, lens, ret)
#define __ae2f_mMMapFieldIdx_imp(v_fidx, mmap, dim, idxs)
#define __ae2f_mMMapFieldIdx(mmap, dim, idxs, ret)
#define __ae2f_mMMapInit_imp(v_init, mmap, dim, lens)
#define __ae2f_mMMapInit(mmap, dim, lens, ret_e, opt_sz)
#define __ae2f_mMMapMk_imp(v_mk, dim, lens)
#define __ae2f_mMMapMk(dim, lens, opt_ret_err, ret_mmap)
#define __ae2f_mMMapDel(a)
#define __ae2f_MACRO_GENERATED   0

Functions

 ae2f_structdef_v (struct, ae2f_mMMap, ae2f_mMMap)
 Multilinear map, or tensor.
 ae2f_structdef (struct, ae2f_MMap)
ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapInit (ae2f_mMMap *const mmap, const size_t dim, const size_t *const lens, ae2f_err_t *const opt_ret_err, size_t *const opt_ret_sz) noexcept
ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapMk (const size_t dim, const size_t *const lens, ae2f_err_t *const opt_ret_err, ae2f_FREE(free, ae2f_mMMapDel) ae2f_mMMap **const ret_mmap) noexcept
ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapFieldIdx (const ae2f_mMMap *const mmap, const size_t dim, const size_t *const idxs, size_t *const ret)
ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapSz (const size_t dim, const size_t *const lens, size_t *const ret)
ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapDel (ae2f_mMMap *mmap)
 ae2f_structdef (struct, ae2f_mMMapSz_t)
 ae2f_structdef (struct, ae2f_mMMapFieldIdx_t)
 ae2f_structdef (struct, ae2f_mMMapInit_t)
 ae2f_structdef (struct, ae2f_mMMapMk_t)

Macro Definition Documentation

◆ __ae2f_MACRO_GENERATED [1/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [2/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [3/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [4/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [5/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [6/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [7/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [8/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [9/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [10/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [11/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [12/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [13/14]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_MACRO_GENERATED [14/14]

#define __ae2f_MACRO_GENERATED   0

Definition at line 2 of file MMap.auto.h.

◆ __ae2f_mMMapDel

#define __ae2f_mMMapDel ( a)
Value:
{ \
free(a); \
}

tparam param

Definition at line 415 of file MMap.auto.h.

◆ __ae2f_mMMapFieldIdx

#define __ae2f_mMMapFieldIdx ( mmap,
dim,
idxs,
ret )
Value:
{ \
unless(ret) \
; \
unless((idxs) && (mmap)) { \
assert(0 && "nullptr from __ae2f_mMMapFieldIdx"); \
*(ret) = -1; \
} \
else { \
ae2f_mMMapFieldIdx_t v_idx; \
__ae2f_mMMapFieldIdx_imp(v_idx, mmap, dim, idxs); \
*(ret) = v_idx.m_ret; \
} \
}
const size_t dim
Definition MMap.def.c:128
ae2fVK_Spvc *restrict const ret
Definition Spvc.def.c:118

tparam param

Definition at line 278 of file MMap.auto.h.

◆ __ae2f_mMMapFieldIdx_imp

#define __ae2f_mMMapFieldIdx_imp ( v_fidx,
mmap,
dim,
idxs )

tparam param

Definition at line 232 of file MMap.auto.h.

◆ __ae2f_mMMapInit

#define __ae2f_mMMapInit ( mmap,
dim,
lens,
ret_e,
opt_sz )
Value:
{ \
if((ret_e) && *(ret_e)) \
; \
else unless((mmap) && (lens)) \
(ret_e) && (*(ret_e) |= ae2f_errGlob_PTR_IS_NULL); \
else { \
ae2f_mMMapInit_t v_init; \
__ae2f_mMMapInit_imp(v_init, mmap, dim, lens); \
(opt_sz) && (*(opt_sz) = v_init.m_ret); \
} \
}
#define unless(...)
Invokes when condition is false.
Definition Cast.h:103
const size_t const size_t *const lens
Definition MMap.def.c:130
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
Definition errGlob.h:32

tparam param

Definition at line 342 of file MMap.auto.h.

◆ __ae2f_mMMapInit_imp

#define __ae2f_mMMapInit_imp ( v_init,
mmap,
dim,
lens )
Value:
{ \
(mmap)->m_dim = (dim); \
for(v_init.m_i = 0; v_init.m_i < (dim); v_init.m_i++) \
ae2f_mMMapDimLen(mmap)[v_init.m_i] = (lens)[v_init.m_i]; \
\
memcpy(ae2f_mMMapDimLen(mmap), lens, (dim) * sizeof(size_t)); \
__ae2f_mMMapSz((dim), lens, &v_init.m_ret); \
}
#define ae2f_mMMapDimLen(mmap,...)
Length vector for every dimension index.
Definition MMap.auto.h:104
v_mapsz m_dim
Definition MMap.def.c:135

tparam param

Definition at line 323 of file MMap.auto.h.

◆ __ae2f_mMMapMk

#define __ae2f_mMMapMk ( dim,
lens,
opt_ret_err,
ret_mmap )
Value:
{ \
if(opt_ret_err && *(opt_ret_err)); \
else unless((lens) && (ret_mmap)) \
(opt_ret_err) && (*(opt_ret_err) |= ae2f_errGlob_PTR_IS_NULL); \
else { \
ae2f_mMMapMk_t v_mk; \
__ae2f_mMMapMk_imp(v_mk, dim, lens); \
\
assert(v_mk.m_ptr); \
unless(v_mk.m_ptr) { \
(opt_ret_err) && (*(opt_ret_err) |= ae2f_errGlob_ALLOC_FAILED); \
} \
\
*(ret_mmap) = v_mk.m_ptr; \
} \
}
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
Definition errGlob.h:40

tparam param

Definition at line 388 of file MMap.auto.h.

◆ __ae2f_mMMapMk_imp

#define __ae2f_mMMapMk_imp ( v_mk,
dim,
lens )
Value:
{ \
assert((lens) && "lens is null"); \
__ae2f_mMMapSz((dim), (lens), (&v_mk.m_initstack.m_ret)); \
\
assert((v_mk.m_initstack.m_ret != -1) && "Sz has failed."); \
assert((v_mk.m_initstack.m_ret > sizeof(ae2f_mMMap)) && "Sz is fishy."); \
\
\
if((v_mk.m_ptr = calloc(1, v_mk.m_initstack.m_ret))) { \
__ae2f_mMMapInit_imp(v_mk.m_initstack, (v_mk.m_ptr), dim, lens); \
} else { \
assert(0 && "allocation has failed"); \
} \
}

tparam param

Definition at line 365 of file MMap.auto.h.

◆ __ae2f_mMMapSz

#define __ae2f_mMMapSz ( dim,
lens,
ret )
Value:
{ \
unless(lens) { \
assert(0 && "lens is not good"); \
(ret) && (*(ret) = -1); \
} else { \
ae2f_mMMapSz_t v_sz; \
__ae2f_mMMapSz_imp(v_sz, dim, lens); \
(ret) && (*(ret) = v_sz.m_ret); \
} \
}

tparam param

Definition at line 183 of file MMap.auto.h.

◆ __ae2f_mMMapSz_imp

#define __ae2f_mMMapSz_imp ( v_mapsz,
dim,
lens )
Value:
{ \
assert(dim); \
assert(lens); \
\
v_mapsz.m_ret = 1; \
v_mapsz.m_dim = (dim); \
\
while(v_mapsz.m_dim--) { \
v_mapsz.m_ret *= (lens)[(v_mapsz).m_dim]; \
} \
\
assert(v_mapsz.m_dim == -1); \
\
v_mapsz.m_ret = \
v_mapsz.m_ret * sizeof(ae2f_float_t) \
+ ((dim)) * sizeof(size_t) \
+ sizeof(ae2f_MMap); \
\
\
}
ae2f_float ae2f_float_t
Definition Float.h:38
#define size_t

tparam param

Definition at line 153 of file MMap.auto.h.

◆ ae2f_MMap_c

#define ae2f_MMap_c

Definition at line 150 of file MMap.auto.h.

◆ ae2f_MMap_h

#define ae2f_MMap_h

Definition at line 4 of file MMap.auto.h.

◆ ae2f_mMMapDel

#define ae2f_mMMapDel   __ae2f_mMMapDel

Definition at line 89 of file MMap.auto.h.

◆ ae2f_mMMapDimLen

#define ae2f_mMMapDimLen ( mmap,
... )
Value:
ae2f_reinterpret_cast(__VA_ARGS__ size_t*, ((mmap) + 1))
#define ae2f_reinterpret_cast(t, v)
Definition Cast.h:52

Length vector for every dimension index.

Function declarations

Definition at line 104 of file MMap.auto.h.

◆ ae2f_mMMapField

#define ae2f_mMMapField ( mmap,
... )
Value:
ae2f_reinterpret_cast(__VA_ARGS__ ae2f_float_t*, ae2f_mMMapDimLen(mmap, __VA_ARGS__) + (mmap)->m_dim)

@breif Memory field. Indexer needed.

Definition at line 108 of file MMap.auto.h.

◆ ae2f_mMMapFieldIdx

#define ae2f_mMMapFieldIdx   __ae2f_mMMapFieldIdx

Definition at line 91 of file MMap.auto.h.

◆ ae2f_mMMapInit

#define ae2f_mMMapInit   __ae2f_mMMapInit

Definition at line 87 of file MMap.auto.h.

◆ ae2f_mMMapMk

#define ae2f_mMMapMk   __ae2f_mMMapMk

Definition at line 88 of file MMap.auto.h.

◆ ae2f_mMMapSz

#define ae2f_mMMapSz   __ae2f_mMMapSz

Definition at line 90 of file MMap.auto.h.

Function Documentation

◆ ae2f_mMMapDel()

ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapDel ( ae2f_mMMap * mmap)

Definition at line 46 of file MMap.imp.c.

◆ ae2f_mMMapFieldIdx()

ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapFieldIdx ( const ae2f_mMMap *const mmap,
const size_t dim,
const size_t *const idxs,
size_t *const ret )

Definition at line 14 of file MMap.imp.c.

◆ ae2f_mMMapInit()

ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapInit ( ae2f_mMMap *const mmap,
const size_t dim,
const size_t *const lens,
ae2f_err_t *const opt_ret_err,
size_t *const opt_ret_sz )
noexcept

Definition at line 23 of file MMap.imp.c.

◆ ae2f_mMMapMk()

ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapMk ( const size_t dim,
const size_t *const lens,
ae2f_err_t *const opt_ret_err,
ae2f_FREE(free, ae2f_mMMapDel) ae2f_mMMap **const ret_mmap )
noexcept

◆ ae2f_mMMapSz()

ae2f_extern ae2f_SHAREDCALL void ae2f_mMMapSz ( const size_t dim,
const size_t *const lens,
size_t *const ret )

Definition at line 9 of file MMap.imp.c.

◆ ae2f_structdef() [1/5]

ae2f_structdef ( struct ,
ae2f_MMap  )

Definition at line 47 of file MMap.auto.h.

◆ ae2f_structdef() [2/5]

ae2f_structdef ( struct ,
ae2f_mMMapFieldIdx_t  )

Definition at line 118 of file MMap.auto.h.

◆ ae2f_structdef() [3/5]

ae2f_structdef ( struct ,
ae2f_mMMapInit_t  )

Definition at line 126 of file MMap.auto.h.

◆ ae2f_structdef() [4/5]

ae2f_structdef ( struct ,
ae2f_mMMapMk_t  )

Definition at line 130 of file MMap.auto.h.

◆ ae2f_structdef() [5/5]

ae2f_structdef ( struct ,
ae2f_mMMapSz_t  )

output

Definition at line 112 of file MMap.auto.h.

◆ ae2f_structdef_v()

ae2f_structdef_v ( struct ,
ae2f_mMMap ,
ae2f_mMMap  )

Multilinear map, or tensor.

aka dimension count

Definition at line 41 of file MMap.auto.h.