FloatSub
FloatSub
Description
Generic subtraction convenience macro for Float.
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the difference |
a |
in | Left operand |
b |
in | Right operand selected through generic dispatch |
Usage example (from documentation)
FloatSub(&diff, &value, 2u);Usage example (Cross-references)
Usage examples (Cross-references)
- In
Float.c:533:
}
void(FloatSub)(Float *result, Float *a, Float *b) {
Float rhs = FloatClone(b);- In
Float.c:548:
Float rhs = MISRA_PRIV_FloatFromInt(b);
FloatSub(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:555:
Float rhs = MISRA_PRIV_FloatFromU64(b);
FloatSub(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:562:
Float rhs = MISRA_PRIV_FloatFromI64(b);
FloatSub(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:569:
Float rhs = float_from_f32_value(b);
FloatSub(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:576:
Float rhs = float_from_f64_value(b);
FloatSub(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.Math.c:132:
bool test_float_sub_small_small(void) {
WriteFmt("Testing FloatSub with small floats\n");
Float a = FloatFromStr("1.5");- In
Float.Math.c:139:
Str text = StrInit();
FloatSub(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:152:
bool test_float_sub_very_large_large(void) {
WriteFmt("Testing FloatSub with very large floats\n");
Float a = FloatFromStr(FLOAT_TEST_VERY_LARGE_THREES);- In
Float.Math.c:159:
Str text = StrInit();
FloatSub(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:172:
bool test_float_sub_generic(void) {
WriteFmt("Testing FloatSub generic dispatch\n");
Float a = FloatFromStr("5.5");- In
Float.Math.c:180:
Str text = StrInit();
FloatSub(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "5") == 0;- In
Float.Math.c:185:
StrDeinit(&text);
FloatSub(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.5") == 0);- In
Float.Math.c:190:
StrDeinit(&text);
FloatSub(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.5") == 0);- In
Float.Math.c:195:
StrDeinit(&text);
FloatSub(&result_value, &a, -2);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "7.5") == 0);- In
Float.Math.c:200:
StrDeinit(&text);
FloatSub(&result_value, &a, 0.5f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "5") == 0);- In
Math.h:65:
/// TAGS: Float, Math, Subtract
///
void (FloatSub)(Float *result, Float *a, Float *b);
///
/// Multiply two floats.
- In
Math.h:124:
(rhs), \
Float: MISRA_PRIV_FloatSubValueFloat, \
Float *: FloatSub, \
const Float *: MISRA_PRIV_FloatSubConstFloat, \
Int: MISRA_PRIV_FloatSubValueInt, \
Last updated on