pax_global_header00006660000000000000000000000064134466440710014523gustar00rootroot0000000000000052 comment=1b7e1fe8ed50f940d98a7ef09fed50ad5329f538 bigarray-compat-1.0.0/000077500000000000000000000000001344664407100146025ustar00rootroot00000000000000bigarray-compat-1.0.0/.gitignore000066400000000000000000000000321344664407100165650ustar00rootroot00000000000000_build/ *.install .merlin bigarray-compat-1.0.0/README.md000066400000000000000000000002671344664407100160660ustar00rootroot00000000000000# bigarray-compat A library that exposes `Stdlib.Bigarray` when possible (>= 4.07) but can fallback to `Bigarray`. The compability bigarray module is exposed under `Bigarray_compat`.bigarray-compat-1.0.0/bigarray-compat.opam000066400000000000000000000011151344664407100205370ustar00rootroot00000000000000opam-version: "2.0" maintainer: "Lucas Pluvinage " authors: [ "Lucas Pluvinage " ] license: "ISC" homepage: "https://github.com/mirage/bigarray-compat" bug-reports: "https://github.com/mirage/bigarray-compat/issues" dev-repo: "git+https://github.com/mirage/bigarray-compat.git" build: [ ["dune" "subst"] {pinned} ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.03.0"} "dune" {build & >= "1.0"} ] synopsis: "Compatibility library to use Stdlib.Bigarray when possible" name: "bigarray-compat" version: "1.0.0" bigarray-compat-1.0.0/dune-project000066400000000000000000000000471344664407100171250ustar00rootroot00000000000000(lang dune 1.0) (name bigarray-compat) bigarray-compat-1.0.0/src/000077500000000000000000000000001344664407100153715ustar00rootroot00000000000000bigarray-compat-1.0.0/src/bigarray_pre407.ml000066400000000000000000000000201344664407100206140ustar00rootroot00000000000000include Bigarraybigarray-compat-1.0.0/src/bigarray_stdlib.ml000066400000000000000000000000271344664407100210630ustar00rootroot00000000000000include Stdlib.Bigarraybigarray-compat-1.0.0/src/dune000066400000000000000000000027451344664407100162570ustar00rootroot00000000000000(* -*- tuareg -*- *) open Jbuild_plugin type t = { major: int; minor: int; patch: int option; extra: string option } let v ?patch ?extra major minor = { major; minor; patch; extra } let major { major; _ } = major let minor { minor; _ } = minor let patch { patch; _ } = patch let extra { extra; _ } = extra let parse s = try Scanf.sscanf s "%d.%d.%d+%s" (fun major minor patch extra -> v ~patch ~extra major minor) with End_of_file | Scanf.Scan_failure _ -> begin try Scanf.sscanf s "%d.%d+%s" (fun major minor extra -> v ~extra major minor) with End_of_file | Scanf.Scan_failure _ -> begin try Scanf.sscanf s "%d.%d.%d" (fun major minor patch -> v ~patch major minor) with End_of_file | Scanf.Scan_failure _ -> begin Scanf.sscanf s "%d.%d" (fun major minor -> v major minor) end end end let ocaml_version = V1.ocaml_version |> parse let has_bigarray_in_stdlib = major ocaml_version >= 4 && minor ocaml_version >= 7 let base_dune = "(library (name bigarray_compat) (public_name bigarray-compat) (modules bigarray_compat) (wrapped false)" let dune_file_stdlib = base_dune^") (rule (targets bigarray_compat.ml) (action (copy bigarray_stdlib.ml bigarray_compat.ml)))" let dune_file_pre407 = base_dune^"(libraries bigarray)) (rule (targets bigarray_compat.ml) (action (copy bigarray_pre407.ml bigarray_compat.ml)))" let _ = match has_bigarray_in_stdlib with | true -> V1.send dune_file_stdlib | false -> V1.send dune_file_pre407