packages feed

llvm-extra-0.12.1: src/LLVM/Extra/Multi/Vector/Instance.hs

module LLVM.Extra.Multi.Vector.Instance
   {-# DEPRECATED "Use LLVM.Extra.Nice.Vector.Instance instead." #-}
   where

import qualified LLVM.Extra.Nice.Vector.Instance as Inst
import qualified LLVM.Extra.Nice.Vector as Vector

import Prelude2010
import Prelude ()


type MVVector n a = Inst.NVVector n a

toMultiValue :: Vector.T n a -> MVVector n a
toMultiValue = Inst.toNiceValue

fromMultiValue :: MVVector n a -> Vector.T n a
fromMultiValue = Inst.fromNiceValue

liftMultiValueM ::
   (Functor f) =>
   (Vector.T n a -> f (Vector.T m b)) ->
   (MVVector n a -> f (MVVector m b))
liftMultiValueM = Inst.liftNiceValueM

liftMultiValueM2 ::
   (Functor f) =>
   (Vector.T n a -> Vector.T m b -> f (Vector.T k c)) ->
   (MVVector n a -> MVVector m b -> f (MVVector k c))
liftMultiValueM2 = Inst.liftNiceValueM2

liftMultiValueM3 ::
   (Functor f) =>
   (Vector.T n a -> Vector.T m b -> Vector.T m c -> f (Vector.T k d)) ->
   (MVVector n a -> MVVector m b -> MVVector m c -> f (MVVector k d))
liftMultiValueM3 = Inst.liftNiceValueM3