История изменений
Исправление witaway, (текущая версия) :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Получаются как будто четверичные маски, которые на самом деле вырождаются в неявные троичные. Плюс одна неиспользуемая комбинация на каждые 2 бита бонусом, как бэ с заделом на будущее :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные. Плюс одна неиспользуемая комбинация на каждые 2 бита бонусом, как бэ с заделом на будущее :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные. Плюс одна неиспользуемая комбинация бонусом, как бэ с заделом на будущее :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:
Сделайте одну битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D
Исправление witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу вам предложить компромисс:
Сделайте одну битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D
Исходная версия witaway, :
Битмаски в битмасках, что ли?
-
Внешняя = плюс / минус.
-
Внутренняя = всё же выполнить операцию / склеить?
Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. :)
Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу вам предложить компромисс:
Сделайте одну битмаску, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.
Получится в сути то же самое, что и у вас, но покороче.
А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.
Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.
Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D