/**************************************************************************************
 * Chaga compiler                                                                     *
 * Copyright (C) 2026 Robert James Bruce                                              *
 *                                                                                    *
 * This file is part of the Chaga compiler.                                           *
 *                                                                                    *
 * The Chaga compiler is free software: you can redistribute it and/or modify it      *
 * under the terms of the GNU General Public License as published by the              *
 * Free Software Foundation, either version 3 of the License, or (at your option) any *
 * later version.                                                                     *
 *                                                                                    *
 * The Chaga compiler is distributed in the hope that it will be useful, but WITHOUT  *
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or              *
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License               *
 * for more details.                                                                  *
 *                                                                                    *
 * You should have received a copy of the GNU General Public License                  *
 * along with the Chaga compiler. If not, see <https://www.gnu.org/licenses/>.        *
 **************************************************************************************/
#ifndef LIBCHAGA_CONSTANTS
#define LIBCHAGA_CONSTANTS 1
#endif




#define TRUE  1
#define FALSE 0



// *******************************************************
// * Block sizes used by Chaga numerical string library. *
// *******************************************************
#define MAX_PACKED_NUMBER_BLOCK_SIZE   16
#define MAX_DIGIT_STACK_BLOCK_SIZE     65536



// *****************************************************
// * Flag bits used by Chaga numerical string library. *
// *****************************************************
#define NONE                          0
#define INTERNAL_ERROR           0x8000
#define DIVIDE_BY_ZERO           0x4000
#define REPEATING_NONTERMINATING 0x2000
#define IMAGINARY                0x1000




// *****************************************************************************
// * When TOOM-COOK with k=3 partitions is used (aka TOOM3) in multiplication. *
// *****************************************************************************
#define NUM_DIGITS_THRESHOLD_FOR_USING_TOOM3 100000
