The compiler still does not translate to C those user-library types created inside the body of operations. An example of code is the following:
Array<Float32> arrayRetMap = array.par().map(Float32.class, new Map<Float32, Int32>() {
@Override
public Float32 function(Int32 element) {
Float32 ret = new Float32();
ret.value = element.value * 1.5f + valor;
return ret;
}
});
This code will be translated to the following C user function:
static float map1(int element) {
Float32 ret = new Float32();
ret.value = element * 1.5f + valor;
return ret;
}
But should be translated to:
static float map1(int element) {
float ret;
ret = element * 1.5f + valor;
return ret;
}