Support for Streaming SIMD Extensions to speed up vector arithmetic. More...
#include <vcl_compiler_detection.h>#include <vxl_config.h>#include <cfloat>#include <vnl/vnl_config.h>#include <vnl/vnl_alloc.h>#include "vnl/vnl_export.h"Go to the source code of this file.
Classes | |
| class | vnl_sse< T > |
| Bog standard (no sse) implementation for non sse enabled hardware and any type which doesn't have a template specialisation. More... | |
Macros | |
| #define | VNL_SSE_FORCE_INLINE inline |
| #define | VNL_SSE_STACK_ALIGNED(x) |
| #define | VNL_SSE_STACK_STORE(pf) _mm_storeu_##pf |
| #define | VNL_SSE_HEAP_STORE(pf) _mm_storeu_##pf |
| #define | VNL_SSE_HEAP_LOAD(pf) _mm_loadu_##pf |
| #define | VNL_SSE_ALLOC(n, s, a) vnl_alloc::allocate((n == 0) ? 8 : (n * s)); |
| #define | VNL_SSE_FREE(v, n, s) if (v) vnl_alloc::deallocate(v, (n == 0) ? 8 : (n * s)); |
| #define | VNL_SSE_FORCE_INLINE |
Functions | |
| VNL_SSE_FORCE_INLINE void * | vnl_sse_alloc (std::size_t n, unsigned size) |
| Custom memory allocation function to force 16 byte alignment of data. More... | |
| VNL_SSE_FORCE_INLINE void | vnl_sse_dealloc (void *mem, std::size_t n, unsigned size) |
| Custom memory deallocation function to free 16 byte aligned of data. More... | |
Support for Streaming SIMD Extensions to speed up vector arithmetic.
Modifications 2009-03-30 Peter Vanroose - Added arg_min() & arg_max() and reimplemented min() & max()
Definition in file vnl_sse.h.
| #define VNL_SSE_ALLOC | ( | n, | |
| s, | |||
| a | |||
| ) | vnl_alloc::allocate((n == 0) ? 8 : (n * s)); |
| #define VNL_SSE_FREE | ( | v, | |
| n, | |||
| s | |||
| ) | if (v) vnl_alloc::deallocate(v, (n == 0) ? 8 : (n * s)); |
| VNL_SSE_FORCE_INLINE void* vnl_sse_alloc | ( | std::size_t | n, |
| unsigned | size | ||
| ) |
| VNL_SSE_FORCE_INLINE void vnl_sse_dealloc | ( | void * | mem, |
| std::size_t | n, | ||
| unsigned | size | ||
| ) |
1.8.15