PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
Math library

Data Structures

class  Math
 

Functions

private void Math ()
 
private void ~Math ()
 
static proto int GetNumberOfSetBits (int i)
 returns the number of bits set in a bitmask i
 
static proto int GetNthBitSet (int value, int n)
 returns the the index of n-th bit set in a bit mask counting from the right, for instance, in a mask ..0110 1000 , the 0th set bit(right-most bit set to 1) is at 3th position(starting at 0), 1st bit is at 5th position, 2nd bit is at 6th position etc..
 
static proto int RandomInt (int min, int max)
 Returns a random int number between and min [inclusive] and max [exclusive].
 
static int RandomIntInclusive (int min, int max)
 Returns a random int number between and min [inclusive] and max [inclusive].
 
static bool RandomBool ()
 Returns a random bool .
 
static proto float RandomFloat (float min, float max)
 Returns a random float number between and min[inclusive] and max[exclusive].
 
static float RandomFloatInclusive (float min, float max)
 Returns a random float number between and min [inclusive] and max [inclusive].
 
static float RandomFloat01 ()
 Returns a random float number between and min [inclusive] and max [inclusive].
 
static proto int Randomize (int seed)
 Sets the seed for the random number generator.
 
static proto float NormalizeAngle (float ang)
 Normalizes the angle (0...360)
 
static proto float DiffAngle (float angle1, float angle2)
 Return relative difference between angles.
 
static proto float Pow (float v, float power)
 Return power of v ^ power.
 
static proto float ModFloat (float x, float y)
 Returns the floating-point remainder of x/y rounded towards zero.
 
static proto float RemainderFloat (float x, float y)
 Returns the floating-point remainder of x/y rounded to nearest.
 
static proto float AbsFloat (float f)
 Returns absolute value.
 
static proto int AbsInt (int i)
 Returns absolute value.
 
static proto float SignFloat (float f)
 Returns sign of given value.
 
static proto int SignInt (int i)
 Returns sign of given value.
 
static proto float SqrFloat (float f)
 Returns squared value.
 
static proto int SqrInt (int i)
 Returns squared value.
 
static proto float Sqrt (float val)
 Returns square root.
 
static proto float Log2 (float x)
 Returns the binary (base-2) logarithm of x.
 
static proto float Sin (float angle)
 Returns sinus of angle in radians.
 
static proto float Cos (float angle)
 Returns cosinus of angle in radians.
 
static proto float Tan (float angle)
 Returns tangent of angle in radians.
 
static proto float Asin (float s)
 Returns angle in radians from sinus.
 
static proto float Acos (float c)
 Returns angle in radians from cosinus.
 
static proto float Atan (float x)
 Returns angle in radians from tangent.
 
static proto float Atan2 (float y, float x)
 Returns angle in radians from tangent.
 
static proto float Round (float f)
 Returns mathematical round of value.
 
static proto float Floor (float f)
 Returns floor of value.
 
static proto float Ceil (float f)
 Returns ceil of value.
 
static proto float WrapFloat (float f, float min, float max)
 Returns wrap number to specified interval [min, max[.
 
static proto float WrapFloatInclusive (float f, float min, float max)
 Returns wrap number to specified interval, inclusive [min, max].
 
static proto float WrapFloat0X (float f, float max)
 Returns wrap number to specified interval [0, max[.
 
static proto float WrapFloat0XInclusive (float f, float max)
 Returns wrap number to specified interval, inclusive [0, max].
 
static proto int WrapInt (int i, int min, int max)
 Returns wrap number to specified interval [min, max[.
 
static proto int WrapInt0X (int i, int max)
 Returns wrap number to specified interval [0, max[.
 
static proto float Clamp (float value, float min, float max)
 Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
 
static proto float Min (float x, float y)
 Returns smaller of two given values.
 
static proto float Max (float x, float y)
 Returns bigger of two given values.
 
static proto bool IsInRange (float v, float min, float max)
 Returns if value is between min and max (inclusive)
 
static proto bool IsInRangeInt (int v, int min, int max)
 Returns if value is between min and max (inclusive)
 
static proto float Lerp (float a, float b, float time)
 Linearly interpolates between 'a' and 'b' given 'time'.
 
static proto float InverseLerp (float a, float b, float value)
 Calculates the linear value that produces the interpolant value within the range [a, b], it's an inverse of Lerp.
 
static proto float AreaOfRightTriangle (float s, float a)
 Returns area of a right triangle.
 
static proto float HypotenuseOfRightTriangle (float s, float a)
 Returns hypotenus of a right triangle.
 
static proto bool IsPointInCircle (vector c, float r, vector p)
 Returns if point is inside circle.
 
static proto bool IsPointInRectangle (vector mi, vector ma, vector p)
 Returns if point is inside rectangle.
 
static proto float SmoothCD (float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt)
 Does the CD smoothing function - easy in | easy out / S shaped smoothing.
 
static float SmoothCDPI2PI (float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt)
 
static float Poisson (float mean, int occurences)
 occurences values above '12' will cause Factorial to overflow int.
 
static int Factorial (int val)
 values above '12' will cause int overflow
 
static float Remap (float inputMin, float inputMax, float outputMin, float outputMax, float inputValue, bool clampedOutput=true)
 Returns given value remaped from input range into output range.
 
static vector CenterOfRectangle (vector min, vector max)
 
static bool VectorIsEqual (vector v1, vector v2, float tolerance)
 Returns if given vectors are equal with given tolerance.
 

Variables

static const float EULER = 2.7182818284590452353
 
static const float PI = 3.14159265358979
 
static const float PI2 = 6.28318530717958
 
static const float PI_HALF = 1.570796326794
 
static const float RAD2DEG = 57.2957795130823208768
 
static const float DEG2RAD = 0.01745329251994329577
 

Detailed Description

Function Documentation

◆ AbsFloat()

static proto float AbsFloat ( float  f)
staticprivate

Returns absolute value.

Parameters
ffloat Value
Returns
float - Absolute value
Print( Math.AbsFloat(-12.5) );
>> 12.5
Definition EnMath.c:7
proto void Print(void var)
Prints content of variable to console/log.
static proto float AbsFloat(float f)
Returns absolute value.

Referenced by ActionCondition(), ActionFillBrakes::ActionCondition(), ActionEnterLadder::ActionCondition(), SoftSkillsManager::AddSpecialty(), DayZPlayerImplementAiming::ApplyHorizontalNoise(), WorldData::CalcBaseEnvironmentTemperature(), CalculateEyeAcco(), CCTWaterSurface::Can(), DebugMonitorValues::CheckBlood(), Managed::CheckBlood(), DebugMonitorValues::CheckHealth(), Managed::CheckHealth(), BaseBuildingBase::CheckMemoryPointVerticalDistance(), DayZPlayerImplementHeading::ClampAngle(), DayZIntroScenePC::DayZIntroScenePC(), StaminaHandler::DepleteStaminaEx(), Car::EOnPostSimulate(), EvaluateComponentEx(), EvaluateHit_Player(), EntityLightSource::FadeBrightnessTo(), EntityLightSource::FadeRadiusTo(), DayZInfected::FightLogic(), FilterObstructedObjectsByGrouping(), Weapon_Base::GetApproximateMovementOffset(), Weapon::GetApproximateMovementOffset(), DayZInfected::GetAttackPitch(), GetCollisionBoxSize(), GetEnvironmentTemperature(), GetMeleeTargetEx(), ActionTargetsCursor::GetOnScreenPosition(), SoftSkillsManager::GetPreciseRoughLevels(), GetRadius(), Transport::GetSpeedometerAbsolute(), DayZInfected::HandleMove(), DayZPlayer::HandleView(), DayZPlayer::HandleWeapons(), InitData(), AttachmentsOutOfReach::IsAttachmentReachable(), Hologram::IsBaseFlat(), Hologram::IsCollidingAngle(), BaseBuildingBase::IsFacingPlayer(), ManBase::IsFacingTarget(), IsPlayerOrientedTowardPos(), PointLightBase::OnFrameLightSource(), InventoryActionHandler::OnUpdate(), OnUpdate(), DayZPlayerImplementAiming::ProcessAimFilters(), ProcessHeatComfort(), ManBase::SendLiftWeaponSync(), Set(), Weapon_Base::SetCylinderRotationAnimationPhase(), EntityLightSource::SetDancingShadowsAmplitude(), EntityLightSource::SetDancingShadowsMovementSpeed(), PPERequester_GameplayBase::SetEffectProgress(), EntityLightSource::SetFlickerAmplitude(), Hologram::SmoothProjectionMovement(), EnProfilerTests::TestClassTimeData(), EnProfilerTests::TestFuncTimeData(), AnimationTimer::Tick(), AnimatorTimer::Tick(), ScriptedWidgetEventHandler::Update(), WeaponManager::Update(), UIScriptedMenu::Update(), UpdateLRAngleUnlocked(), BoatHud::UpdateSpeedPointer(), UpdateUDAngle(), UpdateUDAngleUnlocked(), UniversalTemperatureSourceLambdaBaseImpl::UpdateVicinityTemperatureRecursive(), VectorIsEqual(), and UniversalTemperatureSourceLambdaBaseImpl::WarmAndCoolItemsInVicinity().

◆ AbsInt()

◆ Acos()

◆ AreaOfRightTriangle()

static proto float AreaOfRightTriangle ( float  s,
float  a 
)
staticprivate

Returns area of a right triangle.

Parameters
sfloat Length of adjacent leg
afloat Angle of corner bordering adjacent which is not the right corner (in radians)
Returns
float - Area

◆ Asin()

static proto float Asin ( float  s)
staticprivate

Returns angle in radians from sinus.

Parameters
sfloat Sinus
Returns
float - Angle in radians
Print( Math.Asin(0.707107) ); // (sinus 45)
>> 0.785398
static proto float Asin(float s)
Returns angle in radians from sinus.

Referenced by Easing::EaseInElastic(), Easing::EaseInOutElastic(), and Easing::EaseOutElastic().

◆ Atan()

static proto float Atan ( float  x)
staticprivate

Returns angle in radians from tangent.

Parameters
xfloat Tangent
Returns
float - Angle in radians

Referenced by PoweredOptic_Base::DoMeasurement(), and PPERequester_GameplayBase::SetEffectProgress().

◆ Atan2()

static proto float Atan2 ( float  y,
float  x 
)
staticprivate

Returns angle in radians from tangent.

Parameters
yfloat Tangent
xfloat Tangent
Returns
float - Angle in radians
Print ( Math.Atan2(1, 1) );
>> 0.785398
static proto float Atan2(float y, float x)
Returns angle in radians from tangent.

Referenced by DayZIntroScene::DayZIntroScene(), GetMousePointerAngle(), DayZInfected::HandleOrientation(), MeleeTargetSettings(), and PluginBase::OnUpdate().

◆ Ceil()

◆ CenterOfRectangle()

static vector CenterOfRectangle ( vector  min,
vector  max 
)
inlinestaticprivate

References Vector(), and x.

Referenced by RefreshTracksCache().

◆ Clamp()

static proto float Clamp ( float  value,
float  min,
float  max 
)
staticprivate

Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.

Parameters
valuefloat Value
minfloat Minimum value
maxfloat Maximum value
Returns
float - Clamped value
Print( Math.Clamp(-0.1, 0, 1) );
Print( Math.Clamp(2, 0, 1) );
Print( Math.Clamp(0.5, 0, 1) );
>> 0
>> 1
>> 0.5
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.

Referenced by Chat::Add(), ShockHandler::AddEffectBobbing(), ComponentEnergyManager::AddEnergy(), SoftSkillsManager::AddExponentialPrecise(), SoftSkillsManager::AddExponentialRough(), IEntity::AddHealthLevel(), SoftSkillsManager::AddLinearPrecise(), SoftSkillsManager::AddLinearRough(), BaseBuildingBase::AddRefresherTime01(), AddWetnessToFireplace(), AddWetnessToItem(), AdjustCameraParameters(), ItemBase::AdjustDetectionRange(), ActionRepairVehiclePartBase::AdjustVehicleHealthServer(), FilteringBottle::AffectLiquidContainerOnFill(), Bottle_Base::AffectLiquidContainerOnFill(), FilteringBottle::AffectLiquidContainerOnTransfer(), Bottle_Base::AffectLiquidContainerOnTransfer(), Hologram::AlignProjectionOnTerrain(), BaseBuildingBase::AnimateFlagEx(), RecoilBase::ApplyCamOffset(), RecoilBase::ApplyHandsOffset(), RecoilBase::ApplyMouseOffset(), Weapon::ApproximateWeaponLiftTransform(), InfluenzaAgent::AutoinfectCheck(), ShockHandler::BaseEffectIntensityCalc(), HitDirectionEffectBase::CalculateArrowPosition(), GameplayEffectWidgets_base::CalculateBreathEffect(), UndergroundBunkerHandlerClient::CalculateEyeAcco(), PluginBase::CalculateHealth(), DayZPlayerImplementAiming::CalculateSwayMultiplier(), WorldData::CalculateVolFog(), EnochData::CalculateVolFog(), RecipeBase::CanDo(), Managed::CheckBlood(), ManBase::CheckLiftWeapon(), DayZPlayerImplementHeading::ClampAngle(), Barrel_ColorBase::ColourClothes(), WorldData::ComputeSnowflakeScale(), Cooling(), Car::DamageCrew(), DecreaseCookedItemQuantity(), UIScriptedMenu::DeleteKeyframe(), StaminaHandler::DepleteStaminaEx(), WrittenNoteData::DepleteWritingImplement(), InjurySoundHandlerBase::DetermineInjuryZone(), Hud::DisplayNotifier(), Hud::DisplayTendencyNormal(), RecipeBase::Do(), WeaponDebug::DrawLineOfFireCameraHybrid(), UniversalTemperatureSourceLambdaBaseImpl::DryItemsInVicinity(), EOnPostSimulate(), ItemBase::Fertilize(), CAContinuousFertilizeGardenSlot::FertilizeSlot(), PPEffects::FlashbangEffect(), ManBase::FreezeCheck(), ConstructionActionData::GetActualAttachmentToDetach(), GetAirResistanceForSmokeParticles(), Weapon_Base::GetApproximateMovementOffset(), Weapon::GetApproximateMovementOffset(), CatchingContextFishingRodAction::GetBaitLossChanceModifierClamped(), ItemBase::GetFuel(), ManBase::GetHealthRegenSpeed(), CatchingContextFishingRodAction::GetHookLossChanceModifierClamped(), ManBase::GetImmunity(), CAContinuousQuantityEdible::GetProgress(), Hologram::GetProjectionEntityPosition(), SoundHandlerBase::GetStaminaState(), GetTemperatureColor(), UIScriptedMenu::GetTotalTime(), GetZone(), PlayerAgentPool::GrowAgents(), HandleFallDamage(), Entity::HandleFreezingProgression(), Entity::HandleItemOverheating(), DayZPlayer::HandleWeapons(), GameplayEffectWidgets_base::HandleWidgetRoot(), Heating(), PPEffects::HitEffect(), HitDirectionEffectBase::Init(), CatchingContextFishingRodAction::InitCatchingItemData(), Entity::InitItemVariables(), Weapon::LiftWeaponCheckEx(), ScriptedWidgetEventHandler::LoadEntries(), DayZCreature::ModCommandHandlerBefore(), RightArea::MoveUpDownIcons(), NormalizedTemperature(), ItemBase::OnAction(), BaseBuildingBase::OnCEUpdate(), ActionRefuelTorch::OnExecuteServer(), Grenade_Base::OnExplosionEffects(), ActionRepairCarPart::OnFinishProgressServer(), CarScript::OnSound(), BleedingSourcesManagerBase::OnTick(), OnTick(), ModifierBase::OnTick(), CommonColdMdfr::OnTick(), InfluenzaMdfr::OnTick(), HeatComfortMdfr::OnTick(), ShockDamageMdfr::OnTick(), TimerBase::OnUpdate(), DayZPlayerCamera3rdPersonErc::OnUpdate(), OnUpdate(), OnUpdate(), SymptomBase::OnUpdateClient(), BoatScript::OnVehicleJumpOutServer(), Car::OnVehicleJumpOutServer(), GameplayEffectWidgets_base::OnVoiceEvent(), FlashbangEffect::PlaySound(), DayZPlayerImplementAiming::ProcessAimFilters(), RainProcurementHandler::ProcessBatch(), ProcessHeatComfort(), BleedingSourcesManagerBase::ProcessHit(), ProcessNoiseComponents(), MissionBase::RandomArtillery(), ScriptedWidgetEventHandler::RandomizePageIndex(), PlayerAgentPool::ReduceAgent(), ReduceContents(), PPERequesterBase::RelativizeValue(), Remap(), PPERequester_GameplayBase::ReSampleChannels(), SanitizeString(), PluginBase::SelectedObjectSetDamage(), Managed::SendInitValues(), HudDebugWinHorticulture::SendRPCSpeed(), ManBase::SetBloodyHandsPenaltyChancePerAgent(), CatchingResultBasic::SetCatchChance(), InventoryItem::SetCleanness(), UniversalTemperatureSourceLambdaFireplace::SetCurrentTemperature(), PPEffects::SetDeathDarkening(), PPERequester_GameplayBase::SetEffectProgress(), ItemBase::SetFertilizerQuantity(), PPERequester_GameplayBase::SetFlashbangIntensity(), PPERequester_GameplayBase::SetInitialLenseOffset(), Entity::SetItemOverheatProgress(), CAContinuousRepeatFishing::SetNewSignalData(), CatchingResultBasic::SetQuality(), InventoryItem::SetQuantity(), InventoryItem::SetQuantityNormalized(), DimmingConfig::SetRandomBrightenSpeedLimits(), DimmingConfig::SetRandomBrigthnessLimits(), DimmingConfig::SetRandomDimSpeedLimits(), DimmingConfig::SetRandomDurationLimits(), DimmingConfig::SetRandomPauseDurationLimits(), BaseBuildingBase::SetRefreshTimer01(), StaminaHandler::SetStamina(), PluginBase::SetStamina(), Entity::SetTemperatureDirect(), Entity::SetTemperatureEx(), PlayerAgentPool::SetTemporaryResistance(), ItemBase::SetWaterQuantity(), InventoryItem::SetWet(), ShockDealtEffect::ShockDealtEffect(), Hud::ShowPlayerTag(), ManBase::SimplifyShock(), SnapOnObject(), Transfer(), TruncateVec(), DamageDealtEffect::Update(), FlashbangEffect::Update(), ShockDealtEffect::Update(), NotificationUI::Update(), HitDirectionEffectBase::Update(), PPEMatClassParameterCommandData::Update(), RecoilBase::Update(), CatchingContextTrapsBase::UpdateBaseProbability(), UpdateCookingState(), IngameHudHeatBuffer::UpdateEffect(), LeftArea::UpdateSelectionIcons(), UpdateSize(), BoatHud::UpdateSpeedPointer(), UpdateTemperature(), BleedingIndicatorDropData::UpdateTransform(), and ValueToBar().

◆ Cos()

◆ DiffAngle()

static proto float DiffAngle ( float  angle1,
float  angle2 
)
staticprivate

Return relative difference between angles.

Parameters
angle1float
angle2float
Returns
float Difference between angles (angle1 - angle2)
Print( Math.DiffAngle(-45, 45) );
Print( Math.DiffAngle(90, 80) );
>> -90
>> 10
static proto float DiffAngle(float angle1, float angle2)
Return relative difference between angles.

◆ Factorial()

static int Factorial ( int  val)
inlinestaticprivate

values above '12' will cause int overflow

References ErrorEx.

Referenced by Poisson().

◆ Floor()

◆ GetNthBitSet()

static proto int GetNthBitSet ( int  value,
int  n 
)
staticprivate

returns the the index of n-th bit set in a bit mask counting from the right, for instance, in a mask ..0110 1000 , the 0th set bit(right-most bit set to 1) is at 3th position(starting at 0), 1st bit is at 5th position, 2nd bit is at 6th position etc..

Referenced by AreaExposureMdfr::BleedingSourceCreateCheck(), PluginBase::InjectAgentsWithPlayer(), and PluginBase::InjectAgentsWithPlayerCount().

◆ GetNumberOfSetBits()

◆ HypotenuseOfRightTriangle()

static proto float HypotenuseOfRightTriangle ( float  s,
float  a 
)
staticprivate

Returns hypotenus of a right triangle.

Parameters
sfloat Length of adjacent leg
afloat Angle of corner bordering adjacent which is not the right corner (in radians)
Returns
float - hypotenus

◆ InverseLerp()

static proto float InverseLerp ( float  a,
float  b,
float  value 
)
staticprivate

Calculates the linear value that produces the interpolant value within the range [a, b], it's an inverse of Lerp.

Parameters
afloat Start
bfloat End
valuefloat value
Returns
float - the time given the position between 'a' and 'b' given 'value', there is no clamp on 'value', to stay between [0..1] use 'value' between 'a' and 'b'
Print( Math.InverseLerp(3, 7, 5) );
>> 0.5
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...

Referenced by ItemBase::AdjustDetectionRange(), FilteringBottle::AffectLiquidContainerOnFill(), Bottle_Base::AffectLiquidContainerOnFill(), FilteringBottle::AffectLiquidContainerOnTransfer(), Bottle_Base::AffectLiquidContainerOnTransfer(), RecoilBase::ApplyCamOffset(), Weapon::ApproximateWeaponLiftTransform(), CalcTemperatureFromTemperatureSource(), PluginBase::CalcTemperatureFromTemperatureSource(), BleedChanceData::CalculateBleedChance(), GameplayEffectWidgets_base::CalculateBreathEffect(), UndergroundBunkerHandlerClient::CalculateEyeAcco(), DebugMonitor::CalculateMapTile(), Managed::CheckBlood(), WorldData::ComputeSnowflakeScale(), ConvertMins12hToAlarmHand01(), Car::DamageCrew(), BroomBase::DebugSetHealthAndEnergy(), WeaponDebug::DrawLineOfFireCameraHybrid(), CGame::ExplosionEffects(), ManBase::FreezeCheck(), HeatComfortAnimHandler::GetEventTime(), Mask_Base::GetFilterQuantity01(), ManBase::GetHealthRegenSpeed(), GetNormalized(), InventoryItem::GetQuantityNormalized(), ManBase::GetStatLevelBorders(), GetVolumeContainingAgent01(), GetZone(), BoatScript::HandleBoatSplashSound(), HandleFallDamage(), MaskMdfr::HandleSounds(), Weapon::LiftWeaponCheckEx(), CatchingContextFishingRodAction::ModifySignalProbability(), NormalizedTemperature(), ManBase::OnReceivedHit(), CGame::OnRPC(), BoatScript::OnSound(), BleedingSourcesManagerBase::OnTick(), ModifierBase::OnTick(), PoisoningMdfr::OnTick(), HeatComfortMdfr::OnTick(), ShockDamageMdfr::OnTick(), OnUpdate(), OnVariablesSynchronized(), BoatScript::OnVehicleJumpOutServer(), Car::OnVehicleJumpOutServer(), DayZPlayerImplementAiming::ProcessAimFilters(), ProcessHeatBuffer(), ScriptConsoleGeneralTab::RefreshDateWidgets(), PPERequesterBase::RelativizeValue(), Remap(), KitchenTimer::SecondsTo01(), Managed::SendInitValues(), KuruShake::Update(), DamageDealtEffect::Update(), Update(), FlashbangEffect::Update(), ShockDealtEffect::Update(), HitDirectionEffectBase::Update(), Update(), EffectBoatWaterBack::Update(), RecoilBase::Update(), UpdateSliderValues(), BoatHud::UpdateSpeedPointer(), BleedingIndicatorDropData::UpdateTransform(), and UniversalTemperatureSourceLambdaBaseImpl::WarmAndCoolItemsInVicinity().

◆ IsInRange()

static proto bool IsInRange ( float  v,
float  min,
float  max 
)
staticprivate

Returns if value is between min and max (inclusive)

Parameters
vfloat Value
minfloat Minimum value
maxfloat Maximum value
Returns
bool - if value is within range [min,max]
Print( Math.IsInRange(6.9, 3.6, 9.3) );
>> true
static proto bool IsInRange(float v, float min, float max)
Returns if value is between min and max (inclusive)

Referenced by ContaminatedArea_Local::SpawnParticles(), and TickState().

◆ IsInRangeInt()

static proto bool IsInRangeInt ( int  v,
int  min,
int  max 
)
staticprivate

Returns if value is between min and max (inclusive)

Parameters
vint Value
minint Minimum value
maxint Maximum value
Returns
bool - if value is within range [min,max]
Print( Math.IsInRangeInt(6, 3, 9) );
>> true
static proto bool IsInRangeInt(int v, int min, int max)
Returns if value is between min and max (inclusive)

◆ IsPointInCircle()

static proto bool IsPointInCircle ( vector  c,
float  r,
vector  p 
)
staticprivate

Returns if point is inside circle.

Parameters
cvector Center of circle ([0] and [2] will be used, as a circle is 2D)
rfloat Radius of circle
pvector Point ([0] and [2] will be used, as a circle is 2D)
Returns
bool - True when point is in circle

◆ IsPointInRectangle()

static proto bool IsPointInRectangle ( vector  mi,
vector  ma,
vector  p 
)
staticprivate

Returns if point is inside rectangle.

Parameters
mivector Minimums of rectangle ([0] and [2] will be used, as a rectangle is 2D)
mavector Maximums of rectangle ([0] and [2] will be used, as a rectangle is 2D)
pvector Point ([0] and [2] will be used, as a rectangle is 2D)
Returns
bool - True when point is in rectangle

Referenced by PlayerInsideOfLocationFilter(), and PlayerInsideOfLocationFilter().

◆ Lerp()

static proto float Lerp ( float  a,
float  b,
float  time 
)
staticprivate

Linearly interpolates between 'a' and 'b' given 'time'.

Parameters
afloat Start
bfloat End
timefloat Time [value needs to be between 0..1 for correct results, no auto clamp applied]
Returns
float - The interpolated result between the two float values.
Print( Math.Lerp(3, 7, 0.5) );
>> 5
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.

Referenced by ShockDamageMdfr::ActivateCondition(), BleedingIndicatorDropData::AdjustColorSaturation(), ItemBase::AdjustDetectionRange(), FilteringBottle::AffectLiquidContainerOnFill(), Bottle_Base::AffectLiquidContainerOnFill(), FilteringBottle::AffectLiquidContainerOnTransfer(), Bottle_Base::AffectLiquidContainerOnTransfer(), PlayerSpawnHandler::ApplyAttributes(), DayZPlayerImplementAiming::ApplyBreathingPattern(), RecoilBase::ApplyCamOffset(), DayZPlayerImplementAiming::ApplyHorizontalNoise(), WorldData::CalcBaseEnvironmentTemperature(), BleedChanceData::CalculateBleedChance(), GameplayEffectWidgets_base::CalculateBreathEffect(), CalculateLinePointFade(), DayZPlayerImplementAiming::CalculateSwayMultiplier(), WorldData::CalculateVolFog(), EnochData::CalculateVolFog(), SakhalData::CalculateVolFog(), WorldData::ComputeSnowflakeScale(), ConvertAlarmHand01ToMins(), ConvertAlarmHand01ToMins12h(), Car::DamageCrew(), StaminaHandler::DepleteStaminaEx(), DetermineSpecificFinisherType(), WeaponDebug::DrawLineOfFireCameraHybrid(), EOnPostSimulate(), CGame::ExplosionEffects(), PPERequester_GameplayBase::FadeColourMult(), PPEffects::FlashbangEffect(), ManBase::FreezeCheck(), Weapon_Base::GetApproximateMovementOffset(), Weapon::GetApproximateMovementOffset(), FishYieldItemBase::GetCycleTimeForYieldItem(), HeatComfortAnimHandler::GetEventTime(), ManBase::GetHealthRegenSpeed(), GetMeleeTargetEx(), Weapon::GetObstructionPenetrationDistance(), InventoryItem::GetTemperatureFreezeTime(), InventoryItem::GetTemperatureThawTime(), HandleDimming(), Entity::HandleFreezingProgression(), Entity::HandleItemOverheating(), MaskMdfr::HandleSounds(), DayZPlayer::HandleWeapons(), PPEffects::HitEffect(), KuruShake::KuruShake(), MissionBenchmark::LerpCamera(), ShockHandler::LerpVignette(), PPEMatClassParameterColor::ModifyResultValues(), PlayerSoundEventBase::OnPlay(), PPERequester_GameplayBase::OnStart(), ModifierBase::OnTick(), PoisoningMdfr::OnTick(), HeatComfortMdfr::OnTick(), ShockDamageMdfr::OnTick(), ManBase::OnUnconsciousUpdate(), TimerBase::OnUpdate(), PPERequester_GameplayBase::OnUpdate(), GameplayEffectWidgets_base::OnVoiceEvent(), DayZPlayerImplementAiming::ProcessAimFilters(), PPERequester_GameplayBase::ProcessFading(), ProcessHeatBuffer(), PPERequester_GameplayBase::ProcessSimulation(), Remap(), PPERequester_GameplayBase::ReSampleChannels(), IngameHudHeatBuffer::SetBaseAlpha(), PPERequester_GameplayBase::SetEffectProgress(), ComponentEnergyManager::SetEnergy0To1(), InventoryItem::SetQuantityNormalized(), ManBase::SimplifyShock(), Hologram::SmoothProjectionMovement(), ManBase::SpawnDrowningBubbles(), KitchenTimer::Time01ToSeconds(), DamageDealtEffect::Update(), ShockDealtEffect::Update(), HitDirectionEffectBase::Update(), PPEMatClassParameterCommandData::Update(), BleedingIndicatorDropData::UpdateAlpha(), IngameHudHeatBuffer::UpdateEffect(), BoatHud::UpdateSpeedPointer(), ScriptConsoleGeneralTab::UpdateTime(), BleedingIndicatorDropData::UpdateTransform(), HudDebugWinBase::UpdateValues(), and ValueToBar().

◆ Log2()

static proto float Log2 ( float  x)
staticprivate

Returns the binary (base-2) logarithm of x.

Parameters
xfloat Value whose logarithm is calculated.
Returns
float The binary logarithm of x: log2x.
If x is negative, it causes a domain error:
If x is zero, it may cause a pole error (depending on the library implementation).
Print( Math.Log2(1.0) );
>> 0.0
static proto float Log2(float x)
Returns the binary (base-2) logarithm of x.

Referenced by DigestAgents(), and PluginRecipesManagerBase::SortIngredientsInRecipe().

◆ Math()

private void Math ( )
inlineprivate

◆ Max()

static proto float Max ( float  x,
float  y 
)
staticprivate

Returns bigger of two given values.

Parameters
xfloat Value
yfloat Value
Returns
float - max value
Print( Math.Max(5.3, 2.8) );
>> 5.3
static proto float Max(float x, float y)
Returns bigger of two given values.

Referenced by Weapon::ApproximateBaseObstructionLength(), BleedingIndicatorDropData::BleedingIndicatorDropData(), CalcTemperatureFromTemperatureSource(), PluginBase::CalcTemperatureFromTemperatureSource(), BleedChanceData::CalculateBleedChance(), CheckBaitCompatibility(), Cooling(), ReplaceItemWithNewLambda::CopyOldPropertiesToNew(), StaminaHandler::DepleteStaminaEx(), UniversalTemperatureSourceLambdaBaseImpl::DryItemsInVicinity(), Weapon_Base::GetApproximateMovementOffset(), Weapon::GetApproximateMovementOffset(), WorldData::GetBaseEnvTemperatureAtPosition(), Weapon::GetEffectiveAttachmentLength(), CfgGameplayHandler::GetMovementRotationSpeedJog(), CfgGameplayHandler::GetMovementRotationSpeedSprint(), CfgGameplayHandler::GetMovementTimeToSprint(), CfgGameplayHandler::GetMovementTimeToStrafeJog(), CfgGameplayHandler::GetMovementTimeToStrafeSprint(), InventoryItem::GetTemperatureFreezeTime(), GetTemperatureHeightCorrection(), InventoryItem::GetTemperatureThawTime(), GetWetDelta(), Entity::HandleFreezingProgression(), ItemBase::HandleItemFalling(), Entity::HandleItemOverheating(), HasMaterials(), ManBase::Init(), ItemOptics::InitCameraOverrideProperties(), InventoryItem::ItemBase(), PPEMatClassParameterColor::ModifyResultValues(), ScriptConsoleGeneralTab::OnDoubleClick(), PoisoningMdfr::OnTick(), CholeraMdfr::OnTick(), OnTick(), HeavyMetalPhase2Mdfr::OnTick(), ProcessItemsDryness(), ProcessNutrients(), Ammunition_Base::SetFromProjectile(), Hologram::SetOnGround(), StaticConstructionMethods::SpawnConstructionMaterialPiles(), TakeMaterialsServer(), PluginBase::TransmitAgentsEx(), StaminaHandler::Update(), PPEMatClassParameterCommandData::Update(), Update(), BroomBase::UpdateParticle(), Container::UpdateRowVisibility(), FlammableBase::Upgrade(), PlayerRestrictedAreaInstance::ValidatePlayerRestrictedAreaPositions(), and UniversalTemperatureSourceLambdaBaseImpl::WarmAndCoolItemsInVicinity().

◆ Min()

◆ ModFloat()

static proto float ModFloat ( float  x,
float  y 
)
staticprivate

Returns the floating-point remainder of x/y rounded towards zero.

Parameters
xfloat Value of the quotient numerator
yfloat Value of the quotient denominator
Returns
float - The remainder of dividing the arguments
Print( Math.ModFloat(5.3, 2) );
Print( Math.ModFloat(18.5, 4.2) );
>> 1.3
>> 1.7
static proto float ModFloat(float x, float y)
Returns the floating-point remainder of x/y rounded towards zero.

Referenced by HitDirectionEffectBase::CalculateArrowPosition(), and FModulus().

◆ NormalizeAngle()

static proto float NormalizeAngle ( float  ang)
staticprivate

Normalizes the angle (0...360)

Parameters
angfloat Angle for normalizing
Returns
float - Normalized angle
>> 30
>> 270
static proto float NormalizeAngle(float ang)
Normalizes the angle (0...360)

Referenced by HitDirectionEffectBase::CalculateArrowPosition(), and DayZInfected::HandleOrientation().

◆ Poisson()

static float Poisson ( float  mean,
int  occurences 
)
inlinestaticprivate

occurences values above '12' will cause Factorial to overflow int.

References EULER, Factorial(), and Pow().

Referenced by GameplayEffectsData::BuildProbabilityData(), and CatchingContextPoissonBase::ModifySignalProbability().

◆ Pow()

◆ RandomBool()

static bool RandomBool ( )
inlinestaticprivate

Returns a random bool .

Returns
bool - Random bool either 0 or 1
>> true
>> true
>> false
static bool RandomBool()
Returns a random bool .
Definition EnMath.c:73

References RandomIntInclusive().

Referenced by TickState().

◆ RandomFloat()

static proto float RandomFloat ( float  min,
float  max 
)
staticprivate

Returns a random float number between and min[inclusive] and max[exclusive].

Parameters
minfloat Range starts [inclusive]
maxfloat Range ends [exclusive]
Returns
float - Random number in range
>> 0.597561
>> 1.936456
static proto float RandomFloat(float min, float max)
Returns a random float number between and min[inclusive] and max[exclusive].

Referenced by Grenade_Base::ActivateRandomTime(), AdvanceState(), ActionPushCarCB::ApplyForce(), Hit_MeatBones::BloodSplatGround(), EffBulletImpactBase::CalculateStoppingForce(), CGame::CloseCombatEffects(), CreateOrgan(), StaminaHandler::DepleteStaminaEx(), RecipeBase::Do(), ItemBase::DoMeasurement(), ManBase::DropItem(), InventoryItemSuper::EEKilled(), Apple::EEOnCECreate(), Bottle_Base::EEOnCECreate(), GreenBellPepper::EEOnCECreate(), Pear::EEOnCECreate(), Plum::EEOnCECreate(), Potato::EEOnCECreate(), Tomato::EEOnCECreate(), Zucchini::EEOnCECreate(), BoatScript::EEOnCECreate(), Car::EEOnCECreate(), Car::EOnPostSimulate(), InventoryItem::ExplodeAmmo(), EntityLightSource::HandleDancingShadows(), EntityLightSource::HandleFlickering(), WorldData::Init(), EnochData::Init(), SakhalData::Init(), KuruShake::KuruShake(), ActionWringClothes::OnFinishProgressServer(), BrainDiseaseMdfr::OnTick(), SymptomBase::OnUpdateClient(), MiscEffects::PlayVegetationCollideParticles(), GeyserTrigger::RandomizeMouthPos(), Particle::RandomizeOrientation(), ParticleSource::RandomizeOrientation(), GameInventory::SetGroundPosByOwnerBounds(), DeveloperTeleport::SetPlayerPosition(), Particle::SetWiggle(), SpawnDecal(), FlammableBase::StandUp(), ThrowAllItemsInInventory(), CameraShake::Update(), and SakhalData::WeatherOnBeforeChange().

◆ RandomFloat01()

◆ RandomFloatInclusive()

static float RandomFloatInclusive ( float  min,
float  max 
)
inlinestaticprivate

Returns a random float number between and min [inclusive] and max [inclusive].

Parameters
minfloat Range starts [inclusive]
maxfloat Range ends [inclusive]
Returns
float - Random number in range
Print( Math.RandomFloatInclusive(0, 1) ); // 0.0 .. 1.0
Print( Math.RandomFloatInclusive(1, 2) ); // 1.0 .. 2.0
>> 0.3
>> 2.0
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Definition EnMath.c:106

References Pow(), and RandomInt().

Referenced by ActionRepairVehiclePartBase::AdjustVehicleHealthServer(), PlayerSpawnHandler::ApplyAttributes(), AttachBleedingToZonesByHeight(), InfluenzaAgent::AutoinfectCheck(), WorldData::CalculateWind(), EnochData::CalculateWind(), SakhalData::CalculateWind(), DigestAgents(), RecipeBase::Do(), PrepareAnimal::Do(), GameplayEffectsData::GenerateSequenceRandomPosition(), FireworksLauncher::GetEventDelay(), HeatComfortAnimHandler::GetEventTime(), FireworksLauncherClientEvent::GetExplosionDelay(), FireworksLauncherClientEvent::GetExplosionDistance(), GetExplosionDistance(), GetQualityModifier(), Math3D::GetRandomDir(), FireworksLauncherClientEvent::GetShotDispersionAngle(), SpookyEventBase::GetSoundPos(), ItemBase::GetTemperatureValue(), GetWaitTimeForCategory(), HitDirectionEffectBase::Init(), Init(), BleedingIndicatorDropData::InitImageScale(), AreaExposureMdfr::OnActivate(), ContaminationStage2Mdfr::OnActivate(), OnActivate(), WoundInfectStage2Mdfr::OnActivate(), ActionEatCereal::OnFinishProgressServer(), ActionRepairCarPart::OnFinishProgressServer(), FireworksLauncherClientEvent::OnFired(), AreaExposureMdfr::OnTick(), FeverMdfr::OnTick(), ContaminationStage2Mdfr::OnTick(), OnTick(), HeavyMetalPhase2Mdfr::OnTick(), SalmonellaMdfr::OnTick(), WoundInfectStage2Mdfr::OnTick(), SymptomBase::OnUpdateClient(), PlateCarrierVest::OnWasAttached(), ProcessSound(), InjurySoundHandlerBase::ProcessSound(), vector::RandomDir(), vector::RandomDir2D(), RandomFloat01(), Randomize(), Particle::RandWiggleFloat(), BleedingIndicatorDropData::ScatterPosition(), ItemBase::SetActive(), InventoryItem::SetCEBasedQuantity(), SpawnItems(), BleedingIndicatorDropData::StartDrop(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ RandomInt()

static proto int RandomInt ( int  min,
int  max 
)
staticprivate

Returns a random int number between and min [inclusive] and max [exclusive].

Parameters
minint Range starts [inclusive]
maxint Range ends [exclusive]
Returns
int - Random number in range
Print( Math.RandomInt(0, 1) ); // only 0
Print( Math.RandomInt(0, 2) ); // 0 or 1
>> 0
>> 1
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].

Referenced by AttachBleedingToZonesByHeight(), WorldData::CalculateVolFog(), EnochData::CalculateVolFog(), Catching(), Managed::CreateNewCharacterRandom(), DayZIntroSceneXbox::CreateRandomCharacter(), CreditsLoader::CreateTestJson(), SymptomManager::CreateUniqueID(), InventoryItem::DamageItemAttachments(), InventoryItem::DamageItemInCargo(), DayZIntroScene::DayZIntroScene(), InventoryItem::DoAmmoExplosion(), InventoryItem::EEHitBy(), Apple::EEOnCECreate(), CraterellusMushroom::EEOnCECreate(), GreenBellPepper::EEOnCECreate(), Pear::EEOnCECreate(), Plum::EEOnCECreate(), Potato::EEOnCECreate(), Tomato::EEOnCECreate(), Zucchini::EEOnCECreate(), MushroomBase::EEOnCECreate(), DayZInfected::EOnInit(), FireworksLauncher::FireworksLauncher(), FishPull(), BloodTypes::GenerateBloodType(), RemotelyActivatedItemBehaviour::GeneratePersistentID(), GameplayEffectsData::GenerateSequenceRandomPosition(), AreaDamageBase::GetRandomHitZone(), array< Class T >::GetRandomIndex(), GetRandomLoadingBackground(), SoundLookupTable::GetSoundBuilder(), HandleSoundEffectsPipeCreaking(), Init(), Init(), WeaponParticlesBase::OnActivate(), MapHandler::OnDoubleClick(), ActionUnrestrainSelf::OnFinishProgressServer(), OnSteppedOn(), CholeraMdfr::OnTick(), CommonColdMdfr::OnTick(), HeavyMetalPhase2Mdfr::OnTick(), InfluenzaMdfr::OnTick(), PneumoniaMdfr::OnTick(), SalmonellaMdfr::OnTick(), Car::OnVehicleJumpOutServer(), PlantBase(), ActionBase::PlayActionSound(), PlayPipeCreakingSoundOnLocation(), BleedingSourcesManagerBase::ProcessHit(), RandomFloatInclusive(), RandomIntInclusive(), UIScriptedMenu::RandomizeCharacter(), HFSMBase< WeaponStateBase, WeaponEventBase, WeaponActionBase, WeaponGuardBase >::RandomizeFSMStateEx(), RandomizeIntervals(), BetaSound::SaySound(), DayZAIHitComponentHelpers::SelectMostProbableHitComponent(), SelectRandomTrackIndexFromCategory(), SendEmoteRequestSync(), OptionSelector::SetRandomValue(), ShuffleLock(), ItemBase::SoundCollision(), BarbedWireTrigger::SoundCollision(), ItemBase::SoundCut(), ItemBase::SoundElectricShock(), BarbedWireTrigger::SoundElectricShock(), ItemBase::SoundSpark(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ RandomIntInclusive()

static int RandomIntInclusive ( int  min,
int  max 
)
inlinestaticprivate

Returns a random int number between and min [inclusive] and max [inclusive].

Parameters
minint Range starts [inclusive]
maxint Range ends [inclusive]
Returns
int - Random number in range
Print( Math.RandomIntInclusive(0, 1) ); // 0 or 1
Print( Math.RandomIntInclusive(0, 2) ); // 0, 1, 2
>> 1
>> 2
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].
Definition EnMath.c:54

References RandomInt().

Referenced by AreaExposureMdfr::BleedingSourceCreateCheck(), WorldData::CalculateVolFog(), EnochData::CalculateVolFog(), WorldData::CalculateWind(), EnochData::CalculateWind(), SakhalData::CalculateWind(), DamageHands(), CAContinuousMineWood::DamagePlayersHands(), RecipeBase::Do(), PrepareAnimal::Do(), Weapon::FillChamber(), Weapon::FillInnerMagazine(), FireworksLauncher::FireworksLauncher(), AreaDamageComponentRaycasted::GetFallbackHitZone(), GetRandomizedPosition(), AreaDamageBase::GetRaycastedHitZone(), FireworksLauncherClientEvent::GetSecondaryExplosionDelay(), DayZInfected::HandleDamageHit(), HitDirectionEffectBase::Init(), CholeraMdfr::OnActivate(), OnFinishProgressServer(), ActionPackGift::OnFinishProgressServer(), TrapBase::OnServerSteppedOn(), OnSteppedOn(), CholeraMdfr::OnTick(), ToxicityMdfr::OnTick(), Car::OnVehicleJumpOutServer(), OpenItem::OpenAndSwitch(), Edible_Base::ProcessDecay(), MissionBase::RandomArtillery(), RandomBool(), Randomize(), RandomizedDeviation(), HitDirectionImagesBase::RandomizeImageIdx(), ScriptedWidgetEventHandler::RandomizePageIndex(), CrashBase::RandomizePosition(), SelectEvent(), HitDirectionEffectBase::SetIndicatorRotation(), Weapon::SpawnAttachedMagazine(), CrashBase::SpawnRandomDeers(), HotSpringTrigger::SpawnVaporEffect(), VolcanicTrigger::SpawnVaporEffect(), WorldData::WeatherOnBeforeChange(), EnochData::WeatherOnBeforeChange(), and SakhalData::WeatherOnBeforeChange().

◆ Randomize()

static proto int Randomize ( int  seed)
staticprivate

Sets the seed for the random number generator.

Parameters
seedint New seed for the random number generator, -1 will use time
Returns
int - Returns new seed
>> 5
static proto int Randomize(int seed)
Sets the seed for the random number generator.

Referenced by AttachBleedingToZonesByHeight(), CGame::CGame(), ChooseAttack(), AreaDamageBase::GetRandomHitZone(), GetRandomLoadingBackground(), KuruShake::KuruShake(), CGame::OnAfterCreate(), FireworksLauncher::OnVariablesSynchronized(), Randomize(), RandomizedDeviation(), and ScriptedWidgetEventHandler::RandomizePageIndex().

◆ RemainderFloat()

static proto float RemainderFloat ( float  x,
float  y 
)
staticprivate

Returns the floating-point remainder of x/y rounded to nearest.

Parameters
xfloat Value of the quotient numerator
yfloat Value of the quotient denominator
Returns
float - The remainder of dividing the arguments
Print( Math.RemainderFloat(18.5, 4.2) );
>> -0.7
>> 1.7
static proto float RemainderFloat(float x, float y)
Returns the floating-point remainder of x/y rounded to nearest.

◆ Remap()

static float Remap ( float  inputMin,
float  inputMax,
float  outputMin,
float  outputMax,
float  inputValue,
bool  clampedOutput = true 
)
inlinestaticprivate

Returns given value remaped from input range into output range.

Parameters
inputMinfloat Minimal value of given input range
inputMaxfloat Maximal value of given input range
outputMinfloat Minimal value of given output range
outputMaxfloat Maximal value of given output range
inputValuefloat Value we want to remap
clampedOutput

p bool If value should stay in that range, otherwise it will be extrapolated

Returns
float - Remapped value

References Clamp(), InverseLerp(), and Lerp().

Referenced by ProcessHeatComfort().

◆ Round()

static proto float Round ( float  f)
staticprivate

Returns mathematical round of value.

Parameters
ffloat Value
Returns
float - closest whole number to 'f'
Print( Math.Round(5.3) );
Print( Math.Round(5.8) );
>> 5
>> 6
static proto float Round(float f)
Returns mathematical round of value.

Referenced by AddAgent(), ScriptedWidgetEventHandler::AddItem(), BaseBuildingBase::AddRefresherTime01(), BaseBuildingBase::AnimateFlagEx(), PlayerSpawnHandler::ApplyAttributes(), DayZPlayerImplementAiming::ApplyShakes(), InventoryItem::CombineItems(), CreateOrgan(), Entity::DeSerializeNumericalVars(), InventoryItem::DeSerializeNumericalVars(), DetermineSpecificFinisherType(), BleedingSourcesManagerBase::DisplayDebug(), RecipeBase::Do(), PoweredOptic_Base::DoMeasurement(), Inventory_Base::EmptySeedPack(), GetApplicableHeatbuffer(), ScriptedWidgetEventHandler::GetDistanceString(), ComponentEnergyManager::GetEnergy0To100(), VicinitySlotsContainer::GetItemQuantityText(), FlammableBase::GetRagQuantity(), ItemBase::GetTemperatureValue(), OptionSelectorBase::GetValue(), EntityLightSource::HandleBlinking(), DayZInfected::HandleOrientation(), UIScriptedMenu::NextPrevPage(), BaseBuildingBase::OnCEUpdate(), Battery9V::OnEnergyAdded(), VehicleBattery::OnEnergyAdded(), Battery9V::OnEnergyConsumed(), Chemlight_ColorBase::OnEnergyConsumed(), VehicleBattery::OnEnergyConsumed(), ModifierBase::OnTick(), OnUpdate(), OrderedAltitudeNumbersPosition(), UIScriptedMenu::ProcessDistanceAndUnits(), ProcessHeatComfort(), ProcessNoiseComponents(), ScriptedWidgetEventHandler::RefreshItemVariables(), ScriptedWidgetEventHandler::RefreshQuickbarItemVariables(), ScriptedWidgetEventHandler::RemoveItem(), ScriptedWidgetEventHandler::ResetItem(), PoweredOptic_Base::SetDistanceText(), DebugMonitor::SetFramerateText(), ScriptedWidgetEventHandler::SetItem(), ScriptedWidgetEventHandler::SetItemColor(), ActionTargetsCursor::SetItemQuantity(), ScriptedWidgetEventHandler::SetItemQuantity(), Icon::SetQuantity(), SlotsIcon::SetQuantity(), InventoryItem::SetQuantityNormalized(), BaseBuildingBase::SetRefreshTimer01(), OptionSelectorBase::SetValue(), OptionSelectorSliderSetup::SetValueText(), UIScriptedMenu::Update(), UIScriptedMenu::UpdateItemInfoQuantity(), UIScriptedMenu::UpdateItemInfoWeight(), ServerBrowserTab::UpdatePageButtons(), ScriptedWidgetEventHandler::UpdateQuantityItems(), UIScriptedMenu::UpdateQuickbarItemCard(), ScriptedWidgetEventHandler::UpdateTemperatureItems(), HudDebugWinBase::UpdateValues(), UpdateZones(), and ValueToBar().

◆ SignFloat()

static proto float SignFloat ( float  f)
staticprivate

Returns sign of given value.

Parameters
ffloat Value
Returns
float - Sign of given value
Print( Math.SignFloat(-12.0) );
Print( Math.SignFloat(12.0) );
>> -1.0
>> 0
>> 1.0
static proto float SignFloat(float f)
Returns sign of given value.

◆ SignInt()

static proto int SignInt ( int  i)
staticprivate

Returns sign of given value.

Parameters
iint Value
Returns
int - Sign of given value
>> -1
>> 0
>> 1

◆ Sin()

◆ SmoothCD()

static proto float SmoothCD ( float  val,
float  target,
inout float  velocity[],
float  smoothTime,
float  maxVelocity,
float  dt 
)
staticprivate

Does the CD smoothing function - easy in | easy out / S shaped smoothing.

Parameters
valactual value
targetvalue we are reaching for -> Target
velocityfloat[1] - array of ONE member - some kind of memory and actual accel/decel rate, need to be zeroed when filter is about to be reset
smoothTimesmoothing parameter, 0.1 .. 0.4 are resonable values, 0.1 is sharp, 0.4 is very smooth
maxVelocitymaximal value change when multiplied by dt
dtdelta time
Returns
float smoothed/filtered value
val = EnfMath.SmoothCD(val, varTarget, valVelocity, 0.3, 1000, dt);

Referenced by DayZPlayerImplementAiming::ApplyHorizontalNoise(), HitDirectionEffectBase::CalculateArrowPosition(), DayZPlayer::HandleWeapons(), DayZPlayerCameraBase::HoldBreathFOVEffect(), HoldBreathFOVEffect(), DayZPlayerCameraBase::OnUpdate(), OnUpdate(), DayZPlayerImplementAiming::ProcessStealthFilters(), SmoothCDPI2PI(), StdFovUpdate(), NotificationUI::Update(), UpdateLRAngle(), UpdateLRAngleLookAt(), UpdateLRAngleUnlocked(), UpdateUDAngle(), and UpdateUDAngleUnlocked().

◆ SmoothCDPI2PI()

static float SmoothCDPI2PI ( float  val,
float  target,
inout float  velocity[],
float  smoothTime,
float  maxVelocity,
float  dt 
)
inlinestaticprivate

References PI, PI2, and SmoothCD().

Referenced by OnUpdate().

◆ SqrFloat()

◆ SqrInt()

static proto int SqrInt ( int  i)
staticprivate

Returns squared value.

Parameters
iint Value
Returns
int - Squared value
Print( Math.SqrInt(12) );
>> 144
static proto int SqrInt(int i)
Returns squared value.

◆ Sqrt()

static proto float Sqrt ( float  val)
staticprivate

Returns square root.

Parameters
valfloat Value
Returns
float - Square of value
Print( Math.Sqrt(25));
>> 5
static proto float Sqrt(float val)
Returns square root.

Referenced by SoftSkillsManager::AddExponentialPrecise(), SoftSkillsManager::AddExponentialRough(), DayZIntroScenePC::DayZIntroScenePC(), Easing::EaseInCirc(), Easing::EaseInOutCirc(), Easing::EaseOutCirc(), CGame::OnRPC(), and UIScriptedMenu::Update().

◆ Tan()

static proto float Tan ( float  angle)
staticprivate

Returns tangent of angle in radians.

Parameters
anglefloat Angle in radians
Returns
float - Tangens of angle
Print( Math.Tan(0.785398) ); // (45)
>> 1
static proto float Tan(float angle)
Returns tangent of angle in radians.

Referenced by GetMeleeTarget(), GetMeleeTargetEx(), and PointLightBase::OnFrameLightSource().

◆ VectorIsEqual()

static bool VectorIsEqual ( vector  v1,
vector  v2,
float  tolerance 
)
inlinestaticprivate

Returns if given vectors are equal with given tolerance.

Parameters
v1float First vector for comparison
v2float Second vector for comparison
tolerancefloat Range in which given vectors can differ
Returns
bool - True if Vectors are equal; otherwise false

References AbsFloat().

◆ WrapFloat()

static proto float WrapFloat ( float  f,
float  min,
float  max 
)
staticprivate

Returns wrap number to specified interval [min, max[.

Parameters
ffloat Value
minfloat Minimum
maxfloat Maximum
Returns
float - number in specified interval [min, max[
Print( Math.WrapFloat(9.0, 1.0, 9.0) );
>> 1.0
static proto float WrapFloat(float f, float min, float max)
Returns wrap number to specified interval [min, max[.

◆ WrapFloat0X()

static proto float WrapFloat0X ( float  f,
float  max 
)
staticprivate

Returns wrap number to specified interval [0, max[.

Parameters
ffloat Value
maxfloat Maximum
Returns
float - number in specified interval [0, max[
Print( Math.WrapFloat0X(9.0, 9.0) );
>> 0.0
static proto float WrapFloat0X(float f, float max)
Returns wrap number to specified interval [0, max[.

◆ WrapFloat0XInclusive()

static proto float WrapFloat0XInclusive ( float  f,
float  max 
)
staticprivate

Returns wrap number to specified interval, inclusive [0, max].

Parameters
ffloat Value
maxfloat Maximum
Returns
float - number in specified interval [0, max]
>> 9.0
static proto float WrapFloat0XInclusive(float f, float max)
Returns wrap number to specified interval, inclusive [0, max].

◆ WrapFloatInclusive()

static proto float WrapFloatInclusive ( float  f,
float  min,
float  max 
)
staticprivate

Returns wrap number to specified interval, inclusive [min, max].

Parameters
ffloat Value
minfloat Minimum
maxfloat Maximum
Returns
float - number in specified interval [min, max]
Print( Math.WrapFloatInclusive(9.0, 1.0, 9.0) );
>> 9.0
static proto float WrapFloatInclusive(float f, float min, float max)
Returns wrap number to specified interval, inclusive [min, max].

◆ WrapInt()

static proto int WrapInt ( int  i,
int  min,
int  max 
)
staticprivate

Returns wrap number to specified interval [min, max[.

Parameters
iint Value
minfloat Minimum
maxint Maximum
Returns
int - number in specified interval [min, max[
Print( Math.WrapInt(9, 1, 9) );
>> 1
static proto int WrapInt(int i, int min, int max)
Returns wrap number to specified interval [min, max[.

Referenced by WeaponStateBase::FindNextFreeMuzzle().

◆ WrapInt0X()

static proto int WrapInt0X ( int  i,
int  max 
)
staticprivate

Returns wrap number to specified interval [0, max[.

Parameters
iint Value
maxint Maximum
Returns
int - number in specified interval [0, max[
Print( Math.WrapInt0X(9, 9) );
>> 0
static proto int WrapInt0X(int i, int max)
Returns wrap number to specified interval [0, max[.

◆ ~Math()

private void ~Math ( )
inlineprivate

Variable Documentation

◆ DEG2RAD

◆ EULER

const float EULER = 2.7182818284590452353
staticprivate

Referenced by Poisson().

◆ PI

◆ PI2

◆ PI_HALF

◆ RAD2DEG