PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::encoding::simd::vec256_int Struct Reference

Portable 256-bit integer vector wrapper. More...

#include <simd_types.h>

Collaboration diagram for kcenon::pacs::encoding::simd::vec256_int:
Collaboration graph

Public Member Functions

 vec256_int () noexcept=default
 
 vec256_int (vec128_int l, vec128_int h) noexcept
 
void store (void *ptr) const noexcept
 
void store_aligned (void *ptr) const noexcept
 

Static Public Member Functions

static vec256_int load (const void *ptr) noexcept
 
static vec256_int load_aligned (const void *ptr) noexcept
 

Public Attributes

vec128_int low
 
vec128_int high
 

Detailed Description

Portable 256-bit integer vector wrapper.

Definition at line 149 of file simd_types.h.

Constructor & Destructor Documentation

◆ vec256_int() [1/2]

kcenon::pacs::encoding::simd::vec256_int::vec256_int ( )
defaultnoexcept

◆ vec256_int() [2/2]

kcenon::pacs::encoding::simd::vec256_int::vec256_int ( vec128_int l,
vec128_int h )
inlinenoexcept

Definition at line 180 of file simd_types.h.

Member Function Documentation

◆ load()

static vec256_int kcenon::pacs::encoding::simd::vec256_int::load ( const void * ptr)
inlinestaticnoexcept

Definition at line 182 of file simd_types.h.

182 {
183 const auto* p = reinterpret_cast<const uint8_t*>(ptr);
184 return vec256_int(vec128_int::load(p), vec128_int::load(p + 16));
185 }
static vec128_int load(const void *ptr) noexcept
Definition simd_types.h:126

◆ load_aligned()

static vec256_int kcenon::pacs::encoding::simd::vec256_int::load_aligned ( const void * ptr)
inlinestaticnoexcept

Definition at line 187 of file simd_types.h.

187 {
188 const auto* p = reinterpret_cast<const uint8_t*>(ptr);
191 }
static vec128_int load_aligned(const void *ptr) noexcept
Definition simd_types.h:132

◆ store()

void kcenon::pacs::encoding::simd::vec256_int::store ( void * ptr) const
inlinenoexcept

Definition at line 193 of file simd_types.h.

193 {
194 auto* p = reinterpret_cast<uint8_t*>(ptr);
195 low.store(p);
196 high.store(p + 16);
197 }
void store(void *ptr) const noexcept
Definition simd_types.h:136

◆ store_aligned()

void kcenon::pacs::encoding::simd::vec256_int::store_aligned ( void * ptr) const
inlinenoexcept

Definition at line 199 of file simd_types.h.

199 {
200 auto* p = reinterpret_cast<uint8_t*>(ptr);
202 high.store_aligned(p + 16);
203 }
void store_aligned(void *ptr) const noexcept
Definition simd_types.h:140

Member Data Documentation

◆ high

vec128_int kcenon::pacs::encoding::simd::vec256_int::high

Definition at line 177 of file simd_types.h.

◆ low

vec128_int kcenon::pacs::encoding::simd::vec256_int::low

Definition at line 176 of file simd_types.h.


The documentation for this struct was generated from the following file: