diff options
| author | Christoph Groth <christoph.groth@cea.fr> | 2018-03-07 10:22:50 +0100 |
|---|---|---|
| committer | Christoph Groth <christoph.groth@cea.fr> | 2018-05-16 10:50:10 +0200 |
| commit | ab37f0f5cce683399947b59cb51bde45ff46eba0 (patch) | |
| tree | df8c7ade7b2c6e5bbd095341332ee6c06ea53bc0 /vquad/core.py | |
| parent | d797972c73b232963b8ad8dd1fb080bf48e21cd0 (diff) | |
_Interval: replace the method points() by map()
Diffstat (limited to 'vquad/core.py')
| -rw-r--r-- | vquad/core.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/vquad/core.py b/vquad/core.py index 4e08253..a5e09b3 100644 --- a/vquad/core.py +++ b/vquad/core.py @@ -103,10 +103,10 @@ class _Interval: self.level = level self.depth = depth - def points(self): + def map(self, points): a = self.a b = self.b - return (a + b) / 2 + (b - a) * tbls.nodes[self.level] / 2 + return (a + b) / 2 + (b - a) / 2 * points def interpolate(self, vals, coeffs_old=None): self.vals = vals @@ -148,7 +148,8 @@ class _Interval: depth = self.depth + 1 children = [_Interval(self.a, m, min_level, depth), _Interval(m, self.b, min_level, depth)] - points = np.concatenate([child.points()[1:-1] for child in children]) + points = tbls.nodes[min_level][1:-1] + points = np.concatenate([child.map(points) for child in children]) valss = np.empty((2, tbls.sizes[min_level])) valss[:, 0] = self.vals[0], f_center valss[:, -1] = f_center, self.vals[-1] @@ -180,7 +181,7 @@ class _Interval: limit of numerical accuracy and cannot be reduced further. """ self.level += 1 - points = self.points() + points = self.map(tbls.nodes[self.level]) vals = np.empty(points.shape) vals[0::2] = self.vals vals[1::2] = (yield points[1::2]) @@ -211,7 +212,7 @@ class Vquad: def __init__(self, f, a, b, level=max_level - 1): ival = _Interval(a, b, level, 1) - vals = f(ival.points()) + vals = f(ival.map(tbls.nodes[ival.level])) ival.interpolate(vals) ival.c00 = 0.0 # Will go away. ival.ndiv = 0 |
