- 31 8月, 2020 7 次提交
-
-
由 Chris Bracken 提交于
Reduces errors caused by the loss of floating point precision when the two extrema of the lerp differ significantly in magnitude. Previously, we used the calculation: a + (b - a) * t When the difference in magnitude between `a` and `b` exceeds the precision representable by double-precision floating point math, `b - a` results in the larger-magnitude value of `a` or `b`. The error between the value produced and the correct value is then scaled by t. A simple example of the impact can be seen when `a` is significantly larger in magnitude than `b`. In that case, `b - a` results in `a` and when `t` is 1.0, the resulting value is `a - (a) * 1.0 == 0`. The patch transforms the computation to the mathematically-equivalent expression: a * (1.0 - t) + b * t By scaling each value independently, the behaviour is more accurate. From the point of view of performance, this adds an extra multiplication, but multiplication is relatively cheap and the behaviour is significantly better. This patch also adds a `precisionErrorTolerance` constant to test_utils.dart and migrates existing tests to use `closeTo()` for testing. The tests themselves *do* currently use values that have an exact floating-point representation, but we should allow for flexibility in future implementation changes.
-
由 Ferhat 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Chris Bracken 提交于
Previously, the behaviour of lerpDouble with respect to NaN and infinity was relatively complex and difficult to reason about. This patch simplifies the behaviour with respect to those conditions and adds documentation and tests. In general, if `a == b` or both values are null, infinite, or NaN, `a` is returned. Otherwise we require `a` and `b` and `t` to be finite or null and the result of the linear interpolation is returned.
-
由 Chris Bracken 提交于
This extracts a Dart test utilities library, containing `expectAssertion` and `expectArgumentError` functions that simplify running tests that test assertions across debug, profile, and release configurations. This change also restricts Dart unit tests to testing files whose filename matches `*_test.dart` under `flutter/testing/dart`; previously any file in that directory was run, but all files matched the above pattern.
-
由 skia-flutter-autoroll 提交于
-
- 30 8月, 2020 8 次提交
-
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 xster 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Chris Bracken 提交于
The `a` and `b` parameters to `lerpDouble` have type `num`. This adds tests for integer parameter values.
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
- 29 8月, 2020 15 次提交
-
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Emmanuel Garcia 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Chris Bracken 提交于
Adds tests for lerpDouble for cases where NaN or infinite values are passed. These tests simply specify the current behaviour.
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Greg Spencer 提交于
This re-lands the key event synthesis implementation for Android (Original PR: #19024, Revert PR: #19956). The only difference is sending the synthesized key events to the root view instead of the current view. Without sending it to the root view, the system doesn't have any chance of handling keys like the back button. The event will still not be sent to the framework twice, since we turn off event propagation while re-dispatching the event.
-
由 Mouad Debbar 提交于
-
由 David Worsham 提交于
-
由 nturgut 提交于
-
由 skia-flutter-autoroll 提交于
-
- 28 8月, 2020 10 次提交
-
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 skia-flutter-autoroll 提交于
-
由 Ferhat 提交于
* Switched PathCommand apply parameter to non-nullable. Add clip op parameter to ClipCommand.
-
由 Ferhat 提交于
-
由 William Wold 提交于
-