On Wed, Aug 27, 2025, 12:44 PM Larry Garfield <la...@garfieldtech.com>
wrote:

> On Wed, Aug 27, 2025, at 11:06 AM, Bob Weinand wrote:
> > Hey,
> >
> > On 27.8.2025 15:34:53, Kyle Katarn wrote:
> >> Hello,
> >>
> >> I handled the feedback received on the draft RCF
> https://wiki.php.net/rfc/clamp_v2
> >>
> >> If I didn't forget anything this should be now ready for discussion. So
> I updated its status.
> >>
> >> There is an implementation proposal:
> https://github.com/php/php-src/pull/19434
> >> And some draft for documentation here:
> https://github.com/php/doc-en/pull/4814
> >>
> >> Thanks,
> >
> >
> > As others have noted before, what's the motivation of having the
> > to-be-clamped value as first parameter rather than infixed between min
> > and max?
> >
> > E.g. from CSS: https://developer.mozilla.org/en-US/docs/Web/CSS/clamp:
> >
> > `clamp(min, val, max)`
> >
> > Feels to me as the most natural order, too.
> >
> >
> >
> > You mention it was taken from the first RFC, but that one also did not
> > discuss the ordering in the first place either.
>
> Some quick data points from momentary googling:
>
> CSS: clamp(min, val, max)
>
> Python: clamp(val, min, max)
> C++: clamp(val, min, max)
> Java: clamp(val, in, max)
> Javascript: clamp(val, min, max)
> C#: clamp(val, min, max)
>
> Kotlin: val.clamp(min, max) (as an extension function)
> Ruby: val.clamp(min, max)
>
> So it looks like CSS is the oddball here.  We should follow the clear
> majority approach.  (Kyle, feel free to include this in the RFC.)
>
> --Larry Garfield
>

A reference from userland, Laravel has Number::clamp($val, $min, $max) as
well.

https://github.com/laravel/framework/blob/12.x/src%2FIlluminate%2FSupport%2FNumber.php#L301

>

Reply via email to