orc_array_set_pattern (dest_emul[i], ORC_OOB_VALUE);
misalignment++;
} else if (program->vars[i].vartype == ORC_VAR_TYPE_PARAM) {
- orc_executor_set_param (ex, i, 2);
+ if (program->vars[i].is_float_param) {
+ orc_executor_set_param_float (ex, i, 2.0);
+ } else {
+ orc_executor_set_param (ex, i, 2);
+ }
}
}
ex->params[var] = value;
}
+void
+orc_executor_set_param_float (OrcExecutor *ex, int var, float value)
+{
+ orc_union32 u;
+ u.f = value;
+ ex->params[var] = u.i;
+}
+
void
orc_executor_set_param_str (OrcExecutor *ex, const char *name, int value)
{
void orc_executor_set_array_str (OrcExecutor *ex, const char *name, void *ptr);
void orc_executor_set_param (OrcExecutor *ex, int var, int value);
void orc_executor_set_param_str (OrcExecutor *ex, const char *name, int value);
+void orc_executor_set_param_float (OrcExecutor *ex, int var, float value);
int orc_executor_get_accumulator (OrcExecutor *ex, int var);
int orc_executor_get_accumulator_str (OrcExecutor *ex, const char *name);
void orc_executor_set_n (OrcExecutor *ex, int n);
dest[i-ORC_VAR_D1] = orc_array_new (n, m, program->vars[i].size, 0);
orc_array_set_pattern (dest[i], ORC_OOB_VALUE);
} else if (program->vars[i].vartype == ORC_VAR_TYPE_PARAM) {
- orc_executor_set_param (ex, i, 2);
+ if (program->vars[i].is_float_param) {
+ orc_executor_set_param_float (ex, i, 2.0);
+ } else {
+ orc_executor_set_param (ex, i, 2);
+ }
}
}