Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ IEEERemainder()

static float System.MathF.IEEERemainder ( float x,
float y )
inlinestatic

Definition at line 191 of file MathF.cs.

192 {
193 if (float.IsNaN(x))
194 {
195 return x;
196 }
197 if (float.IsNaN(y))
198 {
199 return y;
200 }
201 float num = x % y;
202 if (float.IsNaN(num))
203 {
204 return float.NaN;
205 }
206 if (num == 0f && float.IsNegative(x))
207 {
208 return -0f;
209 }
210 float num2 = num - Abs(y) * (float)Sign(x);
211 if (Abs(num2) == Abs(num))
212 {
213 float x2 = x / y;
214 float x3 = Round(x2);
215 if (Abs(x3) > Abs(x2))
216 {
217 return num2;
218 }
219 return num;
220 }
221 if (Abs(num2) < Abs(num))
222 {
223 return num2;
224 }
225 return num;
226 }
static float Abs(float x)
Definition MathF.cs:130
static int Sign(float x)
Definition MathF.cs:408
static float Round(float x)
Definition MathF.cs:326

References System.MathF.Abs(), System.MathF.Round(), and System.MathF.Sign().

Referenced by System.Numerics.Matrix3x2.CreateRotation(), System.Numerics.Matrix3x2.CreateRotation(), System.Single.IEEERemainder(), and System.Half.IEEERemainder().