Line data Source code
1 : #include "tommath_private.h" 2 : #ifdef BN_MP_INIT_C 3 : /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 : /* SPDX-License-Identifier: Unlicense */ 5 : 6 : /* init a new mp_int */ 7 7977 : mp_err mp_init(mp_int *a) 8 : { 9 : /* allocate memory required and clear it */ 10 7977 : a->dp = (mp_digit *) MP_CALLOC((size_t)MP_PREC, sizeof(mp_digit)); 11 7977 : if (a->dp == NULL) { 12 0 : return MP_MEM; 13 : } 14 : 15 : /* set the used to zero, allocated digits to the default precision 16 : * and sign to positive */ 17 7977 : a->used = 0; 18 7977 : a->alloc = MP_PREC; 19 7977 : a->sign = MP_ZPOS; 20 : 21 7977 : return MP_OKAY; 22 : } 23 : #endif