return ret;
}
-bool whwhL0 (long double L0, long double FX0, long double FY0, long double FZ0, long double FP1, long double FP2, long double FP3, long double FX, long double Ftemp, long double epsi) {
- return (L0 * FX0 < epsi) && (L0 * FY0 < epsi) && (L0 * FZ0 < epsi) && (L0 * FP1 < epsi) && (L0 * FP2 < epsi) && (L0 * FP3 < epsi) || (FX - Ftemp < pow(epsi, 2));
-}
-
void linear_kernel_search (long double &x0, long double &y0, long double &z0, long double &p1, long double &p2, long double &p3, std::vector< RVec > x, long double epsi) {
long double Ftemp = 0, FX = 0, FX0 = 0, FY0 = 0, FZ0 = 0, FP1 = 0, FP2 = 0, FP3 = 0, L0 = 0;
while (true) {
p1 -= L0 * FP1;
p2 -= L0 * FP2;
p3 -= L0 * FP3;
- if (whwhL0(L0, FX0, FY0, FZ0, FP1, FP2, FP3, FX, Ftemp, epsi)) {
+ if (FX - Ftemp < epsi) {
L0 = 0;
}
break;
}
- if (whwhL0(L0, FX0, FY0, FZ0, FP1, FP2, FP3, FX, Ftemp, epsi)) {
- L0 = 0;
- }
}
- if (L0 = 0) {
+ if (L0 == 0) {
break;
}
}
SelectionList sel_;
int frames = 0;
- double epsi = 0.001;
+ double epsi = 0.00001;
std::vector< std::vector< RVec > > monomers;
std::vector< kernel_maxima > kernel;