@@ -570,7 +570,7 @@ pack(size_t P, Iterator, size_t N, SliceKind kind)(Slice!(Iterator, N, kind) sli
570570// /
571571@safe @nogc pure nothrow version(mir_test) unittest
572572{
573- import mir.ndslice.slice : sliced, Slice;
573+ import mir.ndslice.slice: sliced, Slice;
574574
575575 auto a = iota(3 , 4 , 5 , 6 );
576576 auto b = a.pack! 2 ;
@@ -624,7 +624,7 @@ ipack(size_t P, Iterator, size_t N, SliceKind kind)(Slice!(Iterator, N, kind) sl
624624// /
625625@safe @nogc pure nothrow version(mir_test) unittest
626626{
627- import mir.ndslice.slice : sliced, Slice;
627+ import mir.ndslice.slice: sliced, Slice;
628628
629629 auto a = iota(3 , 4 , 5 , 6 );
630630 auto b = a.ipack! 2 ;
@@ -712,7 +712,8 @@ evertPack(Iterator, size_t M, SliceKind innerKind, size_t N, SliceKind outerKind
712712// /
713713@safe pure nothrow version(mir_test) unittest
714714{
715- import mir.ndslice.slice: sliced;
715+ import mir.ndslice.iterator: SliceIterator;
716+ import mir.ndslice.slice: sliced, Slice, Universal;
716717 import mir.ndslice.allocation: slice;
717718 static assert (is (typeof (
718719 slice! int (6 )
750751 (I = sizediff_t , size_t N)(size_t [N] lengths... )
751752 if (__traits(isIntegral, I))
752753{
753- import mir.ndslice.slice : sliced;
754+ import mir.ndslice.slice: sliced;
754755 return IotaIterator! I(I.init).sliced(lengths);
755756}
756757
@@ -759,7 +760,7 @@ Slice!(IotaIterator!sizediff_t, N)
759760iota
760761 (size_t N)(size_t [N] lengths, sizediff_t start)
761762{
762- import mir.ndslice.slice : sliced;
763+ import mir.ndslice.slice: sliced;
763764 return IotaIterator! sizediff_t (start).sliced(lengths);
764765}
765766
@@ -768,7 +769,7 @@ Slice!(StrideIterator!(IotaIterator!sizediff_t), N)
768769iota
769770 (size_t N)(size_t [N] lengths, sizediff_t start, size_t stride)
770771{
771- import mir.ndslice.slice : sliced;
772+ import mir.ndslice.slice: sliced;
772773 return StrideIterator! (IotaIterator! sizediff_t )(stride, IotaIterator! sizediff_t (start)).sliced(lengths);
773774}
774775
@@ -782,7 +783,7 @@ template iota(I)
782783 (size_t N)(size_t [N] lengths, I start)
783784 if (__traits(isIntegral, I))
784785 {
785- import mir.ndslice.slice : sliced;
786+ import mir.ndslice.slice: sliced;
786787 return IotaIterator! I(start).sliced(lengths);
787788 }
788789
@@ -792,7 +793,7 @@ template iota(I)
792793 (size_t N)(size_t [N] lengths, I start, size_t stride)
793794 if (__traits(isIntegral, I))
794795 {
795- import mir.ndslice.slice : sliced;
796+ import mir.ndslice.slice: sliced;
796797 return StrideIterator! (IotaIterator! I)(stride, IotaIterator! I(start)).sliced(lengths);
797798 }
798799}
803804 (I, size_t N)(size_t [N] lengths, I start)
804805 if (is (I P : P* ))
805806{
806- import mir.ndslice.slice : sliced;
807+ import mir.ndslice.slice: sliced;
807808 return IotaIterator! I(start).sliced(lengths);
808809}
809810
@@ -813,13 +814,14 @@ iota
813814 (I, size_t N)(size_t [N] lengths, I start, size_t stride)
814815 if (is (I P : P* ))
815816{
816- import mir.ndslice.slice : sliced;
817+ import mir.ndslice.slice: sliced;
817818 return StrideIterator! (IotaIterator! I)(stride, IotaIterator! I(start)).sliced(lengths);
818819}
819820
820821// /
821822@safe pure nothrow @nogc version(mir_test) unittest
822823{
824+ import mir.primitives: DeepElementType;
823825 auto slice = iota(2 , 3 );
824826 static immutable array =
825827 [[0 , 1 , 2 ],
@@ -1746,7 +1748,7 @@ Random access and slicing
17461748nothrow version (mir_test) unittest
17471749{
17481750 import mir.ndslice.allocation: slice;
1749- import mir.ndslice.slice : sliced;
1751+ import mir.ndslice.slice: sliced;
17501752
17511753 auto elems = iota(4 , 5 ).slice.flattened;
17521754
@@ -2111,6 +2113,8 @@ version(mir_test) unittest
21112113// /
21122114@safe pure nothrow version(mir_test) unittest
21132115{
2116+ import mir.primitives: DeepElementType;
2117+
21142118 auto sl = repeat(4.0 , 2 , 3 );
21152119 assert (sl == [[4.0 , 4.0 , 4.0 ],
21162120 [4.0 , 4.0 , 4.0 ]]);
@@ -2675,7 +2679,7 @@ auto bytegroup(size_t pack, DestinationType, T)(T withAsSlice)
26752679@safe pure nothrow @nogc
26762680version (mir_test) unittest
26772681{
2678- import mir.ndslice.slice : DeepElementType, sliced;
2682+ import mir.ndslice.slice: DeepElementType, sliced;
26792683
26802684 ubyte [20 ] data;
26812685 // creates a packed unsigned integer slice with max allowed value equal to `2^^6 - 1 == 63`.
@@ -2697,7 +2701,7 @@ version(mir_test) unittest
26972701@safe pure nothrow @nogc
26982702version (mir_test) unittest
26992703{
2700- import mir.ndslice.slice : DeepElementType, sliced;
2704+ import mir.ndslice.slice: DeepElementType, sliced;
27012705 ushort [20 ] data;
27022706 // creates a packed unsigned integer slice with max allowed value equal to `2^^6 - 1 == 63`.
27032707 auto int48ar = data[].sliced.bytegroup! (3 , long ); // 48 bit integers
@@ -3551,6 +3555,7 @@ template as(T)
35513555// /
35523556@safe pure nothrow version(mir_test) unittest
35533557{
3558+ import mir.ndslice.slice: Slice;
35543559 import mir.ndslice.allocation : slice;
35553560 import mir.ndslice.topology : diagonal, as;
35563561
@@ -3573,7 +3578,7 @@ template as(T)
35733578@safe pure nothrow version(mir_test) unittest
35743579{
35753580 import mir.ndslice.allocation : slice;
3576- import mir.ndslice.slice : Contiguous, Slice;
3581+ import mir.ndslice.slice: Contiguous, Slice;
35773582
35783583 Slice! (double * , 2 ) matrix = slice! double ([2 , 2 ], 0 );
35793584 Slice! (const (double )* , 2 ) const_matrix = matrix.as! (const double );
@@ -3743,7 +3748,7 @@ auto chopped(S, Sliceable)(Sliceable sliceable, S bounds)
37433748@safe pure version(mir_test) unittest
37443749{
37453750 import mir.functional: staticArray;
3746- import mir.ndslice.slice : sliced;
3751+ import mir.ndslice.slice: sliced;
37473752 auto pairwiseIndexes = [2 , 4 , 10 ].sliced;
37483753 auto sliceable = 10. iota;
37493754
@@ -4100,6 +4105,7 @@ alias pairwise(alias fun, size_t lag = 1) = slide!(lag + 1, fun);
41004105// /
41014106@safe pure nothrow version(mir_test) unittest
41024107{
4108+ import mir.ndslice.slice: sliced;
41034109 assert ([2 , 4 , 3 , - 1 ].sliced.pairwise! " a + b" == [6 , 7 , 2 ]);
41044110}
41054111
@@ -4130,6 +4136,7 @@ alias diff(size_t lag = 1) = pairwise!(('a' + lag) ~ " - a", lag);
41304136// /
41314137version (mir_test) unittest
41324138{
4139+ import mir.ndslice.slice: sliced;
41334140 assert ([2 , 4 , 3 , - 1 ].sliced.diff == [2 , - 1 , - 4 ]);
41344141}
41354142
@@ -4412,7 +4419,7 @@ template kronecker(alias fun = product)
44124419version (mir_test) unittest
44134420{
44144421 import mir.ndslice.allocation: slice;
4415- import mir.ndslice.slice : sliced;
4422+ import mir.ndslice.slice: sliced;
44164423
44174424 // eye
44184425 auto a = slice! double ([4 , 4 ], 0 );
@@ -4450,7 +4457,7 @@ version(mir_test) unittest
44504457version (mir_test) unittest
44514458{
44524459 import mir.ndslice.allocation: slice;
4453- import mir.ndslice.slice : sliced;
4460+ import mir.ndslice.slice: sliced;
44544461
44554462 auto a = [ 1 , 2 ,
44564463 3 , 4 ].sliced(2 , 2 );
@@ -5829,6 +5836,7 @@ auto triplets(string type, S)(S slice, size_t n)
58295836// /
58305837version (mir_test) unittest
58315838{
5839+ import mir.ndslice.slice: sliced;
58325840 import mir.ndslice.topology: triplets, member, iota;
58335841
58345842 auto a = [4 , 5 , 2 , 8 ];
0 commit comments