diff options
author | Lioncash <mathew1800@gmail.com> | 2022-10-18 15:37:37 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2022-10-18 16:06:50 -0400 |
commit | 6e1c6297a3f8fcd243ec6b31d3832d84c7df474c (patch) | |
tree | 4b8de4393bafeb6a8a8c61f66fbf6a1940630e06 /src/common/fixed_point.h | |
parent | b6119a55f9bbc306593afccc0820165d74c2fadc (diff) |
fixed_point: Mark default constructor as constexpr
Ensures that a fixed-point value is always initialized
This likely also fixes several cases of uninitialized values being
operated on, since we have multiple areas in the codebase where the
default constructor is being used like:
Common::FixedPoint<50, 14> current_sample{};
and is then followed up with an arithmetic operation like += or
something else, which operates directly on FixedPoint's internal data
member, which would previously be uninitialized.
Diffstat (limited to 'src/common/fixed_point.h')
-rw-r--r-- | src/common/fixed_point.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/fixed_point.h b/src/common/fixed_point.h index 5aafa273b..f899b0d54 100644 --- a/src/common/fixed_point.h +++ b/src/common/fixed_point.h @@ -267,7 +267,7 @@ public: static constexpr base_type one = base_type(1) << fractional_bits; public: // constructors - FixedPoint() = default; + constexpr FixedPoint() = default; constexpr FixedPoint(const FixedPoint&) = default; constexpr FixedPoint& operator=(const FixedPoint&) = default; @@ -463,7 +463,7 @@ public: } public: - base_type data_; + base_type data_{}; }; // if we have the same fractional portion, but differing integer portions, we trivially upgrade the |