1 #include "tommath_private.h" 2 #ifdef BN_MP_ABS_C 3 /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 /* SPDX-License-Identifier: Unlicense */ 5 6 /* b = |a| 7 * 8 * Simple function copies the input and fixes the sign to positive 9 */ mp_abs(const mp_int * a,mp_int * b)10mp_err mp_abs(const mp_int *a, mp_int *b) 11 { 12 mp_err err; 13 14 /* copy a to b */ 15 if (a != b) { 16 if ((err = mp_copy(a, b)) != MP_OKAY) { 17 return err; 18 } 19 } 20 21 /* force the sign of b to positive */ 22 b->sign = MP_ZPOS; 23 24 return MP_OKAY; 25 } 26 #endif 27