#include <NTL/ctools.h>
#if (defined(NTL_STD_CXX) || defined(NTL_PSTD_NHF))
#include <iostream>
using namespace std;
#else
#include <iostream.h>
#endif
#define make_string_aux(x) #x
#define make_string(x) make_string_aux(x)
int main()
{
cout << "\n\n";
cout << "Basic Configuration Options:\n";
#ifdef NTL_STD_CXX
cout << "NTL_STD_CXX\n";
#endif
#ifdef NTL_PSTD_NNS
cout << "NTL_PSTD_NNS\n";
#endif
#ifdef NTL_PSTD_NHF
cout << "NTL_PSTD_NHF\n";
#endif
#ifdef NTL_PSTD_NTN
cout << "NTL_PSTD_NTN\n";
#endif
#ifdef NTL_GMP_LIP
cout << "NTL_GMP_LIP\n";
#endif
#ifdef NTL_GMP_HACK
cout << "NTL_GMP_HACK\n";
#endif
#ifdef NTL_LONG_LONG_TYPE
cout << "NTL_LONG_LONG_TYPE: ";
cout << make_string(NTL_LONG_LONG_TYPE) << "\n";
#endif
#ifdef NTL_UNSIGNED_LONG_LONG_TYPE
cout << "NTL_UNSIGNED_LONG_LONG_TYPE: ";
cout << make_string(NTL_UNSIGNED_LONG_LONG_TYPE) << "\n";
#endif
#ifdef NTL_CXX_ONLY
cout << "NTL_CXX_ONLY\n";
#endif
#ifdef NTL_X86_FIX
cout << "NTL_X86_FIX\n";
#endif
#ifdef NTL_NO_X86_FIX
cout << "NTL_NO_X86_FIX\n";
#endif
#ifdef NTL_NO_INIT_TRANS
cout << "NTL_NO_INIT_TRANS\n";
#endif
#ifdef NTL_CLEAN_INT
cout << "NTL_CLEAN_INT\n";
#endif
#ifdef NTL_CLEAN_PTR
cout << "NTL_CLEAN_PTR\n";
#endif
#ifdef NTL_RANGE_CHECK
cout << "NTL_RANGE_CHECK\n";
#endif
cout << "\n";
cout << "Resolution of double-word types:\n";
cout << make_string(NTL_LL_TYPE) << "\n";
cout << make_string(NTL_ULL_TYPE) << "\n";
cout << "\n";
cout << "Performance Options:\n";
#ifdef NTL_LONG_LONG
cout << "NTL_LONG_LONG\n";
#endif
#ifdef NTL_AVOID_FLOAT
cout << "NTL_AVOID_FLOAT\n";
#endif
#ifdef NTL_SPMM_UL
cout << "NTL_SPMM_UL\n";
#endif
#ifdef NTL_SPMM_ULL
cout << "NTL_SPMM_ULL\n";
#endif
#ifdef NTL_SPMM_ASM
cout << "NTL_SPMM_ASM\n";
#endif
#ifdef NTL_AVOID_BRANCHING
cout << "NTL_AVOID_BRANCHING\n";
#endif
#ifdef NTL_TBL_REM
cout << "NTL_TBL_REM\n";
#endif
#ifdef NTL_GF2X_ALTCODE
cout << "NTL_GF2X_ALTCODE\n";
#endif
#ifdef NTL_GF2X_ALTCODE1
cout << "NTL_GF2X_ALTCODE1\n";
#endif
#ifdef NTL_GF2X_NOINLINE
cout << "NTL_GF2X_NOINLINE\n";
#endif
cout << "\n\n";
return 0;
}
syntax highlighted by Code2HTML, v. 0.9.1