ext/numo/narray/numo/template.h in numo-narray-0.9.1.2 vs ext/numo/narray/numo/template.h in numo-narray-0.9.1.3

- old
+ new

@@ -143,7 +143,25 @@ is_aligned_step(const ssize_t step, const size_t alignment) { return ((step) & ((alignment)-1)) == 0; } +static inline int +get_count_of_elements_not_aligned_to_simd_size(const void *ptr, const size_t alignment, const size_t element_size) +{ + int cnt = (size_t)(ptr) & ((alignment)-1); + return cnt == 0 ? 0 : (alignment - cnt) / element_size; +} + +static inline int is_same_aligned2(const void *ptr1, const void *ptr2, const size_t alignment) +{ + return ((size_t)(ptr1) & ((alignment)-1)) == ((size_t)(ptr2) & ((alignment)-1)); +} + +static inline int is_same_aligned3(const void *ptr1, const void *ptr2, const void *ptr3, const size_t alignment) +{ + return (((size_t)(ptr1) & ((alignment)-1)) == ((size_t)(ptr2) & ((alignment)-1))) && + (((size_t)(ptr1) & ((alignment)-1)) == ((size_t)(ptr3) & ((alignment)-1))); +} + #endif /* ifndef TEMPLATE_H */