All pastes #954162 Raw Edit

dopef

public text v1 · immutable
#954162 ·published 2008-03-23 18:43 UTC
rendered paste body
private void CreateChain(ref List<Piece> chain,byte[] startword)
        {
            if (chain.Count > 0)
                return;         //vyzadujeme prazdy retazec na zaciatku!

            
            Piece piece = new Piece();
           

            
            //najpr vytvoryme zaciatok retazca [0-krok]
            piece.word = startword;
            piece.hash = settings.hashAlgo.ComputeHash(piece.word);

            chain.Add(piece); // pridame prvy na zaciatku

            for (int poz = 1; poz < settings.chainLen - 1; poz++) //v kazdej iteracii rozvijame retazec o jeden prvok
            {
                //najprv ziskame nove slovo z predchadzajucej hash hodnoty
                //pomocou redukcnej funkcii ktora prislucha danemu
                // "stplcu" v retazci
                //
                // prvok01 -> RedukcnaFunkcia01 -> prvok02 -> RedukcnaFunkcia02 -> .... -> RedukcnaFunkciaN -> prvokN
                //

                piece = new Piece();
                piece.word = ReductionFunction(chain[poz - 1].hash, poz);  //redukujeme hash na slovo pomocou prislusnej funkcie
                piece.hash = settings.hashAlgo.ComputeHash(piece.word);
                chain.Add(piece);             
            }

            //ukoncime retazec ,pridanim posledneho prvku ktory obsahuje uz len hash
            piece = new Piece();
            piece.word = null;
            piece.hash = settings.hashAlgo.ComputeHash(chain[settings.chainLen - 2].word);

        }