def extrapolation(self, extrapolation): if extrapolation is None: return 'boundary' assert extrapolation in ('periodic', 'constant', 'boundary') or isinstance( extrapolation, (tuple, list)), extrapolation return collapse(extrapolation)
def boundaries(self, boundaries): assert isinstance(boundaries, (Material, list, tuple)) if isinstance(boundaries, (tuple, list)): assert len(boundaries) == self.rank return collapse(boundaries)
def extrapolation_value(self, value): return collapse(value)
def test_collapse(self): self.assertEqual(0, collapse(numpy.zeros([2, 2]))) self.assertEqual(0, collapse(numpy.zeros([2, 2]).tolist())) self.assertEqual(('a', 'a', 'b'), tuple(collapse(['a', ('a', 'a'), 'b'])))