A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/chunkcopy_8h_source.html below:

NCBI C++ ToolKit: src/util/compress/zlib_cloudflare/chunkcopy.h Source File

36 #define Z_STATIC_ASSERT(name, assert) typedef char name[(assert) ? 1 : -1] 38 #if __STDC_VERSION__ >= 199901L 39 #define Z_RESTRICT restrict 44 #if defined(__clang__) || defined(__GNUC__) || defined(__llvm__) 45 #define Z_BUILTIN_MEMCPY __builtin_memcpy 47 #define Z_BUILTIN_MEMCPY zmemcpy 50 #if defined(INFLATE_CHUNK_SIMD_NEON) 52 typedef

uint8x16_t z_vec128i_t;

53 #elif defined(INFLATE_CHUNK_SIMD_SSE2) 54 #include <emmintrin.h> 57 #error chunkcopy.h inflate chunk SIMD is not defined for your build target 64 #define CHUNKCOPY_CHUNK_SIZE sizeof(z_vec128i_t) 74  const unsigned char FAR

* s) {

85  unsigned char FAR

* d,

86  const

z_vec128i_t v) {

106  const unsigned char FAR

* from,

113  while

(

len

-- > 0) {

131  const unsigned char FAR

* from,

133  unsigned char FAR

* limit) {

134  Assert

(

out

+

len

<= limit,

"chunk copy exceeds safety limit"

);

174  const unsigned char FAR

* from =

out

- *dist;

184 #if defined(INFLATE_CHUNK_SIMD_NEON) 189 static inline

z_vec128i_t v_load64_dup(

const void

* src) {

190  return

vcombine_u8(vld1_u8(src), vld1_u8(src));

197 static inline

z_vec128i_t v_load32_dup(

const void

* src) {

200  return

vreinterpretq_u8_s32(vdupq_n_s32(i32));

207 static inline

z_vec128i_t v_load16_dup(

const void

* src) {

210  return

vreinterpretq_u8_s16(vdupq_n_s16(i16));

217 static inline

z_vec128i_t v_load8_dup(

const void

* src) {

218  return

vld1q_dup_u8((

const uint8_t

*)src);

225 static inline void

v_store_128(

void

*

out

,

const

z_vec128i_t vec) {

226

vst1q_u8(

out

, vec);

228 #elif defined (INFLATE_CHUNK_SIMD_SSE2) 233 static inline

z_vec128i_t v_load64_dup(

const void

* src) {

243 static inline

z_vec128i_t v_load32_dup(

const void

* src) {

253 static inline

z_vec128i_t v_load16_dup(

const void

* src) {

263 static inline

z_vec128i_t v_load8_dup(

const void

* src) {

271 static inline void

v_store_128(

void

*

out

,

const

z_vec128i_t vec) {

287  const int

bump = ((

len

- 1) %

sizeof

(v)) + 1;

291

v = v_load8_dup(

out

- 1);

292

v_store_128(

out

, v);

296

v_store_128(

out

, v);

302

v = v_load16_dup(

out

- 2);

303

v_store_128(

out

, v);

307

v = v_load16_dup(

out

- 2);

309

v_store_128(

out

, v);

316

v = v_load32_dup(

out

- 4);

317

v_store_128(

out

, v);

321

v = v_load32_dup(

out

- 4);

323

v_store_128(

out

, v);

330

v = v_load64_dup(

out

- 8);

331

v_store_128(

out

, v);

335

v = v_load64_dup(

out

- 8);

337

v_store_128(

out

, v);

382  unsigned char FAR

* limit) {

383  Assert

(

out

+

len

<= limit,

"chunk copy exceeds safety limit"

);

417  unsigned char FAR

* limit) {

418  Assert

(

out

+

len

<= limit,

"chunk copy exceeds safety limit"

);

421  while

(

len

-- > 0) {

434  unsigned char FAR

* limit) {

435 #if defined(__GNUC__) && !defined(__clang__) 441 #elif defined(__clang__) && !defined(__aarch64__) 458 #ifdef INFLATE_CHUNK_READ_64LE 481 #undef Z_STATIC_ASSERT 483 #undef Z_BUILTIN_MEMCPY

#define CHUNKCOPY_CHUNK_SIZE

static z_vec128i_t loadchunk(const unsigned char FAR *s)

char vector_128_bits_wide[(sizeof(z_vec128i_t)==sizeof(int8_t) *16) ? 1 :-1]

static unsigned char FAR * chunkcopy_lapped_relaxed(unsigned char FAR *out, unsigned dist, unsigned len)

static unsigned char FAR * chunkcopy_relaxed(unsigned char FAR *out, const unsigned char FAR *from, unsigned len)

static unsigned char FAR * chunkunroll_relaxed(unsigned char FAR *out, unsigned FAR *dist, unsigned FAR *len)

static unsigned char FAR * chunkcopy_safe_ugly(unsigned char FAR *out, unsigned dist, unsigned len, unsigned char FAR *limit)

static unsigned char FAR * chunkcopy_core_safe(unsigned char FAR *out, const unsigned char FAR *from, unsigned len, unsigned char FAR *limit)

static unsigned char FAR * chunkcopy_safe(unsigned char FAR *out, const unsigned char FAR *from, unsigned len, unsigned char FAR *limit)

unsigned long inflate_holder_t

static unsigned char FAR * chunkcopy_lapped_safe(unsigned char FAR *out, unsigned dist, unsigned len, unsigned char FAR *limit)

#define Z_STATIC_ASSERT(name, assert)

static void storechunk(unsigned char FAR *d, const z_vec128i_t v)

static unsigned char FAR * chunkset_core(unsigned char FAR *out, unsigned period, unsigned len)

static unsigned char FAR * chunkcopy_core(unsigned char FAR *out, const unsigned char FAR *from, unsigned len)

std::ofstream out("events_result.xml")

main entry point for tests

std::istream & in(std::istream &in_, double &x_)

static __m128i _mm_set1_epi8(signed char w)

static __m128i _mm_set1_epi16(short w)

static __m128i _mm_set1_epi32(int)

static void _mm_storeu_si128(__m128i *p, __m128i a)

static __m128i _mm_set1_epi64x(int64_t _i)

#define Assert(cond, msg)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4