From f2d6ff0cef5e52cf46d0c38d63da0bc6837966a8 Mon Sep 17 00:00:00 2001 From: kenorb Date: Wed, 11 Aug 2021 23:43:02 +0100 Subject: [PATCH] Math: Moves defines to separate file --- Math.define.h | 38 ++++++++++++++++++++++++++++++++++++++ Math.h | 13 +------------ 2 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 Math.define.h diff --git a/Math.define.h b/Math.define.h new file mode 100644 index 000000000..82ac071dd --- /dev/null +++ b/Math.define.h @@ -0,0 +1,38 @@ +//+------------------------------------------------------------------+ +//| EA31337 framework | +//| Copyright 2016-2021, EA31337 Ltd | +//| https://github.com/EA31337 | +//+------------------------------------------------------------------+ + +/* + * This file is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef __MQL__ +// Allows the preprocessor to include a header file when it is needed. +#pragma once +#endif + +// Defines macros. +#define fmax2(_v1, _v2) fmax(_v1, _v2) +#define fmax3(_v1, _v2, _v3) fmax(fmax(_v1, _v2), _v3) +#define fmax4(_v1, _v2, _v3, _v4) fmax(fmax(fmax(_v1, _v2), _v3), _v4) +#define fmax5(_v1, _v2, _v3, _v4, _v5) fmax(fmax(fmax(fmax(_v1, _v2), _v3), _v4), _v5) +#define fmax6(_v1, _v2, _v3, _v4, _v5, _v6) fmax(fmax(fmax(fmax(fmax(_v1, _v2), _v3), _v4), _v5), _v6) +#define fmin2(_v1, _v2) fmin(_v1, _v2) +#define fmin3(_v1, _v2, _v3) fmin(fmin(_v1, _v2), _v3) +#define fmin4(_v1, _v2, _v3, _v4) fmin(fmin(fmin(_v1, _v2), _v3), _v4) +#define fmin5(_v1, _v2, _v3, _v4, _v5) fmin(fmin(fmin(fmin(_v1, _v2), _v3), _v4), _v5) +#define fmin6(_v1, _v2, _v3, _v4, _v5, _v6) fmin(fmin(fmin(fmin(fmin(_v1, _v2), _v3), _v4), _v5), _v6) diff --git a/Math.h b/Math.h index 16ab0e763..83439e1b1 100644 --- a/Math.h +++ b/Math.h @@ -28,21 +28,10 @@ // Includes. #include "Data.struct.h" #include "Indicator.struct.h" +#include "Math.define.h" #include "Math.enum.h" #include "Math.struct.h" -// Defines macros. -#define fmax2(_v1, _v2) fmax(_v1, _v2) -#define fmax3(_v1, _v2, _v3) fmax(fmax(_v1, _v2), _v3) -#define fmax4(_v1, _v2, _v3, _v4) fmax(fmax(fmax(_v1, _v2), _v3), _v4) -#define fmax5(_v1, _v2, _v3, _v4, _v5) fmax(fmax(fmax(fmax(_v1, _v2), _v3), _v4), _v5) -#define fmax6(_v1, _v2, _v3, _v4, _v5, _v6) fmax(fmax(fmax(fmax(fmax(_v1, _v2), _v3), _v4), _v5), _v6) -#define fmin2(_v1, _v2) fmin(_v1, _v2) -#define fmin3(_v1, _v2, _v3) fmin(fmin(_v1, _v2), _v3) -#define fmin4(_v1, _v2, _v3, _v4) fmin(fmin(fmin(_v1, _v2), _v3), _v4) -#define fmin5(_v1, _v2, _v3, _v4, _v5) fmin(fmin(fmin(fmin(_v1, _v2), _v3), _v4), _v5) -#define fmin6(_v1, _v2, _v3, _v4, _v5, _v6) fmin(fmin(fmin(fmin(fmin(_v1, _v2), _v3), _v4), _v5), _v6) - /** * Class to provide math related methods. */