[06:10:37] <Kemet> _valexey_: расточительно. Я вот использую SET  в АО и вижу. что недоделаный этот SET. Правидбнл было бы иметь некие SMALL SHORTSET LONGSET HUGESET, которые отображаются на SMALLSIZE SHORTSIZE LONGSIZE HUGESIZE, это и удобно и правильно. а так, мне даже пришлосьт компилятор править, чтобы можно было отображать SET <-> SIZE|ADDRESS
[13:08:28] <TRUE> SET на ADDRESS... Ну ты и извращенец
[14:41:32] <valexey> я вообще не очень понял вопрос
[14:52:20] <TRUE> Как я понял, ему хочется SET на восемь бит, например. А не на 32.
[14:53:27] <TRUE> или вопрос задавался несколько дней назад?

[15:03:10] <valexey>
[11:50:02] <Kemet> valexey: а в цпп int и unsigned на 64 бит скока
[15:03:17] <valexey> Что это было, я хз :-)
[17:07:07] <Kemet> TRUE, SET, как и SIZE это типы, размер которых соответствует размеру адреса, и они отображаются лруг наидруга 1:1, просто в АО не реализована взаимная конвертация между set и другими типами. А вот в кп например, реализована, используя операцию BITS, а раз и в кп есть конвертация между целым и множеством, то и в ао она была ьы к месту. А тип адрес, таеой де тип и там важно оперировать битами
[17:08:33] <TRUE> если ADDRESS - это адрес, но зачем там битами опероировать?
[17:09:38] <Kemet> TRUE, чтобы его собрать из битов
[17:11:34] <TRUE> если по нужному адресу уже есть что-то то и указатель на адрес уже есть. Зачем его собирать-то? Это же пространство для совершения ошибки.
[17:13:06] <Kemet> Так низкоуровневые системные операции, в цэ  там битовые операции, а в обепрназ множество,
[17:16:43] <valexey> А что от плюсов то хотим?
[17:19:08] <Kemet> valexey, надо было узнать , размер типа int при переносе на 64 битную машину
[17:19:26] <valexey> не используй тип int
[17:19:39] <valexey> используй типы int32_t, int64_t, size_t
[17:19:44] <Kemet> Он там уже есть)))
[17:20:01] <valexey> ну, sizeof(int) тебе в помощь :-)
[17:22:17] <Kemet> Ага, оно на винде 32, а на линупсе с большой вероятностью 64. Вот потому мне нужен в ао тип set с разной разрядностью, чтобы ьитами оперировать просто и безопасно
[17:23:58] <valexey> оно и 16 может быть :-)
[17:24:02] <valexey> в зависимости от
[17:24:05] <Kemet> Не нужен мне на 64 ращрядной машине в этом случае set64, мне нужен set32, чтобы память зря не тратить
[17:24:19] <valexey> но если кто-то держит адрес в int - это не правильно. это черевато
[17:24:26] <Kemet> valexey, я про 64 ьитные машины
[17:24:28] <valexey> за это надо отрубать руки, ноги и голову
[17:25:54] <Kemet> valexey, никто не держит, я ими в а2 оперирую в ядре и мне нужны битовые операции над адресом
[17:26:21] <valexey> ну, на АО ничего сказать не могу. могу только за плюсцы
[17:27:14] <Kemet> В ао сейчас тип address, а раньше да, в обероназ целое как адрес
[17:28:06] <valexey> в плюсах вопрос решается просто: std::bitset<sizeof(int)*8> my_cool_set_var;
[17:28:58] <Kemet> А в оберонах просто не решается
[17:29:26] <valexey> ну, в оберонах приходится вшивать в язык то, что в плюсах делается на уровне либы, да.
[17:30:54] <Kemet> Даже када ты понтируешь с 32битной ао на 64 ьитнуб или ращрабатываешь 64 битную, то фиг ты там set на 64 бит заюзаешь напрямую,
[17:34:14] <TRUE> "просто и безопасно" )
[17:34:25] <Kemet> valexey, да set нормальный и в паскале и в модуле, просто Вирт выдрал нормальное множество, оставив куценький огрызок. Это так же как из о7 halt выдрал, и теперь приходится извращаться
[17:35:32] <valexey> ну, хобби у Вирта такое - взять язык и в прокрустово ложе его :-) отсечь все лишнее
[17:38:41] <Kemet> TRUE, канешна, когда размерность ограниченийа и известна, не выйдешь за пределы, ко милятор стукнет , а если не подумать и замапить 16ьитный тип, в котором нужно с битами поиграться на 32 битный set , через систем.вал... ,какая тут безопасность, так и за пределы ненароком можно вылететь
[17:41:45] <Kemet> А вот если бы был какойнить 16 битный shortset ...безопасно и удобно было бы
[17:42:15] <valexey> по сути, для системщину всего то и надо было набор сетов от 8 до 256 бит примерно
[17:42:41] <valexey> если железяка не поддерживает такой - пусть будет ошибка компиляции. будет хорошо.
[17:43:21] <Kemet> До разрялности алреса достаточно
[17:44:11] <Kemet> А так да, если кроссплатфоменно,  то должно покрывать все машинные типы
[17:46:25] <Kemet> valexey, не ошибка компиляции, а реализовано програмпно в рантайме
[17:46:53] <valexey> ну, или в зависимости от настроек. ошибка компиляции, если что, это хорошо.
[17:47:00] <valexey> или варнинг. или еще что.
[17:47:12] <valexey> иногда нужна только аппаратная реализация ведь
[17:48:07] <Kemet> Ну как 64 целое в 32ьитной а2 поддердка в рантайме или нет ваще
[17:49:09] <Kemet> valexey, ну какая аппаратная реализация set64 на 32 ьитном цпу
[17:51:30] <valexey> ну, кака-какая, возможно sse'шная например :-)
[17:51:35] <valexey> или еще что-то такоэ
[17:52:01] <valexey> 32битный цпу - это ведь часто про адресацию, а не про размер регистров или там про размер int
[17:54:26] <Kemet> Ну я думаю, в языке должны быть реализованы щнаковые, безщнаковые и множества всех типов и должны быть ортагонально отображаться
[17:57:11] <Kemet> Вот щас в асме ао поддерживается тип avx256, ну то есть регистры и данные, а в ао никак пока
[18:00:07] <Kemet> По уму они особо и ге нудны, только чтобы разместить и обменяться