Обсуждение: funcs.sgml - wrong example
funcs.sgml has
42 <@ '{[1,7)}'::int4multirange
and calls it true. The attached fixes that.
Included are two more changes where actual output differs a bit from
what the doc examples show.
Erik
Вложения
At Wed, 18 May 2022 03:08:32 +0200, Erik Rijkers <er@xs4all.nl> wrote in
> funcs.sgml has
>
> 42 <@ '{[1,7)}'::int4multirange
>
> and calls it true. The attached fixes that.
>
> Included are two more changes where actual output differs a bit from
> what the doc examples show.
A bit off-topic and just out of curiocity, is there a reason other
than speed (and history?) for that we won't truncate trailing zeros in
the output of log(b,n)?
Since we have get_min_scale since 13, for example, with the following
tweak, we get 6.0 for log(2.0, 64.0), which looks nicer.
@@ -10300,6 +10300,8 @@ log_var(const NumericVar *base, const NumericVar *num, NumericVar *result)
/* Divide and round to the required scale */
div_var_fast(&ln_num, &ln_base, result, rscale, true);
+ result->dscale = Max(get_min_scale(result), base->dscale);
+ result->dscale = Max(result->dscale, num->dscale);
free_var(&ln_num);
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
At Wed, 18 May 2022 11:11:02 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in
> At Wed, 18 May 2022 03:08:32 +0200, Erik Rijkers <er@xs4all.nl> wrote in
> > funcs.sgml has
> >
> > 42 <@ '{[1,7)}'::int4multirange
> >
> > and calls it true. The attached fixes that.
> >
> > Included are two more changes where actual output differs a bit from
> > what the doc examples show.
Forgot to mention, the all changes look good. The log(b,n) has 16
trailing digits at least since 9.6.
> A bit off-topic and just out of curiocity, is there a reason other
> than speed (and history?) for that we won't truncate trailing zeros in
> the output of log(b,n)?
Hmm. A bit wrong. I meant that, if we can allow some additional cycles
and we don't stick to the past behavior of the function, we could have
a nicer result.
> Since we have get_min_scale since 13, for example, with the following
> tweak, we get 6.0 for log(2.0, 64.0), which looks nicer.
>
>
> @@ -10300,6 +10300,8 @@ log_var(const NumericVar *base, const NumericVar *num, NumericVar *result)
> /* Divide and round to the required scale */
> div_var_fast(&ln_num, &ln_base, result, rscale, true);
>
> + result->dscale = Max(get_min_scale(result), base->dscale);
> + result->dscale = Max(result->dscale, num->dscale);
> free_var(&ln_num);
--
Kyotaro Horiguchi
NTT Open Source Software Center
On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote:
> funcs.sgml has
>
> 42 <@ '{[1,7)}'::int4multirange
>
> and calls it true. The attached fixes that.
>
> Included are two more changes where actual output differs a bit from what
> the doc examples show.
This patch is RFC but seems to have been forgotten.
Feel free to add it to the next CF if nobody applies it.
Note that I needed to apply it with use git am -p0 - I think it was created
with vanilla diff.
--
Justin
Justin Pryzby <pryzby@telsasoft.com> writes:
> On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote:
>> funcs.sgml has
>> 42 <@ '{[1,7)}'::int4multirange
>> and calls it true. The attached fixes that.
>>
>> Included are two more changes where actual output differs a bit from what
>> the doc examples show.
> This patch is RFC but seems to have been forgotten.
> Feel free to add it to the next CF if nobody applies it.
Pushed now. I modified that example to 4 <@ '{[1,7)}'::int4multirange
so that it would indeed return true, which is our usual style.
regards, tom lane