--- layout: stdlib-reference --- # modf ## Description Split into integer and fractional parts (both with same sign). ## Signature
T modf<T>(
T x,
out T ip)
where T : __BuiltinFloatingPointType;
vector<T, N> modf<T, int N>(
vector<T, N> x,
out vector<T, N> ip)
where T : __BuiltinFloatingPointType;
matrix<T, N, M> modf<T, int N, int M, int L>(
matrix<T, N, M> x,
out matrix<T, N, M> ip)
where T : __BuiltinFloatingPointType;
## Generic Parameters
#### T: [\_\_BuiltinFloatingPointType](../interfaces/0_builtinfloatingpointtype-029hm/index.html)
#### N : int
#### M : int
#### L : int
## Parameters
#### x : [T](modf.html#typeparam-T)
The input value.
#### ip : [T](modf.html#typeparam-T)
\[out\] The integer part of x.
#### x : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\>
The input value.
#### ip : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\>
\[out\] The integer part of x.
#### x : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\>
The input value.
#### ip : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\>
\[out\] The integer part of x.
## Return value
The fractional part of x.
## 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.
#### wgsl
Available in all stages.
#### spirv
Available in all stages.