2018-10-06 20:39:40 -07:00
|
|
|
#pragma once
|
2015-04-19 13:39:16 -07:00
|
|
|
|
2018-12-07 17:16:50 -08:00
|
|
|
#if ZE_ATHENA_TYPES
|
|
|
|
#include "athena/IStreamReader.hpp"
|
|
|
|
#include "athena/simd/simd.hpp"
|
2016-07-08 11:42:42 -07:00
|
|
|
#else
|
2018-12-07 17:16:50 -08:00
|
|
|
#include "simd/simd.hpp"
|
2016-07-08 11:42:42 -07:00
|
|
|
#endif
|
2015-10-25 12:31:41 -07:00
|
|
|
|
2018-12-07 17:16:50 -08:00
|
|
|
namespace zeus {
|
|
|
|
#if ZE_ATHENA_TYPES
|
2018-12-07 21:23:50 -08:00
|
|
|
template <typename T>
|
|
|
|
using simd = athena::simd<T>;
|
2018-12-07 17:16:50 -08:00
|
|
|
using simd_floats = athena::simd_floats;
|
|
|
|
using simd_doubles = athena::simd_doubles;
|
2015-04-19 13:39:16 -07:00
|
|
|
#endif
|
2018-12-07 21:23:50 -08:00
|
|
|
} // namespace zeus
|
2015-04-19 13:39:16 -07:00
|
|
|
|
2015-10-11 17:33:42 -07:00
|
|
|
inline int rotr(int x, int n) { return ((x >> n) | (x << (32 - n))); }
|
|
|
|
inline int rotl(int x, int n) { return ((x << n) | (x >> (32 - n))); }
|