Flattened f and t from vector<array<float, 3>> to vector<float> in solution
Inlined a from vector<array<float, 3>> into vector<float> in solution
Renamed o0, o1, o2 to v0, v1, v2, and p2 to vs in ligand::evaluate
Renamed ok0, ok1, ok2 to o0, o1, o2 and eliminated op0, op1, op2 in ligand::evaluate
Renamed index0, index1, index2 to i0, i1, i2
Inlined fill(s.f.begin(), s.f.end(), 0.0f) and fill(s.t.begin(), s.t.end(), 0.0f) in ligand::evaluate
Replaced o by o0 and p by i in ligand::evaluate
Flattened q, c, d from vector<array<float, 3/4>> to vector<float> in solution
t can be resized to 3 * (nt + 1) only. Skipped torque calculation when i == f.beg in ligand::evaluate. Added debugging code to ligand::bfgs