-- addDependentFile examples/golden/macros/macro_functions.h
{-| __C declaration:__ @INCR@

    __defined at:__ @macros\/macro_functions.h 1:9@

    __exported by:__ @macros\/macro_functions.h@
-}
iNCR :: forall a_0 . Add a_0 CInt => a_0 -> AddRes a_0 CInt
{-| __C declaration:__ @INCR@

    __defined at:__ @macros\/macro_functions.h 1:9@

    __exported by:__ @macros\/macro_functions.h@
-}
iNCR = \x_0 -> (+) x_0 (1 :: CInt)
{-| __C declaration:__ @ADD@

    __defined at:__ @macros\/macro_functions.h 2:9@

    __exported by:__ @macros\/macro_functions.h@
-}
aDD :: forall a_0 b_1 . Add a_0 b_1 => a_0 -> b_1 -> AddRes a_0 b_1
{-| __C declaration:__ @ADD@

    __defined at:__ @macros\/macro_functions.h 2:9@

    __exported by:__ @macros\/macro_functions.h@
-}
aDD = \x_0 -> \y_1 -> (+) x_0 y_1
{-| __C declaration:__ @ID@

    __defined at:__ @macros\/macro_functions.h 4:9@

    __exported by:__ @macros\/macro_functions.h@
-}
iD :: forall a_0 . a_0 -> a_0
{-| __C declaration:__ @ID@

    __defined at:__ @macros\/macro_functions.h 4:9@

    __exported by:__ @macros\/macro_functions.h@
-}
iD = \x_0 -> x_0
{-| __C declaration:__ @CONST@

    __defined at:__ @macros\/macro_functions.h 5:9@

    __exported by:__ @macros\/macro_functions.h@
-}
cONST :: forall a_0 b_1 . a_0 -> b_1 -> a_0
{-| __C declaration:__ @CONST@

    __defined at:__ @macros\/macro_functions.h 5:9@

    __exported by:__ @macros\/macro_functions.h@
-}
cONST = \x_0 -> \y_1 -> x_0
{-| __C declaration:__ @CMP@

    __defined at:__ @macros\/macro_functions.h 7:9@

    __exported by:__ @macros\/macro_functions.h@
-}
cMP :: forall a_0 b_1 . RelOrd a_0 b_1 => a_0 -> b_1 -> CInt
{-| __C declaration:__ @CMP@

    __defined at:__ @macros\/macro_functions.h 7:9@

    __exported by:__ @macros\/macro_functions.h@
-}
cMP = \x_0 -> \y_1 -> (<) x_0 y_1
{-| __C declaration:__ @FUN1@

    __defined at:__ @macros\/macro_functions.h 8:9@

    __exported by:__ @macros\/macro_functions.h@
-}
fUN1 :: forall a_0 b_1 . (Add a_0 (MultRes CULLong b_1),
                          Mult CULLong b_1) =>
        a_0 -> b_1 -> AddRes a_0 (MultRes CULLong b_1)
{-| __C declaration:__ @FUN1@

    __defined at:__ @macros\/macro_functions.h 8:9@

    __exported by:__ @macros\/macro_functions.h@
-}
fUN1 = \x_0 -> \y_1 -> (+) x_0 ((*) (12 :: CULLong) y_1)
{-| __C declaration:__ @FUN2@

    __defined at:__ @macros\/macro_functions.h 9:9@

    __exported by:__ @macros\/macro_functions.h@
-}
fUN2 :: forall a_0 b_1 . (Mult CULLong b_1,
                          Shift a_0 (MultRes CULLong b_1)) =>
        a_0 -> b_1 -> ShiftRes a_0
{-| __C declaration:__ @FUN2@

    __defined at:__ @macros\/macro_functions.h 9:9@

    __exported by:__ @macros\/macro_functions.h@
-}
fUN2 = \x_0 -> \y_1 -> (<<) x_0 ((*) (3 :: CULLong) y_1)
{-| __C declaration:__ @G@

    __defined at:__ @macros\/macro_functions.h 11:9@

    __exported by:__ @macros\/macro_functions.h@
-}
g :: forall a_0 b_1 . Add a_0 CInt => b_1 -> a_0 -> AddRes a_0 CInt
{-| __C declaration:__ @G@

    __defined at:__ @macros\/macro_functions.h 11:9@

    __exported by:__ @macros\/macro_functions.h@
-}
g = \x_0 -> \y_1 -> cONST (iNCR y_1) (iD x_0)
{-| __C declaration:__ @DIV1@

    __defined at:__ @macros\/macro_functions.h 13:9@

    __exported by:__ @macros\/macro_functions.h@
-}
dIV1 :: forall a_0 b_1 . (Add b_1 CUInt,
                          Div a_0 (AddRes b_1 CUInt)) =>
        a_0 -> b_1 -> DivRes a_0 (AddRes b_1 CUInt)
{-| __C declaration:__ @DIV1@

    __defined at:__ @macros\/macro_functions.h 13:9@

    __exported by:__ @macros\/macro_functions.h@
-}
dIV1 = \x_0 -> \y_1 -> (/) x_0 ((+) y_1 (12 :: CUInt))
{-| __C declaration:__ @DIV2@

    __defined at:__ @macros\/macro_functions.h 14:9@

    __exported by:__ @macros\/macro_functions.h@
-}
dIV2 :: forall a_0 b_1 . (Mult CFloat a_0,
                          Div (MultRes CFloat a_0) b_1) =>
        a_0 -> b_1 -> DivRes (MultRes CFloat a_0) b_1
{-| __C declaration:__ @DIV2@

    __defined at:__ @macros\/macro_functions.h 14:9@

    __exported by:__ @macros\/macro_functions.h@
-}
dIV2 = \x_0 -> \y_1 -> (/) ((*) (10.0 :: CFloat) x_0) y_1
{-| __C declaration:__ @SWAP32@

    __defined at:__ @macros\/macro_functions.h 18:9@

    __exported by:__ @macros\/macro_functions.h@
-}
sWAP32 :: forall a_0 . (Bitwise (BitsRes (ShiftRes a_0) CInt)
                                (BitsRes (ShiftRes a_0) CInt),
                        Bitwise (ShiftRes a_0) CInt,
                        Shift a_0 CInt) =>
          a_0 ->
          BitsRes (BitsRes (ShiftRes a_0) CInt) (BitsRes (ShiftRes a_0) CInt)
{-| __C declaration:__ @SWAP32@

    __defined at:__ @macros\/macro_functions.h 18:9@

    __exported by:__ @macros\/macro_functions.h@
-}
sWAP32 = \w_0 -> (.|.) ((.&.) ((>>) w_0 (24 :: CInt)) (255 :: CInt)) ((.&.) ((<<) w_0 (8 :: CInt)) (16711680 :: CInt))
{-| __C declaration:__ @AV_VERSION_INT@

    __defined at:__ @macros\/macro_functions.h 19:9@

    __exported by:__ @macros\/macro_functions.h@
-}
aV_VERSION_INT :: forall a_0 b_1 c_2 . (Bitwise (ShiftRes a_0)
                                                (ShiftRes b_1),
                                        Bitwise (BitsRes (ShiftRes a_0) (ShiftRes b_1)) c_2,
                                        Shift b_1 CInt,
                                        Shift a_0 CInt) =>
                  a_0 ->
                  b_1 -> c_2 -> BitsRes (BitsRes (ShiftRes a_0) (ShiftRes b_1)) c_2
{-| __C declaration:__ @AV_VERSION_INT@

    __defined at:__ @macros\/macro_functions.h 19:9@

    __exported by:__ @macros\/macro_functions.h@
-}
aV_VERSION_INT = \a_0 -> \b_1 -> \c_2 -> (.|.) ((.|.) ((<<) a_0 (16 :: CInt)) ((<<) b_1 (8 :: CInt))) c_2
