Thread overview
icmp tr denemesi(Kodlu)
December 11, 2009

cmp_tr'nin çıkmasından sonra uzun bir zaman geçti. Ben Ali Bey'e icmp_tr'yi kendim yapacağımı söyledim ama kodlara şuan baktığımda nasıl icmp_tr'ye çevireceğimi anlayamadım. Ama aklıma bir kaç kat daha yavaş çalışacağını tahmin ettiğim ve bir o kadar da basit bir kod ile icmp_tr'yi halledebileceğimizi anladım. Kodlar :





int icmp_tr(T)(in T birinci, in T ikinci)

{

   tolowerInPlace_tr(birinci);

   tolowerInPlace_tr(ikinci);



   return cmp_tr(birinci,ikinci);




}

unittest

{

   assert(icmp_tr("aa", "aaa") < 0);

   assert(icmp_tr("aa"w, "aaa"w) < 0);

   assert(icmp_tr("aaa", "aa") > 0);

   assert(icmp_tr("deneme", "debeme") > 0);

   assert(icmp_tr("çalışkan"d, "çalişkan"d) < 0);

   assert(icmp_tr("çalışkan"d.dup, "çalişkan"d.dup) < 0);

   assert(icmp_tr("çalışkan"w, "çalişkan"w) < 0);

   assert(icmp_tr("çalışkan"w.dup, "çalişkan"w.dup) < 0);

   assert(icmp_tr("TürkçeyeUygun"d.dup, "TürkçeyeUygun"d.dup) == 0);



   assert(icmp_tr("ıa"d, "ia"d) < 0);

   assert(icmp_tr("ib"w, "ıb"w) > 0);

   assert(icmp_tr("ğş"d, "ğş"d) == 0);



   assert(icmp_tr("Türk çeyeUygun"d.dup, "TürkçeyeUygun"d.dup) < 0);

   assert(icmp_tr("çç"d.dup,"çççç"d.dup) < 0);

   assert(icmp_tr("çççç"d.dup, "çç"d.dup) > 0);

   assert(icmp_tr("Çç"d.dup,"çç"d.dup) = 0);

   assert(icmp_tr("çç"d.dup, "Çç"d.dup) = 0);

}

Sizce projeye eklemeye uygun mu ? Yoksa cmp_tr gibi en baştan kodlanmalı; zaten bu şekildeki çözümü trileri kütüphanesini kullanan kişilerde yapabilir mi diyorsunuz ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 11, 2009

Bence uygun... :)

  1. Lütfen projeye bu haliyle ekle

  2. Şurada lütfen yeni bir başlık (New issue) aç:

http://code.google.com/p/trileri/issues/list

  • Type-Enhancement olsun
  • Description da "icmp_tr'nin daha hızlı olarak yazılması" gibi bir şey olsun

Böylece unutmamış oluruz.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 11, 2009

Şimdi farkettim:

'assert''lerde '=' kullanmışsın; onların '==' olması gerekiyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]