B:BD[
2.1284] → [
2.1284:1731]
template <typename T>
T lap(const Loop::GF3D<const T, 1, 1, 1> &var, const Loop::PointDesc &p) {
const auto DI = Loop::vect<int, Loop::dim>::unit(0);
const auto DJ = Loop::vect<int, Loop::dim>::unit(1);
const auto DK = Loop::vect<int, Loop::dim>::unit(2);
return fabs(var(p.I - DI) - 2 * var(p.I) + var(p.I + DI)) +
fabs(var(p.I - DJ) - 2 * var(p.I) + var(p.I + DJ)) +
fabs(var(p.I - DK) - 2 * var(p.I) + var(p.I + DK));
template <typename T, int CI, int CJ, int CK>
T lap(const GF3D<const T, CI, CJ, CK> &var, const vect<int, dim> &I) {
const auto DI = vect<int, dim>::unit(0);
const auto DJ = vect<int, dim>::unit(1);
const auto DK = vect<int, dim>::unit(2);
return fabs(var(I - DI) - 2 * var(I) + var(I + DI)) +
fabs(var(I - DJ) - 2 * var(I) + var(I + DJ)) +
fabs(var(I - DK) - 2 * var(I) + var(I + DK));