diff --git a/casadi-bindings.cabal b/casadi-bindings.cabal
--- a/casadi-bindings.cabal
+++ b/casadi-bindings.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings
-version:             2.4.1.7
+version:             2.4.1.8
 synopsis:            mid-level bindings to CasADi
 category:            Numerical, Math
 description:
diff --git a/src/Casadi/CMatrix.hs b/src/Casadi/CMatrix.hs
--- a/src/Casadi/CMatrix.hs
+++ b/src/Casadi/CMatrix.hs
@@ -59,6 +59,8 @@
   fromDouble :: Double -> a
   allocEmpty :: IO a
   reshape :: a -> (Int, Int) -> a
+  conditional :: a -> V.Vector a -> a -> a
+  conditional' :: a -> V.Vector a -> a -> Bool -> a
 {-# DEPRECATED solve' "use the new solve, this one is going away" #-}
 
 
diff --git a/src/Casadi/DMatrix.hs b/src/Casadi/DMatrix.hs
--- a/src/Casadi/DMatrix.hs
+++ b/src/Casadi/DMatrix.hs
@@ -148,6 +148,10 @@
   allocEmpty = dmatrix__8
   reshape x s = unsafePerformIO (C.casadi_reshape__4 x s)
   {-# NOINLINE reshape #-}
+  conditional x0 x1 x2 = unsafePerformIO (C.casadi_conditional__2 x0 x1 x2)
+  {-# NOINLINE conditional #-}
+  conditional' x0 x1 x2 x3 = unsafePerformIO (C.casadi_conditional__3 x0 x1 x2 x3)
+  {-# NOINLINE conditional' #-}
 
 
 instance Num DMatrix where
diff --git a/src/Casadi/MX.hs b/src/Casadi/MX.hs
--- a/src/Casadi/MX.hs
+++ b/src/Casadi/MX.hs
@@ -149,6 +149,10 @@
   allocEmpty = mx__7
   reshape x s = unsafePerformIO (C.casadi_reshape__10 x s)
   {-# NOINLINE reshape #-}
+  conditional x0 x1 x2 = unsafePerformIO (C.casadi_conditional__6 x0 x1 x2)
+  {-# NOINLINE conditional #-}
+  conditional' x0 x1 x2 x3 = unsafePerformIO (C.casadi_conditional__7 x0 x1 x2 x3)
+  {-# NOINLINE conditional' #-}
 
 
 instance Num MX where
diff --git a/src/Casadi/SX.hs b/src/Casadi/SX.hs
--- a/src/Casadi/SX.hs
+++ b/src/Casadi/SX.hs
@@ -144,6 +144,10 @@
   allocEmpty = sx__10
   reshape x s = unsafePerformIO (C.casadi_reshape__1 x s)
   {-# NOINLINE reshape #-}
+  conditional x0 x1 x2 = unsafePerformIO (C.casadi_conditional__0 x0 x1 x2)
+  {-# NOINLINE conditional #-}
+  conditional' x0 x1 x2 x3 = unsafePerformIO (C.casadi_conditional__1 x0 x1 x2 x3)
+  {-# NOINLINE conditional' #-}
 
 
 instance Num SX where
