37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "ehs/Types.h"
|
|
|
|
namespace ehs
|
|
{
|
|
class AVX2
|
|
{
|
|
public:
|
|
/// Compares two unaligned 4 element vectors using 64-bit integers.
|
|
/// @param [in] a First vector.
|
|
/// @param [in] b Second vector.
|
|
/// @returns True if all 4 elements are equal. False otherwise.
|
|
static bool CompareUnaligned(const UInt_64 *a, const UInt_64 *b);
|
|
|
|
/// Compares two unaligned 4 element vectors using 64-bit integers.
|
|
/// @param [in] a First vector.
|
|
/// @param [in] b Second vector.
|
|
/// @returns True if all 4 elements are equal. False otherwise.
|
|
static bool CompareUnaligned(const SInt_64 *a, const SInt_64 *b);
|
|
|
|
/// Compares two aligned 4 element vectors using 64-bit integers.
|
|
/// @param [in] a First vector.
|
|
/// @param [in] b Second vector.
|
|
/// @returns True if all 4 elements are equal. False otherwise.
|
|
/// @note The parameters "a", and "b" must have alignas(32).
|
|
static bool CompareAligned(const UInt_64 *a, const UInt_64 *b);
|
|
|
|
/// Compares two aligned 4 element vectors using 64-bit integers.
|
|
/// @param [in] a First vector.
|
|
/// @param [in] b Second vector.
|
|
/// @returns True if all 4 elements are equal. False otherwise.
|
|
/// @note The parameters "a", and "b" must have alignas(32).
|
|
static bool CompareAligned(const SInt_64 *a, const SInt_64 *b);
|
|
};
|
|
}
|