Math functions. More...
#include "../stdafx.h"
#include "math_func.hpp"
Go to the source code of this file.
Functions | |
int | LeastCommonMultiple (int a, int b) |
Compute least common multiple (lcm) of arguments a and b, the smallest integer value that is a multiple of both a and b. | |
int | GreatestCommonDivisor (int a, int b) |
Compute greatest common divisor (gcd) of a and b. | |
uint32 | IntSqrt (uint32 num) |
Compute the integer square root. | |
int | DivideApprox (int a, int b) |
Deterministic approximate division. |
Math functions.
Definition in file math_func.cpp.
int DivideApprox | ( | int | a, | |
int | b | |||
) |
Deterministic approximate division.
Cancels out division errors stemming from the integer nature of the division over multiple runs.
a | Dividend. | |
b | Divisor. |
Definition at line 87 of file math_func.cpp.
References abs().
int GreatestCommonDivisor | ( | int | a, | |
int | b | |||
) |
Compute greatest common divisor (gcd) of a and b.
a | First number. | |
b | second number. |
Definition at line 39 of file math_func.cpp.
Referenced by LeastCommonMultiple().
uint32 IntSqrt | ( | uint32 | num | ) |
Compute the integer square root.
num | Radicand. |
Definition at line 56 of file math_func.cpp.
Referenced by CanalMaintenanceCost(), RailMaintenanceCost(), RoadMaintenanceCost(), SignalMaintenanceCost(), and StationMaintenanceCost().
int LeastCommonMultiple | ( | int | a, | |
int | b | |||
) |
Compute least common multiple (lcm) of arguments a and b, the smallest integer value that is a multiple of both a and b.
a | First number. | |
b | second number. |
Definition at line 24 of file math_func.cpp.
References GreatestCommonDivisor().
Referenced by NWidgetVertical::SetupSmallestSize(), NWidgetHorizontal::SetupSmallestSize(), NWidgetStacked::SetupSmallestSize(), and NWidgetNewGRFDisplay::SetupSmallestSize().