-- addDependentFile musl-include/x86_64/bits/stdint.h -- addDependentFile musl-include/x86_64/bits/alltypes.h -- addDependentFile musl-include/x86_64/stdint.h -- addDependentFile examples/golden/manual/zero_copy.h -- #include -- signed int hs_bindgen_350cceac1101d344 ( -- struct vector const *arg1, -- struct vector *arg2 -- ) -- { -- return reverse(arg1, arg2); -- } -- void hs_bindgen_2ff371c815d92b04 ( -- matrix const *arg1, -- matrix *arg2 -- ) -- { -- transpose(*arg1, *arg2); -- } -- signed int hs_bindgen_f9655173d51bbaac ( -- struct vector const *arg1, -- struct vector *arg2 -- ) -- { -- return reverse(arg1, arg2); -- } -- void hs_bindgen_ea25667627dd5ed2 ( -- matrix const *arg1, -- matrix *arg2 -- ) -- { -- transpose(*arg1, *arg2); -- } -- /* test_manualzero_copy_Example_get_reverse */ -- __attribute__ ((const)) -- signed int (*hs_bindgen_44cb8687c63f0086 (void)) ( -- struct vector const *arg1, -- struct vector *arg2 -- ) -- { -- return &reverse; -- } -- /* test_manualzero_copy_Example_get_transpose */ -- __attribute__ ((const)) -- void (*hs_bindgen_1bf30b28aefee5bf (void)) ( -- matrix const arg1, -- matrix arg2 -- ) -- { -- return &transpose; -- } {-| __C declaration:__ @struct point@ __defined at:__ @manual\/zero_copy.h 12:8@ __exported by:__ @manual\/zero_copy.h@ -} data Point = Point {point_x :: CInt {- ^ __C declaration:__ @x@ __defined at:__ @manual\/zero_copy.h 13:7@ __exported by:__ @manual\/zero_copy.h@ -}, point_y :: CInt {- ^ __C declaration:__ @y@ __defined at:__ @manual\/zero_copy.h 14:7@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct point@ __defined at:__ @manual\/zero_copy.h 12:8@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Point where staticSizeOf = \_ -> 8 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Point where readRaw = \ptr_0 -> (pure Point <*> readRaw (Proxy @"point_x") ptr_0) <*> readRaw (Proxy @"point_y") ptr_0 instance WriteRaw Point where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Point point_x_2 point_y_3 -> writeRaw (Proxy @"point_x") ptr_0 point_x_2 >> writeRaw (Proxy @"point_y") ptr_0 point_y_3 deriving via (EquivStorable Point) instance Storable Point instance HasCField Point "point_x" where type CFieldType Point "point_x" = CInt offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Point "point_x") => HasField "point_x" (Ptr Point) (Ptr ty) where getField = fromPtr (Proxy @"point_x") instance HasCField Point "point_y" where type CFieldType Point "point_y" = CInt offset# = \_ -> \_ -> 4 instance TyEq ty (CFieldType Point "point_y") => HasField "point_y" (Ptr Point) (Ptr ty) where getField = fromPtr (Proxy @"point_y") {-| __C declaration:__ @struct rectangle@ __defined at:__ @manual\/zero_copy.h 17:8@ __exported by:__ @manual\/zero_copy.h@ -} data Rectangle = Rectangle {rectangle_topleft :: Point {- ^ __C declaration:__ @topleft@ __defined at:__ @manual\/zero_copy.h 18:16@ __exported by:__ @manual\/zero_copy.h@ -}, rectangle_bottomright :: Point {- ^ __C declaration:__ @bottomright@ __defined at:__ @manual\/zero_copy.h 19:16@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct rectangle@ __defined at:__ @manual\/zero_copy.h 17:8@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Rectangle where staticSizeOf = \_ -> 16 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Rectangle where readRaw = \ptr_0 -> (pure Rectangle <*> readRaw (Proxy @"rectangle_topleft") ptr_0) <*> readRaw (Proxy @"rectangle_bottomright") ptr_0 instance WriteRaw Rectangle where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Rectangle rectangle_topleft_2 rectangle_bottomright_3 -> writeRaw (Proxy @"rectangle_topleft") ptr_0 rectangle_topleft_2 >> writeRaw (Proxy @"rectangle_bottomright") ptr_0 rectangle_bottomright_3 deriving via (EquivStorable Rectangle) instance Storable Rectangle instance HasCField Rectangle "rectangle_topleft" where type CFieldType Rectangle "rectangle_topleft" = Point offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Rectangle "rectangle_topleft") => HasField "rectangle_topleft" (Ptr Rectangle) (Ptr ty) where getField = fromPtr (Proxy @"rectangle_topleft") instance HasCField Rectangle "rectangle_bottomright" where type CFieldType Rectangle "rectangle_bottomright" = Point offset# = \_ -> \_ -> 8 instance TyEq ty (CFieldType Rectangle "rectangle_bottomright") => HasField "rectangle_bottomright" (Ptr Rectangle) (Ptr ty) where getField = fromPtr (Proxy @"rectangle_bottomright") {-| __C declaration:__ @struct circle@ __defined at:__ @manual\/zero_copy.h 22:8@ __exported by:__ @manual\/zero_copy.h@ -} data Circle = Circle {circle_midpoint :: Point {- ^ __C declaration:__ @midpoint@ __defined at:__ @manual\/zero_copy.h 23:16@ __exported by:__ @manual\/zero_copy.h@ -}, circle_radius :: CInt {- ^ __C declaration:__ @radius@ __defined at:__ @manual\/zero_copy.h 24:7@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct circle@ __defined at:__ @manual\/zero_copy.h 22:8@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Circle where staticSizeOf = \_ -> 12 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Circle where readRaw = \ptr_0 -> (pure Circle <*> readRaw (Proxy @"circle_midpoint") ptr_0) <*> readRaw (Proxy @"circle_radius") ptr_0 instance WriteRaw Circle where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Circle circle_midpoint_2 circle_radius_3 -> writeRaw (Proxy @"circle_midpoint") ptr_0 circle_midpoint_2 >> writeRaw (Proxy @"circle_radius") ptr_0 circle_radius_3 deriving via (EquivStorable Circle) instance Storable Circle instance HasCField Circle "circle_midpoint" where type CFieldType Circle "circle_midpoint" = Point offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Circle "circle_midpoint") => HasField "circle_midpoint" (Ptr Circle) (Ptr ty) where getField = fromPtr (Proxy @"circle_midpoint") instance HasCField Circle "circle_radius" where type CFieldType Circle "circle_radius" = CInt offset# = \_ -> \_ -> 8 instance TyEq ty (CFieldType Circle "circle_radius") => HasField "circle_radius" (Ptr Circle) (Ptr ty) where getField = fromPtr (Proxy @"circle_radius") {-| __C declaration:__ @union shape@ __defined at:__ @manual\/zero_copy.h 30:7@ __exported by:__ @manual\/zero_copy.h@ -} newtype Shape = Shape {unwrapShape :: ByteArray} {- ^ __C declaration:__ @union shape@ __defined at:__ @manual\/zero_copy.h 30:7@ __exported by:__ @manual\/zero_copy.h@ -} deriving via (SizedByteArray 16 4) instance StaticSize Shape deriving via (SizedByteArray 16 4) instance ReadRaw Shape deriving via (SizedByteArray 16 4) instance WriteRaw Shape deriving via (EquivStorable Shape) instance Storable Shape {-| __See:__ 'set_shape_rectangle' __C declaration:__ @rectangle@ __defined at:__ @manual\/zero_copy.h 31:20@ __exported by:__ @manual\/zero_copy.h@ -} get_shape_rectangle :: Shape -> Rectangle {-| __See:__ 'set_shape_rectangle' __C declaration:__ @rectangle@ __defined at:__ @manual\/zero_copy.h 31:20@ __exported by:__ @manual\/zero_copy.h@ -} get_shape_rectangle = getUnionPayload {-| __See:__ 'get_shape_rectangle' -} set_shape_rectangle :: Rectangle -> Shape {-| __See:__ 'get_shape_rectangle' -} set_shape_rectangle = setUnionPayload {-| __See:__ 'set_shape_circle' __C declaration:__ @circle@ __defined at:__ @manual\/zero_copy.h 32:17@ __exported by:__ @manual\/zero_copy.h@ -} get_shape_circle :: Shape -> Circle {-| __See:__ 'set_shape_circle' __C declaration:__ @circle@ __defined at:__ @manual\/zero_copy.h 32:17@ __exported by:__ @manual\/zero_copy.h@ -} get_shape_circle = getUnionPayload {-| __See:__ 'get_shape_circle' -} set_shape_circle :: Circle -> Shape {-| __See:__ 'get_shape_circle' -} set_shape_circle = setUnionPayload instance HasCField Shape "shape_rectangle" where type CFieldType Shape "shape_rectangle" = Rectangle offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Shape "shape_rectangle") => HasField "shape_rectangle" (Ptr Shape) (Ptr ty) where getField = fromPtr (Proxy @"shape_rectangle") instance HasCField Shape "shape_circle" where type CFieldType Shape "shape_circle" = Circle offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Shape "shape_circle") => HasField "shape_circle" (Ptr Shape) (Ptr ty) where getField = fromPtr (Proxy @"shape_circle") {-| __C declaration:__ @struct colour@ __defined at:__ @manual\/zero_copy.h 39:8@ __exported by:__ @manual\/zero_copy.h@ -} data Colour = Colour {colour_opacity :: CUInt {- ^ __C declaration:__ @opacity@ __defined at:__ @manual\/zero_copy.h 40:16@ __exported by:__ @manual\/zero_copy.h@ -}, colour_brightness :: CUInt {- ^ __C declaration:__ @brightness@ __defined at:__ @manual\/zero_copy.h 41:16@ __exported by:__ @manual\/zero_copy.h@ -}, colour_red :: CUInt {- ^ __C declaration:__ @red@ __defined at:__ @manual\/zero_copy.h 42:16@ __exported by:__ @manual\/zero_copy.h@ -}, colour_green :: CUInt {- ^ __C declaration:__ @green@ __defined at:__ @manual\/zero_copy.h 43:16@ __exported by:__ @manual\/zero_copy.h@ -}, colour_blue :: CUInt {- ^ __C declaration:__ @blue@ __defined at:__ @manual\/zero_copy.h 44:16@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct colour@ __defined at:__ @manual\/zero_copy.h 39:8@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Colour where staticSizeOf = \_ -> 4 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Colour where readRaw = \ptr_0 -> ((((pure Colour <*> peek (Proxy @"colour_opacity") ptr_0) <*> peek (Proxy @"colour_brightness") ptr_0) <*> peek (Proxy @"colour_red") ptr_0) <*> peek (Proxy @"colour_green") ptr_0) <*> peek (Proxy @"colour_blue") ptr_0 instance WriteRaw Colour where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Colour colour_opacity_2 colour_brightness_3 colour_red_4 colour_green_5 colour_blue_6 -> poke (Proxy @"colour_opacity") ptr_0 colour_opacity_2 >> (poke (Proxy @"colour_brightness") ptr_0 colour_brightness_3 >> (poke (Proxy @"colour_red") ptr_0 colour_red_4 >> (poke (Proxy @"colour_green") ptr_0 colour_green_5 >> poke (Proxy @"colour_blue") ptr_0 colour_blue_6))) deriving via (EquivStorable Colour) instance Storable Colour instance HasCBitfield Colour "colour_opacity" where type CBitfieldType Colour "colour_opacity" = CUInt bitfieldOffset# = \_ -> \_ -> 0 bitfieldWidth# = \_ -> \_ -> 2 instance TyEq ty (CBitfieldType Colour "colour_opacity") => HasField "colour_opacity" (Ptr Colour) (BitfieldPtr ty) where getField = toPtr (Proxy @"colour_opacity") instance HasCBitfield Colour "colour_brightness" where type CBitfieldType Colour "colour_brightness" = CUInt bitfieldOffset# = \_ -> \_ -> 2 bitfieldWidth# = \_ -> \_ -> 3 instance TyEq ty (CBitfieldType Colour "colour_brightness") => HasField "colour_brightness" (Ptr Colour) (BitfieldPtr ty) where getField = toPtr (Proxy @"colour_brightness") instance HasCBitfield Colour "colour_red" where type CBitfieldType Colour "colour_red" = CUInt bitfieldOffset# = \_ -> \_ -> 5 bitfieldWidth# = \_ -> \_ -> 8 instance TyEq ty (CBitfieldType Colour "colour_red") => HasField "colour_red" (Ptr Colour) (BitfieldPtr ty) where getField = toPtr (Proxy @"colour_red") instance HasCBitfield Colour "colour_green" where type CBitfieldType Colour "colour_green" = CUInt bitfieldOffset# = \_ -> \_ -> 13 bitfieldWidth# = \_ -> \_ -> 8 instance TyEq ty (CBitfieldType Colour "colour_green") => HasField "colour_green" (Ptr Colour) (BitfieldPtr ty) where getField = toPtr (Proxy @"colour_green") instance HasCBitfield Colour "colour_blue" where type CBitfieldType Colour "colour_blue" = CUInt bitfieldOffset# = \_ -> \_ -> 21 bitfieldWidth# = \_ -> \_ -> 8 instance TyEq ty (CBitfieldType Colour "colour_blue") => HasField "colour_blue" (Ptr Colour) (BitfieldPtr ty) where getField = toPtr (Proxy @"colour_blue") {-| __C declaration:__ @myInt@ __defined at:__ @manual\/zero_copy.h 50:13@ __exported by:__ @manual\/zero_copy.h@ -} newtype MyInt = MyInt {unwrapMyInt :: CInt} {- ^ __C declaration:__ @myInt@ __defined at:__ @manual\/zero_copy.h 50:13@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Ord, Read, Show) deriving newtype (StaticSize, ReadRaw, WriteRaw, Storable, HasFFIType, Prim, Bitfield, Bits, Bounded, Enum, FiniteBits, Integral, Ix, Num, Real) instance TyEq ty (CFieldType MyInt "unwrapMyInt") => HasField "unwrapMyInt" (Ptr MyInt) (Ptr ty) where getField = fromPtr (Proxy @"unwrapMyInt") instance HasCField MyInt "unwrapMyInt" where type CFieldType MyInt "unwrapMyInt" = CInt offset# = \_ -> \_ -> 0 {-| __C declaration:__ @struct drawing@ __defined at:__ @manual\/zero_copy.h 55:16@ __exported by:__ @manual\/zero_copy.h@ -} data Drawing = Drawing {drawing_shape :: (Ptr Shape) {- ^ __C declaration:__ @shape@ __defined at:__ @manual\/zero_copy.h 56:16@ __exported by:__ @manual\/zero_copy.h@ -}, drawing_colour :: (Ptr Colour) {- ^ __C declaration:__ @colour@ __defined at:__ @manual\/zero_copy.h 57:18@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct drawing@ __defined at:__ @manual\/zero_copy.h 55:16@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Drawing where staticSizeOf = \_ -> 16 :: Int staticAlignment = \_ -> 8 :: Int instance ReadRaw Drawing where readRaw = \ptr_0 -> (pure Drawing <*> readRaw (Proxy @"drawing_shape") ptr_0) <*> readRaw (Proxy @"drawing_colour") ptr_0 instance WriteRaw Drawing where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Drawing drawing_shape_2 drawing_colour_3 -> writeRaw (Proxy @"drawing_shape") ptr_0 drawing_shape_2 >> writeRaw (Proxy @"drawing_colour") ptr_0 drawing_colour_3 deriving via (EquivStorable Drawing) instance Storable Drawing instance HasCField Drawing "drawing_shape" where type CFieldType Drawing "drawing_shape" = Ptr Shape offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Drawing "drawing_shape") => HasField "drawing_shape" (Ptr Drawing) (Ptr ty) where getField = fromPtr (Proxy @"drawing_shape") instance HasCField Drawing "drawing_colour" where type CFieldType Drawing "drawing_colour" = Ptr Colour offset# = \_ -> \_ -> 8 instance TyEq ty (CFieldType Drawing "drawing_colour") => HasField "drawing_colour" (Ptr Drawing) (Ptr ty) where getField = fromPtr (Proxy @"drawing_colour") {-| __C declaration:__ @struct tic_tac_toe@ __defined at:__ @manual\/zero_copy.h 63:16@ __exported by:__ @manual\/zero_copy.h@ -} data Tic_tac_toe = Tic_tac_toe {tic_tac_toe_row1 :: (ConstantArray 3 CInt) {- ^ __C declaration:__ @row1@ __defined at:__ @manual\/zero_copy.h 64:7@ __exported by:__ @manual\/zero_copy.h@ -}, tic_tac_toe_row2 :: (ConstantArray 3 CInt) {- ^ __C declaration:__ @row2@ __defined at:__ @manual\/zero_copy.h 65:7@ __exported by:__ @manual\/zero_copy.h@ -}, tic_tac_toe_row3 :: (ConstantArray 3 CInt) {- ^ __C declaration:__ @row3@ __defined at:__ @manual\/zero_copy.h 66:7@ __exported by:__ @manual\/zero_copy.h@ -}} {- ^ __C declaration:__ @struct tic_tac_toe@ __defined at:__ @manual\/zero_copy.h 63:16@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) instance StaticSize Tic_tac_toe where staticSizeOf = \_ -> 36 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Tic_tac_toe where readRaw = \ptr_0 -> ((pure Tic_tac_toe <*> readRaw (Proxy @"tic_tac_toe_row1") ptr_0) <*> readRaw (Proxy @"tic_tac_toe_row2") ptr_0) <*> readRaw (Proxy @"tic_tac_toe_row3") ptr_0 instance WriteRaw Tic_tac_toe where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Tic_tac_toe tic_tac_toe_row1_2 tic_tac_toe_row2_3 tic_tac_toe_row3_4 -> writeRaw (Proxy @"tic_tac_toe_row1") ptr_0 tic_tac_toe_row1_2 >> (writeRaw (Proxy @"tic_tac_toe_row2") ptr_0 tic_tac_toe_row2_3 >> writeRaw (Proxy @"tic_tac_toe_row3") ptr_0 tic_tac_toe_row3_4) deriving via (EquivStorable Tic_tac_toe) instance Storable Tic_tac_toe instance HasCField Tic_tac_toe "tic_tac_toe_row1" where type CFieldType Tic_tac_toe "tic_tac_toe_row1" = ConstantArray 3 CInt offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Tic_tac_toe "tic_tac_toe_row1") => HasField "tic_tac_toe_row1" (Ptr Tic_tac_toe) (Ptr ty) where getField = fromPtr (Proxy @"tic_tac_toe_row1") instance HasCField Tic_tac_toe "tic_tac_toe_row2" where type CFieldType Tic_tac_toe "tic_tac_toe_row2" = ConstantArray 3 CInt offset# = \_ -> \_ -> 12 instance TyEq ty (CFieldType Tic_tac_toe "tic_tac_toe_row2") => HasField "tic_tac_toe_row2" (Ptr Tic_tac_toe) (Ptr ty) where getField = fromPtr (Proxy @"tic_tac_toe_row2") instance HasCField Tic_tac_toe "tic_tac_toe_row3" where type CFieldType Tic_tac_toe "tic_tac_toe_row3" = ConstantArray 3 CInt offset# = \_ -> \_ -> 24 instance TyEq ty (CFieldType Tic_tac_toe "tic_tac_toe_row3") => HasField "tic_tac_toe_row3" (Ptr Tic_tac_toe) (Ptr ty) where getField = fromPtr (Proxy @"tic_tac_toe_row3") {-| __C declaration:__ @struct vector@ __defined at:__ @manual\/zero_copy.h 72:8@ __exported by:__ @manual\/zero_copy.h@ -} data Vector_Aux = Vector {vector_len :: CInt {- ^ __C declaration:__ @len@ __defined at:__ @manual\/zero_copy.h 73:7@ __exported by:__ @manual\/zero_copy.h@ -}} deriving stock (Eq, Show) instance StaticSize Vector_Aux where staticSizeOf = \_ -> 4 :: Int staticAlignment = \_ -> 4 :: Int instance ReadRaw Vector_Aux where readRaw = \ptr_0 -> pure Vector <*> readRaw (Proxy @"vector_len") ptr_0 instance WriteRaw Vector_Aux where writeRaw = \ptr_0 -> \s_1 -> case s_1 of Vector vector_len_2 -> writeRaw (Proxy @"vector_len") ptr_0 vector_len_2 deriving via (EquivStorable Vector_Aux) instance Storable Vector_Aux instance HasCField Vector_Aux "vector_len" where type CFieldType Vector_Aux "vector_len" = CInt offset# = \_ -> \_ -> 0 instance TyEq ty (CFieldType Vector_Aux "vector_len") => HasField "vector_len" (Ptr Vector_Aux) (Ptr ty) where getField = fromPtr (Proxy @"vector_len") instance Offset CChar Vector_Aux where offset = \_ty_0 -> 4 type Vector = WithFlam CChar Vector_Aux {-| __C declaration:__ @triplet@ __defined at:__ @manual\/zero_copy.h 82:13@ __exported by:__ @manual\/zero_copy.h@ -} newtype Triplet = Triplet {unwrapTriplet :: (ConstantArray 3 CInt)} {- ^ __C declaration:__ @triplet@ __defined at:__ @manual\/zero_copy.h 82:13@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) deriving newtype (StaticSize, ReadRaw, WriteRaw, Storable) instance TyEq ty (CFieldType Triplet "unwrapTriplet") => HasField "unwrapTriplet" (Ptr Triplet) (Ptr ty) where getField = fromPtr (Proxy @"unwrapTriplet") instance HasCField Triplet "unwrapTriplet" where type CFieldType Triplet "unwrapTriplet" = ConstantArray 3 CInt offset# = \_ -> \_ -> 0 {-| __C declaration:__ @matrix@ __defined at:__ @manual\/zero_copy.h 83:17@ __exported by:__ @manual\/zero_copy.h@ -} newtype Matrix = Matrix {unwrapMatrix :: (ConstantArray 3 Triplet)} {- ^ __C declaration:__ @matrix@ __defined at:__ @manual\/zero_copy.h 83:17@ __exported by:__ @manual\/zero_copy.h@ -} deriving stock (Eq, Show) deriving newtype (StaticSize, ReadRaw, WriteRaw, Storable) instance TyEq ty (CFieldType Matrix "unwrapMatrix") => HasField "unwrapMatrix" (Ptr Matrix) (Ptr ty) where getField = fromPtr (Proxy @"unwrapMatrix") instance HasCField Matrix "unwrapMatrix" where type CFieldType Matrix "unwrapMatrix" = ConstantArray 3 Triplet offset# = \_ -> \_ -> 0 -- __unique:__ @test_manualzero_copy_Example_Safe_reverse@ foreign import ccall safe "hs_bindgen_350cceac1101d344" hs_bindgen_350cceac1101d344_base :: Ptr Void -> Ptr Void -> IO Int32 -- __unique:__ @test_manualzero_copy_Example_Safe_reverse@ hs_bindgen_350cceac1101d344 :: PtrConst Vector -> Ptr Vector -> IO CInt -- __unique:__ @test_manualzero_copy_Example_Safe_reverse@ hs_bindgen_350cceac1101d344 = fromFFIType hs_bindgen_350cceac1101d344_base {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse :: PtrConst Vector -> Ptr Vector -> IO CInt {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse = hs_bindgen_350cceac1101d344 -- __unique:__ @test_manualzero_copy_Example_Safe_transpose@ foreign import ccall safe "hs_bindgen_2ff371c815d92b04" hs_bindgen_2ff371c815d92b04_base :: Ptr Void -> Ptr Void -> IO Unit -- __unique:__ @test_manualzero_copy_Example_Safe_transpose@ hs_bindgen_2ff371c815d92b04 :: PtrConst Matrix -> Ptr Matrix -> IO Unit -- __unique:__ @test_manualzero_copy_Example_Safe_transpose@ hs_bindgen_2ff371c815d92b04 = fromFFIType hs_bindgen_2ff371c815d92b04_base {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose :: PtrConst Matrix -> Ptr Matrix -> IO Unit {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose = hs_bindgen_2ff371c815d92b04 -- __unique:__ @test_manualzero_copy_Example_Unsafe_reverse@ foreign import ccall unsafe "hs_bindgen_f9655173d51bbaac" hs_bindgen_f9655173d51bbaac_base :: Ptr Void -> Ptr Void -> IO Int32 -- __unique:__ @test_manualzero_copy_Example_Unsafe_reverse@ hs_bindgen_f9655173d51bbaac :: PtrConst Vector -> Ptr Vector -> IO CInt -- __unique:__ @test_manualzero_copy_Example_Unsafe_reverse@ hs_bindgen_f9655173d51bbaac = fromFFIType hs_bindgen_f9655173d51bbaac_base {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse :: PtrConst Vector -> Ptr Vector -> IO CInt {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse = hs_bindgen_f9655173d51bbaac -- __unique:__ @test_manualzero_copy_Example_Unsafe_transpose@ foreign import ccall unsafe "hs_bindgen_ea25667627dd5ed2" hs_bindgen_ea25667627dd5ed2_base :: Ptr Void -> Ptr Void -> IO Unit -- __unique:__ @test_manualzero_copy_Example_Unsafe_transpose@ hs_bindgen_ea25667627dd5ed2 :: PtrConst Matrix -> Ptr Matrix -> IO Unit -- __unique:__ @test_manualzero_copy_Example_Unsafe_transpose@ hs_bindgen_ea25667627dd5ed2 = fromFFIType hs_bindgen_ea25667627dd5ed2_base {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose :: PtrConst Matrix -> Ptr Matrix -> IO Unit {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose = hs_bindgen_ea25667627dd5ed2 -- __unique:__ @test_manualzero_copy_Example_get_reverse@ foreign import ccall unsafe "hs_bindgen_44cb8687c63f0086" hs_bindgen_44cb8687c63f0086_base :: IO (FunPtr Void) -- __unique:__ @test_manualzero_copy_Example_get_reverse@ hs_bindgen_44cb8687c63f0086 :: IO (FunPtr (PtrConst Vector -> Ptr Vector -> IO CInt)) -- __unique:__ @test_manualzero_copy_Example_get_reverse@ hs_bindgen_44cb8687c63f0086 = fromFFIType hs_bindgen_44cb8687c63f0086_base {-# NOINLINE reverse #-} {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse :: FunPtr (PtrConst Vector -> Ptr Vector -> IO CInt) {-| __C declaration:__ @reverse@ __defined at:__ @manual\/zero_copy.h 77:5@ __exported by:__ @manual\/zero_copy.h@ -} reverse = unsafePerformIO hs_bindgen_44cb8687c63f0086 -- __unique:__ @test_manualzero_copy_Example_get_transpose@ foreign import ccall unsafe "hs_bindgen_1bf30b28aefee5bf" hs_bindgen_1bf30b28aefee5bf_base :: IO (FunPtr Void) -- __unique:__ @test_manualzero_copy_Example_get_transpose@ hs_bindgen_1bf30b28aefee5bf :: IO (FunPtr (Matrix -> Matrix -> IO Unit)) -- __unique:__ @test_manualzero_copy_Example_get_transpose@ hs_bindgen_1bf30b28aefee5bf = fromFFIType hs_bindgen_1bf30b28aefee5bf_base {-# NOINLINE transpose #-} {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose :: FunPtr (Matrix -> Matrix -> IO Unit) {-| __C declaration:__ @transpose@ __defined at:__ @manual\/zero_copy.h 85:6@ __exported by:__ @manual\/zero_copy.h@ -} transpose = unsafePerformIO hs_bindgen_1bf30b28aefee5bf