diff --git a/lapack-ffi.cabal b/lapack-ffi.cabal
--- a/lapack-ffi.cabal
+++ b/lapack-ffi.cabal
@@ -1,5 +1,5 @@
 Name:             lapack-ffi
-Version:          0.0.1
+Version:          0.0.2
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -22,7 +22,7 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0.1
+  Tag:         0.0.2
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/lapack-ffi/
 
@@ -33,7 +33,7 @@
 Library
   PkgConfig-Depends: lapack
   Build-Depends:
-    netlib-ffi >=0.0 && <0.1,
+    netlib-ffi >=0.0 && <0.2,
     base >=4.5 && <5
 
   GHC-Options:      -Wall
diff --git a/src/Numeric/LAPACK/FFI/Generic.hs b/src/Numeric/LAPACK/FFI/Generic.hs
--- a/src/Numeric/LAPACK/FFI/Generic.hs
+++ b/src/Numeric/LAPACK/FFI/Generic.hs
@@ -35,6 +35,10 @@
    hegs2,
    hegst,
    hpgst,
+   hpsv,
+   hptrf,
+   hptri,
+   hptrs,
    ilalc,
    ilalr,
    lacpy,
@@ -351,6 +355,30 @@
 
 hpgst :: Class.Floating a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
 hpgst = getHPGST $ Class.switchFloating (HPGST S.spgst) (HPGST D.spgst) (HPGST C.hpgst) (HPGST Z.hpgst)
+
+
+newtype HPSV a = HPSV {getHPSV :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hpsv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hpsv = getHPSV $ Class.switchFloating (HPSV S.spsv) (HPSV D.spsv) (HPSV C.hpsv) (HPSV Z.hpsv)
+
+
+newtype HPTRF a = HPTRF {getHPTRF :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hptrf :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hptrf = getHPTRF $ Class.switchFloating (HPTRF S.sptrf) (HPTRF D.sptrf) (HPTRF C.hptrf) (HPTRF Z.hptrf)
+
+
+newtype HPTRI a = HPTRI {getHPTRI :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+hptri :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+hptri = getHPTRI $ Class.switchFloating (HPTRI S.sptri) (HPTRI D.sptri) (HPTRI C.hptri) (HPTRI Z.hptri)
+
+
+newtype HPTRS a = HPTRS {getHPTRS :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hptrs :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hptrs = getHPTRS $ Class.switchFloating (HPTRS S.sptrs) (HPTRS D.sptrs) (HPTRS C.hptrs) (HPTRS Z.hptrs)
 
 
 newtype ILALC a = ILALC {getILALC :: Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt}
