Skip to content

Commit f05ee48

Browse files
committed
remove floatarray
1 parent 85d96db commit f05ee48

27 files changed

+22
-267
lines changed

jscomp/core/js_of_lam_array.ml

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,6 @@
2222
* along with this program; if not, write to the Free Software
2323
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
2424

25-
(*
26-
construct array,
27-
set array,
28-
ref array,
29-
30-
Also make sure, don't call any primitive array method, i.e [E.array_index_by_int]
31-
32-
We also need check primitive [caml_make_vect], i.e,
33-
[Caml_primitive['caml_make_vect']] see if it's correct
34-
35-
[caml_make_vect]
36-
[caml_array_sub]
37-
[caml_array_append]
38-
[caml_array_concat]
39-
[caml_make_float_vect]
40-
[caml_array_blit]
41-
42-
research: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
43-
44-
45-
*)
46-
4725
module E = Js_exp_make
4826

4927
(* Parrayref(u|s) *)

jscomp/core/js_of_lam_array.mli

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,5 @@ val make_array : J.mutable_flag -> J.expression list -> J.expression
2828
(** create an array *)
2929

3030
val set_array : J.expression -> J.expression -> J.expression -> J.expression
31-
(** Here we don't care about [array_kind],
32-
In the future, we might used TypedArray for FloatArray
33-
*)
3431

3532
val ref_array : J.expression -> J.expression -> J.expression

jscomp/core/lam_dispatch_primitive.ml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,6 @@ let translate loc (prim_name : string) (args : J.expression list) : J.expression
178178
like normal one to set the identifier *)
179179
| "?exn_slot_name" | "?is_extension" -> call Js_runtime_modules.exceptions
180180
| "?as_js_exn" -> call Js_runtime_modules.caml_js_exceptions
181-
| "?make_float_vect"
182-
| "?floatarray_create" (* TODO: compile float array into TypedArray*) ->
183-
E.runtime_call Js_runtime_modules.array "make_float" args
184181
| "?array_sub" -> E.runtime_call Js_runtime_modules.array "sub" args
185182
| "?array_concat" -> E.runtime_call Js_runtime_modules.array "concat" args
186183
(*external concat: 'a array list -> 'a array

jscomp/ml/predef.ml

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,12 @@ and ident_list = ident_create "list"
4040
and ident_option = ident_create "option"
4141
and ident_result = ident_create "result"
4242
and ident_dict = ident_create "dict"
43-
4443
and ident_int64 = ident_create "int64"
4544
and ident_bigint = ident_create "bigint"
4645
and ident_lazy_t = ident_create "lazy_t"
4746
and ident_string = ident_create "string"
4847
and ident_extension_constructor = ident_create "extension_constructor"
49-
and ident_floatarray = ident_create "floatarray"
50-
5148
and ident_unknown = ident_create "unknown"
52-
5349
and ident_promise = ident_create "promise"
5450
and ident_uncurried = ident_create "function$"
5551

@@ -58,18 +54,17 @@ type test =
5854
| For_sure_no
5955
| NA
6056

61-
let type_is_builtin_path_but_option (p : Path.t) : test =
57+
let type_is_builtin_path_but_option (p : Path.t) : test =
6258
match p with
63-
| Pident {stamp} ->
64-
if
65-
stamp >= ident_int.stamp
66-
&& stamp <= ident_floatarray.stamp
67-
then
68-
if (stamp = ident_option.stamp)
69-
|| (stamp = ident_unit.stamp) then
70-
For_sure_no
71-
else For_sure_yes
72-
else NA
59+
| Pident {stamp}
60+
when stamp = ident_option.stamp
61+
-> For_sure_no
62+
| Pident {stamp}
63+
when stamp = ident_unit.stamp
64+
-> For_sure_no
65+
| Pident {stamp}
66+
when stamp >= ident_int.stamp && stamp <= ident_uncurried.stamp
67+
-> For_sure_yes
7368
| _ -> NA
7469

7570
let path_int = Pident ident_int
@@ -83,17 +78,12 @@ and path_list = Pident ident_list
8378
and path_option = Pident ident_option
8479
and path_result = Pident ident_result
8580
and path_dict = Pident ident_dict
86-
87-
8881
and path_int64 = Pident ident_int64
8982
and path_bigint = Pident ident_bigint
9083
and path_lazy_t = Pident ident_lazy_t
9184
and path_string = Pident ident_string
92-
9385
and path_unkonwn = Pident ident_unknown
9486
and path_extension_constructor = Pident ident_extension_constructor
95-
and path_floatarray = Pident ident_floatarray
96-
9787
and path_promise = Pident ident_promise
9888
and path_uncurried = Pident ident_uncurried
9989

@@ -117,7 +107,6 @@ and type_string = newgenty (Tconstr(path_string, [], ref Mnil))
117107
and type_unknown = newgenty (Tconstr(path_unkonwn, [], ref Mnil))
118108
and type_extension_constructor =
119109
newgenty (Tconstr(path_extension_constructor, [], ref Mnil))
120-
and type_floatarray = newgenty (Tconstr(path_floatarray, [], ref Mnil))
121110

122111
let ident_match_failure = ident_create_predef_exn "Match_failure"
123112

@@ -316,9 +305,8 @@ let common_initial_env add_type add_extension empty_env =
316305
add_type ident_string decl_abstr (
317306
add_type ident_int decl_abstr_imm (
318307
add_type ident_extension_constructor decl_abstr (
319-
add_type ident_floatarray decl_abstr (
320308
add_type ident_promise decl_promise (
321-
empty_env))))))))))))))))))))))))))))
309+
empty_env)))))))))))))))))))))))))))
322310

323311
let build_initial_env add_type add_exception empty_env =
324312
let common = common_initial_env add_type add_exception empty_env in

jscomp/ml/predef.mli

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ val type_int64: type_expr
3434
val type_bigint: type_expr
3535
val type_lazy_t: type_expr -> type_expr
3636
val type_extension_constructor:type_expr
37-
val type_floatarray:type_expr
3837

3938
val path_int: Path.t
4039
val path_char: Path.t
@@ -53,7 +52,6 @@ val path_int64: Path.t
5352
val path_bigint: Path.t
5453
val path_lazy_t: Path.t
5554
val path_extension_constructor: Path.t
56-
val path_floatarray: Path.t
5755
val path_promise: Path.t
5856
val path_uncurried: Path.t
5957

jscomp/ml/translcore.ml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,6 @@ let primitives_table =
346346
("%array_safe_set", Parraysets);
347347
("%array_unsafe_get", Parrayrefu);
348348
("%array_unsafe_set", Parraysetu);
349-
("%floatarray_length", Parraylength);
350-
("%floatarray_safe_get", Parrayrefs);
351-
("%floatarray_safe_set", Parraysets);
352-
("%floatarray_unsafe_get", Parrayrefu);
353-
("%floatarray_unsafe_set", Parraysetu);
354349
("%lazy_force", Plazyforce);
355350
("%int64_of_int", Pbintofint Pint64);
356351
("%int64_to_int", Pintofbint Pint64);

jscomp/runtime/caml_array.res

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,6 @@ let make = (len, init) => {
8787
b
8888
}
8989

90-
let make_float = len => {
91-
let b = Caml_array_extern.new_uninitialized(len)
92-
for i in 0 to len - 1 {
93-
b->unsafe_set(i, 0.)
94-
}
95-
b
96-
}
97-
9890
let blit = (a1, i1, a2, i2, len) =>
9991
if i2 <= i1 {
10092
for j in 0 to len - 1 {

jscomp/runtime/caml_array.resi

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ let concat: list<array<'a>> => array<'a>
3030

3131
let make: (int, 'a) => array<'a>
3232

33-
let make_float: int => array<float>
34-
3533
let blit: (array<'a>, int, array<'a>, int, int) => unit
3634

3735
let get: (array<'a>, int) => 'a

jscomp/stdlib-406/array.res

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,6 @@ external unsafe_sub: (array<'a>, int, int) => array<'a> = "?array_sub"
2828

2929
external concat: list<array<'a>> => array<'a> = "?array_concat"
3030
external unsafe_blit: (array<'a>, int, array<'a>, int, int) => unit = "?array_blit"
31-
external create_float: int => array<float> = "?make_float_vect"
32-
let make_float = create_float
33-
34-
module Floatarray = {
35-
external create: int => floatarray = "?floatarray_create"
36-
external length: floatarray => int = "%floatarray_length"
37-
external get: (floatarray, int) => float = "%floatarray_safe_get"
38-
external set: (floatarray, int, float) => unit = "%floatarray_safe_set"
39-
external unsafe_get: (floatarray, int) => float = "%floatarray_unsafe_get"
40-
external unsafe_set: (floatarray, int, float) => unit = "%floatarray_unsafe_set"
41-
}
4231

4332
let init = (l, f) =>
4433
if l == 0 {

jscomp/stdlib-406/array.resi

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,6 @@ external make: (int, 'a) => array<'a> = "?make_vect"
5252
/** @deprecated [Array.create] is an alias for {!Array.make}. */
5353
external create: (int, 'a) => array<'a> = "?make_vect"
5454

55-
/** [Array.create_float n] returns a fresh float array of length [n],
56-
with uninitialized data.
57-
@since 4.03 */
58-
external create_float: int => array<float> = "?make_float_vect"
59-
60-
@deprecated("Use Array.create_float instead.")
61-
/** @deprecated [Array.make_float] is an alias for {!Array.create_float}. */
62-
let make_float: int => array<float>
63-
6455
/** [Array.init n f] returns a fresh array of length [n],
6556
with element number [i] initialized to the result of [f i].
6657
In other terms, [Array.init n f] tabulates the results of [f]
@@ -253,12 +244,3 @@ let fast_sort: (('a, 'a) => int, array<'a>) => unit
253244

254245
external unsafe_get: (array<'a>, int) => 'a = "%array_unsafe_get"
255246
external unsafe_set: (array<'a>, int, 'a) => unit = "%array_unsafe_set"
256-
257-
module Floatarray: {
258-
external create: int => floatarray = "?floatarray_create"
259-
external length: floatarray => int = "%floatarray_length"
260-
external get: (floatarray, int) => float = "%floatarray_safe_get"
261-
external set: (floatarray, int, float) => unit = "%floatarray_safe_set"
262-
external unsafe_get: (floatarray, int) => float = "%floatarray_unsafe_get"
263-
external unsafe_set: (floatarray, int, float) => unit = "%floatarray_unsafe_set"
264-
}

jscomp/stdlib-406/arrayLabels.res

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,6 @@ external unsafe_sub: (array<'a>, int, int) => array<'a> = "?array_sub"
2828

2929
external concat: list<array<'a>> => array<'a> = "?array_concat"
3030
external unsafe_blit: (array<'a>, int, array<'a>, int, int) => unit = "?array_blit"
31-
external create_float: int => array<float> = "?make_float_vect"
32-
let make_float = create_float
33-
34-
module Floatarray = {
35-
external create: int => floatarray = "?floatarray_create"
36-
external length: floatarray => int = "%floatarray_length"
37-
external get: (floatarray, int) => float = "%floatarray_safe_get"
38-
external set: (floatarray, int, float) => unit = "%floatarray_safe_set"
39-
external unsafe_get: (floatarray, int) => float = "%floatarray_unsafe_get"
40-
external unsafe_set: (floatarray, int, float) => unit = "%floatarray_unsafe_set"
41-
}
4231

4332
let init = (l, ~f) =>
4433
if l == 0 {

jscomp/stdlib-406/arrayLabels.resi

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,6 @@ let mem: ('a, ~set: array<'a>) => bool
194194
@since 4.03.0 */
195195
let memq: ('a, ~set: array<'a>) => bool
196196

197-
/** [Array.create_float n] returns a fresh float array of length [n],
198-
with uninitialized data.
199-
@since 4.03 */
200-
external create_float: int => array<float> = "?make_float_vect"
201-
202-
@deprecated("Use Array.create_float instead.")
203-
/** @deprecated [Array.make_float] is an alias for
204-
{!Array.create_float}. */
205-
let make_float: int => array<float>
206-
207197
/* {1 Sorting} */
208198

209199
/** Sort an array in increasing order according to a comparison
@@ -253,12 +243,3 @@ let fast_sort: (~cmp: ('a, 'a) => int, array<'a>) => unit
253243

254244
external unsafe_get: (array<'a>, int) => 'a = "%array_unsafe_get"
255245
external unsafe_set: (array<'a>, int, 'a) => unit = "%array_unsafe_set"
256-
257-
module Floatarray: {
258-
external create: int => floatarray = "?floatarray_create"
259-
external length: floatarray => int = "%floatarray_length"
260-
external get: (floatarray, int) => float = "%floatarray_safe_get"
261-
external set: (floatarray, int, float) => unit = "%floatarray_safe_set"
262-
external unsafe_get: (floatarray, int) => float = "%floatarray_unsafe_get"
263-
external unsafe_set: (floatarray, int, float) => unit = "%floatarray_unsafe_set"
264-
}

jscomp/test/array_test.js

Lines changed: 4 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jscomp/test/array_test.res

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,7 @@ module Make = (Array: ARRAY) => {
5454
},
5555
),
5656
("concat", _ => Eq([0, 1, 2, 3, 4, 5], Array.concat(list{[0, 1, 2], [3, 4], [], [5]}))),
57-
(
58-
"make",
59-
_ => Eq(
60-
(Array.make(100, 'a'), Array.make_float(100)),
61-
(Array.init(100, _ => 'a'), Array.init(100, _ => 0.)),
62-
),
63-
),
57+
("make", _ => Eq(Array.make(100, 'a'), Array.init(100, _ => 'a'))),
6458
("sub", _ => Eq(Array.sub([0, 1, 2, 3, 4], 2, 2), [2, 3])),
6559
(
6660
"blit",

jscomp/test/build.ninja

Lines changed: 1 addition & 2 deletions
Large diffs are not rendered by default.

jscomp/test/floatarray_test.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

jscomp/test/floatarray_test.res

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)