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);
 | |
|     };
 | |
| }
 |