casadi-bindings 2.1.3.1 → 2.1.3.2
raw patch · 5 files changed
+39/−1 lines, 5 files
Files
- casadi-bindings.cabal +2/−1
- src/Casadi/DMatrix.hs +6/−0
- src/Casadi/MX.hs +6/−0
- src/Casadi/SX.hs +6/−0
- src/Casadi/Slice.hs +19/−0
casadi-bindings.cabal view
@@ -1,5 +1,5 @@ name: casadi-bindings-version: 2.1.3.1+version: 2.1.3.2 synopsis: mid-level bindings to CasADi category: Numerical, Math description:@@ -49,6 +49,7 @@ Casadi.Option Casadi.Overloading Casadi.SharedObject+ Casadi.Slice Casadi.SX Casadi.SXElement Casadi.SXFunction
src/Casadi/DMatrix.hs view
@@ -6,6 +6,7 @@ , dsize, dsize1, dsize2, dnumel , dvertcat, dhorzcat, dveccat, dvertsplit, dhorzsplit , dones, dzeros+ , dindexed ) where import qualified Data.Vector as V@@ -14,6 +15,7 @@ import Casadi.Core.Classes.Sparsity import Casadi.Core.Classes.DMatrix+import Casadi.Core.Classes.Slice ( Slice ) import qualified Casadi.Core.Tools as C import Casadi.Overloading ( Fmod(..), ArcTan2(..), SymOrd(..) )@@ -115,6 +117,10 @@ dzeros :: (Int,Int) -> DMatrix dzeros (r,c) = unsafePerformIO (dmatrix_zeros__3 r c) {-# NOINLINE dzeros #-}++dindexed :: DMatrix -> Slice -> Slice -> DMatrix+dindexed m sx sy = unsafePerformIO (dmatrix_indexed__5 m sx sy)+{-# NOINLINE dindexed #-} instance Num DMatrix where (+) x y = unsafePerformIO (dmatrix___add__ x y)
src/Casadi/MX.hs view
@@ -12,6 +12,7 @@ , size, size1, size2, numel , crs, vertcat, horzcat, veccat, vertsplit, horzsplit , ones, zeros+ , indexed ) where import Data.Vector ( Vector )@@ -22,6 +23,7 @@ import Casadi.Core.Classes.MX import Casadi.Core.Classes.DMatrix ( DMatrix ) import Casadi.Core.Classes.Sparsity ( Sparsity )+import Casadi.Core.Classes.Slice ( Slice ) import qualified Casadi.Core.Tools as C import Casadi.Overloading ( Fmod(..), ArcTan2(..), SymOrd(..) )@@ -152,6 +154,10 @@ zeros :: (Int,Int) -> MX zeros (r,c) = unsafePerformIO (mx_zeros__3 r c) {-# NOINLINE zeros #-}++indexed :: MX -> Slice -> Slice -> MX+indexed m sx sy = unsafePerformIO (mx_indexed__6 m sx sy)+{-# NOINLINE indexed #-} instance Num MX where (+) x y = unsafePerformIO (mx___add__ x y)
src/Casadi/SX.hs view
@@ -12,6 +12,7 @@ , ssize, ssize1, ssize2, snumel , scrs, svertcat, shorzcat, sveccat, svertsplit, shorzsplit , sones, szeros+ , sindexed ) where import qualified Data.Vector as V@@ -22,6 +23,7 @@ import Casadi.Core.Classes.SX import Casadi.Core.Classes.DMatrix ( DMatrix ) import Casadi.Core.Classes.Sparsity ( Sparsity )+import Casadi.Core.Classes.Slice ( Slice ) import qualified Casadi.Core.Tools as C import Casadi.Overloading ( Fmod(..), ArcTan2(..), SymOrd(..) )@@ -155,6 +157,10 @@ szeros :: (Int,Int) -> SX szeros (r,c) = unsafePerformIO (sx_zeros__3 r c) {-# NOINLINE szeros #-}++sindexed :: SX -> Slice -> Slice -> SX+sindexed m sx sy = unsafePerformIO (sx_indexed__5 m sx sy)+{-# NOINLINE sindexed #-} instance Num SX where (+) x y = unsafePerformIO (sx___add__ x y)
+ src/Casadi/Slice.hs view
@@ -0,0 +1,19 @@+{-# OPTIONS_GHC -Wall -fno-cse -fno-warn-orphans #-}++module Casadi.Slice+ ( Slice, slice+ ) where++import Data.Vector ( Vector )+import System.IO.Unsafe ( unsafePerformIO )++import Casadi.Core.Classes.Slice++instance Show Slice where+ show x = unsafePerformIO (slice_getDescription x)+ {-# NOINLINE show #-}++-- | slice start stop step+slice :: Int -> Int -> Int -> Slice+slice x y z = unsafePerformIO (slice__3 x y z)+{-# NOINLINE slice #-}