Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ncInq :: NCID -> IO (Int, Int, Int, Int)
- ncInq ncid =
- alloca $ \ndims_ptr ->
- alloca $ \nvars_ptr ->
- alloca $ \natts_ptr ->
- alloca $ \unlimdimid_ptr -> do
- status <- nc_inq ncid ndims_ptr nvars_ptr natts_ptr unlimdimid_ptr
- ndims <- peek ndims_ptr
- nvars <- peek nvars_ptr
- natts <- peek natts_ptr
- unlimdimid <- peek unlimdimid_ptr
- return (fromEnum ndims, fromEnum nvars, fromEnum natts, fromEnum unlimdimid)
- ncInq :: NCID -> IO (Int, Int, Int, Int)
- ncInq ncid = (`runContT` return) $ do
- ndims_ptr <- newPtr
- nvars_ptr <- newPtr
- natts_ptr <- newPtr
- unlimdimid_ptr <- newPtr
- liftIO $ do
- status <- nc_inq ncid ndims_ptr nvars_ptr natts_ptr unlimdimid_ptr
- ndims <- peek ndims_ptr
- nvars <- peek nvars_ptr
- natts <- peek natts_ptr
- unlimdimid <- peek unlimdimid_ptr
- return (fromEnum ndims, fromEnum nvars, fromEnum natts, fromEnum unlimdimid)
- where newPtr = ContT alloca
Add Comment
Please, Sign In to add comment