{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-} ----------------------------------------------------------------------------- -- | -- Module : BLAS.Matrix.ReadOnly -- Copyright : Copyright (c) , Patrick Perry -- License : BSD3 -- Maintainer : Patrick Perry -- Stability : experimental -- module BLAS.Matrix.ReadOnly ( RMatrix(..) ) where import BLAS.Elem ( BLAS3 ) import qualified BLAS.Matrix.Base as Base import Data.Vector.Dense.Internal import Data.Matrix.Dense.Internal import qualified Data.Matrix.Dense.Operations as M class Base.Matrix a => RMatrix a e where -- | Apply to a vector getApply :: a (m,n) e -> DVector t n e -> IO (DVector r m e) -- | Apply to a matrix getApplyMat :: a (m,k) e -> DMatrix t (k,n) e -> IO (DMatrix r (m,n) e) instance (BLAS3 e) => RMatrix (DMatrix t) e where getApply = M.getApply getApplyMat = M.getApplyMat