wizzard: (Default)
[personal profile] wizzard

128 and 256-bit, respectively ^^

Date: 2009-10-16 10:13 am (UTC)
From: [identity profile] zhengxi.livejournal.com
ну и заданные програмистом range дают больше информации для статического анализа и обнаружения ошибок на этапе компиляции

Date: 2009-10-16 10:54 am (UTC)
From: [identity profile] insooo.livejournal.com
На этапе компиляции такие ошибки можно обнаружить при присваивании значений известных опять же на этапе компиляции. Остальные ошибки такого рода все равно придется решать в рантайме, а их именно так и решают сейчас, когда *интерпретация* инта не совпадает с требуемым диапазоном\набором значений.

Другое дело что тогда выброс исключения\assert\what-you-have будут локализованы, но ни что не мешает написать приблизительно тоже самое сейчас в виде типа данных с контрактом на изменение значения представленное базовым интом.

Date: 2009-11-28 11:39 pm (UTC)
From: [identity profile] udpn.livejournal.com
Ни разу не видел кода на С++ вроде

range<0, 255> a;
range<-10, 10> b;
a += b; // Error: Range check failed

хотя его довольно просто написать. Быть может, это никому не нужно?

ps Какбы намекну, что множество всех предикатов значительно мощнее множества предикатов вида P = {a <= x <= b}.

Date: 2009-11-29 12:54 am (UTC)
From: [identity profile] zhengxi.livejournal.com
Просто чекать range даже мне не нужно :)
А выбирать storage type (сколько бит выделять) в зависимости от ranges и результатов операций над ними - было бы не плохо.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 31st, 2025 04:25 pm
Powered by Dreamwidth Studios