- 1
if (abs(i-i1)<1) or (abs(j-j1)<0) then continue;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−41
if (abs(i-i1)<1) or (abs(j-j1)<0) then continue;
Модуль меньше нуля.
imihajlov 25.12.2015 18:22 # +3
Soul_re@ver 25.12.2015 21:27 # +4
bormand 25.12.2015 21:28 # 0
У паскаля вроде как контроль переполнений был?
Janycz 25.12.2015 21:54 # 0
bormand 25.12.2015 21:59 # +5
1024-- 25.12.2015 21:48 # 0
При каких случаях? Почему?
bormand 25.12.2015 21:51 # +6
http://ideone.com/yHfCaR
3_14dar 26.12.2015 01:46 # +2
bormand 26.12.2015 01:58 # +2
Почему бы и нет? И при касте в меньший тип - тоже. Всё-таки жаба не сишка, могли себе такую проверку позволить...
Ну вот в шарпе грамотно сделали - кидают исключение, если что-то не влезает. Байтоёбов и пирфомансодрочеров это, конечно, немного расстраивает. Но зато остальным можно спокойно спать...
3_14dar 26.12.2015 02:25 # 0
bormand 26.12.2015 13:27 # 0
3.14159265 28.12.2015 20:11 # 0
НЕМНОГО?
Не нравится байтоёбство (а именно с ним рано или поздно придётся иметь дело в типе int), не нужен пирфоманс? - бери BigInteger и вперёд.
3.14159265 28.12.2015 20:10 # 0
В прямом коде есть положительный ноль
1000 0000 0000 0000
>Исключение при присваивании unsigned к signed? Те же грабли.
Возможно даже хуже.
Soul_re@ver 25.12.2015 22:13 # +3
Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.
nihau 11.01.2016 13:00 # +1
3_14dar 26.12.2015 01:34 # 0
3.14159265 28.12.2015 20:07 # 0
Janycz 28.12.2015 20:10 # 0
bormand 28.12.2015 20:16 # +2
Ничего сложного и магического в асме нету. Команды, регистры и ячейки памяти понять намного проще, чем все эти ваши замыкания, ООП и MVC. Просто набор инструкций у x86 сильно разжирел за последнее время и тащит за собой хвост legacy говна с 80х годов...
3.14159265 28.12.2015 20:27 # 0
+
И главное
в асме всё просто и понятно, строгая типизация, данные никуда не теряются:
mul i32,i32 => i64
add сохраняет верхний бит в специальный thread-local.
bormand 28.12.2015 20:29 # 0
3.14159265 29.12.2015 00:27 # 0
Что практически в любом яву сделать без костылей нельзя.
Вот почему в жабах/с++/с# не сделать системный thread-local, хранящий of, cf и прочие радости, которые есть на всех машинах.
Thread.currentThread().getFlags() & OVERFLOW //блять, неужели так трудно:?
К слову в жабе есть interrupt flag, лол. Технология антиисключений может и должна быть расширена.
bot 25.12.2015 21:39 # −1
Мне недавно на гитхабе это приснилось. Как пить дать видел.
Janycz 25.12.2015 21:56 # 0
bormand 25.12.2015 21:57 # 0
bot 26.12.2015 13:07 # +4
gost 26.12.2015 18:56 # +2
HIV 29.05.2020 13:55 # 0
Steve_Brown 28.12.2015 16:01 # 0
Vasiliy 28.12.2015 17:12 # 0
bormand 28.12.2015 19:03 # 0
kegdan 28.12.2015 19:27 # +1
HIV 29.05.2020 13:55 # 0