File: marshal_bigarray.ml

package info (click to toggle)
js-of-ocaml 6.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 37,932 kB
  • sloc: ml: 135,957; javascript: 58,364; ansic: 437; makefile: 422; sh: 12; perl: 4
file content (14 lines) | stat: -rw-r--r-- 430 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(* TEST *)

let () =
  let small = 0xfffe and large = 0xffff in
  let marshalled dim =
    let ba = Bigarray.(Array1.create int8_unsigned c_layout dim) in
    Marshal.to_string ba []
  in
  (* Bigarray dimension marshalling scheme: use an extra 8 bytes
     to marshal dimensions >=0xffff to avoid overflow *)
  assert
    (((String.length (marshalled large) - String.length (marshalled small))
      - (large - small))
     = 8)