Lines Matching refs:Container
301 template <typename Container = C, int Size = N> \
302 typename std::enable_if<std::is_floating_point<Container>::value, \
306 typename std::conditional<std::is_same<float, Container>::value, \
308 static_assert(sizeof(ElemType) == sizeof(Container), \
331 template <typename Container = C, int Size = N> \
332 typename std::enable_if<std::is_floating_point<Container>::value, \
336 typename std::conditional<std::is_same<float, Container>::value, \
338 static_assert(sizeof(ElemType) == sizeof(Container), \
340 const Container *const RhsPtr = \
341 reinterpret_cast<const Container *const>(&Rhs); \
342 const Container *const LhsPtr = \
343 reinterpret_cast<const Container *const>(&Lhs); \
359 template <typename Container = C, int Size = N> \
362 !(NeedsInt), Container, \
364 std::is_same<Container, float>::value, uint32_t, \
365 typename std::conditional<std::is_same<Container, double>::value, \
368 typename std::conditional<std::is_integral<Container>::value, \
369 Container, ElemTypeForFp>::type; \
395 template <typename Container = C, int Size = N> \
397 const Container *const LhsPtr = \
398 reinterpret_cast<const Container *const>(&Lhs); \
399 Container Ret[N]; \
411 template <typename Container = C, int Size = N>
412 typename std::enable_if<std::is_signed<Container>::value ||
413 std::is_floating_point<Container>::value,
416 static_assert((std::is_integral<Container>::value &&
417 sizeof(Container) < sizeof(uint64_t)) ||
418 std::is_floating_point<Container>::value,
421 const Container *const RhsPtr =
422 reinterpret_cast<const Container *const>(&Rhs);
423 const Container *const LhsPtr =
424 reinterpret_cast<const Container *const>(&Lhs);
425 Container Ret[Size];
432 template <typename Container = C, int Size = N,
434 !std::is_signed<Container>::value>::type>
436 static_assert(std::is_integral<Container>::value &&
437 sizeof(Container) < sizeof(uint64_t),
440 sizeof(Container) == 1, uint16_t,
441 typename std::conditional<sizeof(Container) == 2, uint32_t,
443 static_assert(sizeof(Container) * 2 == sizeof(NextType),
446 const Container *const RhsPtr =
447 reinterpret_cast<const Container *const>(&Rhs);
448 const Container *const LhsPtr =
449 reinterpret_cast<const Container *const>(&Lhs);
458 template <typename Container = C, int Size = N>
459 PackedArith<Container> operator~() const {
460 const Container *const LhsPtr =
461 reinterpret_cast<const Container *const>(&Lhs);
462 Container Ret[Size];
466 return PackedArith<Container>(*reinterpret_cast<Dqword *>(&Ret));
470 template <typename Container = C, int Size = N> \
472 static_assert(std::is_floating_point<Container>::value, \
474 const Container *const RhsPtr = \
475 reinterpret_cast<const Container *const>(&Rhs); \
476 const Container *const LhsPtr = \
477 reinterpret_cast<const Container *const>(&Lhs); \
478 Container Ret[Size]; \
491 template <typename Container = C, int Size = N>
494 sizeof(Container) == 1, int8_t, in blendWith()
495 typename std::conditional<sizeof(Container) == 2, int16_t, in blendWith()
497 static_assert(sizeof(MaskType) == sizeof(Container), in blendWith()
499 const Container *const RhsPtr = in blendWith()
500 reinterpret_cast<const Container *const>(&Rhs); in blendWith()
501 const Container *const LhsPtr = in blendWith()
502 reinterpret_cast<const Container *const>(&Lhs); in blendWith()
505 Container Ret[Size]; in blendWith()