clamp Interface

public interface clamp

Constrain a value to the inclusive range [lo, hi].

Returns lo if x < lo, hi if x > hi, otherwise x. Supported types are: integer(int32), integer(int64), real(sp), real(dp). Usage: y = clamp(x, lo, hi)

Calls

interface~~clamp~~CallsGraph interface~clamp clamp proc~clamp_dp clamp_dp interface~clamp->proc~clamp_dp proc~clamp_int32 clamp_int32 interface~clamp->proc~clamp_int32 proc~clamp_int64 clamp_int64 interface~clamp->proc~clamp_int64 proc~clamp_sp clamp_sp interface~clamp->proc~clamp_sp

Module Procedures

private elemental function clamp_int32(x, lo, hi) result(y)

Clamp an integer(int32) value to [lo, hi].

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: x
integer(kind=int32), intent(in) :: lo
integer(kind=int32), intent(in) :: hi

Return Value integer(kind=int32)

private elemental function clamp_int64(x, lo, hi) result(y)

Clamp an integer(int64) value to [lo, hi].

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: x
integer(kind=int64), intent(in) :: lo
integer(kind=int64), intent(in) :: hi

Return Value integer(kind=int64)

private elemental function clamp_sp(x, lo, hi) result(y)

Clamp a real(sp) value to [lo, hi].

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: x
real(kind=sp), intent(in) :: lo
real(kind=sp), intent(in) :: hi

Return Value real(kind=sp)

private elemental function clamp_dp(x, lo, hi) result(y)

Clamp a real(dp) value to [lo, hi].

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x
real(kind=dp), intent(in) :: lo
real(kind=dp), intent(in) :: hi

Return Value real(kind=dp)