Forum: Projeler trileri RSS
icmp_tr denemesi(Kodlu)
canalpay (Moderator) #1
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 :
 
 
 
 
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 ?
acehreli (Moderator) #2
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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
acehreli (Moderator) #3
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Şimdi farkettim:

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

Ali
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Forum: Projeler trileri RSS
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-02-05, 10:53:03 (UTC -08:00)