[code]fn create_planar_dihedral_test() { let mut rnd_gen = SmallRng::seed_from_u64(42); let n_atoms = 3; // ---------- Initialize coordinates let r1 = vec![3.8; n_atoms]; let mut planar1: Vec = (0..n_atoms).map(|_| rnd_gen.gen_range(120.0_f64.to_radians()..170.0_f64.to_radians())).collect(); let mut dihedral1: Vec = (0..n_atoms).map(|_| rnd_gen.gen_range(-180.0_f64.to_radians()..190.0_f64.to_radians())).collect();
for i in 0..n_atoms { planar1[i] = rnd_gen.gen_range(120.0f64..170.0f64).to_radians(); dihedral1[i] = rnd_gen.gen_range(-180.0f64..190.0f64).to_radians();
let seed = 42; let mut rng = StdRng::seed_from_u64(seed); let n_atoms = 3; let mut r = vec![3.8; n_atoms]; let mut planar = vec![0.0; n_atoms]; let mut dihedral = vec![0.0; n_atoms];
for i in 0..n_atoms { planar[i] = rng.gen_range(120.0f64..170.0f64).to_radians(); dihedral[i] = rng.gen_range(-180.0f64..190.0f64).to_radians();
println!("{}\t{}", planar[i], dihedral[i]) }
/* 2.553903126786637 0.3631738295734695 2.6498156800978507 -0.520393468908206 2.124364864779546 -0.46191826232809685 */ } [/code] Как перевести этот исходный код на C#? [code][TestMethod] public void CreatePlanarDihedralTest() { Random rndGen = new Random(42); int nAtoms = 3;
// Initialize coordinates List r1 = new List(new double[nAtoms]); List planar1 = new List(); List dihedral1 = new List();
for (int i = 0; i < nAtoms; i++) { r1[i] = 3.8; planar1.Add(DegreeToRadian(rndGen.NextDouble() * (170.0 - 120.0) + 120.0)); dihedral1.Add(DegreeToRadian(rndGen.NextDouble() * (190.0 + 180.0) - 180.0));
Random rng = new Random(42); List r = new List(new double[nAtoms]); List planar = new List(); List dihedral = new List();
for (int i = 0; i < nAtoms; i++) { r[i] = 3.8; planar.Add(DegreeToRadian(rng.NextDouble() * (170.0 - 120.0) + 120.0)); dihedral.Add(DegreeToRadian(rng.NextDouble() * (190.0 + 180.0) - 180.0));
Console.WriteLine("{0}\t{1}", planar[i], dihedral[i]); } /* 2.67742798159418 -2.23165302380809 2.20393047351461 0.234271742934826 2.24138169163355 -1.4458431467022 */ } [/code] Я попробовал это, но результаты не совпадают.