All pastes #461732 Raw Edit

Mine

public text v1 · immutable
#461732 ·published 2007-04-27 21:11 UTC
rendered paste body
#use "topfind";;
#require "bigarray";;

type t =
    Int8 of (int, Bigarray.int8_signed_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | UInt8 of (int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | Int16 of (int, Bigarray.int16_signed_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | UInt16 of (int, Bigarray.int16_unsigned_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | Int32 of (int32, Bigarray.int32_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | Float32 of (float, Bigarray.float32_elt, Bigarray.c_layout) Bigarray.Genarray.t
  | Float64 of (float, Bigarray.float64_elt, Bigarray.c_layout) Bigarray.Genarray.t
;;

let numbers = Array.init 100000 (fun i -> i);;
let a = Bigarray.Genarray.create Bigarray.float32 Bigarray.c_layout [|2000|];;
let at = Float32 a;;
let (Float32 b) = at;;
(*
let a = Array.init (Bigarray.Array1.dim cs_lat) (fun i -> (cs_lat.{i}, cs_lon.{i}, i)) in
*)
let do_something x =
  let foo = Bigarray.array1_of_genarray x in
  let _ = foo.{0} ** 10.0 in
();;
Array.iter (fun _ -> let _ = do_something a in ()) numbers;;
Array.iter (fun _ -> let _ = do_something b in ()) numbers;;