Мне нужно ускорить программу для Nintendo DS, у которой нет FPU, поэтому мне нужно изменить математику с плавающей запятой (которая эмулируется и медленно) на фиксированную точку.
Как я начал, я изменил float на int и когда мне нужно было их преобразовать, я использовал x → 8 для преобразования переменной x с фиксированной точкой в фактическое число и x < < 8, чтобы преобразовать в фиксированную точку. Вскоре я узнал, что невозможно было отслеживать то, что нужно было преобразовать, и я также понял, что будет трудно изменить точность чисел (в этом случае 8).
Мой вопрос: как мне сделать это проще и быстрее? Должен ли я создавать класс FixedPoint или просто typedef или struct FixedPoint8 с некоторыми функциями/макросами для их преобразования или что-то еще? Должен ли я помещать что-то в имя переменной, чтобы показать ее фиксированную точку?