Skip to content

Upgrade float32 support to beta #2541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions ocaml/otherlibs/alpha/.ocamlformat-enable
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
alpha.mli
alpha.ml
float32.mli
float32.ml
2 changes: 0 additions & 2 deletions ocaml/otherlibs/alpha/alpha.ml
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
module Float32 = Float32
module Float32_u = Float32_u
2 changes: 0 additions & 2 deletions ocaml/otherlibs/alpha/alpha.mli
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
module Float32 = Float32
module Float32_u = Float32_u
12 changes: 1 addition & 11 deletions ocaml/otherlibs/alpha/dune
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,9 @@
(alpha.cmxs as alpha/alpha.cmxs)
(alpha.cma as alpha/alpha.cma)
(alpha.mli as alpha/alpha.mli)
(float32.mli as alpha/float32.mli)
(float32_u.mli as alpha/float32_u.mli)
(.alpha.objs/byte/alpha.cmi as alpha/alpha.cmi)
(.alpha.objs/byte/alpha.cmt as alpha/alpha.cmt)
(.alpha.objs/byte/alpha.cmti as alpha/alpha.cmti)
(.alpha.objs/native/alpha.cmx as alpha/alpha.cmx)
(.alpha.objs/byte/float32.cmi as alpha/float32.cmi)
(.alpha.objs/byte/float32.cmt as alpha/float32.cmt)
(.alpha.objs/byte/float32.cmti as alpha/float32.cmti)
(.alpha.objs/native/float32.cmx as alpha/float32.cmx)
(.alpha.objs/byte/float32_u.cmi as alpha/float32_u.cmi)
(.alpha.objs/byte/float32_u.cmt as alpha/float32_u.cmt)
(.alpha.objs/byte/float32_u.cmti as alpha/float32_u.cmti)
(.alpha.objs/native/float32_u.cmx as alpha/float32_u.cmx))
(.alpha.objs/native/alpha.cmx as alpha/alpha.cmx))
(section lib)
(package ocaml))
2 changes: 2 additions & 0 deletions ocaml/otherlibs/beta/.ocamlformat-enable
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
beta.mli
beta.ml
float32.mli
float32.ml
2 changes: 2 additions & 0 deletions ocaml/otherlibs/beta/beta.ml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module Float32 = Float32
module Float32_u = Float32_u
2 changes: 2 additions & 0 deletions ocaml/otherlibs/beta/beta.mli
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module Float32 = Float32
module Float32_u = Float32_u
12 changes: 11 additions & 1 deletion ocaml/otherlibs/beta/dune
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,19 @@
(beta.cmxs as beta/beta.cmxs)
(beta.cma as beta/beta.cma)
(beta.mli as beta/beta.mli)
(float32.mli as beta/float32.mli)
(float32_u.mli as beta/float32_u.mli)
(.beta.objs/byte/beta.cmi as beta/beta.cmi)
(.beta.objs/byte/beta.cmt as beta/beta.cmt)
(.beta.objs/byte/beta.cmti as beta/beta.cmti)
(.beta.objs/native/beta.cmx as beta/beta.cmx))
(.beta.objs/native/beta.cmx as beta/beta.cmx)
(.beta.objs/byte/float32.cmi as beta/float32.cmi)
(.beta.objs/byte/float32.cmt as beta/float32.cmt)
(.beta.objs/byte/float32.cmti as beta/float32.cmti)
(.beta.objs/native/float32.cmx as beta/float32.cmx)
(.beta.objs/byte/float32_u.cmi as beta/float32_u.cmi)
(.beta.objs/byte/float32_u.cmt as beta/float32_u.cmt)
(.beta.objs/byte/float32_u.cmti as beta/float32_u.cmti)
(.beta.objs/native/float32_u.cmx as beta/float32_u.cmx))
(section lib)
(package ocaml))
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions ocaml/testsuite/tests/typing-layouts-float32/alloc.ml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
(* TEST
flambda2;
{
include alpha;
flags = "-extension-universe alpha";
include beta;
flags = "-extension-universe beta";
native;
}
*)
Expand All @@ -15,7 +15,7 @@
floats. *)

module Float32_u = struct
include Alpha.Float32_u
include Beta.Float32_u

let ( + ) = add
let ( - ) = sub
Expand Down
2 changes: 1 addition & 1 deletion ocaml/utils/language_extension.ml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ module Exist_pair = struct
| Pair (Layouts, m) -> m
| Pair (SIMD, ()) -> Stable
| Pair (Labeled_tuples, ()) -> Stable
| Pair (Small_numbers, ()) -> Alpha
| Pair (Small_numbers, ()) -> Beta

let is_erasable : t -> bool = function Pair (ext, _) -> is_erasable ext

Expand Down
8 changes: 4 additions & 4 deletions tests/small_numbers/dune
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
(executables
(names float32_builtin float32_lib float32_u_lib)
(modules float32_builtin float32_lib float32_u_lib)
(libraries alpha)
(libraries beta)
(foreign_archives stubs)
(ocamlopt_flags
(:standard -extension-universe alpha)))
(:standard -extension-universe beta)))

(rule
(enabled_if
Expand Down Expand Up @@ -64,12 +64,12 @@
float32_builtin_internal
float32_lib_internal
float32_u_lib_internal)
(libraries alpha)
(libraries beta)
(enabled_if
(<> %{system} macosx))
(foreign_archives stubs)
(ocamlopt_flags
(:standard -extension-universe alpha -internal-assembler)))
(:standard -extension-universe beta -internal-assembler)))

(rule
(enabled_if
Expand Down
2 changes: 1 addition & 1 deletion tests/small_numbers/float32_lib.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

(* Tests for the float32 otherlib *)

module F32 = Alpha.Float32
module F32 = Beta.Float32

module CF32 = struct
type t = float32
Expand Down
2 changes: 1 addition & 1 deletion tests/small_numbers/float32_u_lib.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

(* Tests for the float32 otherlib *)

module F32 = Alpha.Float32_u
module F32 = Beta.Float32_u

external box_int32 : int32# -> (int32[@local_opt]) = "%box_int32"
external unbox_int32 : (int32[@local_opt]) -> int32# = "%unbox_int32"
Expand Down
14 changes: 0 additions & 14 deletions testsuite/tests/lib-extensions/alpha_exports.ml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,3 @@
*)

open Alpha

(* Test that [Float32] is exported. *)

let () =
let one = Float32.of_float 1.0 in
assert (Float32.to_float one = 1.0)
;;

(* Test that [Float32_u] is exported. *)

let () =
let one = Float32_u.of_int 1 in
assert (Float32_u.to_int one = 1)
;;
14 changes: 14 additions & 0 deletions testsuite/tests/lib-extensions/beta_exports.ml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,17 @@
*)

open Beta

(* Test that [Float32] is exported. *)

let () =
let one = Float32.of_float 1.0 in
assert (Float32.to_float one = 1.0)
;;

(* Test that [Float32_u] is exported. *)

let () =
let one = Float32_u.of_int 1 in
assert (Float32_u.to_int one = 1)
;;
Loading