__packed mbedtls_uint16_unaligned_t;
53 typedef uint32_t__packed mbedtls_uint32_unaligned_t;
54 typedef uint64_t__packed mbedtls_uint64_unaligned_t;
55 #elif defined(MBEDTLS_COMPILER_IS_GCC) && (MBEDTLS_GCC_VERSION >= 40504) && \ 56 ((MBEDTLS_GCC_VERSION < 60300) || (!defined(MBEDTLS_EFFICIENT_UNALIGNED_ACCESS))) 85 #define UINT_UNALIGNED_STRUCT 88} __attribute__((packed)) mbedtls_uint16_unaligned_t;
91} __attribute__((packed)) mbedtls_uint32_unaligned_t;
94} __attribute__((packed)) mbedtls_uint64_unaligned_t;
110 #if defined(__IAR_SYSTEMS_ICC__) 111 #pragma inline = forced 112 #elif defined(__GNUC__) 113__attribute__((always_inline))
118 #if defined(UINT_UNALIGNED) 119mbedtls_uint16_unaligned_t *p16 = (mbedtls_uint16_unaligned_t *) p;
121 #elif defined(UINT_UNALIGNED_STRUCT) 122mbedtls_uint16_unaligned_t *p16 = (mbedtls_uint16_unaligned_t *) p;
125memcpy(&
r, p,
sizeof(
r));
137 #if defined(__IAR_SYSTEMS_ICC__) 138 #pragma inline = forced 139 #elif defined(__GNUC__) 140__attribute__((always_inline))
144 #if defined(UINT_UNALIGNED) 145mbedtls_uint16_unaligned_t *p16 = (mbedtls_uint16_unaligned_t *) p;
147 #elif defined(UINT_UNALIGNED_STRUCT) 148mbedtls_uint16_unaligned_t *p16 = (mbedtls_uint16_unaligned_t *) p;
151memcpy(p, &x,
sizeof(x));
162 #if defined(__IAR_SYSTEMS_ICC__) 163 #pragma inline = forced 164 #elif defined(__GNUC__) 165__attribute__((always_inline))
170 #if defined(UINT_UNALIGNED) 171mbedtls_uint32_unaligned_t *p32 = (mbedtls_uint32_unaligned_t *) p;
173 #elif defined(UINT_UNALIGNED_STRUCT) 174mbedtls_uint32_unaligned_t *p32 = (mbedtls_uint32_unaligned_t *) p;
177memcpy(&
r, p,
sizeof(
r));
189 #if defined(__IAR_SYSTEMS_ICC__) 190 #pragma inline = forced 191 #elif defined(__GNUC__) 192__attribute__((always_inline))
196 #if defined(UINT_UNALIGNED) 197mbedtls_uint32_unaligned_t *p32 = (mbedtls_uint32_unaligned_t *) p;
199 #elif defined(UINT_UNALIGNED_STRUCT) 200mbedtls_uint32_unaligned_t *p32 = (mbedtls_uint32_unaligned_t *) p;
203memcpy(p, &x,
sizeof(x));
214 #if defined(__IAR_SYSTEMS_ICC__) 215 #pragma inline = forced 216 #elif defined(__GNUC__) 217__attribute__((always_inline))
222 #if defined(UINT_UNALIGNED) 223mbedtls_uint64_unaligned_t *p64 = (mbedtls_uint64_unaligned_t *) p;
225 #elif defined(UINT_UNALIGNED_STRUCT) 226mbedtls_uint64_unaligned_t *p64 = (mbedtls_uint64_unaligned_t *) p;
229memcpy(&
r, p,
sizeof(
r));
241 #if defined(__IAR_SYSTEMS_ICC__) 242 #pragma inline = forced 243 #elif defined(__GNUC__) 244__attribute__((always_inline))
248 #if defined(UINT_UNALIGNED) 249mbedtls_uint64_unaligned_t *p64 = (mbedtls_uint64_unaligned_t *) p;
251 #elif defined(UINT_UNALIGNED_STRUCT) 252mbedtls_uint64_unaligned_t *p64 = (mbedtls_uint64_unaligned_t *) p;
255memcpy(p, &x,
sizeof(x));
259 #if defined(MBEDTLS_POP_IAR_LANGUAGE_PRAGMA) 260 #pragma language=restore 268 #define MBEDTLS_BYTE_0(x) ((uint8_t) ((x) & 0xff)) 269 #define MBEDTLS_BYTE_1(x) ((uint8_t) (((x) >> 8) & 0xff)) 270 #define MBEDTLS_BYTE_2(x) ((uint8_t) (((x) >> 16) & 0xff)) 271 #define MBEDTLS_BYTE_3(x) ((uint8_t) (((x) >> 24) & 0xff)) 272 #define MBEDTLS_BYTE_4(x) ((uint8_t) (((x) >> 32) & 0xff)) 273 #define MBEDTLS_BYTE_5(x) ((uint8_t) (((x) >> 40) & 0xff)) 274 #define MBEDTLS_BYTE_6(x) ((uint8_t) (((x) >> 48) & 0xff)) 275 #define MBEDTLS_BYTE_7(x) ((uint8_t) (((x) >> 56) & 0xff)) 280 #if defined(__GNUC__) && defined(__GNUC_PREREQ) 281 #if __GNUC_PREREQ(4, 8) 282 #define MBEDTLS_BSWAP16 __builtin_bswap16 284 #if __GNUC_PREREQ(4, 3) 285 #define MBEDTLS_BSWAP32 __builtin_bswap32 286 #define MBEDTLS_BSWAP64 __builtin_bswap64 293 #if defined(__clang__) && defined(__has_builtin) 294 #if __has_builtin(__builtin_bswap16) && !defined(MBEDTLS_BSWAP16) 295 #define MBEDTLS_BSWAP16 __builtin_bswap16 297 #if __has_builtin(__builtin_bswap32) && !defined(MBEDTLS_BSWAP32) 298 #define MBEDTLS_BSWAP32 __builtin_bswap32 300 #if __has_builtin(__builtin_bswap64) && !defined(MBEDTLS_BSWAP64) 301 #define MBEDTLS_BSWAP64 __builtin_bswap64 308 #if defined(_MSC_VER) 309 #if !defined(MBEDTLS_BSWAP16) 310 #define MBEDTLS_BSWAP16 _byteswap_ushort 312 #if !defined(MBEDTLS_BSWAP32) 313 #define MBEDTLS_BSWAP32 _byteswap_ulong 315 #if !defined(MBEDTLS_BSWAP64) 316 #define MBEDTLS_BSWAP64 _byteswap_uint64 321 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 410000) && !defined(MBEDTLS_BSWAP32) 322 #if defined(__ARM_ACLE) 323 #include <arm_acle.h> 325 #define MBEDTLS_BSWAP32 __rev 329 #if defined(__IAR_SYSTEMS_ICC__) 330 #if defined(__ARM_ACLE) 331 #include <arm_acle.h> 332 #define MBEDTLS_BSWAP16(x) ((uint16_t) __rev16((uint32_t) (x))) 333 #define MBEDTLS_BSWAP32 __rev 334 #define MBEDTLS_BSWAP64 __revll 343 #if !defined(MBEDTLS_BSWAP16) 350 #define MBEDTLS_BSWAP16 mbedtls_bswap16 353 #if !defined(MBEDTLS_BSWAP32) 357(x & 0x000000ff) << 24 |
358(x & 0x0000ff00) << 8 |
359(x & 0x00ff0000) >> 8 |
360(x & 0xff000000) >> 24;
362 #define MBEDTLS_BSWAP32 mbedtls_bswap32 365 #if !defined(MBEDTLS_BSWAP64) 369(x & 0x00000000000000ffULL) << 56 |
370(x & 0x000000000000ff00ULL) << 40 |
371(x & 0x0000000000ff0000ULL) << 24 |
372(x & 0x00000000ff000000ULL) << 8 |
373(x & 0x000000ff00000000ULL) >> 8 |
374(x & 0x0000ff0000000000ULL) >> 24 |
375(x & 0x00ff000000000000ULL) >> 40 |
376(x & 0xff00000000000000ULL) >> 56;
378 #define MBEDTLS_BSWAP64 mbedtls_bswap64 381 #if !defined(__BYTE_ORDER__) 383 #if defined(__LITTLE_ENDIAN__) 385 #define MBEDTLS_IS_BIG_ENDIAN 0 386 #elif defined(__BIG_ENDIAN__) 387 #define MBEDTLS_IS_BIG_ENDIAN 1 390 #define MBEDTLS_IS_BIG_ENDIAN (*((unsigned char *) (&mbedtls_byte_order_detector)) == 0x01) 395 #if (__BYTE_ORDER__) == (__ORDER_BIG_ENDIAN__) 396 #define MBEDTLS_IS_BIG_ENDIAN 1 398 #define MBEDTLS_IS_BIG_ENDIAN 0 412 #define MBEDTLS_GET_UINT32_BE(data, offset) \ 413 ((MBEDTLS_IS_BIG_ENDIAN) \ 414 ? mbedtls_get_unaligned_uint32((data) + (offset)) \ 415 : MBEDTLS_BSWAP32(mbedtls_get_unaligned_uint32((data) + (offset))) \ 427 #define MBEDTLS_PUT_UINT32_BE(n, data, offset) \ 429 if (MBEDTLS_IS_BIG_ENDIAN) \ 431 mbedtls_put_unaligned_uint32((data) + (offset), (uint32_t) (n)); \ 435 mbedtls_put_unaligned_uint32((data) + (offset), MBEDTLS_BSWAP32((uint32_t) (n))); \ 448 #define MBEDTLS_GET_UINT32_LE(data, offset) \ 449 ((MBEDTLS_IS_BIG_ENDIAN) \ 450 ? MBEDTLS_BSWAP32(mbedtls_get_unaligned_uint32((data) + (offset))) \ 451 : mbedtls_get_unaligned_uint32((data) + (offset)) \ 464 #define MBEDTLS_PUT_UINT32_LE(n, data, offset) \ 466 if (MBEDTLS_IS_BIG_ENDIAN) \ 468 mbedtls_put_unaligned_uint32((data) + (offset), MBEDTLS_BSWAP32((uint32_t) (n))); \ 472 mbedtls_put_unaligned_uint32((data) + (offset), ((uint32_t) (n))); \ 485 #define MBEDTLS_GET_UINT16_LE(data, offset) \ 486 ((MBEDTLS_IS_BIG_ENDIAN) \ 487 ? MBEDTLS_BSWAP16(mbedtls_get_unaligned_uint16((data) + (offset))) \ 488 : mbedtls_get_unaligned_uint16((data) + (offset)) \ 500 #define MBEDTLS_PUT_UINT16_LE(n, data, offset) \ 502 if (MBEDTLS_IS_BIG_ENDIAN) \ 504 mbedtls_put_unaligned_uint16((data) + (offset), MBEDTLS_BSWAP16((uint16_t) (n))); \ 508 mbedtls_put_unaligned_uint16((data) + (offset), (uint16_t) (n)); \ 521 #define MBEDTLS_GET_UINT16_BE(data, offset) \ 522 ((MBEDTLS_IS_BIG_ENDIAN) \ 523 ? mbedtls_get_unaligned_uint16((data) + (offset)) \ 524 : MBEDTLS_BSWAP16(mbedtls_get_unaligned_uint16((data) + (offset))) \ 536 #define MBEDTLS_PUT_UINT16_BE(n, data, offset) \ 538 if (MBEDTLS_IS_BIG_ENDIAN) \ 540 mbedtls_put_unaligned_uint16((data) + (offset), (uint16_t) (n)); \ 544 mbedtls_put_unaligned_uint16((data) + (offset), MBEDTLS_BSWAP16((uint16_t) (n))); \ 557 #define MBEDTLS_GET_UINT24_BE(data, offset) \ 559 ((uint32_t) (data)[(offset)] << 16) \ 560 | ((uint32_t) (data)[(offset) + 1] << 8) \ 561 | ((uint32_t) (data)[(offset) + 2]) \ 573 #define MBEDTLS_PUT_UINT24_BE(n, data, offset) \ 575 (data)[(offset)] = MBEDTLS_BYTE_2(n); \ 576 (data)[(offset) + 1] = MBEDTLS_BYTE_1(n); \ 577 (data)[(offset) + 2] = MBEDTLS_BYTE_0(n); \ 589 #define MBEDTLS_GET_UINT24_LE(data, offset) \ 591 ((uint32_t) (data)[(offset)]) \ 592 | ((uint32_t) (data)[(offset) + 1] << 8) \ 593 | ((uint32_t) (data)[(offset) + 2] << 16) \ 605 #define MBEDTLS_PUT_UINT24_LE(n, data, offset) \ 607 (data)[(offset)] = MBEDTLS_BYTE_0(n); \ 608 (data)[(offset) + 1] = MBEDTLS_BYTE_1(n); \ 609 (data)[(offset) + 2] = MBEDTLS_BYTE_2(n); \ 621 #define MBEDTLS_GET_UINT64_BE(data, offset) \ 622 ((MBEDTLS_IS_BIG_ENDIAN) \ 623 ? mbedtls_get_unaligned_uint64((data) + (offset)) \ 624 : MBEDTLS_BSWAP64(mbedtls_get_unaligned_uint64((data) + (offset))) \ 636 #define MBEDTLS_PUT_UINT64_BE(n, data, offset) \ 638 if (MBEDTLS_IS_BIG_ENDIAN) \ 640 mbedtls_put_unaligned_uint64((data) + (offset), (uint64_t) (n)); \ 644 mbedtls_put_unaligned_uint64((data) + (offset), MBEDTLS_BSWAP64((uint64_t) (n))); \ 657 #define MBEDTLS_GET_UINT64_LE(data, offset) \ 658 ((MBEDTLS_IS_BIG_ENDIAN) \ 659 ? MBEDTLS_BSWAP64(mbedtls_get_unaligned_uint64((data) + (offset))) \ 660 : mbedtls_get_unaligned_uint64((data) + (offset)) \ 672 #define MBEDTLS_PUT_UINT64_LE(n, data, offset) \ 674 if (MBEDTLS_IS_BIG_ENDIAN) \ 676 mbedtls_put_unaligned_uint64((data) + (offset), MBEDTLS_BSWAP64((uint64_t) (n))); \ 680 mbedtls_put_unaligned_uint64((data) + (offset), (uint64_t) (n)); \static void mbedtls_put_unaligned_uint32(void *p, uint32_t x)
Write the unsigned 32 bits integer to the given address, which need not be aligned.
static uint64_t mbedtls_get_unaligned_uint64(const void *p)
Read the unsigned 64 bits integer from the given address, which need not be aligned.
static const uint16_t mbedtls_byte_order_detector
static uint32_t mbedtls_get_unaligned_uint32(const void *p)
Read the unsigned 32 bits integer from the given address, which need not be aligned.
static void mbedtls_put_unaligned_uint64(void *p, uint64_t x)
Write the unsigned 64 bits integer to the given address, which need not be aligned.
static uint16_t mbedtls_bswap16(uint16_t x)
static void mbedtls_put_unaligned_uint16(void *p, uint16_t x)
Write the unsigned 16 bits integer to the given address, which need not be aligned.
static uint32_t mbedtls_bswap32(uint32_t x)
static uint16_t mbedtls_get_unaligned_uint16(const void *p)
Read the unsigned 16 bits integer from the given address, which need not be aligned.
static uint64_t mbedtls_bswap64(uint64_t x)
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
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