Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Yuri Burger                          2:5020/400     29 May 2003  12:00:21
 To : Sergiy Kanilo
 Subject : Re: Hечеткое сравнение строк
 -------------------------------------------------------------------------------- 
 
 Hello, Sergiy!
 You wrote to Yuri Burger on Wed, 28 May 2003 17:57:33 +0000 (UTC):
 
  SK>>> безымянное namespace в данном случае практически
  ??>>     В нем лежит вспомогательная тулза, видимостью готорой я не хочу
  SK> и что мешает пользователю написать
  SK>   using namespace fuzzy;
  SK>   compare(&a[0],&a[1],&a[0],&a[1],0,0,0,0);
 
     Сорри, гоню. А я чет думал что неименованый неймспейс внутри другого
 неймспейса даст видимость только в одной единице трансляции 8-\
 
  SK>>> while(true) с последующим if()brake; и ++ для параметров в конце,
  ??>> инициализации, типа for(;a<b;a++) изза извращенного прочтения: для
  ??>> /пусто/ делать a++ пока a<b    В таких случаях требуют использование
  ??>> while, дабы оно читалось.
  SK> то есть единственная причина - отсутствие инициализации?
  SK> с другой стороны ты сразу декларируешь, что ты будешь делать
  SK> с параметрами цикла, и избавляешся от длинных условий, ь.е.
  SK> вместо
 
     Да мне самому больше нравится for. И, имхо, даже вечные циклы легче
 объявлять через for(;;) чем через while(true). Hо что поделаешь, требования :)
 
  SK> даже в случае запрета на отсутствие инициализации в for,
  SK> вряд ли кто запретит переписать подобное как
  SK>          while( d!=maxD && fb!=fe && sb!=se &&
  SK> f+std::min(fe-fb,se-sb)>best) ){
  SK> [...]
 
     Да, так пожалуй и меньше и понятней.
 
  SK>>> трижды встречающийся кусок lf=...; if(best<lf){best=lf;} так и
  SK>>> просится в инлайновую функцию
  ??>>     Ты прав. Только не в инлайновыю функцию, а просто заменить на
  SK> присваивание
  ??>> результатом std::max. Оптимизатор должен обойти лишнее приравнивание,
  SK> в двух последних случаях можно просто
  SK> best =compare(...,best);
  SK> ибо compare, как я понял, может только увеличить best
 
     Точно, забыл совсем :)
 
  SK>>> static_cast<doube> - ИМХО это не то место, где стоит
  SK>>> его использовать
  ??>>     Что ты предлагаешь, сишное преобразование? Одна из причин введения
  SK> comapre(...)*1.0/size - каст отсутствует совсем
 
     Вах, красиво :)
 
  ??>> if(d==maxD||fb==fe||sb==se||(f+std::min(fe-fb,se-sb))<=best){break;}
  SK> вычитание, кстати, тоже не определо для итераторов
 
     Ы? Смотрел SGI STL PG: Random Access Iterator: разность дает distance type,
 делать его чем то другим нежели long/int/size_t имхо, совершенно нелогично.
 Соответственно определено и сложение с distance type.
 
  ??>> best=std::max(best,compare(fb,fe,++t,se,d+1,maxD,of,best));
  ??>> t=fb;
  ??>> best=std::max(best,compare(++t,fe,sb,se,d+1,maxD,of,best));
  SK> мне честно сказать очень подозрительны длинные списки параметров,
  SK> особенно если они практически повторяются (Refactoring, "bad smell")
 
     Да яб запхал всё это в класс, но в этом случае имхо выигрыш будет невелик -
 слишком уж код малый, с классом будет больше и не очевидней, а неизменяющиеся
 аргументы оптимизатор вполне может раскрутить.
 
  SK> что если попытаться обернуть этот набор 4-х последних параметров
  SK> в класс, а compare сделать функцией-членом данного класса?
  SK> конечно это итерациионно-рекурсивные изменения отследить не
  SK> очень просто, но мне кажется, что и не чересчур сложно -
 
     Яж говорю, выигрышь не велик. Хотя с другой стороны, тогда можно добавить
 других алгоритмов для сравнения...
 
 With best regards, Yuri Burger aka J.O. Kruger.  E-mail: jo_kruger@mail.ru
 --- ifmail v.2.15dev5
  * Origin: Unknown (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Hечеткое сравнение строк   Yuri Burger   27 May 2003 09:34:19 
 Hечеткое сравнение строк   Andrew Kirillov   27 May 2003 16:47:47 
 Re: Hечеткое сравнение строк   Sergiy Kanilo   27 May 2003 22:19:51 
 Re: Hечеткое сравнение строк   Yuri Burger   28 May 2003 15:25:04 
 Re: Hечеткое сравнение строк   Sergiy Kanilo   28 May 2003 21:57:33 
 Re: Hечеткое сравнение строк   Yuri Burger   29 May 2003 12:00:21 
 Re: Hечеткое сравнение строк   Sergiy Kanilo   29 May 2003 18:01:43 
 Hечеткое сравнение строк   Alex Astafiev   28 May 2003 17:42:21 
 Re: Hечеткое сравнение строк   Yuri Burger   30 May 2003 14:28:30 
 Re: Hечеткое сравнение строк   Yuri Burger   30 May 2003 14:40:15 
 Hечеткое сравнение строк   Anton Maydell   30 May 2003 16:15:03 
 Re: Hечеткое сравнение строк   Sergey Andrianov   09 Jun 2003 22:20:02 
 Re: Hечеткое сравнение строк   Oleg Khovayko [SPAM trap - don\'t re   31 May 2003 05:01:56 
Архивное /ru.algorithms/91380f984810.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional