fpnla-examples-0.1: src/FPNLA/Operations/BLAS/Strategies/GEMV.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
module FPNLA.Operations.BLAS.Strategies.GEMV (
) where
import FPNLA.Matrix (asColumn_vm, toCols_vm)
import FPNLA.Operations.BLAS (GEMM (gemm), GEMV (gemv))
import FPNLA.Operations.Parameters (ResM, TransType (..), blasResultV,
getResultDataM)
instance (GEMM s m v e) => GEMV s m v e where
gemv strat tmA vB alpha beta vC =
blasResultV . head . toCols_vm. getResultDataM $
call_gemm tmA pmB alpha beta pmC
where pmB = NoTrans $ asColumn_vm vB
pmC = asColumn_vm vC
call_gemm mA mB alpha beta mC = gemm strat mA mB alpha beta mC :: ResM s v m e