FloatMul
FloatMul
Description
Generic multiplication convenience macro for Float.
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the product |
a |
in | Left operand |
b |
in | Right operand selected through generic dispatch |
Usage example (from documentation)
FloatMul(&product, &value, 0.5f);Usage example (Cross-references)
Usage examples (Cross-references)
- In
Float.c:580:
}
void(FloatMul)(Float *result, Float *a, Float *b) {
Float temp = FloatInit();- In
Float.c:598:
Float rhs = MISRA_PRIV_FloatFromInt(b);
FloatMul(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:605:
Float rhs = MISRA_PRIV_FloatFromU64(b);
FloatMul(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:612:
Float rhs = MISRA_PRIV_FloatFromI64(b);
FloatMul(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:619:
Float rhs = float_from_f32_value(b);
FloatMul(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.c:626:
Float rhs = float_from_f64_value(b);
FloatMul(result, a, &rhs);
FloatDeinit(&rhs);
}- In
Float.Math.c:213:
bool test_float_mul_small_small(void) {
WriteFmt("Testing FloatMul with small floats\n");
Float a = FloatFromStr("12.5");- In
Float.Math.c:220:
Str text = StrInit();
FloatMul(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:233:
bool test_float_mul_very_large_small(void) {
WriteFmt("Testing FloatMul with very large and small floats\n");
Float a = FloatFromStr(FLOAT_TEST_VERY_LARGE_ONES);- In
Float.Math.c:240:
Str text = StrInit();
FloatMul(&result_value, &a, &b);
text = FloatToStr(&result_value);- In
Float.Math.c:253:
bool test_float_mul_generic(void) {
WriteFmt("Testing FloatMul generic dispatch\n");
Float a = FloatFromStr("1.5");- In
Float.Math.c:261:
Str text = StrInit();
FloatMul(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "3") == 0;- In
Float.Math.c:266:
StrDeinit(&text);
FloatMul(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3") == 0);- In
Float.Math.c:271:
StrDeinit(&text);
FloatMul(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3") == 0);- In
Float.Math.c:276:
StrDeinit(&text);
FloatMul(&result_value, &a, -2);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "-3") == 0);- In
Float.Math.c:281:
StrDeinit(&text);
FloatMul(&result_value, &a, 0.5f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "0.75") == 0);- In
Math.h:78:
/// TAGS: Float, Math, Multiply
///
void (FloatMul)(Float *result, Float *a, Float *b);
///
/// Divide one float by another.
- In
Math.h:147:
(rhs), \
Float: MISRA_PRIV_FloatMulValueFloat, \
Float *: FloatMul, \
const Float *: MISRA_PRIV_FloatMulConstFloat, \
Int: MISRA_PRIV_FloatMulValueInt, \
Last updated on