They're monomorphic on the zig side, in the c wrapper instead of creating a single zguiPlot_<name> that takes the data type at runtime, it could instead be zguiPlot_<name>_<T> for each data type.
I assume the runtime overhead per-call is negligible, I think the bigger benefit is binary size, currently for every function used all unused types add dead code to the executable (haven't tested it, I would be highly surprised and impressed if zig can fold the constant across 2 FFI boundaries).
They're monomorphic on the zig side, in the c wrapper instead of creating a single
zguiPlot_<name>that takes the data type at runtime, it could instead bezguiPlot_<name>_<T>for each data type.I assume the runtime overhead per-call is negligible, I think the bigger benefit is binary size, currently for every function used all unused types add dead code to the executable (haven't tested it, I would be highly surprised and impressed if zig can fold the constant across 2 FFI boundaries).