static: Fix float overflow issue
Co-authored-by: Lofty <dan.ravensloft@gmail.com> Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
7a00e76cb1
commit
89e3b7d23d
@ -792,15 +792,15 @@ class StaticPlacer
|
|||||||
auto &pd = nd.ports.at(port.second.type == PORT_OUT ? (nd.ports.size() - 1) : port.second.user_idx.idx());
|
auto &pd = nd.ports.at(port.second.type == PORT_OUT ? (nd.ports.size() - 1) : port.second.user_idx.idx());
|
||||||
// From Replace
|
// From Replace
|
||||||
// TODO: check these derivatives on paper
|
// TODO: check these derivatives on paper
|
||||||
float d_min = 0, d_max = 0;
|
double d_min = 0, d_max = 0;
|
||||||
if (pd.has_min_exp(axis)) {
|
if (pd.has_min_exp(axis)) {
|
||||||
float min_sum = nd.min_exp.at(axis), x_min_sum = nd.x_min_exp.at(axis);
|
double min_sum = nd.min_exp.at(axis), x_min_sum = nd.x_min_exp.at(axis);
|
||||||
d_min = (min_sum * (pd.min_exp.at(axis) * (1.0f - wl_coeff.at(axis) * loc.at(axis))) +
|
d_min = (min_sum * (pd.min_exp.at(axis) * (1.0f - wl_coeff.at(axis) * loc.at(axis))) +
|
||||||
wl_coeff.at(axis) * pd.min_exp.at(axis) * x_min_sum) /
|
wl_coeff.at(axis) * pd.min_exp.at(axis) * x_min_sum) /
|
||||||
(min_sum * min_sum);
|
(min_sum * min_sum);
|
||||||
}
|
}
|
||||||
if (pd.has_max_exp(axis)) {
|
if (pd.has_max_exp(axis)) {
|
||||||
float max_sum = nd.max_exp.at(axis), x_max_sum = nd.x_max_exp.at(axis);
|
double max_sum = nd.max_exp.at(axis), x_max_sum = nd.x_max_exp.at(axis);
|
||||||
d_max = (max_sum * (pd.max_exp.at(axis) * (1.0f + wl_coeff.at(axis) * loc.at(axis))) -
|
d_max = (max_sum * (pd.max_exp.at(axis) * (1.0f + wl_coeff.at(axis) * loc.at(axis))) -
|
||||||
wl_coeff.at(axis) * pd.max_exp.at(axis) * x_max_sum) /
|
wl_coeff.at(axis) * pd.max_exp.at(axis) * x_max_sum) /
|
||||||
(max_sum * max_sum);
|
(max_sum * max_sum);
|
||||||
|
Loading…
Reference in New Issue
Block a user