/*
 * Copyright (C) 2020-2021 Aloysius Indrayanto
 *
 * This file is part of the eCxx library, see LICENSE file for the license details.
 */


#include "TestUtility.h"


//
// Test application
//
int main()
{
    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::int8_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::uint8_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::int16_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::uint16_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::int32_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    #undef  NM
    #define NM (eCxx::ssize_t) eCxx::NumericLimits<eCxx::uint32_t>
    _CODESTR_NL1_CODERES_NL2( "%+zd %+zd %+zd", NM::lowest(), NM::min(), NM::max() );

    _DIVIDERLINE_DASHSTR_NL2();



    #undef  NM
    #define NM (double) eCxx::NumericLimits<float>
    _CODESTR_NL1_CODERES_NL2( "%+g %+g %+g", NM::min(), NM::min(), NM::max() );

    #undef  NM
    #define NM (double) eCxx::NumericLimits<double>
    _CODESTR_NL1_CODERES_NL2( "%+g %+g %+g", NM::min(), NM::min(), NM::max() );



    return 0;
}
