Module Owl_ext

Extension: interoperation on different number types

include Owl_ext_types
type flt =
| Flt
type cpx =
| Cpx
type mat =
| Mat
type vec =
| Vec
type arr =
| Arr
type num =
| Num
type p32 =
| P32
type p64 =
| P64
type dns =
| Dns
type 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 =
| TYP_F : float -> (dnsnumfltp64) typ
| TYP_C : Stdlib.Complex.t -> (dnsnumcpxp64) typ
| TYP_DMS : dms -> (dnsmatfltp32) typ
| TYP_DMD : dmd -> (dnsmatfltp64) typ
| TYP_DMC : dmc -> (dnsmatcpxp32) typ
| TYP_DMZ : dmz -> (dnsmatcpxp64) typ
| TYP_DAS : das -> (dnsarrfltp32) typ
| TYP_DAD : dad -> (dnsarrfltp64) typ
| TYP_DAC : dac -> (dnsarrcpxp32) typ
| TYP_DAZ : daz -> (dnsarrcpxp64) typ
| TYP_SMS : sms -> (spsmatfltp32) typ
| TYP_SMD : smd -> (spsmatfltp64) typ
| TYP_SMC : sms -> (spsmatcpxp32) typ
| TYP_SMZ : smd -> (spsmatcpxp64) typ
| TYP_SAS : sas -> (spsarrfltp32) typ
| TYP_SAD : sad -> (spsarrfltp64) typ
| TYP_SAC : sac -> (spsarrcpxp32) typ
| TYP_SAZ : saz -> (spsarrcpxp64) typ
type ('a, 'b) elt =
| Flt32 : (fltp32) elt
| Flt64 : (fltp64) elt
| Cpx32 : (cpxp32) elt
| Cpx64 : (cpxp64) elt
type ('a, 'b) box =
| DM : (dnsmat) box
| DA : (dnsmat) box
| SM : (spsarr) box
| SA : (spsarr) box
type 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 Owl_ext_uniop
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 re : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val im : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val conj : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val min' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val max' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val minmax' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ * Owl_ext_types.ext_typ
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)
val inv : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val trace : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sum' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val prod' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val abs : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val abs2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val neg : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val reci : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val signum : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sqr : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sqrt : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val cbrt : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val exp : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val exp2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val expm1 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val log : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val log10 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val log2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val log1p : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sin : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val cos : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val tan : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val asin : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val acos : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val atan : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sinh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val cosh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val tanh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val asinh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val acosh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val atanh : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val floor : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val ceil : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val round : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val trunc : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val erf : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val erfc : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val logistic : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val relu : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val softplus : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val softsign : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val softmax : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val sigmoid : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val log_sum_exp' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val l1norm' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val l2norm' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val l2norm_sqr' : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
include Owl_ext_binop
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
val (+) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (-) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (*) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (/) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (%) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (**) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (=) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (<>) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (<) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (>) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (<=) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (>=) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (=.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (<>.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (<.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (>.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (<=.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (>=.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val min2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val max2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (*@) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val atan2 : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
val (!=) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> bool
val (!=.) : Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ -> Owl_ext_types.ext_typ
module Dense : sig ... end