@@ -13,14 +13,18 @@ external fromArrayLikeWithMap: (Js.Array2.array_like<'a>, 'a => 'b) => array<'a>
13
13
@val external fromIterator : Core__Iterator .t <'a > => array <'a > = "Array.from"
14
14
@val external fromIteratorWithMap : (Core__Iterator .t <'a >, 'a => 'c ) => array <'a > = "Array.from"
15
15
16
+ @send external fillAllInPlace : (array <'a >, 'a ) => unit = "fill"
17
+
18
+ @send external fillInPlaceToEnd : (array <'a >, 'a , ~start : int ) => unit = "fill"
19
+
20
+ @send external fillInPlace : (array <'a >, 'a , ~start : int , ~end : int ) => unit = "fill"
21
+
16
22
let make = (len , x ) =>
17
23
if len <= 0 {
18
24
[]
19
25
} else {
20
26
let arr = makeUninitializedUnsafe (len )
21
- for i in 0 to len - 1 {
22
- arr -> setUnsafe (i , x )
23
- }
27
+ arr -> fillAllInPlace (x )
24
28
arr
25
29
}
26
30
@@ -47,12 +51,6 @@ external copyWithinToEnd: (array<'a>, ~target: int, ~start: int) => array<'a> =
47
51
@send
48
52
external copyWithin : (array <'a >, ~target : int , ~start : int , ~end : int ) => array <'a > = "copyWithin"
49
53
50
- @send external fillAllInPlace : (array <'a >, 'a ) => unit = "fill"
51
-
52
- @send external fillInPlaceToEnd : (array <'a >, 'a , ~start : int ) => unit = "fill"
53
-
54
- @send external fillInPlace : (array <'a >, 'a , ~start : int , ~end : int ) => unit = "fill"
55
-
56
54
@send external pop : array <'a > => option <'a > = "pop"
57
55
58
56
@send external push : (array <'a >, 'a ) => unit = "push"
0 commit comments