Hello,
I’m building an industry calculator, but I’m struggling with getting my numbers right, and I’m hoping a more enlightened programmer/mathematician can help me out.
From this website: https://eve-industry.org/export/IndustryFormulas.pdf
I’m given the formula:
required = max(runs, ceil(round(runs ∗ baseQuantity ∗ materialModifier, 2)))
Time for math!
My blueprint has 1% material efficiency.
I’m building in a Raitaru, so 1% efficiency.
The Raitaru is placed in null-sec with a ME rig, so 2 * 2.1 = 4.2% ME efficiency.
All in all, 6.2% ME efficiency.
The Golem has a base Morphite cost of 975, and for the sake of simplicity, I’ll do 1 run:
975 * 0.938 = 914.55
Rounding with Math.Round gives 914.55, so nothing changes.
ceil(914.55) = 915
So, 915 Morphite required?
Except, when checking in-game and on Fuzzworks, both show 916.
For any C# wizards out there, this is the code I use to evaluate:
public int CalculateQuantity(double baseQuantity, int runs, double meEfficiency)
{
double calculatedQuantity = Math.Round(runs * baseQuantity * (meEfficiency), 2);
int requiredQuantity = (int)Math.Ceiling(calculatedQuantity);
return Math.Max(runs, requiredQuantity);
}
What am I missing?