module Numeric.BLAS.ComfortArray.Miscellaneous where
import qualified Numeric.BLAS.FFI.Miscellaneous as FFI
import qualified Numeric.Netlib.ComfortArray.Utility as Call
import Control.Monad.Trans.Cont (evalContT)
import Control.Monad.IO.Class (liftIO)
lsame ::
Char ->
Char ->
IO Bool
lsame :: Char -> Char -> IO Bool
lsame Char
ca Char
cb = do
ContT Bool IO Bool -> IO Bool
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT Bool IO Bool -> IO Bool) -> ContT Bool IO Bool -> IO Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr CChar
caPtr <- Char -> FortranIO Bool (Ptr CChar)
forall r. Char -> FortranIO r (Ptr CChar)
Call.char Char
ca
Ptr CChar
cbPtr <- Char -> FortranIO Bool (Ptr CChar)
forall r. Char -> FortranIO r (Ptr CChar)
Call.char Char
cb
IO Bool -> ContT Bool IO Bool
forall a. IO a -> ContT Bool IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> ContT Bool IO Bool) -> IO Bool -> ContT Bool IO Bool
forall a b. (a -> b) -> a -> b
$ Ptr CChar -> Ptr CChar -> IO Bool
FFI.lsame Ptr CChar
caPtr Ptr CChar
cbPtr