scyros 0.2.3

A framework to design sound, reproducible and scalable mining repositories studies on GitHub.
Documentation
int main() {
    try {
        // Floating point literals
        float a = true ? 1.23f : 0.0f; // Ternary operator
        double b = 4.56;
        long double c = 7.89L;

        // Using macro
        double circumference = 2 * PI * b;

        // Using template function
        double bSquared = square(b);

        // Using namespace and inline function
        float aCubed = MathUtils::cube(a);

        // Using function pointer
        MathUtils::MathFunc sqrtFunc = MathUtils::sqrtLambda;
        double sqrtB = sqrtFunc(b);

        // Using enum class and function with default arguments
        double roundedValue = roundToNearest(circumference, RoundingMode::UP);

        // Using variadic template function
        double totalSum = sum(a, b, c);

        // Using struct and member function
        FloatPrinter printer;
        printer.print(a);

        // Using union
        FloatIntUnion fiUnion;
        fiUnion.f = a;
        std::cout << "Union int representation of float: " << fiUnion.i << std::endl;

        // Using exception handling
        checkInfinity(std::numeric_limits<float>::infinity());

    } catch (const std::exception& e) {
        std::cerr << "Exception: " << e.what() << std::endl;
    }

    return 0;
}