Module Owl_ext

Extension: interoperation on different number types

include module type of struct include Owl_ext_types end
type flt = Owl_ext_types.flt =
| Flt
type cpx = Owl_ext_types.cpx =
| Cpx
type mat = Owl_ext_types.mat =
| Mat
type vec = Owl_ext_types.vec =
| Vec
type arr = Owl_ext_types.arr =
| Arr
type num = Owl_ext_types.num =
| Num
type p32 = Owl_ext_types.p32 =
| P32
type p64 = Owl_ext_types.p64 =
| P64
type dns = Owl_ext_types.dns =
| Dns
type sps = Owl_ext_types.sps =
| Sps
type dms = ( float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type dmd = ( float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type dmc = ( Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type dmz = ( Stdlib.Complex.t, Stdlib.Bigarray.complex64_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type das = ( float, Stdlib.Bigarray.float32_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type dad = ( float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type dac = ( Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type daz = ( Stdlib.Complex.t, Stdlib.Bigarray.complex64_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Genarray.t
type sms = ( float, Stdlib.Bigarray.float32_elt ) Owl_sparse_matrix_generic.t
type smd = ( float, Stdlib.Bigarray.float64_elt ) Owl_sparse_matrix_generic.t
type smc = ( Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt ) Owl_sparse_matrix_generic.t
type smz = ( Stdlib.Complex.t, Stdlib.Bigarray.complex64_elt ) Owl_sparse_matrix_generic.t
type sas = ( float, Stdlib.Bigarray.float32_elt ) Owl_sparse_ndarray_generic.t
type sad = ( float, Stdlib.Bigarray.float64_elt ) Owl_sparse_ndarray_generic.t
type sac = ( Stdlib.Complex.t, Stdlib.Bigarray.complex32_elt ) Owl_sparse_ndarray_generic.t
type saz = ( Stdlib.Complex.t, Stdlib.Bigarray.complex64_elt ) Owl_sparse_ndarray_generic.t
type ('a, 'b, 'c, 'd) typ = ( 'a, 'b, 'c, 'd ) Owl_ext_types.typ =
| TYP_F : float -> ( dns, num, flt, p64 ) typ
| TYP_C : Stdlib.Complex.t -> ( dns, num, cpx, p64 ) typ
| TYP_DMS : dms -> ( dns, mat, flt, p32 ) typ
| TYP_DMD : dmd -> ( dns, mat, flt, p64 ) typ
| TYP_DMC : dmc -> ( dns, mat, cpx, p32 ) typ
| TYP_DMZ : dmz -> ( dns, mat, cpx, p64 ) typ
| TYP_DAS : das -> ( dns, arr, flt, p32 ) typ
| TYP_DAD : dad -> ( dns, arr, flt, p64 ) typ
| TYP_DAC : dac -> ( dns, arr, cpx, p32 ) typ
| TYP_DAZ : daz -> ( dns, arr, cpx, p64 ) typ
| TYP_SMS : sms -> ( sps, mat, flt, p32 ) typ
| TYP_SMD : smd -> ( sps, mat, flt, p64 ) typ
| TYP_SMC : sms -> ( sps, mat, cpx, p32 ) typ
| TYP_SMZ : smd -> ( sps, mat, cpx, p64 ) typ
| TYP_SAS : sas -> ( sps, arr, flt, p32 ) typ
| TYP_SAD : sad -> ( sps, arr, flt, p64 ) typ
| TYP_SAC : sac -> ( sps, arr, cpx, p32 ) typ
| TYP_SAZ : saz -> ( sps, arr, cpx, p64 ) typ
type ('a, 'b) elt = ( 'a, 'b ) Owl_ext_types.elt =
| Flt32 : ( flt, p32 ) elt
| Flt64 : ( flt, p64 ) elt
| Cpx32 : ( cpx, p32 ) elt
| Cpx64 : ( cpx, p64 ) elt
type ('a, 'b) box = ( 'a, 'b ) Owl_ext_types.box =
| DM : ( dns, mat ) box
| DA : ( dns, mat ) box
| SM : ( sps, arr ) box
| SA : ( sps, arr ) box
type ext_typ = Owl_ext_types.ext_typ =
| F of float
| C of Stdlib.Complex.t
| DMS of dms
| DMD of dmd
| DMC of dmc
| DMZ of dmz
| DAS of das
| DAD of dad
| DAC of dac
| DAZ of daz
| SMS of sms
| SMD of smd
| SMC of sms
| SMZ of smd
| SAS of sas
| SAD of sad
| SAC of sac
| SAZ of saz
val type_info : ext_typ -> string
val pack_flt : float -> ext_typ
val unpack_flt : ext_typ -> float
val pack_cpx : Stdlib.Complex.t -> ext_typ
val unpack_cpx : ext_typ -> Stdlib.Complex.t
val pack_das : das -> ext_typ
val unpack_das : ext_typ -> das
val pack_dad : dad -> ext_typ
val unpack_dad : ext_typ -> dad
val pack_dac : dac -> ext_typ
val unpack_dac : ext_typ -> dac
val pack_daz : daz -> ext_typ
val unpack_daz : ext_typ -> daz
val pack_dms : dms -> ext_typ
val unpack_dms : ext_typ -> dms
val pack_dmd : dmd -> ext_typ
val unpack_dmd : ext_typ -> dmd
val pack_dmc : dmc -> ext_typ
val unpack_dmc : ext_typ -> dmc
val pack_dmz : dmz -> ext_typ
val unpack_dmz : ext_typ -> dmz
include module type of struct include Owl_ext_uniop end
val error_uniop : string -> Owl_ext_types.ext_typ -> 'a
module F = Owl_ext_uniop.F
module C = Owl_ext_uniop.C
module DAS = Owl_ext_uniop.DAS
module DAD = Owl_ext_uniop.DAD
module DMS = Owl_ext_uniop.DMS
module DMD = Owl_ext_uniop.DMD
module DAC = Owl_ext_uniop.DAC
module DAZ = Owl_ext_uniop.DAZ
module DMC = Owl_ext_uniop.DMC
module DMZ = Owl_ext_uniop.DMZ
val min_i : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ * int array
val max_i : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ * int array
val minmax_i : Owl_ext_types.ext_typ -> (Owl_ext_types.ext_typ * int array) * (Owl_ext_types.ext_typ * int array)
include module type of struct include Owl_ext_binop end
val error_binop : string -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> 'a
module F_F = Owl_ext_binop.F_F
module F_C = Owl_ext_binop.F_C
module C_F = Owl_ext_binop.C_F
module C_C = Owl_ext_binop.C_C
module F_DAS = Owl_ext_binop.F_DAS
module DAS_F = Owl_ext_binop.DAS_F
module DAS_DAS = Owl_ext_binop.DAS_DAS
module F_DAD = Owl_ext_binop.F_DAD
module DAD_F = Owl_ext_binop.DAD_F
module DAD_DAD = Owl_ext_binop.DAD_DAD
module F_DMS = Owl_ext_binop.F_DMS
module DMS_F = Owl_ext_binop.DMS_F
module DMS_DMS = Owl_ext_binop.DMS_DMS
module F_DMD = Owl_ext_binop.F_DMD
module DMD_F = Owl_ext_binop.DMD_F
module DMD_DMD = Owl_ext_binop.DMD_DMD
module C_DAC = Owl_ext_binop.C_DAC
module DAC_C = Owl_ext_binop.DAC_C
module DAC_DAC = Owl_ext_binop.DAC_DAC
module C_DAZ = Owl_ext_binop.C_DAZ
module DAZ_C = Owl_ext_binop.DAZ_C
module DAZ_DAZ = Owl_ext_binop.DAZ_DAZ
module C_DMC = Owl_ext_binop.C_DMC
module DMC_C = Owl_ext_binop.DMC_C
module DMC_DMC = Owl_ext_binop.DMC_DMC
module C_DMZ = Owl_ext_binop.C_DMZ
module DMZ_C = Owl_ext_binop.DMZ_C
module DMZ_DMZ = Owl_ext_binop.DMZ_DMZ
module DAS_DAD = Owl_ext_binop.DAS_DAD
module DAD_DAS = Owl_ext_binop.DAD_DAS
module DAC_DAZ = Owl_ext_binop.DAC_DAZ
module DAZ_DAC = Owl_ext_binop.DAZ_DAC
module DMS_DMD = Owl_ext_binop.DMS_DMD
module DMD_DMS = Owl_ext_binop.DMD_DMS
module DMC_DMZ = Owl_ext_binop.DMC_DMZ
module DMZ_DMC = Owl_ext_binop.DMZ_DMC
module F_DAC = Owl_ext_binop.F_DAC
module DAC_F = Owl_ext_binop.DAC_F
module F_DAZ = Owl_ext_binop.F_DAZ
module DAZ_F = Owl_ext_binop.DAZ_F
module C_DAS = Owl_ext_binop.C_DAS
module DAS_C = Owl_ext_binop.DAS_C
module C_DAD = Owl_ext_binop.C_DAD
module DAD_C = Owl_ext_binop.DAD_C
module DAS_DAC = Owl_ext_binop.DAS_DAC
module DAC_DAS = Owl_ext_binop.DAC_DAS
module DAD_DAZ = Owl_ext_binop.DAD_DAZ
module DAZ_DAD = Owl_ext_binop.DAZ_DAD
module F_DMC = Owl_ext_binop.F_DMC
module DMC_F = Owl_ext_binop.DMC_F
module F_DMZ = Owl_ext_binop.F_DMZ
module DMZ_F = Owl_ext_binop.DMZ_F
module C_DMS = Owl_ext_binop.C_DMS
module DMS_C = Owl_ext_binop.DMS_C
module C_DMD = Owl_ext_binop.C_DMD
module DMD_C = Owl_ext_binop.DMD_C
module DMS_DMC = Owl_ext_binop.DMS_DMC
module DMC_DMS = Owl_ext_binop.DMC_DMS
module DMD_DMZ = Owl_ext_binop.DMD_DMZ
module DMZ_DMD = Owl_ext_binop.DMZ_DMD
module DAS_DAZ = Owl_ext_binop.DAS_DAZ
module DAZ_DAS = Owl_ext_binop.DAZ_DAS
module DMS_DMZ = Owl_ext_binop.DMS_DMZ
module DMZ_DMS = Owl_ext_binop.DMZ_DMS
module DAC_DAD = Owl_ext_binop.DAC_DAD
module DAD_DAC = Owl_ext_binop.DAD_DAC
module DMC_DMD = Owl_ext_binop.DMC_DMD
module DMD_DMC = Owl_ext_binop.DMD_DMC
module Dense : sig ... end