
/*
 macros:

 syl1: constant (possibly ./configure-able)
 syl2: variable (possibly change-able)
 syl3: constant (not ./configure-able)

 enum members __xx are not used elsewhere
 */

//   APL name in ⎕SYL                           enum member         value
//-------------------------------------------   ------------------  ------------------
syl2("SI depth limit          (0 = no limit)" , SI_DEPTH_LIMIT    , si_depth_limit      )
syl2("number of values limit  (0 = no limit)" , VALUE_COUNT_LIMIT , value_count_limit   )
syl2("total ravel bytes limit (0 = no limit)" , RAVEL_BYTES_LIMIT , ravel_count_limit * sizeof(Cell))
syl2("current SI depth"                       , __CURSI           , Workspace::SI_entry_count())
syl2("current number of values"               , __CURVC           , Value::value_count  )
syl2("current total ravel bytes"              , __CURRC           , Value::total_ravel_count * sizeof(Cell))
syl2("max. rank for APL values"               , __MAXRK           , MAX_RANK_WANTED     )
syl1("min. ⎕PW"                               , MIN_Quad_PW       , 30                  )
syl1("max. ⎕PW"                               , MAX_Quad_PW       , 10000                )
syl1("min. ⎕PP"                               , MIN_Quad_PP       , 1                   )
syl1("max. ⎕PP"                               , MAX_Quad_PP       , 17                  )
syl2("log₁₀(max. ⎕CT)"                        , __LMAXCT          , int(log10(MAX_Quad_CT) - 0.2))
syl1("max. input line length"                 , MAX_INPUT_LEN     , 2000                )
syl1("hash table size"                        , SYMBOL_HASH_TABLE_SIZE, 65536           )
syl1("max. shared variable name length"       , MAX_SVAR_NAMELEN  , 64                  )
syl2("max. length of filenames (paths)"       , __FNMAX           , FILENAME_MAX        )
syl1("max. # of shared variables (obsolete)"  , MAX_SVARS_OFFERED , 64                  )
syl1("max. number of APs"                     , MAX_ACTIVE_PROCS  , 16                  )
syl1("max. operators per statement"           , MAX_FUN_OPER      , 16                  )
syl3("largest integer"                        , LARGE_INT         ,  9200000000000000000LL)
syl3("smallest (negative) integer"            , SMALL_INT         , -9200000000000000000LL)
syl1("largest numeric exponent"               , LARGEST_EXPO      , 308                 )
syl1("max. shared variable size (bytes)"      , MAX_SVAR_SIZE     , 65000               )
syl2("CORE_COUNT_WANTED (per ./configure)"    , __CMAX1           , CORE_COUNT_WANTED   )
syl2("cores available"                        , __CMAX2           , Parallel::get_max_core_count())
syl2("cores used"                             , CURRENT_CORES     , Thread_context::get_active_core_count())
syl2("print length limit (0 = no limit)"      , PRINT_LIMIT       , print_length_limit  )
syl2("max. prefix length"                     , __MAXONT          , Prefix::MAX_CONTENT )
syl2("log₁₀(integer tolerance (aka. fuzz))"   , __LINTTOLERANCE   , int(log10(INTEGER_TOLERANCE) - 0.2))
syl2("log₁₀(real tolerance (aka. fuzz))"      , __LREALTOLERANCE  , int(log10(REAL_TOLERANCE) - 0.2))
syl2("⎕WA safety margin (bytes)"              , WA_MARGIN         , Quad_WA::WA_margin  )
syl2("⎕WA memory scale (%)"                   , WA_SCALE          , Quad_WA::WA_scale   )

#undef syl1
#undef syl2
#undef syl3


