private uint getRand()
        {
            var r = tiny.temper();

            tiny.nextState();
            ++FramesUsed;
            return(r);
        }
        private void search()
        {
            int min = (int)s_min.Value;
            int max = (int)s_max.Value;

            uint[] st =
            {
                (uint)status0.Value,
                (uint)status1.Value,
                (uint)status2.Value,
                (uint)status3.Value,
            };

            uint[] status = { st[0], st[1], st[2], st[3] };
            var    tiny   = new TinyMT(status, new TinyMTParameter(0x8f7011ee, 0xfc78ff1f, 0x3793fdff));

            List <DataGridViewRow> list = new List <DataGridViewRow>();

            k_dataGridView.Rows.Clear();

            var setting = getSettings();
            var rng     = getRNGSettings();

            for (int i = 0; i < min; i++)
            {
                tiny.nextState();
            }
            for (int i = min; i <= max; i++, tiny.nextState())
            {
                //statusの更新
                tiny.status.CopyTo(st, 0);
                EggRNGSearch.EggRNGResult result = rng.Generate(st);

                if (!frameMatch(result, setting))
                {
                    continue;
                }
                list.Add(getRow(i, rng, result, k_dataGridView));
            }

            k_dataGridView.Rows.AddRange(list.ToArray());
            k_dataGridView.CurrentCell = null;
        }