Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
enmath.c
Go to the documentation of this file.
1 
6 class Math
7 {
8  private void Math() {}
9  private void ~Math() {}
10 
11  static const float EULER = 2.7182818284590452353;
12  static const float PI = 3.14159265358979;
13  static const float PI2 = 6.28318530717958;
14  static const float PI_HALF = 1.570796326794;
15 
16  static const float RAD2DEG = 57.2957795130823208768;
17  static const float DEG2RAD = 0.01745329251994329577;
18 
20  proto static int GetNumberOfSetBits(int i);
21 
23  proto static int GetNthBitSet(int value, int n);
24 
38  proto static int RandomInt(int min, int max);
39 
54  static int RandomIntInclusive(int min, int max)
55  {
56  return Math.RandomInt(min, max+1);
57  }
58 
73  static bool RandomBool()
74  {
75  return RandomIntInclusive(0,1);
76  }
77 
91  proto static float RandomFloat(float min, float max);
92 
106  static float RandomFloatInclusive(float min, float max)
107  {
108  int max_range = Math.Pow(2, 30); //max range
109  int random_int = Math.RandomInt(0, max_range);
110  float rand_float = (float)random_int / (float)max_range;
111  float range = max - min;
112 
113  return min + (rand_float * range); //rand float
114  }
115 
126  static float RandomFloat01()
127  {
128  return RandomFloatInclusive(0, 1);
129  }
130 
141  proto static int Randomize(int seed);
142 
155  proto static float NormalizeAngle(float ang);
156 
170  proto static float DiffAngle(float angle1, float angle2);
171 
183  proto static float Pow(float v, float power);
184 
198  proto static float ModFloat(float x, float y);
199 
213  proto static float RemainderFloat(float x, float y);
214 
225  proto static float AbsFloat(float f);
226 
237  proto static int AbsInt(int i);
238 
253  proto static float SignFloat(float f);
254 
269  proto static int SignInt(int i);
270 
281  proto static float SqrFloat(float f);
282 
293  proto static int SqrInt(int i);
294 
305  proto static float Sqrt(float val);
306 
319  proto static float Log2(float x);
320 
331  proto static float Sin(float angle);
332 
343  proto static float Cos(float angle);
344 
355  proto static float Tan(float angle);
356 
367  proto static float Asin(float s);
368 
379  proto static float Acos(float c);
380 
386  proto static float Atan(float x);
387 
399  proto static float Atan2(float y, float x);
400 
413  proto static float Round(float f);
414 
427  proto static float Floor(float f);
428 
441  proto static float Ceil(float f);
442 
455  proto static float WrapFloat(float f, float min, float max);
456 
469  proto static float WrapFloatInclusive(float f, float min, float max);
470 
482  proto static float WrapFloat0X(float f, float max);
483 
495  proto static float WrapFloat0XInclusive(float f, float max);
496 
509  proto static int WrapInt(int i, int min, int max);
510 
522  proto static int WrapInt0X(int i, int max);
523 
540  proto static float Clamp(float value, float min, float max);
541 
553  proto static float Min(float x, float y);
554 
566  proto static float Max(float x, float y);
567 
580  proto static bool IsInRange(float v, float min, float max);
581 
594  proto static bool IsInRangeInt(int v, int min, int max);
595 
608  proto static float Lerp(float a, float b, float time);
609 
622  proto static float InverseLerp(float a, float b, float value);
623 
630  proto static float AreaOfRightTriangle(float s, float a);
631 
638  proto static float HypotenuseOfRightTriangle(float s, float a);
639 
647  proto static bool IsPointInCircle(vector c, float r, vector p);
648 
656  proto static bool IsPointInRectangle(vector mi, vector ma, vector p);
657 
658  //--------------------------------------------------------------------------
659  //-------------------------------- filters ---------------------------------
660  //--------------------------------------------------------------------------
661 
678  proto static float SmoothCD(float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt);
679 
681  static float Poisson(float mean, int occurences)
682  {
683  return Pow(mean, occurences) * Pow(EULER,-mean) / Factorial(occurences);
684  }
685 
687  static int Factorial(int val)
688  {
689  if (val > 12)
690  {
691  ErrorEx("Values above '12' cause int overflow! Returning '1'");
692  return 1;
693  }
694 
695  int res = 1;
696  while (val > 1)
697  {
698  res *= val--;
699  }
700  return res;
701  }
702 };
703 
704 //@}
y
Icon y
ErrorEx
enum ShapeType ErrorEx
vector
Definition: enconvert.c:105
x
Icon x
Math
Definition: enmath.c:6
float
Definition: enconvert.c:96