📄 dump.c
字号:
/* THIS IS AN INTERNAL FUNCTION WITH A MUTABLE INTERFACE. IT IS NOT SAFE TO CALL THIS FUNCTION DIRECTLY. IN FACT, IT IS ALMOST GUARANTEED THAT THIS FUNCTION WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE.Copyright 1996, 2000, 2001, 2002 Free Software Foundation, Inc.This file is part of the GNU MP Library.The GNU MP Library is free software; you can redistribute it and/or modifyit under the terms of the GNU Lesser General Public License as published bythe Free Software Foundation; either version 2.1 of the License, or (at youroption) any later version.The GNU MP Library is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General PublicLicense for more details.You should have received a copy of the GNU Lesser General Public Licensealong with the GNU MP Library; see the file COPYING.LIB. If not, write tothe Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,MA 02111-1307, USA.*/#include <stdio.h>#include "gmp.h"#include "gmp-impl.h"#if GMP_NUMB_BITS % 4 == 0voidmpn_dump (mp_srcptr ptr, mp_size_t n){ MPN_NORMALIZE (ptr, n); if (n == 0) printf ("0\n"); else { n--;#if _LONG_LONG_LIMB if ((ptr[n] >> GMP_LIMB_BITS / 2) != 0) { printf ("%lX", (unsigned long) (ptr[n] >> GMP_LIMB_BITS / 2)); printf ("%0*lX", (GMP_LIMB_BITS / 2 / 4), (unsigned long) ptr[n]); } else#endif printf ("%lX", (unsigned long) ptr[n]); while (n) { n--;#if _LONG_LONG_LIMB printf ("%0*lX", (GMP_NUMB_BITS - GMP_LIMB_BITS / 2) / 4, (unsigned long) (ptr[n] >> GMP_LIMB_BITS / 2)); printf ("%0*lX", GMP_LIMB_BITS / 2 / 4, (unsigned long) ptr[n]);#else printf ("%0*lX", GMP_NUMB_BITS / 4, (unsigned long) ptr[n]);#endif } printf ("\n"); }}#elsestatic voidmpn_recdump (mp_ptr p, mp_size_t n){ mp_limb_t lo; if (n != 0) { lo = p[0] & 0xf; mpn_rshift (p, p, n, 4); mpn_recdump (p, n); printf ("%lX", lo); }}voidmpn_dump (mp_srcptr p, mp_size_t n){ mp_ptr tp; TMP_DECL (marker); TMP_MARK (marker); tp = TMP_ALLOC_LIMBS (n); MPN_COPY (tp, p, n); TMP_FREE (marker);}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -