|  | 
| template<typename T > | 
| constexpr T | saturate (error e) noexcept | 
|  | Error handler that clamps the value on error. 
 | 
|  | 
| template<fixed_point Fxd, std::integral I> | 
| constexpr Fxd | from_raw (I val) noexcept | 
|  | Construct from raw value, clamp on overflow. 
 | 
|  | 
| template<fixed_point Dst, std::convertible_to< Dst > Src> | 
| constexpr Dst | make_fixed (Src src) noexcept | 
|  | Construct from numerical value, clamp on overflow. 
 | 
|  | 
| template<unsigned_fixed_point Dst, std::convertible_to< Dst > Src> | 
| constexpr Dst | make_ufixed (Src src) noexcept | 
|  | Construct from numerical value, clamp on overflow (unsigned version). 
 | 
|  | 
| template<int Int, int Frac, typename Raw  = detail::select_int_t<Int + Frac>, std::convertible_to< fixed< Int, Frac, Raw > > Src> | 
| constexpr fixed< Int, Frac, Raw > | make_fixed (Src src) noexcept | 
|  | Convenience overload. 
 | 
|  | 
| template<fixed_point Dst, fixed_point Src> | 
| constexpr Dst | fixed_cast (Src src) noexcept | 
|  | Convert between fxd::fixedtypes, clamp on overflow.
 | 
|  | 
| template<int Int, int Frac, typename Raw  = detail::select_int_t<Int + Frac>, fixed_point Src> | 
| constexpr fixed< Int, Frac, Raw > | fixed_cast (Src src) noexcept | 
|  | Convenience overload. 
 | 
|  | 
| template<int Int, int Frac, typename Raw  = detail::select_uint_t<Int + Frac>, fixed_point Src> | 
| constexpr fixed< Int, Frac, Raw > | ufixed_cast (Src src) noexcept | 
|  | Convenience overload (unsigned version). 
 | 
|  | 
| template<std::integral I, fixed_point Fxd> | 
| constexpr I | to_int (Fxd f) noexcept | 
|  | Convert to integer, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr detail::select_int_for< Fxd::int_bits, typename Fxd::raw_type > | to_int (Fxd f) | 
|  | Convert to the natural integer type, clamp on overflow. 
 | 
|  | 
| template<fixed_point Dst, std::convertible_to< Dst > Src> | 
| constexpr Dst & | assign (Dst &dst, Src src) noexcept | 
|  | Assignment, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd & | pre_inc (Fxd &f) noexcept | 
|  | Pre-increment ( ++f), clamp on overflow.
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | post_inc (Fxd &f) noexcept | 
|  | Post-increment ( f++), clamp on overflow.
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd & | pre_dec (Fxd &f) noexcept | 
|  | Pre-decrement ( --f), clamp on overflow.
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | post_dec (Fxd &f) noexcept | 
|  | Post-decrement ( f--), clamp on overflow.
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | negate (Fxd f) noexcept | 
|  | Negate, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | add (Fxd a, Fxd b) noexcept | 
|  | Add, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | sub (Fxd a, Fxd b) noexcept | 
|  | Subtract, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | div (Fxd a, Fxd b) noexcept | 
|  | Divide rounding down, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | mul (Fxd a, Fxd b) noexcept | 
|  | Multiply rounding down, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | div (Fxd a, Fxd b) noexcept | 
|  | Divide rounding up, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | mul (Fxd a, Fxd b) noexcept | 
|  | Multiply rounding up, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | div (Fxd a, Fxd b) noexcept | 
|  | Divide rounding to zero, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | mul (Fxd a, Fxd b) noexcept | 
|  | Multiply rounding to zero, clamp on overflow. 
 | 
|  | 
| template<fixed_point Fxd> | 
| constexpr Fxd | abs (Fxd f) noexcept | 
|  | Same as fxd::abs(), clamp on overflow.
 | 
|  |