GCC: make UnitBase::operator*(double) constexpr
cricket::Interpolate Interpolate is constexpr and therefore requires UnitBase::operator* to be constexpr too. For consistency mark UnitBase::operator/ constexpr as well. Bug: chromium:819294 Change-Id: I6f1bf812a452de3307b0720a00b85a127631992e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268186 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37495}
This commit is contained in:
parent
2295ddbff9
commit
6dcd43f1e4
@ -268,7 +268,7 @@ class RelativeUnit : public UnitBase<Unit_T> {
|
||||
}
|
||||
template <typename T,
|
||||
typename std::enable_if_t<std::is_floating_point_v<T>>* = nullptr>
|
||||
Unit_T operator/(T scalar) const {
|
||||
constexpr Unit_T operator/(T scalar) const {
|
||||
return UnitBase<Unit_T>::FromValue(std::llround(this->ToValue() / scalar));
|
||||
}
|
||||
template <typename T,
|
||||
@ -276,7 +276,7 @@ class RelativeUnit : public UnitBase<Unit_T> {
|
||||
constexpr Unit_T operator/(T scalar) const {
|
||||
return UnitBase<Unit_T>::FromValue(this->ToValue() / scalar);
|
||||
}
|
||||
Unit_T operator*(double scalar) const {
|
||||
constexpr Unit_T operator*(double scalar) const {
|
||||
return UnitBase<Unit_T>::FromValue(std::llround(this->ToValue() * scalar));
|
||||
}
|
||||
constexpr Unit_T operator*(int64_t scalar) const {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user