Coverage for python/lsst/geom/_Interval.py: 79%

12 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2022-11-09 02:47 -0800

1# 

2# Developed for the LSST Data Management System. 

3# This product includes software developed by the LSST Project 

4# (https://www.lsst.org). 

5# See the COPYRIGHT file at the top-level directory of this distribution 

6# for details of code ownership. 

7# 

8# This program is free software: you can redistribute it and/or modify 

9# it under the terms of the GNU General Public License as published by 

10# the Free Software Foundation, either version 3 of the License, or 

11# (at your option) any later version. 

12# 

13# This program is distributed in the hope that it will be useful, 

14# but WITHOUT ANY WARRANTY; without even the implied warranty of 

15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

16# GNU General Public License for more details. 

17# 

18# You should have received a copy of the GNU General Public License 

19# along with this program. If not, see <https://www.gnu.org/licenses/>. 

20# 

21 

22__all__ = ["IntervalI"] 

23 

24import numpy as np 

25 

26from lsst.utils import continueClass 

27from ._geom import IntervalI 

28 

29 

30@continueClass # noqa: F811 (FIXME: remove for py 3.8+) 

31class IntervalI: # noqa: F811 

32 

33 def range(self): 

34 """Return a `range` object containing all points in the interval. 

35 

36 Returns 

37 ------- 

38 range : `range` 

39 Range instance that can be used to iterate over all points in the 

40 interval. 

41 """ 

42 return range(self.begin, self.end) 

43 

44 def arange(self, dtype=np.int32): 

45 """Return an array containing all points in the interval. 

46 

47 Parameters 

48 ---------- 

49 dtype : convertible to `numpy.dtype` 

50 The data type of the returned arrays. 

51 

52 Returns 

53 ------- 

54 points : `numpy.ndarray` 

55 1-d array with `size == self.size` containing points. 

56 """ 

57 return np.arange(self.begin, self.end, 1, dtype=dtype) 

58 

59 def slice(self): 

60 """Return a `slice` object corresponding to the interval's points. 

61 

62 Returns 

63 ------- 

64 slice : `slice` 

65 Slice instance that can be used to select the elements of a 

66 container that correspond to the points in the interval. 

67 """ 

68 return slice(self.begin, self.end, None)