Links
Comment on page

fxpt

Library for doing arithmetic with fixed point numbers and converting them from/to floating point numbers.

Types

std::fxpt::fixed

A fixed point value
using fixed = s128;

Functions

std::fxpt::to_float

Converts a fixed point value into a floating point value
  • fxt: The fixed point value to convert
  • precision: The bits of precision the new value should have
  • return: The floating point representation of fxt
fn to_float(std::fxpt::fixed fxt, u32 precision);

std::fxpt::to_fixed

Converts a floating point value into a fixed point value
  • flt: The floating point value to convert
  • precision: The bits of precision the new value should have
  • return: The fixed point representation of flt
fn to_fixed(double flt, u32 precision);

std::fxpt::change_precision

Changes the number of bits used to represent the decimal part of the given fixed point number
  • value: The fixed point value to convert
  • start_precision: The current number of bits used
  • end_precision: The new number of bits used
  • return: value as a new fixed point number with end_precision bits of precision
fn change_precision(std::fxpt::fixed value, u32 start_precision, u32 end_precision);

std::fxpt::add

Adds two fixed point numbers with a given precision together
  • a: First fixed point number
  • b: Second fixed point number
  • precision: The precision of a and b
  • return: Result of the addition of a and b
fn add(std::fxpt::fixed a, std::fxpt::fixed b, u32 precision);

std::fxpt::subtract

Subtracts two fixed point numbers with a given precision together
  • a: First fixed point number
  • b: Second fixed point number
  • precision: The precision of a and b
  • return: Result of the subtraction of a and b
fn subtract(std::fxpt::fixed a, std::fxpt::fixed b, u32 precision);

std::fxpt::multiply

Multiplies two fixed point numbers with a given precision together
  • a: First fixed point number
  • b: Second fixed point number
  • precision: The precision of a and b
  • return: Result of the multiplication of a and b
fn multiply(std::fxpt::fixed a, std::fxpt::fixed b, u32 precision);

std::fxpt::divide

Divides two fixed point numbers with a given precision together
  • a: First fixed point number
  • b: Second fixed point number
  • precision: The precision of a and b
  • return: Result of the division of a and b
fn divide(std::fxpt::fixed a, std::fxpt::fixed b, u32 precision);
Last modified 8mo ago