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 :: forall n a. T n a -> MVVector n a
toMultiValue = T n a -> NVVector n a
forall n a. T n a -> MVVector n a
Inst.toNiceValue

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

liftMultiValueM ::
   (Functor f) =>
   (Vector.T n a -> f (Vector.T m b)) ->
   (MVVector n a -> f (MVVector m b))
liftMultiValueM :: forall (f :: * -> *) n a m b.
Functor f =>
(T n a -> f (T m b)) -> MVVector n a -> f (MVVector m b)
liftMultiValueM = (T n a -> f (T m b)) -> NVVector n a -> f (NVVector m b)
forall (f :: * -> *) n a m b.
Functor f =>
(T n a -> f (T m b)) -> MVVector n a -> f (MVVector m b)
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 :: forall (f :: * -> *) n a m b k c.
Functor f =>
(T n a -> T m b -> f (T k c))
-> MVVector n a -> MVVector m b -> f (MVVector k c)
liftMultiValueM2 = (T n a -> T m b -> f (T k c))
-> NVVector n a -> NVVector m b -> f (NVVector k c)
forall (f :: * -> *) n a m b k c.
Functor f =>
(T n a -> T m b -> f (T k c))
-> MVVector n a -> MVVector m b -> f (MVVector k c)
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 :: forall (f :: * -> *) n a m b c k d.
Functor f =>
(T n a -> T m b -> T m c -> f (T k d))
-> MVVector n a -> MVVector m b -> MVVector m c -> f (MVVector k d)
liftMultiValueM3 = (T n a -> T m b -> T m c -> f (T k d))
-> NVVector n a -> NVVector m b -> NVVector m c -> f (NVVector k d)
forall (f :: * -> *) n a m b c k d.
Functor f =>
(T n a -> T m b -> T m c -> f (T k d))
-> MVVector n a -> MVVector m b -> MVVector m c -> f (MVVector k d)
Inst.liftNiceValueM3