Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
Trigonometry.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
8
9// Note that this file exists because std::sin etc. are not platform independent and will lead to non-deterministic simulation
10
12JPH_INLINE float Sin(float inX)
13{
14 Vec4 s, c;
15 Vec4::sReplicate(inX).SinCos(s, c);
16 return s.GetX();
17}
18
20JPH_INLINE float Cos(float inX)
21{
22 Vec4 s, c;
23 Vec4::sReplicate(inX).SinCos(s, c);
24 return c.GetX();
25}
26
28JPH_INLINE float Tan(float inX)
29{
30 return Vec4::sReplicate(inX).Tan().GetX();
31}
32
35JPH_INLINE float ASin(float inX)
36{
37 return Vec4::sReplicate(inX).ASin().GetX();
38}
39
42JPH_INLINE float ACos(float inX)
43{
44 return Vec4::sReplicate(inX).ACos().GetX();
45}
46
48JPH_INLINE float ATan(float inX)
49{
50 return Vec4::sReplicate(inX).ATan().GetX();
51}
52
54JPH_INLINE float ATan2(float inY, float inX)
55{
57}
58
#define JPH_NAMESPACE_END
Definition: Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:361
JPH_INLINE float Tan(float inX)
Tangent of x (input in radians)
Definition: Trigonometry.h:28
JPH_INLINE float Cos(float inX)
Cosine of x (input in radians)
Definition: Trigonometry.h:20
JPH_INLINE float ACos(float inX)
Definition: Trigonometry.h:42
JPH_INLINE float ATan2(float inY, float inX)
Arc tangent of y / x using the signs of the arguments to determine the correct quadrant (returns valu...
Definition: Trigonometry.h:54
JPH_NAMESPACE_BEGIN JPH_INLINE float Sin(float inX)
Sine of x (input in radians)
Definition: Trigonometry.h:12
JPH_INLINE float ASin(float inX)
Definition: Trigonometry.h:35
JPH_INLINE float ATan(float inX)
Arc tangent of x (returns value in the range [-PI / 2, PI / 2])
Definition: Trigonometry.h:48
Definition: Vec4.h:14
Vec4 ATan() const
Calculate the arc tangent for each element of this vector (returns value in the range [-PI / 2,...
Definition: Vec4.inl:903
static Vec4 sATan2(Vec4Arg inY, Vec4Arg inX)
Calculate the arc tangent of y / x using the signs of the arguments to determine the correct quadrant...
Definition: Vec4.inl:937
Vec4 ASin() const
Definition: Vec4.inl:862
Vec4 Tan() const
Calculate the tangent for each element of this vector (input in radians)
Definition: Vec4.inl:829
JPH_INLINE float GetX() const
Get individual components.
Definition: Vec4.h:113
Vec4 ACos() const
Definition: Vec4.inl:897
static JPH_INLINE Vec4 sReplicate(float inV)
Replicate inV across all components.
Definition: Vec4.inl:74
void SinCos(Vec4 &outSin, Vec4 &outCos) const
Calculate the sine and cosine for each element of this vector (input in radians)
Definition: Vec4.inl:767