From f760a0f8481fea2a7395fc84c895638c605d0313 Mon Sep 17 00:00:00 2001 From: jwellbelove Date: Sun, 2 Nov 2014 17:17:22 +0000 Subject: [PATCH] Separated log & pow in individual files --- maths.h | 138 -------------------------------------------------------- 1 file changed, 138 deletions(-) delete mode 100644 maths.h diff --git a/maths.h b/maths.h deleted file mode 100644 index 19995c57..00000000 --- a/maths.h +++ /dev/null @@ -1,138 +0,0 @@ -///\file - -/****************************************************************************** -The MIT License(MIT) - -Embedded Template Library. - -Copyright(c) 2014 jwellbelove - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files(the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and / or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions : - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -******************************************************************************/ - -#ifndef __etl_maths__ -#define __etl_maths__ - -#include - -///\defgroup log log -/// A set of templates to generate compile time constants.
-/// log : Calculates logs to any base, rounded down to the nearest integer.
-/// log2 : Calculates logs to base 2, rounded down to the nearest integer.
-/// log10 : Calculates logs to base 10, rounded down to the nearest integer.
-///\ingroup Maths - -namespace etl -{ - //*************************************************************************** - ///\ingroup log - /// The base generic log template. - /// Defines 'value' as the log of the number at the specified base. - /// The result is rounded down to the next integer. - ///\tparam N The number to find the log of. - ///\tparam BASE The base of the log. - //*************************************************************************** - template - struct log - { - enum value_type - { - // Recursive definition. - value = (N >= BASE) ? 1 + log::value : 0 - }; - }; - - //*************************************************************************** - // Specialisation for N = 1 - //*************************************************************************** - template - struct log<1, BASE> - { - enum value_type - { - value = 0 - }; - }; - - //*************************************************************************** - // Specialisation for N = 0 - //*************************************************************************** - template - struct log<0, BASE> - { - enum value_type - { - value = 0 - }; - }; - - //*************************************************************************** - ///\ingroup log - /// Calculates base 2 logs. - //*************************************************************************** - template - struct log2 - { - enum value_type - { - value = log::value - }; - }; - - //*************************************************************************** - ///\ingroup log - /// Calculates base 10 logs. - //*************************************************************************** - template - struct log10 - { - enum value_type - { - value = log::value - }; - }; - - //*************************************************************************** - ///\ingroup exp - /// Calculates powers. - //*************************************************************************** - template - struct pow - { - enum value_type - { - value = N * pow::value - }; - }; - - //*************************************************************************** - ///\ingroup exp - /// Specialisation for POWER == 0 - //*************************************************************************** - template - struct pow - { - enum value_type - { - value = 1 - }; - }; -} - -#endif