summaryrefslogtreecommitdiff
path: root/fuzzylite/src/fuzzylite.cpp
blob: db17fec2b3b0c9c9f25c5b58ab3fe9b5b98dd7bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 fuzzylite (R), a fuzzy logic control library in C++.
 Copyright (C) 2010-2017 FuzzyLite Limited. All rights reserved.
 Author: Juan Rada-Vilela, Ph.D. <jcrada@fuzzylite.com>

 This file is part of fuzzylite.

 fuzzylite is free software: you can redistribute it and/or modify it under
 the terms of the FuzzyLite License included with the software.

 You should have received a copy of the FuzzyLite License along with
 fuzzylite. If not, see <http://www.fuzzylite.com/license/>.

 fuzzylite is a registered trademark of FuzzyLite Limited.
 */

#include "fl/fuzzylite.h"

namespace fl {


    int fuzzylite::_decimals = 3;
    std::ios_base::fmtflags fuzzylite::_scalarFormat = std::ios_base::fixed;
    scalar fuzzylite::_macheps = 1e-6;
    bool fuzzylite::_debugging = false;
    bool fuzzylite::_logging = true;

    std::string platform() {
#ifdef FL_UNIX
        return "Unix";
#elif defined FL_WINDOWS
        return "Windows";
#else
        return "?";
#endif
    }

    std::string floatingPoint() {
        scalar someScalar = 0;
        FL_IUNUSED(someScalar);
        std::string type;

        std::ostringstream ss;
#ifdef FL_USE_FLOAT
        type = "float";
#else
        type = "double";
#endif
        ss << "fl::scalar is defined as \'" << type << "\' using " <<
                sizeof (someScalar) << " bytes";
        return ss.str();
    }
}