diff --git a/src/FixedPoints/UFixedBase.h b/src/FixedPoints/UFixedBase.h deleted file mode 100644 index 74fb725..0000000 --- a/src/FixedPoints/UFixedBase.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2017 Pharap -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#pragma once - -#include "Details.h" - -FIXED_POINTS_BEGIN_NAMESPACE -namespace FIXED_POINTS_DETAILS -{ - template< unsigned Integer, unsigned Fraction > - class UFixedBase - { - public: - using IntegerType = FIXED_POINTS_DETAILS::LeastUInt; - using FractionType = FIXED_POINTS_DETAILS::LeastUInt; - using InternalType = FIXED_POINTS_DETAILS::LeastUInt; - - constexpr const static unsigned long long Scale = 1ULL << Fraction; - - protected: - class RawType - { - private: - const InternalType value; - - public: - constexpr inline explicit RawType(const InternalType & value) : value(value) {} - constexpr inline explicit operator InternalType(void) const { return this->value; } - }; - - protected: - InternalType value; - - constexpr UFixedBase(void) : value(0) {} - constexpr UFixedBase(const RawType & value) : value(static_cast(value)) {} - - public: - constexpr UFixedBase(const char & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const unsigned char & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const signed char & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const unsigned short int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const signed short int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const unsigned int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const signed int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const unsigned long int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const signed long int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const unsigned long long int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const signed long long int & value) - : value(static_cast(static_cast< LargerType >(value) << Fraction)) {} - - constexpr UFixedBase(const double & value) - : value(static_cast(value * static_cast(Scale))) {} - - constexpr UFixedBase(const float & value) - : value(static_cast(value * static_cast(Scale))) {} - - constexpr UFixedBase(const long double & value) - : value(static_cast(value * static_cast(Scale))) {} - }; -} -FIXED_POINTS_END_NAMESPACE \ No newline at end of file