Я бы использовал для этого constexpr
. Как упоминалось в @ChrisMM, это не препроцессор, но он будет оцениваться во время компиляции, а не во время выполнения. Если значения, которые вы указали, соответствуют фактическому соотношению между отметками и дюймами, вы можете использовать:
constexpr int toTicks(double inches) {
return int(6085 * inches);
}
Выполняя приведение к int, вы можете быть уверены, что никогда не просите двигатель сдвинуть какой-то доля клеща. Единственное, с чем следует быть осторожным при таком подходе, это то, что со временем, если вы попросите двигатель переместиться в кучу разных мест без возврата в исходную точку между каждым перемещением, ваша исходная точка может медленно смещаться с ошибками округления от преобразования к внутр.