const float *IndexPreTransform::apply_chain (idx_t n, const float *x) const { const float *prev_x = x; ScopeDeleter<float> del; for (int i = 0; i < chain.size(); i++) { float * xt = chain[i]->apply (n, prev_x); ScopeDeleter<float> del2 (xt); del2.swap (del); prev_x = xt; } del.release (); return prev_x; }