1
0
mirror of https://github.com/postgres/postgres.git synced 2026-01-05 23:38:41 +03:00

Remove unnecessary uses of Abs()

Use C standard abs() or fabs() instead.

Reviewed-by: Zhang Mingli <zmlpostgres@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/4beb42b5-216b-bce8-d452-d924d5794c63%40enterprisedb.com
This commit is contained in:
Peter Eisentraut
2022-10-07 13:28:38 +02:00
parent 0fe954c285
commit f14aad5169
26 changed files with 54 additions and 49 deletions

View File

@@ -448,14 +448,14 @@ AppendSeconds(char *cp, int sec, fsec_t fsec, int precision, bool fillzeros)
Assert(precision >= 0);
if (fillzeros)
cp = pg_ultostr_zeropad(cp, Abs(sec), 2);
cp = pg_ultostr_zeropad(cp, abs(sec), 2);
else
cp = pg_ultostr(cp, Abs(sec));
cp = pg_ultostr(cp, abs(sec));
/* fsec_t is just an int32 */
if (fsec != 0)
{
int32 value = Abs(fsec);
int32 value = abs(fsec);
char *end = &cp[precision + 1];
bool gotnonzero = false;
@@ -490,7 +490,7 @@ AppendSeconds(char *cp, int sec, fsec_t fsec, int precision, bool fillzeros)
* which will generate a correct answer in the minimum valid width.
*/
if (value)
return pg_ultostr(cp, Abs(fsec));
return pg_ultostr(cp, abs(fsec));
return end;
}

View File

@@ -8870,7 +8870,7 @@ div_var_fast(const NumericVar *var1, const NumericVar *var2,
if (qdigit != 0)
{
/* Do we need to normalize now? */
maxdiv += Abs(qdigit);
maxdiv += abs(qdigit);
if (maxdiv > (INT_MAX - INT_MAX / NBASE - 1) / (NBASE - 1))
{
/*
@@ -8923,7 +8923,7 @@ div_var_fast(const NumericVar *var1, const NumericVar *var2,
fquotient = fdividend * fdivisorinverse;
qdigit = (fquotient >= 0.0) ? ((int) fquotient) :
(((int) fquotient) - 1); /* truncate towards -infinity */
maxdiv += Abs(qdigit);
maxdiv += abs(qdigit);
}
/*
@@ -9107,7 +9107,7 @@ div_var_int(const NumericVar *var, int ival, int ival_weight,
* become as large as divisor * NBASE - 1, and so it requires a 64-bit
* integer if this exceeds UINT_MAX.
*/
divisor = Abs(ival);
divisor = abs(ival);
if (divisor <= UINT_MAX / NBASE)
{
@@ -9948,7 +9948,7 @@ exp_var(const NumericVar *arg, NumericVar *result, int rscale)
/* Guard against overflow/underflow */
/* If you change this limit, see also power_var()'s limit */
if (Abs(val) >= NUMERIC_MAX_RESULT_SCALE * 3)
if (fabs(val) >= NUMERIC_MAX_RESULT_SCALE * 3)
{
if (val > 0)
ereport(ERROR,
@@ -9966,15 +9966,15 @@ exp_var(const NumericVar *arg, NumericVar *result, int rscale)
* Reduce x to the range -0.01 <= x <= 0.01 (approximately) by dividing by
* 2^ndiv2, to improve the convergence rate of the Taylor series.
*
* Note that the overflow check above ensures that Abs(x) < 6000, which
* Note that the overflow check above ensures that fabs(x) < 6000, which
* means that ndiv2 <= 20 here.
*/
if (Abs(val) > 0.01)
if (fabs(val) > 0.01)
{
ndiv2 = 1;
val /= 2;
while (Abs(val) > 0.01)
while (fabs(val) > 0.01)
{
ndiv2++;
val /= 2;
@@ -10116,7 +10116,7 @@ estimate_ln_dweight(const NumericVar *var)
*----------
*/
ln_var = log((double) digits) + dweight * 2.302585092994046;
ln_dweight = (int) log10(Abs(ln_var));
ln_dweight = (int) log10(fabs(ln_var));
}
else
{
@@ -10427,7 +10427,7 @@ power_var(const NumericVar *base, const NumericVar *exp, NumericVar *result)
val = numericvar_to_double_no_overflow(&ln_num);
/* initial overflow/underflow test with fuzz factor */
if (Abs(val) > NUMERIC_MAX_RESULT_SCALE * 3.01)
if (fabs(val) > NUMERIC_MAX_RESULT_SCALE * 3.01)
{
if (val > 0)
ereport(ERROR,
@@ -10583,7 +10583,7 @@ power_var_int(const NumericVar *base, int exp, NumericVar *result, int rscale)
* Now we can proceed with the multiplications.
*/
neg = (exp < 0);
mask = Abs(exp);
mask = abs(exp);
init_var(&base_prod);
set_var_from_var(base, &base_prod);

View File

@@ -743,8 +743,8 @@ range_gist_picksplit(PG_FUNCTION_ARGS)
emptyCount = total_count - nonEmptyCount;
if (infCount > 0 && nonInfCount > 0 &&
(Abs(infCount - nonInfCount) <=
Abs(emptyCount - nonEmptyCount)))
(abs(infCount - nonInfCount) <=
abs(emptyCount - nonEmptyCount)))
{
classes_groups[CLS_NORMAL] = SPLIT_RIGHT;
classes_groups[CLS_CONTAIN_EMPTY] = SPLIT_RIGHT;

View File

@@ -7835,7 +7835,7 @@ brincostestimate(PlannerInfo *root, IndexPath *path, double loop_count,
double varCorrelation = 0.0;
if (sslot.nnumbers > 0)
varCorrelation = Abs(sslot.numbers[0]);
varCorrelation = fabs(sslot.numbers[0]);
if (varCorrelation > *indexCorrelation)
*indexCorrelation = varCorrelation;

View File

@@ -3290,7 +3290,7 @@ interval_mul(PG_FUNCTION_ARGS)
* cascade from months and days. It might still be >24 if the combination
* of cascade and the seconds factor operation itself.
*/
if (Abs(sec_remainder) >= SECS_PER_DAY)
if (fabs(sec_remainder) >= SECS_PER_DAY)
{
result->day += (int) (sec_remainder / SECS_PER_DAY);
sec_remainder -= (int) (sec_remainder / SECS_PER_DAY) * SECS_PER_DAY;
@@ -3347,7 +3347,7 @@ interval_div(PG_FUNCTION_ARGS)
sec_remainder = (orig_day / factor - result->day +
month_remainder_days - (int) month_remainder_days) * SECS_PER_DAY;
sec_remainder = TSROUND(sec_remainder);
if (Abs(sec_remainder) >= SECS_PER_DAY)
if (fabs(sec_remainder) >= SECS_PER_DAY)
{
result->day += (int) (sec_remainder / SECS_PER_DAY);
sec_remainder -= (int) (sec_remainder / SECS_PER_DAY) * SECS_PER_DAY;

View File

@@ -700,7 +700,7 @@ gtsvector_picksplit(PG_FUNCTION_ARGS)
costvector[j - 1].pos = j;
size_alpha = hemdistcache(&(cache[seed_1]), &(cache[j]), siglen);
size_beta = hemdistcache(&(cache[seed_2]), &(cache[j]), siglen);
costvector[j - 1].cost = Abs(size_alpha - size_beta);
costvector[j - 1].cost = abs(size_alpha - size_beta);
}
qsort((void *) costvector, maxoff, sizeof(SPLITCOST), comparecost);

View File

@@ -257,7 +257,7 @@ calc_rank_and(const float *w, TSVector t, TSQuery q)
{
for (p = 0; p < lenct; p++)
{
dist = Abs((int) WEP_GETPOS(post[l]) - (int) WEP_GETPOS(ct[p]));
dist = abs((int) WEP_GETPOS(post[l]) - (int) WEP_GETPOS(ct[p]));
if (dist || (dist == 0 && (pos[i] == POSNULL || pos[k] == POSNULL)))
{
float curw;

View File

@@ -5378,7 +5378,7 @@ estimate_variable_size(struct config_generic *gconf)
* small values. Maximum value is 2147483647, i.e. 10 chars.
* Include one byte for sign.
*/
if (Abs(*conf->variable) < 1000)
if (abs(*conf->variable) < 1000)
valsize = 3 + 1;
else
valsize = 10 + 1;