--- 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.