Пример #1
0
        static void Stat3Init_(FuncContext fctx, int argc, Mem[][] argv)
        {
            tRowcnt    rows       = (tRowcnt)Vdbe.Value_Int64(argv[0]);
            int        maxSamples = Vdbe.Value_Int(argv[1]);
            int        n          = maxSamples;
            Stat3Accum p          = new Stat3Accum
            {
                a          = new array_t <Stat3Accum.Stat3Sample>(new Stat3Accum.Stat3Sample[n]),
                Rows       = rows,
                MaxSamples = maxSamples,
                PSamples   = (uint)(rows / (maxSamples / 3 + 1) + 1),
            };

            if (p == null)
            {
                Vdbe.Result_ErrorNoMem(fctx);
                return;
            }
            SysEx.Randomness(-1, p.Prn);
            Vdbe.Result_Blob(fctx, p, -1, C._free);
        }