packages feed

casadi-bindings-1.9.0.0: Casadi/Wrappers/Classes/Slice.hs

{-# OPTIONS_GHC -Wall #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# Language ForeignFunctionInterface #-}
{-# Language FlexibleInstances #-}
{-# Language MultiParamTypeClasses #-}

module Casadi.Wrappers.Classes.Slice
       (
         Slice,
         SliceClass(..),
         slice,
         slice',
         slice'',
         slice''',
         slice'''',
         slice''''',
         slice_getAll,
         slice_getAll',
         slice_isSlice,
         slice_isSlice2,
         slice_operator_equals,
         slice_operator_nequals,
       ) where


import Prelude hiding ( Functor )

import Data.Vector ( Vector )
import Foreign.C.Types
import Foreign.Ptr ( Ptr )
import Foreign.ForeignPtr ( newForeignPtr )
import System.IO.Unsafe ( unsafePerformIO ) -- for show instances

import Casadi.Wrappers.Classes.PrintableObject
import Casadi.Wrappers.CToolsInstances ( )
import Casadi.Wrappers.Data
import Casadi.Wrappers.Enums
import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
import Casadi.Marshal ( Marshal(..), withMarshal )
import Casadi.WrapReturn ( WrapReturn(..) )

instance Show Slice where
  show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__isSlice" c_CasADi__Slice__isSlice
  :: Ptr (CppVec CInt) -> IO CInt
casADi__Slice__isSlice
  :: Vector Int -> IO Bool
casADi__Slice__isSlice x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__Slice__isSlice x0' >>= wrapReturn

-- classy wrapper
slice_isSlice :: Vector Int -> IO Bool
slice_isSlice = casADi__Slice__isSlice


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__isSlice2" c_CasADi__Slice__isSlice2
  :: Ptr (CppVec CInt) -> IO CInt
casADi__Slice__isSlice2
  :: Vector Int -> IO Bool
casADi__Slice__isSlice2 x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__Slice__isSlice2 x0' >>= wrapReturn

-- classy wrapper
slice_isSlice2 :: Vector Int -> IO Bool
slice_isSlice2 = casADi__Slice__isSlice2


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__getAll" c_CasADi__Slice__getAll
  :: Ptr Slice' -> CInt -> IO (Ptr (CppVec CInt))
casADi__Slice__getAll
  :: Slice -> Int -> IO (Vector Int)
casADi__Slice__getAll x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__Slice__getAll x0' x1' >>= wrapReturn

-- classy wrapper
{-|
>>  std::vector< int > CasADi::Slice::getAll(int len) const 
>------------------------------------------------------------------------
>
>Get a vector of indices.
>
>>  std::vector< int > CasADi::Slice::getAll(const Slice &outer, int len) const 
>------------------------------------------------------------------------
>
>Get a vector of indices (nested slice)
-}
slice_getAll :: SliceClass a => a -> Int -> IO (Vector Int)
slice_getAll x = casADi__Slice__getAll (castSlice x)


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__getAll_TIC" c_CasADi__Slice__getAll_TIC
  :: Ptr Slice' -> Ptr Slice' -> CInt -> IO (Ptr (CppVec CInt))
casADi__Slice__getAll'
  :: Slice -> Slice -> Int -> IO (Vector Int)
casADi__Slice__getAll' x0 x1 x2 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  withMarshal x2 $ \x2' ->
  c_CasADi__Slice__getAll_TIC x0' x1' x2' >>= wrapReturn

-- classy wrapper
slice_getAll' :: SliceClass a => a -> Slice -> Int -> IO (Vector Int)
slice_getAll' x = casADi__Slice__getAll' (castSlice x)


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__operator_equals" c_CasADi__Slice__operator_equals
  :: Ptr Slice' -> Ptr Slice' -> IO CInt
casADi__Slice__operator_equals
  :: Slice -> Slice -> IO Bool
casADi__Slice__operator_equals x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__Slice__operator_equals x0' x1' >>= wrapReturn

-- classy wrapper
slice_operator_equals :: SliceClass a => a -> Slice -> IO Bool
slice_operator_equals x = casADi__Slice__operator_equals (castSlice x)


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__operator_nequals" c_CasADi__Slice__operator_nequals
  :: Ptr Slice' -> Ptr Slice' -> IO CInt
casADi__Slice__operator_nequals
  :: Slice -> Slice -> IO Bool
casADi__Slice__operator_nequals x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__Slice__operator_nequals x0' x1' >>= wrapReturn

-- classy wrapper
slice_operator_nequals :: SliceClass a => a -> Slice -> IO Bool
slice_operator_nequals x = casADi__Slice__operator_nequals (castSlice x)


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice" c_CasADi__Slice__Slice
  :: IO (Ptr Slice')
casADi__Slice__Slice
  :: IO Slice
casADi__Slice__Slice  =
  c_CasADi__Slice__Slice  >>= wrapReturn

-- classy wrapper
{-|
>>  CasADi::Slice::Slice()
>------------------------------------------------------------------------
>
>Defailt constructor - all elements.
>
>>  CasADi::Slice::Slice(int i)
>------------------------------------------------------------------------
>
>A single element.
>
>>  CasADi::Slice::Slice(int start, int stop, int step=1)
>------------------------------------------------------------------------
>
>A slice.
>
>>  CasADi::Slice::Slice(const std::vector< int > &v)
>------------------------------------------------------------------------
>
>Construct from an index vector (requires isSlice(v) to be true)
>
>>  CasADi::Slice::Slice(const std::vector< int > &v, Slice &outer)
>------------------------------------------------------------------------
>
>Construct nested slices from an index vector (requires isSlice2(v) to be
>true)
-}
slice :: IO Slice
slice = casADi__Slice__Slice


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice_TIC" c_CasADi__Slice__Slice_TIC
  :: CInt -> IO (Ptr Slice')
casADi__Slice__Slice'
  :: Int -> IO Slice
casADi__Slice__Slice' x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__Slice__Slice_TIC x0' >>= wrapReturn

-- classy wrapper
slice' :: Int -> IO Slice
slice' = casADi__Slice__Slice'


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC
  :: CInt -> CInt -> CInt -> IO (Ptr Slice')
casADi__Slice__Slice''
  :: Int -> Int -> Int -> IO Slice
casADi__Slice__Slice'' x0 x1 x2 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  withMarshal x2 $ \x2' ->
  c_CasADi__Slice__Slice_TIC_TIC x0' x1' x2' >>= wrapReturn

-- classy wrapper
slice'' :: Int -> Int -> Int -> IO Slice
slice'' = casADi__Slice__Slice''


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC
  :: CInt -> CInt -> IO (Ptr Slice')
casADi__Slice__Slice'''
  :: Int -> Int -> IO Slice
casADi__Slice__Slice''' x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__Slice__Slice_TIC_TIC_TIC x0' x1' >>= wrapReturn

-- classy wrapper
slice''' :: Int -> Int -> IO Slice
slice''' = casADi__Slice__Slice'''


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC
  :: Ptr (CppVec CInt) -> IO (Ptr Slice')
casADi__Slice__Slice''''
  :: Vector Int -> IO Slice
casADi__Slice__Slice'''' x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC x0' >>= wrapReturn

-- classy wrapper
slice'''' :: Vector Int -> IO Slice
slice'''' = casADi__Slice__Slice''''


-- direct wrapper
foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC
  :: Ptr (CppVec CInt) -> Ptr Slice' -> IO (Ptr Slice')
casADi__Slice__Slice'''''
  :: Vector Int -> Slice -> IO Slice
casADi__Slice__Slice''''' x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn

-- classy wrapper
slice''''' :: Vector Int -> Slice -> IO Slice
slice''''' = casADi__Slice__Slice'''''