LINUX.ORG.RU

История изменений

Исправление witaway, (текущая версия) :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Получаются как будто четверичные маски, которые на самом деле вырождаются в неявные троичные. Плюс одна неиспользуемая комбинация на каждые 2 бита бонусом, как бэ с заделом на будущее :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные. Плюс одна неиспользуемая комбинация на каждые 2 бита бонусом, как бэ с заделом на будущее :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные. Плюс одна неиспользуемая комбинация бонусом, как бэ с заделом на будущее :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Получаются как будто четверичные маски, которые на самом деле вырожлаются в неявные троичные :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну общую битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу предложить компромисс, оно только что в голову пришло:

Сделайте одну битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D

Исправление witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. Вообще, занятно получилось. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу вам предложить компромисс:

Сделайте одну битмаску удвоенного размера, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D

Исходная версия witaway, :

Битмаски в битмасках, что ли?

  1. Внешняя = плюс / минус.

  2. Внутренняя = всё же выполнить операцию / склеить?

Тогда я, кажется, понимаю, зачем у вас проверки существования и откуда взялись дубли. :)

Кстати, если вы не хотите делать две вложенные битмаски, как оно у вас, и не хотите делать троичные маски, как оно у меня, могу вам предложить компромисс:

Сделайте одну битмаску, но при этом по четным битам определяйте, наличие операции, а по нечетным знак операции.

Получится в сути то же самое, что и у вас, но покороче.

А ещё, наверное, можно пойти дальше и избавиться от дублей. Но тогда надо пропускать маски.

Пропускать, наверное, такие, в которых при хоть одном бите операции = склеить, соответствующий бит знака ≠ 0.

Хотя это тоже выйдут троичные маски, просто чуть-чуть неявные :D