FloatAdd
FloatAdd
Description
Generic addition convenience macro for Float.
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the sum |
a |
in | Left operand |
b |
in | Right operand selected through generic dispatch |
Usage example (from documentation)
FloatAdd(&sum, &value, 1.25);Usage example (Cross-references)
Usage examples (Cross-references)
- In
Float.c:459:
}
void(FloatAdd)(Float *result, Float *a, Float *b) {
Float lhs = FloatClone(a);
Float rhs = FloatClone(b);- In
Float.c:501:
Float rhs = MISRA_PRIV_FloatFromInt(b);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:508:
Float rhs = MISRA_PRIV_FloatFromU64(b);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:515:
Float rhs = MISRA_PRIV_FloatFromI64(b);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:522:
Float rhs = float_from_f32_value(b);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:529:
Float rhs = float_from_f64_value(b);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:541:
FloatNegate(&rhs);
FloatAdd(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.Math.c:46:
bool test_float_add_small_small(void) {
WriteFmt("Testing FloatAdd with small floats\n");
Float a = FloatFromStr("1.2");- In
Float.Math.c:53:
Str text = StrInit();
FloatAdd(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:66:
bool test_float_add_very_large_large(void) {
WriteFmt("Testing FloatAdd with very large floats\n");
Float a = FloatFromStr(FLOAT_TEST_VERY_LARGE_ONES);- In
Float.Math.c:73:
Str text = StrInit();
FloatAdd(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:86:
bool test_float_add_generic(void) {
WriteFmt("Testing FloatAdd generic dispatch\n");
Float a = FloatFromStr("1.25");- In
Float.Math.c:94:
Str text = StrInit();
FloatAdd(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "2") == 0;- In
Float.Math.c:99:
StrDeinit(&text);
FloatAdd(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.25") == 0);- In
Float.Math.c:104:
StrDeinit(&text);
FloatAdd(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.25") == 0);- In
Float.Math.c:109:
StrDeinit(&text);
FloatAdd(&result_value, &a, -1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "0.25") == 0);- In
Float.Math.c:114:
StrDeinit(&text);
FloatAdd(&result_value, &a, 0.75f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2") == 0);- In
Float.Math.c:119:
StrDeinit(&text);
FloatAdd(&result_value, &a, 0.75);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2") == 0);- In
Math.h:52:
/// TAGS: Float, Math, Add
///
void (FloatAdd)(Float *result, Float *a, Float *b);
///
/// Subtract one float from another.
- In
Math.h:101:
(rhs), \
Float: MISRA_PRIV_FloatAddValueFloat, \
Float *: FloatAdd, \
const Float *: MISRA_PRIV_FloatAddConstFloat, \
Int: MISRA_PRIV_FloatAddValueInt, \
Last updated on