Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58664e8a authored by Nick Desaulniers's avatar Nick Desaulniers
Browse files

[frameworks][base][statsd] fix -Wimplicit-int-float-conversion



RAND_MAX cannot be precisely represented in an IEEE 754 single precision
float.  For the purpose of generating a random number, the imprecision
is irrelevant. Fix the warning with an explicit cast.

Bug: 139945549
Test: mm
Change-Id: Ica60b410bbbca0b3807f985e302abb0775133877
Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
parent 691e1a09
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ void triggerSubscribers(int64_t ruleId, int64_t metricId, const MetricDimensionK

    for (const Subscription& subscription : subscriptions) {
        if (subscription.probability_of_informing() < 1
                && ((float)rand() / RAND_MAX) >= subscription.probability_of_informing()) {
                && ((float)rand() / (float)RAND_MAX) >= subscription.probability_of_informing()) {
            // Note that due to float imprecision, 0.0 and 1.0 might not truly mean never/always.
            // The config writer was advised to use -0.1 and 1.1 for never/always.
            ALOGI("Fate decided that a subscriber would not be informed.");