chore: Fix import paths.
This commit is contained in:
parent
26e2403fd7
commit
0f0c808817
@ -1,74 +1,80 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Core/public/Math/SIMD/PhanesSIMDTypes.h"
|
#include "Core/Math/MathCommon.hpp"
|
||||||
#include "Core/public/Math/MathCommon.hpp"
|
#include "Core/Math/SIMD/PhanesSIMDTypes.h"
|
||||||
|
|
||||||
|
|
||||||
namespace Phanes::Core::Math::SIMD
|
namespace Phanes::Core::Math::SIMD
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds all scalars of the vector.
|
/// Adds all scalars of the vector.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="v">Vector</param>
|
/// <param name="v">Vector</param>
|
||||||
/// <returns>Sum stored in v[0:31].</returns>
|
/// <returns>Sum stored in v[0:31].</returns>
|
||||||
Phanes::Core::Types::Vec4f32Reg vec4_hadd(const Phanes::Core::Types::Vec4f32Reg v)
|
Phanes::Core::Types::Vec4f32Reg vec4_hadd(const Phanes::Core::Types::Vec4f32Reg v)
|
||||||
{
|
{
|
||||||
Phanes::Core::Types::Vec4f32Reg r;
|
Phanes::Core::Types::Vec4f32Reg r;
|
||||||
r.data[0] = v.data[0] + v.data[1] + v.data[2] + v.data[3];
|
r.data[0] = v.data[0] + v.data[1] + v.data[2] + v.data[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Adds all scalars of the vector.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="v">Vector</param>
|
|
||||||
/// <returns>Sum of components.</returns>
|
|
||||||
float vec4_hadd_cvtf32(const Phanes::Core::Types::Vec4f32Reg v)
|
|
||||||
{
|
|
||||||
return v.data[0] + v.data[1] + v.data[2] + v.data[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the absolute value of each scalar in the vector.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="v">Vector</param>
|
|
||||||
/// <returns>Vector with all components positive.</returns>
|
|
||||||
Phanes::Core::Types::Vec4f32Reg vec4_abs(const Phanes::Core::Types::Vec4f32Reg v)
|
|
||||||
{
|
|
||||||
Phanes::Core::Types::Vec4f32Reg r;
|
|
||||||
|
|
||||||
r.data[0] = Abs(v.data[0]);
|
/// <summary>
|
||||||
}
|
/// Adds all scalars of the vector.
|
||||||
|
/// </summary>
|
||||||
/// <summary>
|
/// <param name="v">Vector</param>
|
||||||
/// Gets the dot product of the
|
/// <returns>Sum of components.</returns>
|
||||||
/// </summary>
|
float vec4_hadd_cvtf32(const Phanes::Core::Types::Vec4f32Reg v)
|
||||||
/// <param name="v1"></param>
|
{
|
||||||
/// <param name="v2"></param>
|
return v.data[0] + v.data[1] + v.data[2] + v.data[3];
|
||||||
/// <returns></returns>
|
}
|
||||||
Phanes::Core::Types::Vec4f32Reg vec4_dot(const Phanes::Core::Types::Vec4f32Reg v1, const Phanes::Core::Types::Vec4f32Reg v2)
|
|
||||||
{
|
|
||||||
Phanes::Core::Types::Vec4f32Reg r;
|
|
||||||
r.data[0] = v1.data[0] * v1.data[0] + v1.data[1] * v2.data[1] + v1.data[2] * v2.data[2] + v1.data[3] * v2.data[3];
|
|
||||||
|
|
||||||
return r;
|
/// <summary>
|
||||||
}
|
/// Gets the absolute value of each scalar in the vector.
|
||||||
|
/// </summary>
|
||||||
/// <summary>
|
/// <param name="v">Vector</param>
|
||||||
/// Gets the dot product of the
|
/// <returns>Vector with all components positive.</returns>
|
||||||
/// </summary>
|
Phanes::Core::Types::Vec4f32Reg vec4_abs(const Phanes::Core::Types::Vec4f32Reg v)
|
||||||
/// <param name="v1"></param>
|
{
|
||||||
/// <param name="v2"></param>
|
Phanes::Core::Types::Vec4f32Reg r;
|
||||||
/// <returns></returns>
|
|
||||||
float vec4_dot_cvtf32(const Phanes::Core::Types::Vec4f32Reg v1, const Phanes::Core::Types::Vec4f32Reg v2)
|
|
||||||
{
|
|
||||||
return v1.data[0] * v1.data[0] + v1.data[1] * v2.data[1] + v1.data[2] * v2.data[2] + v1.data[3] * v2.data[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
Phanes::Core::Types::Vec2f64Reg vec2_eq(const Phanes::Core::Types::Vec2f64Reg v1, const Phanes::Core::Types::Vec2f64Reg v2)
|
r.data[0] = Abs(v.data[0]);
|
||||||
{
|
}
|
||||||
Phanes::Core::Types::Vec4f64Reg r;
|
|
||||||
|
|
||||||
r.data[0] = (Phanes::Core::Math::Abs(v1.data[0] - v2.data[0]) < P_FLT_INAC) ? 0xFFFFFFFF : 0;
|
/// <summary>
|
||||||
r.data[1] = (Phanes::Core::Math::Abs(v1.data[1] - v2.data[1]) < P_FLT_INAC) ? 0xFFFFFFFF : 0;
|
/// Gets the dot product of the
|
||||||
}
|
/// </summary>
|
||||||
}
|
/// <param name="v1"></param>
|
||||||
|
/// <param name="v2"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Phanes::Core::Types::Vec4f32Reg vec4_dot(const Phanes::Core::Types::Vec4f32Reg v1,
|
||||||
|
const Phanes::Core::Types::Vec4f32Reg v2)
|
||||||
|
{
|
||||||
|
Phanes::Core::Types::Vec4f32Reg r;
|
||||||
|
r.data[0] = v1.data[0] * v1.data[0] + v1.data[1] * v2.data[1] + v1.data[2] * v2.data[2] +
|
||||||
|
v1.data[3] * v2.data[3];
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the dot product of the
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="v1"></param>
|
||||||
|
/// <param name="v2"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
float vec4_dot_cvtf32(const Phanes::Core::Types::Vec4f32Reg v1,
|
||||||
|
const Phanes::Core::Types::Vec4f32Reg v2)
|
||||||
|
{
|
||||||
|
return v1.data[0] * v1.data[0] + v1.data[1] * v2.data[1] + v1.data[2] * v2.data[2] +
|
||||||
|
v1.data[3] * v2.data[3];
|
||||||
|
}
|
||||||
|
|
||||||
|
Phanes::Core::Types::Vec2f64Reg vec2_eq(const Phanes::Core::Types::Vec2f64Reg v1,
|
||||||
|
const Phanes::Core::Types::Vec2f64Reg v2)
|
||||||
|
{
|
||||||
|
Phanes::Core::Types::Vec4f64Reg r;
|
||||||
|
|
||||||
|
r.data[0] =
|
||||||
|
(Phanes::Core::Math::Abs(v1.data[0] - v2.data[0]) < P_FLT_INAC) ? 0xFFFFFFFF : 0;
|
||||||
|
r.data[1] =
|
||||||
|
(Phanes::Core::Math::Abs(v1.data[1] - v2.data[1]) < P_FLT_INAC) ? 0xFFFFFFFF : 0;
|
||||||
|
}
|
||||||
|
} // namespace Phanes::Core::Math::SIMD
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user