Subject: icmp_tr denemesi(Kodlu)
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 :
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 ?
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 ?
canalpay
Show profile
Link to this post