--- layout: stdlib-reference --- # fmax3 ## Description Floating-point maximum of 3 inputs. ## Signature
T fmax3<T>(
    T x,
    T y,
    T z)
    where T : __BuiltinFloatingPointType;

vector<T, N> fmax3<T, N:int>(
    vector<T, N> x,
    vector<T, N> y,
    vector<T, N> z)
    where T : __BuiltinFloatingPointType;

## Generic Parameters #### T: [\_\_BuiltinFloatingPointType](../interfaces/0_builtinfloatingpointtype-029hm/index.html) #### N : int ## Parameters #### x : [T](fmax3.html#typeparam-T) The first value to compare. #### y : [T](fmax3.html#typeparam-T) The second value to compare. #### z : [T](fmax3.html#typeparam-T) The third value to compare. #### x : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> The first value to compare. #### y : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> The second value to compare. #### z : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> The third value to compare. ## Return value The largest of the three values, element-wise if vector typed. ## Remarks If any operand in the 3-way comparison is NaN, it is undefined which operand is returned. ## Availability and Requirements Defined for the following targets: #### hlsl Available in all stages. #### glsl Available in all stages. #### cpp Available in all stages. #### cuda Available in all stages. #### metal Available in all stages. #### spirv Available in all stages.