123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195# 1 "src/owl/ext/owl_ext_lifts.ml"(*
* OWL - OCaml Scientific and Engineering Computing
* Copyright (c) 2016-2020 Liang Wang <liang.wang@cl.cam.ac.uk>
*)(* Currently, the lifting is done by element-by-elment copying. This will be
very inefficient on large data chunks. The performance of this module needs
to be improved in the future. *)openOwl_ext_types(* lift precision *)moduleDAS_DAD=structmoduleM=Owl_dense_ndarray.Genericletunpack_src=unpack_dasletpack_dst=pack_dadletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2dsrcinpack_dstdstendmoduleDAC_DAZ=structmoduleM=Owl_dense_ndarray.Genericletunpack_src=unpack_dacletpack_dst=pack_dazletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_c2zsrcinpack_dstdstendmoduleDMS_DMD=structmoduleM=Owl_dense_matrix.Genericletunpack_src=unpack_dmsletpack_dst=pack_dmdletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2dsrcinpack_dstdstendmoduleDMC_DMZ=structmoduleM=Owl_dense_matrix.Genericletunpack_src=unpack_dmcletpack_dst=pack_dmzletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_c2zsrcinpack_dstdstend(* lift element type *)moduleF_C=structletliftsrc=Complex.{re=unpack_fltsrc;im=0.}|>pack_cpxendmoduleDAS_DAC=structmoduleM=Owl_dense_ndarray.Genericletunpack_src=unpack_dasletpack_dst=pack_dacletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2csrcinpack_dstdstendmoduleDAD_DAZ=structmoduleM=Owl_dense_ndarray.Genericletunpack_src=unpack_dadletpack_dst=pack_dazletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_d2zsrcinpack_dstdstendmoduleDMS_DMC=structmoduleM=Owl_dense_matrix.Genericletunpack_src=unpack_dmsletpack_dst=pack_dmcletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2csrcinpack_dstdstendmoduleDMD_DMZ=structmoduleM=Owl_dense_matrix.Genericletunpack_src=unpack_dmdletpack_dst=pack_dmzletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_d2zsrcinpack_dstdstend(* lift both precision and element type *)moduleDAS_DAZ=structmoduleM=Owl_dense_ndarray.Genericletunpack_src=unpack_dasletpack_dst=pack_dazletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2zsrcinpack_dstdstendmoduleDMS_DMZ=structmoduleM=Owl_dense_matrix.Genericletunpack_src=unpack_dmsletpack_dst=pack_dmzletliftsrc=letsrc=unpack_srcsrcinletdst=M.cast_s2zsrcinpack_dstdstendmoduleDAC_DAD=structmoduleM=Owl_dense_ndarray.Genericletunpack_src0=unpack_dacletunpack_src1=unpack_dadletpack_dst=pack_dazletlift0src=letsrc=unpack_src0srcinletdst=M.cast_c2zsrcinpack_dstdstletlift1src=letsrc=unpack_src1srcinletdst=M.cast_d2zsrcinpack_dstdstendmoduleDMC_DMD=structmoduleM=Owl_dense_matrix.Genericletunpack_src0=unpack_dmcletunpack_src1=unpack_dmdletpack_dst=pack_dmzletlift0src=letsrc=unpack_src0srcinletdst=M.cast_c2zsrcinpack_dstdstletlift1src=letsrc=unpack_src1srcinletdst=M.cast_d2zsrcinpack_dstdstend(* ends here *)