hirthwork 22.01.2013 03:07 mcabber

каждый раз, когда дедфуд пишет об очередном своём ниасиляторстве плюсцов, б-г убивает кусочек его мозга.
оно и заметно

1. 0xd34df00d 22.01.2013 03:09 Azoth_primary

Ну а проверь быстро, что char[2] оба равны нулю.

2. hirthwork0xd34df00d /1 22.01.2013 03:13 mcabber

c[0] == 0 && c[1] == 0;
и не вздумай кукарекать, что это кококонеоптимально, производительность, оптимизация
небось в соседней функции с диска читаешь или даже в сокет пишешь. а затем байтоёбствуешь, чтобы самоутвердиться

3. hirthworkhirthwork /2 22.01.2013 03:14 mcabber

алсо, ещё скажи что цомпилятор это вообще никак не оптимизировал

4. 0xd34df00dhirthwork /2 22.01.2013 03:14 Azoth_primary

На самом деле нет, у меня в этой функции 20% времени.
А еще можно or'ить, (c[0] | c[1]) == 0. Аааааааааааа, сссссссссссссссука, смайл.

5. 0xd34df00dhirthwork /3 22.01.2013 03:14 Azoth_primary

ХЗ.

6. hirthwork0xd34df00d /4 22.01.2013 03:16 mcabber

кстати, да. or должен быть быстрее, ибо после выполнения or достаточно только проверить zero flag.

7. hirthwork0xd34df00d /5 22.01.2013 03:16 mcabber

ну правильно, зачем проверять. лучше напишу ещё один reinterpret_cast

8. 0xd34df00dhirthwork /7 22.01.2013 03:16 Azoth_primary

Я просто люблю убивать котят.

9. 0xd34df00d0xd34df00d /8 22.01.2013 03:17 Azoth_primary

Лучше бы мне кто объяснил, почему этот код написан так

typedef std::pair<const char*,const char*> const_char_pair_t;

inline bool operator< ( const const_char_pair_t& l, const const_char_pair_t& r )
{ return (strcasecmp( l.first, r.first )<0); }

const_char_pair_t str_exceptions[] = {
const_char_pair_t("недели","недел"),
const_char_pair_t("память","памят")
};

struct const_char_pair_t_comp {
bool operator()( const const_char_pair_t& l, const const_char_pair_t& r ) const
{ return (l< r); }

};

inline const char* get_exception_stem( const char* s )
{
std::pair<const const_char_pair_t*,const const_char_pair_t*> i =
std::equal_range(
ARR_BEGIN(str_exceptions),
ARR_END(str_exceptions),
const_char_pair_t(s,0),
const_char_pair_t_comp());

if( i.first!= i.second ) {
return i.first→second;
} else {
return 0;
}
}

10. 0xd34df00d0xd34df00d /9 22.01.2013 03:19 Azoth_primary

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

11. hirthwork0xd34df00d /10 22.01.2013 03:20 mcabber

мне всё просто и понятно, а ты просто ниасилил

12. 0xd34df00dhirthwork /11 22.01.2013 03:20 Azoth_primary

Я не понимаю, зачем оно написано так, как оно написано.

13. hirthworkhirthwork /11 22.01.2013 03:21 mcabber

алсо, стемминг — для ниасиляторов нормального синтаксического анализа

14. 0xd34df00dhirthwork /13 22.01.2013 03:21 Azoth_primary

Для нас. Олсо, это кусок орфография-онли-спеллчекера, нахуй в спеллчекере синтаксический анализ?

15. hirthwork0xd34df00d /12 22.01.2013 03:25 mcabber

задел на будущее. в случае омонимии одно слово может давать две стеммы. но вот весь остальной код пока умеет работать только с одним результатом, поэтому возвращает не i, а char*

16. hirthwork0xd34df00d /14 22.01.2013 03:25 mcabber

чтобы согласование падежей проверять

17. 0xd34df00dhirthwork /16 22.01.2013 03:26 Azoth_primary

> орфография-онли
Согласование падежей нам не нужно. Спеллчекер нам нужен не для пользователя, а чтобы понять, чо пользователь хотел от системы.

18. 0xd34df00dhirthwork /15 22.01.2013 03:26 Azoth_primary

Хуерда.

19. hirthwork0xd34df00d /18 22.01.2013 03:27 mcabber

джигурда

Do you really want to delete ?