Fp
Eina » Data Types

Floating point numbers data type management. More...

## Macros

#define | EINA_F32P32_PI 0x00000003243f6a89
| Yields the 32-bit PI constant.
#define | eina_fp32p32_llabs(a)
| Gets the absolute value of an Eina_F32p32 floating point number.
#define | EINA_F16P16_ONE (1 << 16)
| Yields the maximum 16-bit unsigned integer size (= 65536).
#define | EINA_F16P16_HALF (1 << 15)
| Yields the maximum 16-bit signed integer size (= 32768).

## Typedefs

typedef int64_t | Eina_F32p32
| Type for floating point number where the size of the integer part is 32-bit and the size of the decimal part is 32-bit.
typedef int32_t | Eina_F16p16
| Type for floating point number where the size of the integer part is 16-bit and the size of the decimal part is 16-bit.
typedef int32_t | Eina_F8p24
| Type for floating point number where the size of the integer part is 8-bit and the size of the decimal part is 24bits.

## Functions

static Eina_F32p32 | eina_f32p32_int_from (int32_t v)
| Creates a new Eina_F32p32 floating point number from standard 32-bit integer.
static int32_t | eina_f32p32_int_to (Eina_F32p32 v)
| Creates a new standard 32-bit integer from Eina_F32p32 floating point number.
static Eina_F32p32 | eina_f32p32_double_from (double v)
| Creates a new Eina_F32p32 floating point number from standard double.
static double | eina_f32p32_double_to (Eina_F32p32 v)
| Creates a new standard double from Eina_F32p32 floating point number.
static Eina_F32p32 | eina_f32p32_add (Eina_F32p32 a, Eina_F32p32 b)
| Calculates the sum of two Eina_F32p32 floating point numbers.
static Eina_F32p32 | eina_f32p32_sub (Eina_F32p32 a, Eina_F32p32 b)
| Calculates the subtraction of two Eina_F32p32 floating point numbers.
static Eina_F32p32 | eina_f32p32_mul (Eina_F32p32 a, Eina_F32p32 b)
| Calculates the multiplication of two Eina_F32p32 floating point numbers.
static Eina_F32p32 | eina_f32p32_scale (Eina_F32p32 a, int b)
| Calculates the scale multiplication of one Eina_F32p32 floating point number with an integer.
static Eina_F32p32 | eina_f32p32_div (Eina_F32p32 a, Eina_F32p32 b)
| Calculates the division of two Eina_F32p32 floating point numbers.
static Eina_F32p32 | eina_f32p32_sqrt (Eina_F32p32 a)
| Calculates the square root of an Eina_F32p32 floating point number.
static unsigned int | eina_f32p32_fracc_get (Eina_F32p32 v)
| Gets the absolute value of the integer part of and Eina_F32p32 floating point number.
EINA_API Eina_F32p32 | eina_f32p32_cos (Eina_F32p32 a)
| Calculates the cosine of a floating point number.
EINA_API Eina_F32p32 | eina_f32p32_sin (Eina_F32p32 a)
| Calculates the sine of a floating point number.
static Eina_F16p16 | eina_f16p16_int_from (int32_t v)
| Creates a new Eina_F16p316 floating point number from standard 32-bit integer.
static int32_t | eina_f16p16_int_to (Eina_F16p16 v)
| Creates a new standard 32-bit integer from Eina_F16p16 floating point number.
static Eina_F16p16 | eina_f16p16_double_from (double v)
| Creates a new Eina_F16p16 floating point number from standard double.
static double | eina_f16p16_double_to (Eina_F16p16 v)
| Creates a new standard double from Eina_F16p16 floating point number.
static Eina_F16p16 | eina_f16p16_float_from (float v)
| Creates a new Eina_F16p16 floating point number from standard float.
static float | eina_f16p16_float_to (Eina_F16p16 v)
| Creates a new standard float from Eina_F16p16 floating point number.
static Eina_F16p16 | eina_f16p16_add (Eina_F16p16 a, Eina_F16p16 b)
| Calculates the sum of two Eina_F16p16 floating point numbers.
static Eina_F16p16 | eina_f16p16_sub (Eina_F16p16 a, Eina_F16p16 b)
| Calculates the subtraction of two Eina_F16p16 floating point numbers.
static Eina_F16p16 | eina_f16p16_mul (Eina_F16p16 a, Eina_F16p16 b)
| Calculates the multiplication of two Eina_F16p16 floating point numbers.
static Eina_F16p16 | eina_f16p16_scale (Eina_F16p16 a, int b)
| Calculates the scale multiplication of one Eina_F16p16 floating point number with an integer.
static Eina_F16p16 | eina_f16p16_div (Eina_F16p16 a, Eina_F16p16 b)
| Calculates the division of two Eina_F16p16 floating point numbers.
static Eina_F16p16 | eina_f16p16_sqrt (Eina_F16p16 a)
| Calculates the square root of an Eina_F16p16 floating point number.
static unsigned int | eina_f16p16_fracc_get (Eina_F16p16 v)
| Gets the absolute value of the integer part of and Eina_F16p16 floating point number.
static Eina_F8p24 | eina_f8p24_int_from (int32_t v)
| Creates a new Eina_F16p316 floating point number from standard 32-bit integer.
static int32_t | eina_f8p24_int_to (Eina_F8p24 v)
| Creates a new standard 32-bit integer from Eina_F8p24 floating point number.
static Eina_F8p24 | eina_f8p24_float_from (float v)
| Creates a new Eina_F8p24 floating point number from standard float.
static float | eina_f8p24_float_to (Eina_F8p24 v)
| Create a new standard float from Eina_F8p24 floating point number.
static Eina_F8p24 | eina_f8p24_add (Eina_F8p24 a, Eina_F8p24 b)
| Calculates the sum of two Eina_F8p24 floating point numbers.
static Eina_F8p24 | eina_f8p24_sub (Eina_F8p24 a, Eina_F8p24 b)
| Calculates the subtraction of two Eina_F8p24 floating point numbers.
static Eina_F8p24 | eina_f8p24_mul (Eina_F8p24 a, Eina_F8p24 b)
| Calculates the multiplication of two Eina_F8p24 floating point numbers.
static Eina_F8p24 | eina_f8p24_scale (Eina_F8p24 a, int b)
| Calculates the scale multiplication of one Eina_F8p24 floating point number with an integer.
static Eina_F8p24 | eina_f8p24_div (Eina_F8p24 a, Eina_F8p24 b)
| Calculates the division of two Eina_F8p24 floating point numbers.
static Eina_F8p24 | eina_f8p24_sqrt (Eina_F8p24 a)
| Calculates the square root of an Eina_F8p24 floating point number.
static unsigned int | eina_f8p24_fracc_get (Eina_F8p24 v)
| Gets the absolute value of the integer part of and Eina_F8p24 floating point number.
static Eina_F32p32 | eina_f16p16_to_f32p32 (Eina_F16p16 a)
| Converts an Eina_F16p16 floating point number into Eina_F32p32 format.
static Eina_F32p32 | eina_f8p24_to_f32p32 (Eina_F8p24 a)
| Converts an Eina_F8p24 floating point number into Eina_F32p32 format.
static Eina_F16p16 | eina_f32p32_to_f16p16 (Eina_F32p32 a)
| Converts an Eina_F32p32 floating point number into Eina_F16p16 format.
static Eina_F16p16 | eina_f8p24_to_f16p16 (Eina_F8p24 a)
| Converts an Eina_F8p24 floating point number into Eina_F16p16 format.
static Eina_F8p24 | eina_f32p32_to_f8p24 (Eina_F32p32 a)
| Converts an Eina_F32p32 floating point number into Eina_F8p24 format.
static Eina_F8p24 | eina_f16p16_to_f8p24 (Eina_F16p16 a)
| Converts an Eina_F16p16 floating point number into Eina_F8p16 format.

## Detailed Description

Floating point numbers data type management.

## Macro Definition Documentation

## eina_fp32p32_llabs

#define eina_fp32p32_llabs | ( |  | a | ) |

Value:
((a < 0) ? -(a) : (a))

Gets the absolute value of an Eina_F32p32 floating point number.

Parameters

  [in] | a | The floating point number

Returns
  The absolute value for the number `a`

Warning
  Has known issues on 64-bit architecture, prefer eina_f32p32_fracc_get() instead

Referenced by eina_f32p32_cos().

## Function Documentation

## eina_f32p32_int_from()

Eina_F32p32 eina_f32p32_int_from | ( | int32_t | v | ) |

inline static

Creates a new Eina_F32p32 floating point number from standard 32-bit integer.

Parameters

  [in] | v | 32-bit integer value to convert

Returns
  The value converted into Eina_F32p32 format

## eina_f32p32_int_to()

int32_t eina_f32p32_int_to | ( | Eina_F32p32 | v | ) |

inline static

Creates a new standard 32-bit integer from Eina_F32p32 floating point number.

Parameters

  [in] | v | Eina_F32p32 value to convert

Returns
  The value converted into 32-bit integer

Referenced by eina_f32p32_cos().

## eina_f32p32_double_from()

Eina_F32p32 eina_f32p32_double_from | ( | double | v | ) |

inline static

Creates a new Eina_F32p32 floating point number from standard double.

Parameters

  [in] | v | Double value to convert

Returns
  The value converted into Eina_F32p32 format

Referenced by eina_quaternion_f16p16_slerp().

## eina_f32p32_double_to()

double eina_f32p32_double_to | ( | Eina_F32p32 | v | ) |

inline static

Creates a new standard double from Eina_F32p32 floating point number.

Parameters

  [in] | v | Eina_F32p32 value to convert

Returns
  The value converted into double

## eina_f32p32_add()

Eina_F32p32 eina_f32p32_add | ( | Eina_F32p32 | a,
|  | Eina_F32p32 | b )

inline static

Calculates the sum of two Eina_F32p32 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The sum result of the two numbers `a` + `b`

Referenced by eina_f32p32_cos().

## eina_f32p32_sub()

Eina_F32p32 eina_f32p32_sub | ( | Eina_F32p32 | a,
|  | Eina_F32p32 | b )

inline static

Calculates the subtraction of two Eina_F32p32 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The subtracted number

Returns
  The subtraction result of the two numbers `a` - `b`

Referenced by eina_f32p32_cos(), and eina_f32p32_sin().

## eina_f32p32_mul()

Eina_F32p32 eina_f32p32_mul | ( | Eina_F32p32 | a,
|  | Eina_F32p32 | b )

inline static

Calculates the multiplication of two Eina_F32p32 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The multiplication result of the two numbers `a` * `b`

To prevent overflow during multiplication we need to reduce the precision of the fraction part Shift both values to only contain 16 bit of the fraction part (rounded). After multiplication we again have a value with a 32-bit fraction part.

Referenced by eina_f32p32_cos(), and eina_quaternion_f16p16_slerp().

## eina_f32p32_scale()

Eina_F32p32 eina_f32p32_scale | ( | Eina_F32p32 | a,
|  | int | b )

inline static

Calculates the scale multiplication of one Eina_F32p32 floating point number with an integer.

Parameters

  [in] | a | The Eina_F32p32 number
  [in] | b | The integer value

Returns
  The multiplication result of the two numbers `a` * `b`

Referenced by eina_f32p32_cos().

## eina_f32p32_div()

Eina_F32p32 eina_f32p32_div | ( | Eina_F32p32 | a,
|  | Eina_F32p32 | b )

inline static

Calculates the division of two Eina_F32p32 floating point numbers.

Parameters

  [in] | a | The numerator number
  [in] | b | The denominator number

Returns
  The division result of the two numbers `a` / `b`

Referenced by eina_f32p32_cos(), and eina_quaternion_f16p16_slerp().

## eina_f32p32_sqrt()

Eina_F32p32 eina_f32p32_sqrt | ( | Eina_F32p32 | a | ) |

inline static

Calculates the square root of an Eina_F32p32 floating point number.

Parameters

  [in] | a | The number to calculate the square root from

Returns
  The square root result for the number `a`

## eina_f32p32_fracc_get()

unsigned int eina_f32p32_fracc_get | ( | Eina_F32p32 | v | ) |

inline static

Gets the absolute value of the integer part of and Eina_F32p32 floating point number.

Parameters

  [in] | v | The floating point number

Returns
  The positive integer part of the number `v`

Referenced by eina_f32p32_cos().

## eina_f32p32_cos()

EINA_API Eina_F32p32 eina_f32p32_cos | ( | Eina_F32p32 | a | ) |

Calculates the cosine of a floating point number.

Parameters

  [in] | a | The angle in radians to calculate the cosine from.

Returns
  The cosine of the angle `a`

References eina_f32p32_add(), eina_f32p32_div(), eina_f32p32_fracc_get(), eina_f32p32_int_to(), eina_f32p32_mul(), EINA_F32P32_PI, eina_f32p32_scale(), eina_f32p32_sub(), and eina_fp32p32_llabs.

Referenced by eina_f32p32_sin().

## eina_f32p32_sin()

EINA_API Eina_F32p32 eina_f32p32_sin | ( | Eina_F32p32 | a | ) |

Calculates the sine of a floating point number.

Parameters

  [in] | a | The angle in radians to calculate the sine from.

Returns
  The cosine of the angle `a`

References eina_f32p32_cos(), EINA_F32P32_PI, and eina_f32p32_sub().

Referenced by eina_quaternion_f16p16_slerp().

## eina_f16p16_int_from()

Eina_F16p16 eina_f16p16_int_from | ( | int32_t | v | ) |

inline static

Creates a new Eina_F16p316 floating point number from standard 32-bit integer.

Parameters

  [in] | v | 32-bit integer value to convert

Returns
  The value converted into Eina_F16p16 format

Referenced by eina_quaternion_f16p16_lerp(), eina_quaternion_f16p16_nlerp(), and eina_quaternion_f16p16_slerp().

## eina_f16p16_int_to()

int32_t eina_f16p16_int_to | ( | Eina_F16p16 | v | ) |

inline static

Creates a new standard 32-bit integer from Eina_F16p16 floating point number.

Parameters

  [in] | v | Eina_F16p16 value to convert

Returns
  The value converted into 32-bit integer

Referenced by eina_quaternion_f16p16_rotation_matrix3_get().

## eina_f16p16_double_from()

Eina_F16p16 eina_f16p16_double_from | ( | double | v | ) |

inline static

Creates a new Eina_F16p16 floating point number from standard double.

Parameters

  [in] | v | Double value to convert

Returns
  The value converted into Eina_F16p16 format

Referenced by eina_matrix3_fixed_values_get().

## eina_f16p16_double_to()

double eina_f16p16_double_to | ( | Eina_F16p16 | v | ) |

inline static

Creates a new standard double from Eina_F16p16 floating point number.

Parameters

  [in] | v | Eina_F16p16 value to convert

Returns
  The value converted into double

Referenced by eina_quaternion_f16p16_slerp().

## eina_f16p16_float_from()

Eina_F16p16 eina_f16p16_float_from | ( | float | v | ) |

inline static

Creates a new Eina_F16p16 floating point number from standard float.

Parameters

  [in] | v | Float value to convert

Returns
  The value converted into Eina_F16p16 format

Referenced by eina_quaternion_f16p16_slerp().

## eina_f16p16_float_to()

float eina_f16p16_float_to | ( | Eina_F16p16 | v | ) |

inline static

Creates a new standard float from Eina_F16p16 floating point number.

Parameters

  [in] | v | Eina_F16p16 value to convert

Returns
  The value converted into float

## eina_f16p16_add()

Eina_F16p16 eina_f16p16_add | ( | Eina_F16p16 | a,
|  | Eina_F16p16 | b )

inline static

Calculates the sum of two Eina_F16p16 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The sum result of the two numbers `a` + `b`

Referenced by eina_quaternion_f16p16_add(), eina_quaternion_f16p16_dot(), eina_quaternion_f16p16_lerp(), eina_quaternion_f16p16_mul(), eina_quaternion_f16p16_norm(), eina_quaternion_f16p16_rotate(), and eina_quaternion_f16p16_rotation_matrix3_get().

## eina_f16p16_sub()

Eina_F16p16 eina_f16p16_sub | ( | Eina_F16p16 | a,
|  | Eina_F16p16 | b )

inline static

Calculates the subtraction of two Eina_F16p16 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The subtracted number

Returns
  The subtraction result of the two numbers `a` - `b`

Referenced by eina_quaternion_f16p16_conjugate(), eina_quaternion_f16p16_lerp(), eina_quaternion_f16p16_mul(), eina_quaternion_f16p16_negative(), eina_quaternion_f16p16_nlerp(), eina_quaternion_f16p16_rotate(), eina_quaternion_f16p16_rotation_matrix3_get(), and eina_quaternion_f16p16_slerp().

## eina_f16p16_mul()

Eina_F16p16 eina_f16p16_mul | ( | Eina_F16p16 | a,
|  | Eina_F16p16 | b )

inline static

Calculates the multiplication of two Eina_F16p16 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The multiplication result of the two numbers `a` * `b`

Referenced by eina_matrix3_f16p16_compose(), eina_quaternion_f16p16_dot(), eina_quaternion_f16p16_lerp(), eina_quaternion_f16p16_mul(), eina_quaternion_f16p16_norm(), eina_quaternion_f16p16_rotate(), and eina_quaternion_f16p16_rotation_matrix3_get().

## eina_f16p16_scale()

Eina_F16p16 eina_f16p16_scale | ( | Eina_F16p16 | a,
|  | int | b )

inline static

Calculates the scale multiplication of one Eina_F16p16 floating point number with an integer.

Parameters

  [in] | a | The Eina_F16p16 number
  [in] | b | The integer value

Returns
  The multiplication result of the two numbers `a` * `b`

Referenced by eina_quaternion_f16p16_rotate(), eina_quaternion_f16p16_rotation_matrix3_get(), and eina_quaternion_f16p16_scale().

## eina_f16p16_div()

Eina_F16p16 eina_f16p16_div | ( | Eina_F16p16 | a,
|  | Eina_F16p16 | b )

inline static

Calculates the division of two Eina_F16p16 floating point numbers.

Parameters

  [in] | a | The numerator number
  [in] | b | The denominator number

Returns
  The division result of the two numbers `a` / `b`

## eina_f16p16_sqrt()

Eina_F16p16 eina_f16p16_sqrt | ( | Eina_F16p16 | a | ) |

inline static

Calculates the square root of an Eina_F16p16 floating point number.

Parameters

  [in] | a | The number to calculate the square root from

Returns
  The square root result for the number `a`

Referenced by eina_quaternion_f16p16_norm().

## eina_f16p16_fracc_get()

unsigned int eina_f16p16_fracc_get | ( | Eina_F16p16 | v | ) |

inline static

Gets the absolute value of the integer part of and Eina_F16p16 floating point number.

Parameters

  [in] | v | The floating point number

Returns
  The positive integer part of the number `v`

## eina_f8p24_int_from()

Eina_F8p24 eina_f8p24_int_from | ( | int32_t | v | ) |

inline static

Creates a new Eina_F16p316 floating point number from standard 32-bit integer.

Parameters

  [in] | v | 32-bit integer value to convert

Returns
  The value converted into Eina_F8p24 format

## eina_f8p24_int_to()

int32_t eina_f8p24_int_to | ( | Eina_F8p24 | v | ) |

inline static

Creates a new standard 32-bit integer from Eina_F8p24 floating point number.

Parameters

  [in] | v | Eina_F8p24 value to convert

Returns
  The value converted into 32-bit integer

## eina_f8p24_float_from()

Eina_F8p24 eina_f8p24_float_from | ( | float | v | ) |

inline static

Creates a new Eina_F8p24 floating point number from standard float.

Parameters

  [in] | v | Float value to convert

Returns
  The value converted into Eina_F8p24 format

## eina_f8p24_float_to()

float eina_f8p24_float_to | ( | Eina_F8p24 | v | ) |

inline static

Create a new standard float from Eina_F8p24 floating point number.

Parameters

  [in] | v | Eina_F8p24 value to convert

Returns
  The value converted into float

## eina_f8p24_add()

Eina_F8p24 eina_f8p24_add | ( | Eina_F8p24 | a,
|  | Eina_F8p24 | b )

inline static

Calculates the sum of two Eina_F8p24 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The sum result of the two numbers `a` + `b`

## eina_f8p24_sub()

Eina_F8p24 eina_f8p24_sub | ( | Eina_F8p24 | a,
|  | Eina_F8p24 | b )

inline static

Calculates the subtraction of two Eina_F8p24 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The subtracted number

Returns
  The subtraction result of the two numbers `a` - `b`

## eina_f8p24_mul()

Eina_F8p24 eina_f8p24_mul | ( | Eina_F8p24 | a,
|  | Eina_F8p24 | b )

inline static

Calculates the multiplication of two Eina_F8p24 floating point numbers.

Parameters

  [in] | a | The first number
  [in] | b | The second number

Returns
  The multiplication result of the two numbers `a` * `b`

## eina_f8p24_scale()

Eina_F8p24 eina_f8p24_scale | ( | Eina_F8p24 | a,
|  | int | b )

inline static

Calculates the scale multiplication of one Eina_F8p24 floating point number with an integer.

Parameters

  [in] | a | The Eina_F16p16 number
  [in] | b | The integer value

Returns
  The multiplication result of the two numbers `a` * `b`

## eina_f8p24_div()

Eina_F8p24 eina_f8p24_div | ( | Eina_F8p24 | a,
|  | Eina_F8p24 | b )

inline static

Calculates the division of two Eina_F8p24 floating point numbers.

Parameters

  [in] | a | The numerator number
  [in] | b | The denominator number

Returns
  The division result of the two numbers `a` / `b`

## eina_f8p24_sqrt()

Eina_F8p24 eina_f8p24_sqrt | ( | Eina_F8p24 | a | ) |

inline static

Calculates the square root of an Eina_F8p24 floating point number.

Parameters

  [in] | a | The number to calculate the square root from

Returns
  The square root result for the number `a`

## eina_f8p24_fracc_get()

unsigned int eina_f8p24_fracc_get | ( | Eina_F8p24 | v | ) |

inline static

Gets the absolute value of the integer part of and Eina_F8p24 floating point number.

Parameters

  [in] | v | The floating point number

Returns
  The positive integer part of the number `v`

## eina_f16p16_to_f32p32()

Eina_F32p32 eina_f16p16_to_f32p32 | ( | Eina_F16p16 | a | ) |

inline static

Converts an Eina_F16p16 floating point number into Eina_F32p32 format.

Parameters

  [in] | a | The Eina_F16p16 floating point number

Returns
  The converted Eina_F32p32 floating point number

Referenced by eina_quaternion_f16p16_slerp().

## eina_f8p24_to_f32p32()

Eina_F32p32 eina_f8p24_to_f32p32 | ( | Eina_F8p24 | a | ) |

inline static

Converts an Eina_F8p24 floating point number into Eina_F32p32 format.

Parameters

  [in] | a | The Eina_F8p24 floating point number

Returns
  The converted Eina_F32p32 floating point number

## eina_f32p32_to_f16p16()

Eina_F16p16 eina_f32p32_to_f16p16 | ( | Eina_F32p32 | a | ) |

inline static

Converts an Eina_F32p32 floating point number into Eina_F16p16 format.

Parameters

  [in] | a | The Eina_F32p32 floating point number

Returns
  The converted Eina_F16p16 floating point number

Referenced by eina_quaternion_f16p16_slerp().

## eina_f8p24_to_f16p16()

Eina_F16p16 eina_f8p24_to_f16p16 | ( | Eina_F8p24 | a | ) |

inline static

Converts an Eina_F8p24 floating point number into Eina_F16p16 format.

Parameters

  [in] | a | The Eina_F8p24 floating point number

Returns
  The converted Eina_F16p16 floating point number

## eina_f32p32_to_f8p24()

Eina_F8p24 eina_f32p32_to_f8p24 | ( | Eina_F32p32 | a | ) |

inline static

Converts an Eina_F32p32 floating point number into Eina_F8p24 format.

Parameters

  [in] | a | The Eina_F32p32 floating point number

Returns
  The converted Eina_F8p16 floating point number

## eina_f16p16_to_f8p24()

Eina_F8p24 eina_f16p16_to_f8p24 | ( | Eina_F16p16 | a | ) |

inline static

Converts an Eina_F16p16 floating point number into Eina_F8p16 format.

Parameters

  [in] | a | The Eina_F16p16 floating point number

Returns
  The converted Eina_F8p16 floating point number