
This CL converts top level vector_math APIs to use spans instead of array+length. The actual implementation of the algorithms is untouched, and not spanified. Spanifying the algorithms themselves had a large performance impact, and not attempted. There was a ~2 orders of magnitude slow down from using std::ranges::transform or SpanReaders. Updating these APIs still provides some benefits: the source and destinations are guaranteed to have the same length now. Bug: 373960632 Change-Id: I2fcd44c5aa748d35819c77c314ba6bbc7d106add Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6238738 Auto-Submit: Thomas Guilbert <tguilbert@chromium.org> Reviewed-by: Kenneth MacKay <kmackay@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Thomas Guilbert <tguilbert@chromium.org> Cr-Commit-Position: refs/heads/main@{#1419023}
Cast base
cast_features
This file contains tools for checking the feature state of all of the features which affect Cast products. Cast features build upon the Chrome feature system. Some aspects of Cast require the feature system to work differently, however, so some additional logic has been layered on top. Details are available in comments of the header file. The basics are:
- If you are adding a new feature, add it to
cast_features.cc
so it lives alongside existing features - Add your new feature to the list of
kFeatures
incast_features.cc
BASE_FEATURE(kMyFeature, "my_feature", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature* kFeatures[] = {
// ..other features
&kMyFeature
}