N % 2
или N / 2
?сайты на языке Си
TStorage
?std::vector
, std::list
и std::deque
? Или для чего-то еще?std::transform
[?]? Или ты просто хочешь для самообучения сделать его аналог?однако, когда если функция несколько раз перегружена, то уже не работает.
func
функция имеет перегрузки и у тебя сложности к синтаксисом передачи конкретной перегрузки? switch-case
. Еще лучше - вывести аппроксимирующую функцию и работать через нее. Прыгать по коду - не самое легкое решение. Массив - это данные в динамической памяти, для получения которых требуется совершить две выборки из памяти. Двумерный массив - это уже три выборки из памяти. И так далее. Атмега не имеет предсказателя и все операции делает в лоб. Выборка из памяти делается многократно медленнее прыжков по switch-case
.switch-case
- это точно лишнее с т.з. ручного труда и неплохо бы действительно код переписать в массив. switch-case
лучше подходит для типов перечислений. Хотя 100 пар это ни о чём. Вы время засекали?
И ведь разницы никакой нет, что кроме этого твоего потока есть другие потоки, которые никогда не начнут работать с все тем же буфером памяти. Мьютекс для этого буфера тебе все равно не нужен.