123
123
_ntuple (f, n) = (@_noinline_meta ; ([f (i) for i = 1 : n]. .. ))
124
124
125
125
# inferrable ntuple
126
+ ntuple {F} (f:: F , :: Type{Val{0}} ) = (@_inline_meta ; ())
126
127
ntuple {F} (f:: F , :: Type{Val{1}} ) = (@_inline_meta ; (f (1 ),))
127
128
ntuple {F} (f:: F , :: Type{Val{2}} ) = (@_inline_meta ; (f (1 ), f (2 )))
128
129
ntuple {F} (f:: F , :: Type{Val{3}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 )))
@@ -133,6 +134,11 @@ ntuple{F}(f::F, ::Type{Val{7}}) = (@_inline_meta; (f(1), f(2), f(3), f(4), f(5),
133
134
ntuple {F} (f:: F , :: Type{Val{8}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 )))
134
135
ntuple {F} (f:: F , :: Type{Val{9}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 )))
135
136
ntuple {F} (f:: F , :: Type{Val{10}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 )))
137
+ ntuple {F} (f:: F , :: Type{Val{11}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 ), f (11 )))
138
+ ntuple {F} (f:: F , :: Type{Val{12}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 ), f (11 ), f (12 )))
139
+ ntuple {F} (f:: F , :: Type{Val{13}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 ), f (11 ), f (12 ), f (13 )))
140
+ ntuple {F} (f:: F , :: Type{Val{14}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 ), f (11 ), f (12 ), f (13 ), f (14 )))
141
+ ntuple {F} (f:: F , :: Type{Val{15}} ) = (@_inline_meta ; (f (1 ), f (2 ), f (3 ), f (4 ), f (5 ), f (6 ), f (7 ), f (8 ), f (9 ), f (10 ), f (11 ), f (12 ), f (13 ), f (14 ), f (15 )))
136
142
137
143
function ntuple {F,N} (f:: F , :: Type{Val{N}} )
138
144
Core. typeassert (N, Int)
0 commit comments