Re: [PATCHES] [COMMITTERS] pgsql: Put back ERANGE test in dpow().
Bruce Momjian <[EMAIL PROTECTED]> writes: > Actually, when you return ERANGE, what is 'result'? Nan? Inf? finite? I believe it's HUGE_VAL (the largest finite value) ... which is something I don't want to explicitly test for, any more than I liked the explicit use of min/max values before. Your isinf test is OK because the point is that we want to replace any non-Inf result with Inf if the result overflowed. regards, tom lane ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [PATCHES] [COMMITTERS] pgsql: Put back ERANGE test in dpow().
Bruce Momjian <[EMAIL PROTECTED]> writes: > It ERANGE's only on Inf, not underflow? I would prefer: > else if (errno == ERANGE && !isinf(result)) No objection to that, just don't take out the ERANGE test altogether again ;-) regards, tom lane ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster
Re: [PATCHES] [COMMITTERS] pgsql: Put back ERANGE test in dpow().
Tom Lane wrote: > Log Message: > --- > Put back ERANGE test in dpow(). There are platforms that need this, > like my HPPA ... It ERANGE's only on Inf, not underflow? I would prefer: else if (errno == ERANGE && !isinf(result)) because the sign computation isn't 100%, think pow(-1e300, 2) == Inf, not -Inf. But of course, that is going throw an error anyway, so either we care about the sign of the Inf and try to get it right using isinf(), or we just ignore it and use +Inf always. -- Bruce Momjian [EMAIL PROTECTED] EnterpriseDBhttp://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq