История изменений
Исправление backbone, (текущая версия) :
А, ну тогда всё-равно сначала интерфейс с DEFINE-ами или шаблонами(C++), а потом 4 алгоритма - для 1,2,3,4-битных чисел и один алгоритм для 1,2,3,4,8-байтных чисел. Выбор алгоритма - DEFINE-ами или if-ами (для известного на этапе сборки sizeof(MY_TYPE) компилятор должен оптимизировать переходы).
Выигрыш в памяти менее, чем в 2 раза для не кратных 8-ми >5битных чисел кажется сомнительным.
Исправление backbone, :
А, ну тогда всё-равно сначала интерфейс с DEFINE-ами или шаблонами(C++), а потом 4 алгоритма - для 1,2,3,4-битных чисел и один алгоритм для 1,2,3,4,8-байтных чисел. Выбор алгоритма - DEFINE-ами или if-ами (для известного на этапе сборки sizeof(MY_TYPE) компилятор должен оптимизировать переходы).
Исходная версия backbone, :
А, ну тогда всё-равно сначала интерфейс с DEFINE-ами или шаблонами(C++), а потом 4 алгоритма - для 1,2,3,4-битных чисел и один алгоритм для 1,2,3,4,8-байтных чисел. Выбор алгоритма - DEFINE-ами или if-ами (для sizeof(MY_TYPE) компилятор должен оптимизировать переходы).