17 | module Compiler.LLVM.ADT.APFloat
21 | ffi : String -> String
22 | ffi = libxla "c/llvm/ADT/APFloat.h"
24 | %foreign (ffi "delete_APFloat")
25 | prim__deleteAPFloat : AnyPtr -> PrimIO ()
28 | data APFloat = MkAPFloat GCAnyPtr
30 | %foreign (ffi "APFloat_getLargest")
31 | prim__apFloatGetLargest : Bits8 -> Int -> PrimIO AnyPtr
34 | getLargest : HasIO io => Bool -> io APFloat
35 | getLargest negative = do
36 | res <- primIO $
prim__apFloatGetLargest 3 (boolToCInt negative)
37 | res <- onCollectAny' res (primIO . prim__deleteAPFloat)
38 | pure (MkAPFloat res)