fpnla-examples-0.1: src/FPNLA/Operations/BLAS/Strategies/DOT/DefSeq.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module FPNLA.Operations.BLAS.Strategies.DOT.DefSeq (
) where
import FPNLA.Matrix (Vector, foldr_v, zipWith_v)
import FPNLA.Operations.BLAS (DOT (dot))
import FPNLA.Operations.Parameters (Elt, blasResultS)
import FPNLA.Operations.BLAS.Strategies.DataTypes (DefSeq)
instance (Elt e, Vector v e) => DOT DefSeq v e where
dot _ pvA pvB = blasResultS . foldr_v (+) 0 $ zipWith_v (*) pvA pvB