Skip to content

Consider mapping to CFloat/DoubleComplex #400

@ekrich

Description

@ekrich

In Scala Native we have clib.complex.CFloatComplex and CDoubleComplex types.

I would be great if we could map to these types. From a lapacke binding.

[bindgen] warn Unknown type: Kind: BlockPointer, full type: void (^)(void)
[bindgen] warn Unknown type: Kind: BlockPointer, full type: int (^)(const void *, const void *)
[bindgen] warn Unknown type: Kind: BlockPointer, full type: int (^)(const void *, const void *)
[bindgen] warn Unknown type: Kind: BlockPointer, full type: int (^)(const void *, const void *)
[bindgen] warn Unknown type: Kind: BlockPointer, full type: int (^)(const void *, const void *)
[bindgen] warn Unknown type: Kind: BlockPointer, full type: int (^)(const void *, const void *)

[bindgen] warn Unknown type: Kind: Complex, full type: _Complex float
[bindgen] warn Unknown type: Kind: Complex, full type: _Complex double
[bindgen] warn Unknown type: Kind: Complex, full type: _Complex long double
[bindgen] warn Unknown type: Kind: Complex, full type: const _Complex float
[bindgen] warn Unknown type: Kind: Complex, full type: const _Complex double
...

We don't have long double so either map that as Ptr[Byte] or not at all like unsupported - not sure how you handle these things.

The first few warnings?

In the context of your
bindgen logs, a BlockPointer is an Objective-C language extension used by Clang to represent a Block (a closure or anonymous function).
The warnings you are seeing—such as void (^)(void)—indicate that your generator is encountering Apple-specific C extensions while scanning headers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions