nsimd icon indicating copy to clipboard operation
nsimd copied to clipboard

Add is_aligned for both C and C++ APIs

Open vianney-st opened this issue 4 years ago • 0 comments

// C
int is_aligned(const void* const ptr) {
#if NSIMD_WORD_SIZE == 32
const u32 val = (u32)ptr;
#else
const u64 val = (u64)ptr;
#endif
return val % (NSIMD_MAX_ALIGNMENT / CHAR_BIT) == 0;
}

// C++
template<typename T>
bool is_aligned(const T* const ptr) {
#if NSIMD_WORD_SIZE == 32
u32 val = (u32)ptr;
#else
u64 val = (u64)ptr;
#endif
return val % (NSIMD_MAX_ALIGNMENT / CHAR_BIT) == 0;
}

vianney-st avatar Mar 11 '20 10:03 vianney-st