Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`. Co-Authored-By: ejtagle <ejtagle@hotmail.com>
This commit is contained in:
@@ -63,8 +63,8 @@ void inline incremental_WLSF(struct linear_fit_data *lsf, const float &x, const
|
||||
lsf->xzbar += w * x * z;
|
||||
lsf->yzbar += w * y * z;
|
||||
lsf->N += w;
|
||||
lsf->max_absx = max(FABS(w * x), lsf->max_absx);
|
||||
lsf->max_absy = max(FABS(w * y), lsf->max_absy);
|
||||
lsf->max_absx = MAX(ABS(w * x), lsf->max_absx);
|
||||
lsf->max_absy = MAX(ABS(w * y), lsf->max_absy);
|
||||
}
|
||||
|
||||
void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z) {
|
||||
@@ -77,8 +77,8 @@ void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const f
|
||||
lsf->xybar += x * y;
|
||||
lsf->xzbar += x * z;
|
||||
lsf->yzbar += y * z;
|
||||
lsf->max_absx = max(FABS(x), lsf->max_absx);
|
||||
lsf->max_absy = max(FABS(y), lsf->max_absy);
|
||||
lsf->max_absx = MAX(ABS(x), lsf->max_absx);
|
||||
lsf->max_absy = MAX(ABS(y), lsf->max_absy);
|
||||
lsf->N += 1.0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user