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 7711 : mp_err mp_init(mp_int *a) 8 : { 9 : /* allocate memory required and clear it */ 10 7711 : a->dp = (mp_digit *) MP_CALLOC((size_t)MP_PREC, sizeof(mp_digit)); 11 7711 : 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 7711 : a->used = 0; 18 7711 : a->alloc = MP_PREC; 19 7711 : a->sign = MP_ZPOS; 20 : 21 7711 : return MP_OKAY; 22 : } 23 : #endif