You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
5 years ago
|
(*
|
||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
|
*
|
||
|
* This source code is licensed under the MIT license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*)
|
||
|
|
||
|
let%test_module _ =
|
||
|
( module struct
|
||
5 years ago
|
(* let () = Trace.init ~margin:68 ~config:Trace.all () *)
|
||
|
let () = Trace.init ~margin:68 ()
|
||
5 years ago
|
|
||
|
open Exp
|
||
|
|
||
|
let pp e = Format.printf "@\n{desc= %a; term= %a}@." pp e Term.pp e.term
|
||
|
let ( ! ) i = integer Typ.siz (Z.of_int i)
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (signed 1 !1 ~to_:Typ.bool) ;
|
||
|
[%expect {| {desc= ((i1)(s1) 1); term= -1} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (unsigned 1 !(-1) ~to_:Typ.byt) ;
|
||
|
[%expect {| {desc= ((i8)(u1) -1); term= 1} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (signed 8 !(-1) ~to_:Typ.int) ;
|
||
|
[%expect {| {desc= ((i32)(s8) -1); term= -1} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (unsigned 8 !(-1) ~to_:Typ.int) ;
|
||
|
[%expect {| {desc= ((i32)(u8) -1); term= 255} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (signed 8 !255 ~to_:Typ.byt) ;
|
||
|
[%expect {| {desc= ((i8)(s8) 255); term= -1} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (signed 7 !255 ~to_:Typ.byt) ;
|
||
|
[%expect {| {desc= ((i8)(s7) 255); term= -1} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (unsigned 7 !255 ~to_:Typ.byt) ;
|
||
|
[%expect {| {desc= ((i8)(u7) 255); term= 127} |}]
|
||
|
|
||
|
let%expect_test _ =
|
||
|
pp (uge (integer Typ.bool Z.minus_one) (signed 1 !1 ~to_:Typ.bool)) ;
|
||
|
[%expect {| {desc= (-1 u≥ ((i1)(s1) 1)); term= -1} |}]
|
||
|
end )
|