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

Commit 5a8af506 authored by Ryan Prichard's avatar Ryan Prichard
Browse files

input: handle change in std::span::size type

The pre-standardized version of std::span in external/libcxx had a
ptrdiff_t size, but the finalized std::span has a size_t size instead.
Also, the std::span::index_type typedef is renamed to size_type. Use an
old-style constructor call to implicitly coerce the size value to the
proper type.

Insert a cast to avoid a signedness comparison warning.

Bug: b/175635923
Test: treehugger
Change-Id: I96ccf6d5b54d4118b096f97c901073b4fc2f6f9f
parent 385fe14c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -181,7 +181,8 @@ std::unique_ptr<MotionEvent> MotionPredictor::predict(nsecs_t timestamp) {
    int64_t predictionTime = mBuffers->lastTimestamp();
    const int64_t futureTime = timestamp + mPredictionTimestampOffsetNanos;

    for (int i = 0; i < predictedR.size() && predictionTime <= futureTime; ++i) {
    for (size_t i = 0; i < static_cast<size_t>(predictedR.size()) && predictionTime <= futureTime;
         ++i) {
        if (predictedR[i] < mModel->config().distanceNoiseFloor) {
            // Stop predicting when the predicted output is below the model's noise floor.
            //
@@ -198,7 +199,7 @@ std::unique_ptr<MotionEvent> MotionPredictor::predict(nsecs_t timestamp) {
        const TfLiteMotionPredictorSample::Point predictedPoint =
                convertPrediction(axisFrom, axisTo, predictedR[i], predictedPhi[i]);

        ALOGD_IF(isDebug(), "prediction %d: %f, %f", i, predictedPoint.x, predictedPoint.y);
        ALOGD_IF(isDebug(), "prediction %zu: %f, %f", i, predictedPoint.x, predictedPoint.y);
        PointerCoords coords;
        coords.clear();
        coords.setAxisValue(AMOTION_EVENT_AXIS_X, predictedPoint.x);
+1 −2
Original line number Diff line number Diff line
@@ -143,8 +143,7 @@ std::span<T> getTensorBuffer(typename std::conditional<std::is_const<T>::value,
                        tensor->name, TfLiteTypeGetName(tensor->type), TfLiteTypeGetName(type));

    LOG_ALWAYS_FATAL_IF(!tensor->data.data);
    return {reinterpret_cast<T*>(tensor->data.data),
            static_cast<typename std::span<T>::index_type>(tensor->bytes / sizeof(T))};
    return std::span<T>(reinterpret_cast<T*>(tensor->data.data), tensor->bytes / sizeof(T));
}

// Verifies that a tensor exists and has an underlying buffer of type T.