- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
if ((((o-'0')|('7'-o)) >= 0) && (((n-'0')|('3'-n)) >= 0)) {
return (n - '0') * 64 + (m - '0') * 8 + (o - '0');
}
unread();
return (n - '0') * 8 + (m - '0');
}
unread();
return (n - '0');
3.14159265 25.08.2010 13:15 # +1
http://www.docjar.com/html/api/java/util/regex/Pattern.java.html
ВНЕЗАПНО! @author Nikolay A. Kuznetsov - наш соотечественник
1400 строк заместо 5600!!!
и это при том что коментарии никуда не делись
имеем over 4 раза сокращение объема 0_0!
xXx_totalwar 25.08.2010 13:20 # +4
избавь нас этого)
3.14159265 25.08.2010 13:25 # 0
?
первый сцыль в гугле
http://dic.academic.ru/dic.nsf/ushakov/807894
xXx_totalwar 25.08.2010 13:27 # 0
bugmenot 25.08.2010 23:08 # 0
Lure Of Chaos 25.08.2010 15:50 # 0
ReallyBugMeNot 27.08.2010 18:25 # +1
3.14159265 12.09.2010 19:52 # 0
по крайней мере его имплементация при быстром просмотре мне понравилась больше.
Dummy00001 25.08.2010 21:57 # +4
> ((o-'0')|('7'-o)) >= 0
это в одно сравнение упаковано два сравнения ((o => '0') && (o <= '7')) что есть теоретически медленее, т.к. это два сравнения. (арифметику процы пайп-лайнят, а вот сравнения/джампы это всегда проблема).
я бы за этот трюк в свои ассемблерые годы как минимум пива бы проставил.
Анонимус 25.08.2010 22:28 # +1
А уж как oopcodes выполнит на конкретном проце конкретная JVM -- отдельная тема
Dummy00001 25.08.2010 23:15 # +1
За жабу не скажу, не знаю.
3.14159265 27.08.2010 09:50 # +2
((((o-'0')|('7'-o)) >= 0) && (((n-'0')|('3'-n)) >= 0))
в
((o-'0')|('7'-o) | (n-'0')|('3'-n))>=0
это почему-то не сделано - наверняка скопипейздили откуда-то
по ходу класса и по этому куску в частности видно, что о сдвигах и битовых операциях авторы вообще не в курсе