NAME
    min - returns the minimum of two scalars or each respective component of
    two vectors

SYNOPSIS
      float  min( float  a, float  b );
      float1 min( float1 a, float1 b );
      float2 min( float2 a, float2 b );
      float3 min( float3 a, float3 b );
      float4 min( float4 a, float4 b );
 
      half   min( half  a, half  b );
      half1  min( half1 a, half1 b );
      half2  min( half2 a, half2 b );
      half3  min( half3 a, half3 b );
      half4  min( half4 a, half4 b );
 
      fixed  min( fixed  a, fixed  b );
      fixed1 min( fixed1 a, fixed1 b );
      fixed2 min( fixed2 a, fixed2 b );
      fixed3 min( fixed3 a, fixed3 b );
      fixed4 min( fixed4 a, fixed4 b );

PARAMETERS
    a       Scalar or vector.

    b       Scalar or vector.

DESCRIPTION
    Returns the minimum of two same-typed scalars *a* and *b* or the
    respective components of two same-typed vectors *a* and *b*. The result
    is a three-component vector.

REFERENCE IMPLEMENTATION
    min for float3 vectors could be implemented this way:

      float3 min(float3 a, float3 b)
      {
        return float3(a.x < b.x ? a.x : b.x, 
                      a.y < b.y ? a.y : b.y, 
                      a.z < b.z ? a.z : b.z);
      }

PROFILE SUPPORT
    min is supported in all profiles. min is implemented as a compiler
    built-in.

    Support in the fp20 is limited.

SEE ALSO
    the clamp manpage, the max manpage

