public static object acq_random_vector(int seed, int size) { if (ExcelDnaUtil.IsInFunctionWizard()) { return(ExcelError.ExcelErrorRef); } else { return(ACQ.Excel.Handles.GlobalCache.CreateHandle(ExcelVector.Tag, new object[] { seed, size, "acq_random_vector" }, (objectType, parameters) => { ACQ.Math.Random.MersenneTwister rng = new Math.Random.MersenneTwister((uint)seed); ACQ.Math.Linalg.Vector v = gen_random_sample(rng, size); return v; })); } }
public static object acq_random_vector_ex(double[] seed, int size) { if (ExcelDnaUtil.IsInFunctionWizard()) { return(ExcelError.ExcelErrorRef); } else { return(ACQ.Excel.Handles.GlobalCache.CreateHandle(ExcelVector.Tag, new object[] { seed, size, "acq_random_vector" }, (objectType, parameters) => { uint[] useed = new uint[seed.Length]; for (int i = 0; i < seed.Length; i++) { useed[i] = (uint)seed[i]; } ACQ.Math.Random.MersenneTwister rng = new Math.Random.MersenneTwister(useed); ACQ.Math.Linalg.Vector v = gen_random_sample(rng, size); return v; })); } }