EvEmu
0.8.4
11 September 2021
|
this is a class that kinda mimics how python polymorph's numbers. More...
#include "EvilNumber.h"
Static Public Member Functions | |
static EvilNumber | sin (const EvilNumber &val) |
?? More... | |
static EvilNumber | cos (const EvilNumber &val) |
static EvilNumber | tan (const EvilNumber &val) |
static EvilNumber | asin (const EvilNumber &val) |
static EvilNumber | acos (const EvilNumber &val) |
static EvilNumber | atan (const EvilNumber &val) |
static EvilNumber | sqrt (const EvilNumber &val) |
static EvilNumber | pow (const EvilNumber &val1, const EvilNumber &val2) |
static EvilNumber | log (const EvilNumber &val) |
static EvilNumber | log10 (const EvilNumber &val) |
static EvilNumber | exp (const EvilNumber &val) |
Protected Member Functions | |
void | CheckIntegrity () |
check if its possible a integer and do the conversion More... | |
EvilNumber | _Multiply (const EvilNumber &val1, const EvilNumber &val2) |
multiply this with More... | |
EvilNumber | _SelfMultiply (const EvilNumber &val) |
EvilNumber | _Divide (const EvilNumber &val1, const EvilNumber &val2) |
divide this with More... | |
EvilNumber | _SelfDivide (const EvilNumber &val) |
EvilNumber | _Add (const EvilNumber &val1, const EvilNumber &val2) |
add this with More... | |
EvilNumber | _SelfAdd (const EvilNumber &val) |
EvilNumber | _Subtract (const EvilNumber &val1, const EvilNumber &val2) |
subtract this with More... | |
EvilNumber | _SelfSubtract (const EvilNumber &val) |
EvilNumber | _Modulus (const EvilNumber &val1, const EvilNumber &val2) |
modulus this with More... | |
EvilNumber | _SelfModulus (const EvilNumber &val) |
EvilNumber | _SelfIncrement () |
increment by 1 More... | |
EvilNumber | _SelfDecrement () |
decrement by 1 More... | |
Private Attributes | |
double | fVal |
int64 | iVal |
EVIL_NUMBER_TYPE | mType |
this is a class that kinda mimics how python polymorph's numbers.
This is a class that kinda mimics how python polymorph's numbers. VARIANT design style number class.
Definition at line 59 of file EvilNumber.h.
EvilNumber::EvilNumber | ( | ) |
Definition at line 46 of file EvilNumber.cpp.
Referenced by _Add(), _Divide(), _Modulus(), _Multiply(), _Subtract(), acos(), asin(), atan(), cos(), exp(), log(), log10(), operator-(), pow(), sin(), sqrt(), and tan().
EvilNumber::EvilNumber | ( | int8 | val | ) |
Definition at line 52 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | uint8 | val | ) |
Definition at line 58 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | int16 | val | ) |
Definition at line 64 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | uint16 | val | ) |
Definition at line 70 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | int32 | val | ) |
Definition at line 76 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | uint32 | val | ) |
Definition at line 82 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | int64 | val | ) |
Definition at line 88 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | float | val | ) |
Definition at line 94 of file EvilNumber.cpp.
EvilNumber::EvilNumber | ( | double | val | ) |
Definition at line 100 of file EvilNumber.cpp.
|
protected |
add this with
Add this with .
[in] | val | the value we are adding by. |
Definition at line 456 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, EvilNumber(), fVal, iVal, and mType.
Referenced by operator+().
|
protected |
divide this with
Divide this with .
[in] | val | the value we are dividing by. |
Definition at line 398 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, EvilNumber(), fVal, iVal, and mType.
Referenced by operator/().
|
protected |
modulus this with
this modulus .
[in] | val | the value we are using as the rvalue in the modulus. |
Definition at line 574 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, EvilNumber(), fVal, iVal, and mType.
Referenced by operator%().
|
protected |
multiply this with
Multiply this with .
[in] | val | the value we are multiplying with. |
Definition at line 342 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, EvilNumber(), fVal, iVal, and mType.
Referenced by operator*(), and operator-().
|
protected |
Definition at line 487 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by _SelfIncrement(), and operator+=().
|
protected |
decrement by 1
decrement by 1
Definition at line 641 of file EvilNumber.cpp.
References _SelfSubtract().
Referenced by operator--().
|
protected |
Definition at line 428 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by operator/=().
|
protected |
increment by 1
increment by 1
Definition at line 636 of file EvilNumber.cpp.
References _SelfAdd().
Referenced by operator++().
|
protected |
Definition at line 606 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by operator%=().
|
protected |
Definition at line 372 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by operator*=().
|
protected |
Definition at line 547 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by _SelfDecrement(), and operator-=().
|
protected |
subtract this with
Subtract this with .
[in] | val | the value we are subtracting by. |
Definition at line 514 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, EvilNumber(), fVal, iVal, and mType.
Referenced by operator-().
|
static |
Definition at line 248 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 236 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 260 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
inlineprotected |
check if its possible a integer and do the conversion
checking every calculation for float/int conversion can be a drain on performance. But integer math is faster than floating point math.
Definition at line 126 of file EvilNumber.cpp.
References evil_number_int, fVal, iVal, and mType.
|
static |
Definition at line 212 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 327 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
bool EvilNumber::get_bool | ( | ) |
Definition at line 157 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
Referenced by ModuleManager::AddModule(), InventoryItem::IsOnline(), ShipItem::MoveModuleSlot(), and InventoryItem::Populate().
double EvilNumber::get_double | ( | ) |
Definition at line 191 of file EvilNumber.cpp.
References evil_number_int, fVal, iVal, and mType.
Referenced by DynamicSystemEntity::AwardBounty(), SystemEntity::AwardSecurityStatus(), ProbeSE::MakeDamageState(), ItemSystemEntity::MakeDamageState(), ObjectSystemEntity::MakeDamageState(), DynamicSystemEntity::MakeDamageState(), NPCAIMgr::NPCAIMgr(), SystemEntity::SendDamageStateChanged(), TargetManager::StartTargeting(), SystemEntity::SystemEntity(), ObjectSystemEntity::UpdateDamage(), and DynamicSystemEntity::UpdateDamage().
float EvilNumber::get_float | ( | ) |
Definition at line 184 of file EvilNumber.cpp.
References evil_number_int, fVal, iVal, and mType.
Referenced by Concord::_UpdateDamage(), StructureSE::Activate(), ActiveModule::ActiveModule(), AnomalyMgr::AddSignal(), ShipSE::ApplyBoost(), TurretModule::ApplyDamage(), SystemEntity::ApplyDamage(), FxProc::ApplyEffects(), DroneAIMgr::AttackTarget(), ConcordAI::AttackTarget(), SystemEntity::AwardSecurityStatus(), RamMethods::Calculate(), MiningLaser::CanActivate(), ActiveModule::CanActivate(), Command_status(), Concord::Concord(), ConcordAI::ConcordAI(), CynoModule::CynoModule(), Damage::Damage(), ModuleManager::DamageModule(), ActiveModule::DeactivateCycle(), DroneSE::DroneSE(), ShipItem::GenerateHeat(), TurretFormulas::GetDroneToHit(), PIDataMgr::GetMaxOutput(), MiningLaser::GetMiningVolume(), TurretFormulas::GetNPCToHit(), TurretFormulas::GetSentryToHit(), ShipItem::GetShipArmorHP(), ShipItem::GetShipCapacitorLevel(), ShipItem::GetShipCPULevel(), ShipItem::GetShipHullHP(), ShipItem::GetShipPGLevel(), ShipItem::GetShipShieldHP(), SentryAI::GetTargetTime(), NPCAIMgr::GetTargetTime(), ConcordAI::GetTargetTime(), TurretFormulas::GetToHit(), ShipItem::HeatDamageCheck(), Missile::HitTarget(), ModuleManager::Initialize(), ModuleManager::InstallRig(), ActiveModule::LaunchMissile(), TurretModule::LoadCharge(), MiningLaser::LoadCharge(), ModuleManager::LoadCharge(), Concord::MakeDamageState(), Missile::MakeDamageState(), DroneSE::MakeDamageState(), CelestialSE::MakeDamageState(), ShipSE::MakeDamageState(), DestinyManager::MakeMissile(), NPCAIMgr::MissileLaunched(), NPC::NPC(), NPCAIMgr::NPCAIMgr(), GenericModule::Online(), DestinyManager::Orbit(), ProbeSE::ProbeSE(), ShipSE::Process(), ActiveModule::ProcessActiveCycle(), MiningLaser::ProcessCycle(), ShipItem::ProcessHeat(), Prospector::Prospector(), ProbeSE::RecoverProbe(), Sentry::Sentry(), SentryAI::SentryAI(), AttributeMap::SetAttribute(), DestinyManager::SetMaxVelocity(), ModuleItem::SetOnline(), ShipItem::SetShipArmor(), ShipItem::SetShipCapacitorLevel(), ShipItem::SetShipHull(), ShipItem::SetShipShield(), DestinyManager::SpeedBoost(), DestinyManager::TractorBeamStart(), ModuleManager::UninstallRig(), ActiveModule::UnloadCharge(), Prospector::Update(), ActiveModule::Update(), ProbeSE::UpdateProbe(), DestinyManager::UpdateShipVariables(), Concord::UseArmorRepairer(), NPC::UseArmorRepairer(), Concord::UseShieldRecharge(), NPC::UseShieldRecharge(), DestinyManager::WarpTo(), and DestinyManager::WebbedMe().
int64 EvilNumber::get_int | ( | ) |
Definition at line 166 of file EvilNumber.cpp.
References evil_number_float, fVal, iVal, and mType.
Referenced by APICharacterManager::_SkillInTraining(), APICharacterManager::_SkillQueue(), Prospector::Activate(), ReprocessingServiceBound::CalcReprocessingEfficiency(), Prospector::CheckSuccess(), Concord::Concord(), Colony::CreatePin(), ActiveModule::DoCycle(), PIDataMgr::GetMaxOutput(), PIDataMgr::GetProgramResultInfo(), SentryAI::GetTargetTime(), ConcordAI::GetTargetTime(), RamMethods::JobsCheck(), CustomsSE::Killed(), ShipSE::Killed(), MiningLaser::MiningLaser(), RigModule::RemoveRig(), GenericModule::Repair(), SentryAI::SentryAI(), StructureSE::SetAnchor(), AttributeMap::SetAttribute(), TowerSE::SetOnline(), SentryAI::Target(), DroneAIMgr::Target(), ConcordAI::Target(), SentryAI::Targeted(), ConcordAI::Targeted(), and TowerSE::TowerSE().
|
inline |
uint32 EvilNumber::get_uint32 | ( | ) |
Definition at line 173 of file EvilNumber.cpp.
References evil_number_float, fVal, iVal, and mType.
Referenced by StructureSE::Activate(), ActiveModule::ActiveModule(), ShipItem::AddItem(), ModuleManager::addModuleRef(), Character::AddToSkillQueue(), ShipSE::ApplyBoost(), DroneAIMgr::AttackTarget(), NPCAIMgr::AttackTarget(), ActiveModule::CanActivate(), Character::CancelSkillInTraining(), ModuleManager::deleteModuleRef(), ActiveModule::DoCycle(), Skill::FitModuleSkillCheck(), ModuleManager::GetAvailableSlotInBank(), Skill::GetCurrentSP(), PIDataMgr::GetMaxOutput(), Skill::GetRemainingSP(), Character::GetSPPerMin(), TurretFormulas::GetToHit(), Skill::GetTrainingTime(), StructureSE::Init(), ModuleManager::Initialize(), Character::InjectSkillIntoBrain(), StructureSE::Killed(), Character::LoadPausedSkillQueue(), NPCAIMgr::NPCAIMgr(), Scan::ProcessScan(), StructureSE::PullAnchor(), ProbeSE::RecoverProbe(), ShipItem::RemoveItem(), Scan::RequestScans(), StructureSE::SetAnchor(), Skill::SkillPrereqsComplete(), TargetManager::StartTargeting(), DroneAIMgr::Target(), TargetManager::TimeToLock(), ShipItem::TryModuleLimitChecks(), ProbeSE::UpdateProbe(), ShipItem::ValidateBoardShip(), and ShipItem::VerifyHoldType().
PyRep * EvilNumber::GetPyObject | ( | ) |
converts the EvilNumber into a python object.
Definition at line 109 of file EvilNumber.cpp.
References evil_number_float, evil_number_int, fVal, iVal, mType, PyStatic, sLog, and EvE::traceStack().
Referenced by AttributeMap::Add(), AttributeMap::Change(), and InventoryItem::Populate().
|
inline |
Definition at line 382 of file EvilNumber.h.
References evil_number_float.
Referenced by AttributeMap::SetAttribute().
bool EvilNumber::isInf | ( | ) |
Definition at line 148 of file EvilNumber.cpp.
References evil_number_int, evil_number_nan, fVal, and mType.
Referenced by AttributeMap::MultiplyAttribute(), and AttributeMap::SetAttribute().
|
inline |
Definition at line 381 of file EvilNumber.h.
References evil_number_int.
bool EvilNumber::isNaN | ( | ) |
Definition at line 139 of file EvilNumber.cpp.
References evil_number_int, evil_number_nan, fVal, and mType.
Referenced by AttributeMap::MultiplyAttribute(), and AttributeMap::SetAttribute().
|
static |
Definition at line 303 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 315 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
inline |
Definition at line 264 of file EvilNumber.h.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
|
inline |
Definition at line 111 of file EvilNumber.h.
References _Modulus().
|
inline |
Definition at line 114 of file EvilNumber.h.
References _SelfModulus().
|
inline |
Definition at line 84 of file EvilNumber.h.
References _Multiply().
|
inline |
Definition at line 87 of file EvilNumber.h.
References _SelfMultiply().
|
inline |
Definition at line 96 of file EvilNumber.h.
References _Add().
|
inline |
Definition at line 117 of file EvilNumber.h.
References _SelfIncrement().
|
inline |
Definition at line 120 of file EvilNumber.h.
References _SelfIncrement().
|
inline |
Definition at line 99 of file EvilNumber.h.
References _SelfAdd().
|
inline |
Definition at line 102 of file EvilNumber.h.
References _Subtract().
|
inline |
Definition at line 105 of file EvilNumber.h.
References _Multiply(), and EvilNumber().
|
inline |
Definition at line 127 of file EvilNumber.h.
References _SelfDecrement().
|
inline |
Definition at line 130 of file EvilNumber.h.
References _SelfDecrement().
|
inline |
Definition at line 108 of file EvilNumber.h.
References _SelfSubtract().
|
inline |
Definition at line 90 of file EvilNumber.h.
References _Divide().
|
inline |
Definition at line 93 of file EvilNumber.h.
References _SelfDivide().
|
inline |
Definition at line 276 of file EvilNumber.h.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
|
inline |
Definition at line 300 of file EvilNumber.h.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
|
inline |
'==' operator overload
[in] | val |
Definition at line 251 of file EvilNumber.h.
References evil_number_float, and evil_number_int.
|
inline |
Definition at line 288 of file EvilNumber.h.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
|
inline |
Definition at line 312 of file EvilNumber.h.
References evil_number_float, evil_number_int, fVal, iVal, and mType.
|
static |
Definition at line 284 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
??
[in] | val |
Definition at line 200 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 272 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
static |
Definition at line 224 of file EvilNumber.cpp.
References evil_number_float, EvilNumber(), fVal, iVal, and mType.
Referenced by utils_EvilNumberTest().
|
inline |
converts the EvilNumber value into a string
Definition at line 360 of file EvilNumber.h.
References evil_number_float, evil_number_int, and snprintf.
Referenced by utils_EvilNumberTest().
|
private |
Definition at line 63 of file EvilNumber.h.
Referenced by _Add(), _Divide(), _Modulus(), _Multiply(), _SelfAdd(), _SelfDivide(), _SelfModulus(), _SelfMultiply(), _SelfSubtract(), _Subtract(), acos(), asin(), atan(), CheckIntegrity(), cos(), EvilNumber(), exp(), get_bool(), get_double(), get_float(), get_int(), get_uint32(), GetPyObject(), isInf(), isNaN(), log(), log10(), operator!=(), operator<(), operator<=(), operator>(), operator>=(), pow(), sin(), sqrt(), and tan().
|
private |
Definition at line 64 of file EvilNumber.h.
Referenced by _Add(), _Divide(), _Modulus(), _Multiply(), _SelfAdd(), _SelfDivide(), _SelfModulus(), _SelfMultiply(), _SelfSubtract(), _Subtract(), acos(), asin(), atan(), CheckIntegrity(), cos(), EvilNumber(), exp(), get_bool(), get_double(), get_float(), get_int(), get_uint32(), GetPyObject(), log(), log10(), operator!=(), operator<(), operator<=(), operator>(), operator>=(), pow(), sin(), sqrt(), and tan().
|
private |
Definition at line 65 of file EvilNumber.h.
Referenced by _Add(), _Divide(), _Modulus(), _Multiply(), _SelfAdd(), _SelfDivide(), _SelfModulus(), _SelfMultiply(), _SelfSubtract(), _Subtract(), acos(), asin(), atan(), CheckIntegrity(), cos(), exp(), get_bool(), get_double(), get_float(), get_int(), get_type(), get_uint32(), GetPyObject(), isInf(), isNaN(), log(), log10(), operator!=(), operator<(), operator<=(), operator>(), operator>=(), pow(), sin(), sqrt(), and tan().