@@ -37,79 +37,81 @@ external set : 'a array -> int -> 'a -> unit = "%array_safe_set"
37
37
external makeUninitialized : int -> 'a Js .undefined array = " Array" [@@ bs.new ]
38
38
external makeUninitializedUnsafe : int -> 'a array = " Array" [@@ bs.new ]
39
39
40
- val init : int -> (int -> 'a [@ bs]) -> 'a array
40
+ val initExn : int -> (int -> 'a [@ bs]) -> 'a array
41
41
42
- val shuffleDone : 'a array -> unit
42
+ val shuffleDone : 'a array -> unit
43
43
44
- val shuffle : 'a array -> 'a array
44
+ val shuffle : 'a array -> 'a array
45
45
(* * [shuffle xs] it mutates [xs] and return
46
46
[xs] for chaining
47
47
*)
48
- val zip : 'a array -> 'b array -> ('a * 'b ) array
48
+ val zip : 'a array -> 'b array -> ('a * 'b ) array
49
49
(* * [zip a b] stop with the shorter array *)
50
50
51
- val makeMatrix : int -> int -> 'a -> 'a array array
51
+ val makeMatrixExn : int -> int -> 'a -> 'a array array
52
52
53
53
54
- val append : 'a array -> 'a array -> 'a array
54
+ val append : 'a array -> 'a array -> 'a array
55
55
(* * Note it returns a fresh array containing the
56
56
concatenation of the arrays [v1] and [v2], so even if [v1] or [v2]
57
57
is empty, it can not be shared
58
58
*)
59
59
60
- val concat : 'a array list -> 'a array
61
- (* * Same as [Array.append], but concatenates a list of arrays. *)
60
+ val concat : 'a array list -> 'a array
62
61
63
- val sub : 'a array -> int -> int -> 'a array
64
62
63
+ val subExn : 'a array -> int -> int -> 'a array
65
64
66
- val copy : 'a array -> 'a array
67
- (* * [Array.copy a] returns a copy of [a], that is, a fresh array
65
+
66
+ val copy : 'a array -> 'a array
67
+ (* * [.copy a] returns a copy of [a], that is, a fresh array
68
68
containing the same elements as [a]. *)
69
69
70
- val fill : 'a array -> int -> int -> 'a -> unit
71
- (* * [Array. fill a ofs len x] modifies the array [a] in place,
72
- storing [x] in elements number [ofs] to [ofs + len - 1].
70
+ val fill : 'a array -> int -> int -> 'a -> bool
71
+ (* * [fill a ofs len x] modifies the array [a] in place,
72
+ storing [x] in elements number [ofs] to [ofs + len - 1].
73
73
74
- Raise [Invalid_argument "Array.fill"] if [ofs] and [len] do not
75
- designate a valid subarray of [a]. *)
74
+ return false means the input is invalid, the array is unchanged
75
+ *)
76
76
77
- val blit :
78
- 'a array -> int -> 'a array -> int -> int -> unit
77
+ val blit :
78
+ 'a array -> int -> 'a array -> int -> int -> bool
79
79
(* * [blit v1 o1 v2 o2 len] copies [len] elements
80
80
from array [v1], starting at element number [o1], to array [v2],
81
81
starting at element number [o2]. It works correctly even if
82
82
[v1] and [v2] are the same array, and the source and
83
83
destination chunks overlap.
84
84
85
- Raise [Invalid_argument "Array.blit"] if [o1] and [len] do not
86
- designate a valid subarray of [v1], or if [o2] and [len] do not
87
- designate a valid subarray of [v2]. *)
88
- external blitUnsafe :
85
+ return false means the input is invalid, the array is unchnaged
86
+ *)
87
+ external blitUnsafe :
89
88
'a array -> int -> 'a array -> int -> int -> unit = " caml_array_blit"
90
89
91
- val toList : 'a array -> 'a list
90
+ val toList : 'a array -> 'a list
92
91
93
92
94
- val ofList : 'a list -> 'a array
93
+ val ofList : 'a list -> 'a array
95
94
96
- val iter : 'a array -> ('a -> unit [@ bs]) -> unit
95
+ val forEach : 'a array -> ('a -> unit [@ bs]) -> unit
97
96
98
- val map : 'a array -> ('a -> 'b [@ bs]) -> 'b array
97
+ val map : 'a array -> ('a -> 'b [@ bs]) -> 'b array
99
98
100
- val iteri : 'a array -> (int -> 'a -> unit [@ bs]) -> unit
99
+ val forEachi : 'a array -> (int -> 'a -> unit [@ bs]) -> unit
101
100
102
- val mapi : 'a array -> (int -> 'a -> 'b [@ bs]) -> 'b array
101
+ val mapi : 'a array -> (int -> 'a -> 'b [@ bs]) -> 'b array
103
102
104
- val foldLeft : 'b array -> 'a -> ('a -> 'b -> 'a [@ bs]) ->'a
103
+ val reduce : 'b array -> 'a -> ('a -> 'b -> 'a [@ bs]) ->'a
105
104
106
- val foldRight : 'b array -> 'a -> ('a -> 'b -> 'a [@ bs]) -> 'a
105
+ val reduceFromTail : 'b array -> 'a -> ('a -> 'b -> 'a [@ bs]) -> 'a
107
106
108
107
val forAll : 'a array -> ('a -> bool [@ bs]) -> bool
109
108
110
109
(* * [forAll2 a b] return false when [length a <> length b] *)
111
110
val forAll2 : 'a array -> 'b array -> ('a -> 'b -> bool [@ bs]) -> bool
112
111
113
- external unsafe_get : 'a array -> int -> 'a = " %array_unsafe_get"
114
- external unsafe_set : 'a array -> int -> 'a -> unit = " %array_unsafe_set"
115
- external truncateToLengthUnsafe : 'a array -> int -> unit = " length" [@@ bs.set]
112
+ val cmp : 'a array -> 'a array -> ('a -> 'a -> int [@ bs]) -> int
113
+ val eq : 'a array -> 'a array -> ('a -> 'a -> bool [@ bs]) -> bool
114
+
115
+ external unsafe_get : 'a array -> int -> 'a = " %array_unsafe_get"
116
+ external unsafe_set : 'a array -> int -> 'a -> unit = " %array_unsafe_set"
117
+ external truncateToLengthUnsafe : 'a array -> int -> unit = " length" [@@ bs.set]
0 commit comments