TiraLabra/TiraLabra — pull request #330 by ousou (2014-08-10 16:50:50+00:00)
Title: Palautus 2

Tällä viikolla tein testit ja implementoin kerto- ja jakolaskumetodit LinkedListPolynomial-luokalle. Kertolaskualgoritmi ei vielä ole tehokkain mahdollinen, vaan se on implementoitu yksinkertaisella tavalla.

Jakolaskun implementoinnin yhteydessä tein päätöksen olla tukematta sellaisia jakolaskuja joiden lopputuloksena olisi polynomi missä on ei-kokonaislukukertoimia. Tämä ei tule häiritsemään jaottomuusalgoritmin toteuttamista, koska jos laskutoimitukset tehdään modulo jokin alkuluku, ei koskaan ilmene tapausta jossa tarvittaisiin murtolukukertoimia.

Aloitin myös ArrayPolynomial-luokan implementoinnin, joka kuvaa polynomin kertoimet taulukon avulla. Tästä on vielä implementoimatta vähennys-, kerto- ja jakolasku.

Sekä LinkedListPolynomial- että ArrayPolynomial-luokkien koodia voisi vielä siivota hieman ja jaotella paremmin. Koska kaikille metodeille on melko kattavat testit, voi refaktoroinnin tehdä melko turvallisin mielin.

Ensi viikolla teen valmiiksi ArrayPolynomial-luokan ja rupean implementoimaan suurimman yhteisen tekijän algoritmia polynomeille. Tämän jälkeen siirryn jaottomuusalgoritmien pariin.