@@ -65,22 +65,23 @@ module IteratorsMD
65
65
one {N} (:: Type{CartesianIndex{N}} ) = CartesianIndex (ntuple (x -> 1 , Val{N}))
66
66
67
67
# arithmetic, min/max
68
- (- ){N}(index:: CartesianIndex{N} ) = CartesianIndex {N} (map (- , index. I))
69
- (+ ){N}(index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
68
+ @inline (- ){N}(index:: CartesianIndex{N} ) =
69
+ CartesianIndex {N} (map (- , index. I))
70
+ @inline (+ ){N}(index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
70
71
CartesianIndex {N} (map (+ , index1. I, index2. I))
71
- (- ){N}(index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
72
+ @inline (- ){N}(index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
72
73
CartesianIndex {N} (map (- , index1. I, index2. I))
73
- min {N} (index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
74
+ @inline min {N} (index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
74
75
CartesianIndex {N} (map (min, index1. I, index2. I))
75
- max {N} (index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
76
+ @inline max {N} (index1:: CartesianIndex{N} , index2:: CartesianIndex{N} ) =
76
77
CartesianIndex {N} (map (max, index1. I, index2. I))
77
78
78
- (+ )(i:: Integer , index:: CartesianIndex ) = index+ i
79
- (+ ){N}(index:: CartesianIndex{N} , i:: Integer ) = CartesianIndex {N} (map (x-> x+ i, index. I))
80
- (- ){N}(index:: CartesianIndex{N} , i:: Integer ) = CartesianIndex {N} (map (x-> x- i, index. I))
81
- (- ){N}(i:: Integer , index:: CartesianIndex{N} ) = CartesianIndex {N} (map (x-> i- x, index. I))
82
- (* ){N}(a:: Integer , index:: CartesianIndex{N} ) = CartesianIndex {N} (map (x-> a* x, index. I))
83
- (* )(index:: CartesianIndex ,a:: Integer )= * (a,index)
79
+ @inline (+ )(i:: Integer , index:: CartesianIndex ) = index+ i
80
+ @inline (+ ){N}(index:: CartesianIndex{N} , i:: Integer ) = CartesianIndex {N} (map (x-> x+ i, index. I))
81
+ @inline (- ){N}(index:: CartesianIndex{N} , i:: Integer ) = CartesianIndex {N} (map (x-> x- i, index. I))
82
+ @inline (- ){N}(i:: Integer , index:: CartesianIndex{N} ) = CartesianIndex {N} (map (x-> i- x, index. I))
83
+ @inline (* ){N}(a:: Integer , index:: CartesianIndex{N} ) = CartesianIndex {N} (map (x-> a* x, index. I))
84
+ @inline (* )(index:: CartesianIndex ,a:: Integer )= * (a,index)
84
85
85
86
# comparison
86
87
@inline isless {N} (I1:: CartesianIndex{N} , I2:: CartesianIndex{N} ) = _isless (0 , I1. I, I2. I)
0 commit comments