4.7. Compiler support API
4.7.1. GNU library API
4.7.1.1. Integer arithmetic
Function |
Description |
---|---|
Multiply, signed 32-bit integer. |
|
Multiply, signed 64-bit integer. |
|
Divide, signed 32-bit integer. |
|
Divide, signed 64-bit integer. |
|
Divide, unsigned 32-bit integer. |
|
Divide, unsigned 64-bit integer. |
|
Remainder after divide, signed 32-bit integer. |
|
Remainder after divide, signed 64-bit integer. |
|
Remainder after divide, unsigned 32-bit integer. |
|
Remainder after divide, unsigned 64-bit integer. |
|
Divide with remainder, unsigned 32-bit integer. |
|
Divide with remainder, unsigned 64-bit integer. |
|
Count leading zeros, 32-bit integer. |
|
Count leading zeros, 64-bit integer. |
|
Count trailing zeros, 32-bit integer. |
|
Count trailing zeros, 64-bit integer. |
|
Find first set, 32-bit integer. |
|
Find first set, 64-bit integer. |
|
Byte swap, 32-bit integer. |
|
Byte swap, 64-bit integer. |
|
Population count, 32-bit integer. |
|
Population count, 64-bit integer. |
|
Parity, 32-bit integer. |
|
Parity, 64-bit integer. |
4.7.1.1.1. __mulsi3()
Description
Multiply, signed 32-bit integer.
Prototype
__SEGGER_RTL_U32 __mulsi3(__SEGGER_RTL_U32 a,
__SEGGER_RTL_U32 b);
Parameters
Parameter |
Description |
---|---|
a |
Multiplier. |
b |
Multiplicand. |
Return value
Product.
4.7.1.1.2. __muldi3()
Description
Multiply, signed 64-bit integer.
Prototype
__SEGGER_RTL_U64 __muldi3(__SEGGER_RTL_U64 a,
__SEGGER_RTL_U64 b);
Parameters
Parameter |
Description |
---|---|
a |
Multiplier. |
b |
Multiplicand. |
Return value
Product.
4.7.1.1.3. __divsi3()
Description
Divide, signed 32-bit integer.
Prototype
int32_t __divsi3(int32_t num,
int32_t den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Quotient.
4.7.1.1.4. __divdi3()
Description
Divide, signed 64-bit integer.
Prototype
int64_t __divdi3(int64_t num,
int64_t den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Quotient.
4.7.1.1.5. __udivsi3()
Description
Divide, unsigned 32-bit integer.
Prototype
__SEGGER_RTL_U32 __udivsi3(__SEGGER_RTL_U32 num,
__SEGGER_RTL_U32 den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Quotient.
4.7.1.1.6. __udivdi3()
Description
Divide, unsigned 64-bit integer.
Prototype
__SEGGER_RTL_U64 __udivdi3(__SEGGER_RTL_U64 num,
__SEGGER_RTL_U64 den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Quotient.
4.7.1.1.7. __modsi3()
Description
Remainder after divide, signed 32-bit integer.
Prototype
int32_t __modsi3(int32_t num,
int32_t den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Remainder.
4.7.1.1.8. __moddi3()
Description
Remainder after divide, signed 64-bit integer.
Prototype
int64_t __moddi3(int64_t num,
int64_t den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Remainder.
4.7.1.1.9. __umodsi3()
Description
Remainder after divide, unsigned 32-bit integer.
Prototype
__SEGGER_RTL_U32 __umodsi3(__SEGGER_RTL_U32 num,
__SEGGER_RTL_U32 den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Remainder.
4.7.1.1.10. __umoddi3()
Description
Remainder after divide, unsigned 64-bit integer.
Prototype
__SEGGER_RTL_U64 __umoddi3(__SEGGER_RTL_U64 num,
__SEGGER_RTL_U64 den);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
Return value
Remainder.
4.7.1.1.11. __udivmodsi4()
Description
Divide with remainder, unsigned 32-bit integer.
Prototype
__SEGGER_RTL_U32 __udivmodsi4(__SEGGER_RTL_U32 num,
__SEGGER_RTL_U32 den,
__SEGGER_RTL_U32 *rem);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
rem |
Pointer to object that receives the remainder. |
Return value
Quotient.
4.7.1.1.12. __udivmoddi4()
Description
Divide with remainder, unsigned 64-bit integer.
Prototype
__SEGGER_RTL_U64 __udivmoddi4(__SEGGER_RTL_U64 num,
__SEGGER_RTL_U64 den,
__SEGGER_RTL_U64 *rem);
Parameters
Parameter |
Description |
---|---|
num |
Dividend. |
den |
Divisor. |
rem |
Pointer to object that receives the remainder. |
Return value
Quotient.
4.7.1.1.13. __clzsi2()
Description
Count leading zeros, 32-bit integer.
Prototype
int __clzsi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; x must not be zero. |
Return value
Number of leading zeros in x.
4.7.1.1.14. __clzdi2()
Description
Count leading zeros, 64-bit integer.
Prototype
int __clzdi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; x must not be zero. |
Return value
Number of leading zeros in x.
4.7.1.1.15. __ctzsi2()
Description
Count trailing zeros, 32-bit integer.
Prototype
int __ctzsi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; x must not be zero. |
Return value
Number of trailing zeros in x.
4.7.1.1.16. __ctzdi2()
Description
Count trailing zeros, 64-bit integer.
Prototype
int __ctzdi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; x must not be zero. |
Return value
Number of trailing zeros in x.
4.7.1.1.17. __ffssi2()
Description
Find first set, 32-bit integer.
Prototype
int __ffssi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; Return value zero if x is zero. |
Return value
The index of the least significant 1-bit in x.
4.7.1.1.18. __ffsdi2()
Description
Find first set, 64-bit integer.
Prototype
int __ffsdi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument; Return value zero if x is zero. |
Return value
The index of the least significant 1-bit in x.
4.7.1.1.19. __bswapsi2()
Description
Byte swap, 32-bit integer.
Prototype
int __bswapsi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
The result of byte swap in x.
4.7.1.1.20. __bswapdi2()
Description
Byte swap, 64-bit integer.
Prototype
int __bswapdi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
The result of byte swap in x.
4.7.1.1.21. __popcountsi2()
Description
Population count, 32-bit integer.
Prototype
int __popcountsi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
Count of number of one bits in x.
4.7.1.1.22. __popcountdi2()
Description
Population count, 64-bit integer.
Prototype
int __popcountdi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
Count of number of one bits in x.
4.7.1.1.23. __paritysi2()
Description
Parity, 32-bit integer.
Prototype
int __paritysi2(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
1 |
number of one bits in x is odd. |
0 |
number of one bits in x is even. |
4.7.1.1.24. __paritydi2()
Description
Parity, 64-bit integer.
Prototype
int __paritydi2(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Argument. |
Return value
1 |
number of one bits in x is odd. |
0 |
number of one bits in x is even. |
4.7.1.2. Floating arithmetic
Function |
Description |
---|---|
Add, float. |
|
Add, double. |
|
Add, long double. |
|
Subtract, float. |
|
Subtract, double. |
|
Subtract, long double. |
|
Multiply, float. |
|
Multiply, double. |
|
Multiply, long double. |
|
Divide, float. |
|
Divide, double. |
|
Divide, long double. |
4.7.1.2.1. __addsf3()
Description
Add, float.
Prototype
float __addsf3(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Augend. |
y |
Addend. |
Return value
Sum.
4.7.1.2.2. __adddf3()
Description
Add, double.
Prototype
double __adddf3(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Augend. |
y |
Addend. |
Return value
Sum.
4.7.1.2.3. __addtf3()
Description
Add, long double.
Prototype
long double __addtf3(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Augend. |
y |
Addend. |
Return value
Sum.
4.7.1.2.4. __subsf3()
Description
Subtract, float.
Prototype
float __subsf3(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Minuend. |
y |
Subtrahend. |
Return value
Difference.
4.7.1.2.5. __subdf3()
Description
Subtract, double.
Prototype
double __subdf3(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Minuend. |
y |
Subtrahend. |
Return value
Difference.
4.7.1.2.6. __subtf3()
Description
Subtract, long double.
Prototype
long double __subtf3(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Minuend. |
y |
Subtrahend. |
Return value
Difference.
4.7.1.2.7. __mulsf3()
Description
Multiply, float.
Prototype
float __mulsf3(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Multiplicand. |
y |
Multiplier. |
Return value
Product.
4.7.1.2.8. __muldf3()
Description
Multiply, double.
Prototype
double __muldf3(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Multiplicand. |
y |
Multiplier. |
Return value
Product.
4.7.1.2.9. __multf3()
Description
Multiply, long double.
Prototype
long double __multf3(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Multiplicand. |
y |
Multiplier. |
Return value
Product.
4.7.1.2.10. __divsf3()
Description
Divide, float.
Prototype
float __divsf3(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Dividend. |
y |
Divisor. |
Return value
Quotient.
4.7.1.2.11. __divdf3()
Description
Divide, double.
Prototype
double __divdf3(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Dividend. |
y |
Divisor. |
Return value
Quotient.
4.7.1.2.12. __divtf3()
Description
Divide, long double.
Prototype
long double __divtf3(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Dividend. |
y |
Divisor. |
Return value
Quotient.
4.7.1.3. Floating conversions
Function |
Description |
---|---|
Convert float to int. |
|
Convert double to int. |
|
Convert long double to int. |
|
Convert float to long long. |
|
Convert double to long long. |
|
Convert long double to long long. |
|
Convert float to unsigned. |
|
Convert double to unsigned. |
|
Convert long double to int. |
|
Convert float to unsigned long long. |
|
Convert double to unsigned long long. |
|
Convert long double to unsigned long long. |
|
Convert int to float. |
|
Convert int to double. |
|
Convert int to long double. |
|
Convert long long to float. |
|
Convert long long to double. |
|
Convert long long to long double. |
|
Convert unsigned to float. |
|
Convert unsigned to double. |
|
Convert unsigned to long double. |
|
Convert unsigned long long to float. |
|
Convert unsigned long long to double. |
|
Convert unsigned long long to long double. |
|
Extend float to double. |
|
Extend float to long double. |
|
Extend double to long double. |
|
Truncate double to float. |
|
Truncate long double to float. |
|
Truncate long double to double. |
4.7.1.3.1. __fixsfsi()
Description
Convert float to int.
Prototype
__SEGGER_RTL_I32 __fixsfsi(float x);
Parameters
Parameter |
Description |
---|---|
x |
Floating value to convert. |
Return value
Integerized value.
4.7.1.3.2. __fixdfsi()
Description
Convert double to int.
Prototype
__SEGGER_RTL_I32 __fixdfsi(double x);
Parameters
Parameter |
Description |
---|---|
x |
Floating value to convert. |
Return value
Integerized value.
4.7.1.3.3. __fixtfsi()
Description
Convert long double to int.
Prototype
__SEGGER_RTL_I32 __fixtfsi(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Floating value to convert. |
Return value
Integerized value.
4.7.1.3.4. __fixsfdi()
Description
Convert float to long long.
Prototype
__SEGGER_RTL_I64 __fixsfdi(float f);
Parameters
Parameter |
Description |
---|---|
f |
Floating value to convert. |
Return value
Integerized value.
Notes
The RV32 compiler converts a float to a 64-bit integer by calling runtime support to handle it.
4.7.1.3.5. __fixdfdi()
Description
Convert double to long long.
Prototype
__SEGGER_RTL_I64 __fixdfdi(double x);
Parameters
Parameter |
Description |
---|---|
x |
Floating value to convert. |
Return value
Integerized value.
Notes
RV32 always calls runtime for double to int64 conversion.
4.7.1.3.6. __fixtfdi()
Description
Convert long double to long long.
Prototype
__SEGGER_RTL_I64 __fixtfdi(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Floating value to convert. |
Return value
Integerized value.
4.7.1.3.7. __fixunssfsi()
Description
Convert float to unsigned.
Prototype
__SEGGER_RTL_U32 __fixunssfsi(float x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.8. __fixunsdfsi()
Description
Convert double to unsigned.
Prototype
__SEGGER_RTL_U32 __fixunsdfsi(double x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.9. __fixunstfsi()
Description
Convert long double to int.
Prototype
int __fixunstfsi(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.10. __fixunssfdi()
Description
Convert float to unsigned long long.
Prototype
__SEGGER_RTL_U64 __fixunssfdi(float f);
Parameters
Parameter |
Description |
---|---|
f |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.11. __fixunsdfdi()
Description
Convert double to unsigned long long.
Prototype
__SEGGER_RTL_U64 __fixunsdfdi(double x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.12. __fixunstfdi()
Description
Convert long double to unsigned long long.
Prototype
__SEGGER_RTL_U64 __fixunstfdi(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to convert. |
Return value
Integerized value.
4.7.1.3.13. __floatsisf()
Description
Convert int to float.
Prototype
float __floatsisf(__SEGGER_RTL_I32 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.14. __floatsidf()
Description
Convert int to double.
Prototype
double __floatsidf(__SEGGER_RTL_I32 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.15. __floatsitf()
Description
Convert int to long double.
Prototype
long double __floatsitf(__SEGGER_RTL_I32 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.16. __floatdisf()
Description
Convert long long to float.
Prototype
float __floatdisf(__SEGGER_RTL_I64 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.17. __floatdidf()
Description
Convert long long to double.
Prototype
double __floatdidf(__SEGGER_RTL_I64 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.18. __floatditf()
Description
Convert long long to long double.
Prototype
long double __floatditf(__SEGGER_RTL_I64 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.19. __floatunsisf()
Description
Convert unsigned to float.
Prototype
float __floatunsisf(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Integer value to convert. |
Return value
Floating value.
4.7.1.3.20. __floatunsidf()
Description
Convert unsigned to double.
Prototype
double __floatunsidf(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Unsigned value to convert. |
Return value
Double value.
4.7.1.3.21. __floatunsitf()
Description
Convert unsigned to long double.
Prototype
long double __floatunsitf(__SEGGER_RTL_U32 x);
Parameters
Parameter |
Description |
---|---|
x |
Unsigned value to convert. |
Return value
Long double value.
4.7.1.3.22. __floatundisf()
Description
Convert unsigned long long to float.
Prototype
float __floatundisf(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Unsigned long long value to convert. |
Return value
Float value.
4.7.1.3.23. __floatundidf()
Description
Convert unsigned long long to double.
Prototype
double __floatundidf(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Unsigned long long value to convert. |
Return value
Double value.
4.7.1.3.24. __floatunditf()
Description
Convert unsigned long long to long double.
Prototype
long double __floatunditf(__SEGGER_RTL_U64 x);
Parameters
Parameter |
Description |
---|---|
x |
Unsigned long long value to convert. |
Return value
Long double value.
4.7.1.3.25. __extendsfdf2()
Description
Extend float to double.
Prototype
double __extendsfdf2(float x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to extend. |
Return value
Double value.
4.7.1.3.26. __extendsftf2()
Description
Extend float to long double.
Prototype
long double __extendsftf2(float x);
Parameters
Parameter |
Description |
---|---|
x |
Float value to extend. |
Return value
Double value.
4.7.1.3.27. __extenddftf2()
Description
Extend double to long double.
Prototype
long double __extenddftf2(double x);
Parameters
Parameter |
Description |
---|---|
x |
Double value to extend. |
Return value
Long double value.
4.7.1.3.28. __truncdfsf2()
Description
Truncate double to float.
Prototype
float __truncdfsf2(double x);
Parameters
Parameter |
Description |
---|---|
x |
Double value to truncate. |
Return value
Float value.
4.7.1.3.29. __trunctfdf2()
Description
Truncate long double to double.
Prototype
double __trunctfdf2(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Long double value to truncate. |
Return value
Double value.
4.7.1.3.30. __trunctfsf2()
Description
Truncate long double to float.
Prototype
float __trunctfsf2(long double x);
Parameters
Parameter |
Description |
---|---|
x |
Long double value to truncate. |
Return value
Float value.
4.7.1.4. Floating comparisons
Function |
Description |
---|---|
Equal, float. |
|
Equal, double. |
|
Equal, long double. |
|
Not equal, float. |
|
Not equal, double. |
|
Not equal, long double. |
|
Less than, float. |
|
Less than, double. |
|
Less than, long double. |
|
Less than or equal, float. |
|
Less than or equal, double. |
|
Less than or equal, long double. |
|
Greater than, float. |
|
Greater than, double. |
|
Greater than, long double. |
|
Greater than or equal, float. |
|
Greater than or equal, double. |
|
Greater than or equal, long double. |
4.7.1.4.1. __eqsf2()
Description
Equal, float.
Prototype
int __eqsf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.2. __eqdf2()
Description
Equal, double.
Prototype
int __eqdf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.3. __eqtf2()
Description
Equal, long double.
Prototype
int __eqtf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.4. __nesf2()
Description
Not equal, float.
Prototype
int __nesf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.5. __nedf2()
Description
Not equal, double.
Prototype
int __nedf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.6. __netf2()
Description
Not equal, long double.
Prototype
int __netf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return = 0 if both operands are non-NaN and a = b (GNU three-way boolean).
4.7.1.4.7. __ltsf2()
Description
Less than, float.
Prototype
int __ltsf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return < 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.8. __ltdf2()
Description
Less than, double.
Prototype
int __ltdf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return < 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.9. __lttf2()
Description
Less than, long double.
Prototype
int __lttf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return < 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.10. __lesf2()
Description
Less than or equal, float.
Prototype
int __lesf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≤ 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.11. __ledf2()
Description
Less than or equal, double.
Prototype
int __ledf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≤ 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.12. __letf2()
Description
Less than or equal, long double.
Prototype
int __letf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≤ 0 if both operands are non-NaN and a < b (GNU three-way boolean).
4.7.1.4.13. __gtsf2()
Description
Greater than, float.
Prototype
int __gtsf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return > 0 if both operands are non-NaN and a > b (GNU three-way boolean).
4.7.1.4.14. __gtdf2()
Description
Greater than, double.
Prototype
int __gtdf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return > 0 if both operands are non-NaN and a > b (GNU three-way boolean).
4.7.1.4.15. __gttf2()
Description
Greater than, long double.
Prototype
int __gttf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return > 0 if both operands are non-NaN and a > b (GNU three-way boolean).
4.7.1.4.16. __gesf2()
Description
Greater than or equal, float.
Prototype
int __gesf2(float x,
float y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≥ 0 if both operands are non-NaN and a ≥ b (GNU three-way boolean).
4.7.1.4.17. __gedf2()
Description
Greater than or equal, double.
Prototype
int __gedf2(double x,
double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≥ 0 if both operands are non-NaN and a ≥ b (GNU three-way boolean).
4.7.1.4.18. __getf2()
Description
Greater than or equal, long double.
Prototype
int __getf2(long double x,
long double y);
Parameters
Parameter |
Description |
---|---|
x |
Left-hand operand. |
y |
Right-hand operand. |
Return value
Return ≥ 0 if both operands are non-NaN and a ≥ b (GNU three-way boolean).