📄 t-scan.c
字号:
/* Test mpn_scan0 and mpn_scan1.Copyright 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 <stdlib.h>#include "gmp.h"#include "gmp-impl.h"#include "tests.h"#define SIZE 3mp_limb_t x[SIZE+1];voidcheck (void){ unsigned long i, got, want; x[SIZE] = 1; for (i = 0; i < SIZE*GMP_NUMB_BITS; i++) { got = refmpn_scan1 (x, i); want = mpn_scan1 (x, i); if (got != want) { printf ("mpn_scan1\n"); printf (" i %lu\n", i); printf (" got %lu\n", got); printf (" want %lu\n", want); mpn_trace (" x ", x, SIZE); abort (); } } x[SIZE] = 0; for (i = 0; i < SIZE*GMP_NUMB_BITS; i++) { got = refmpn_scan0 (x, i); want = mpn_scan0 (x, i); if (got != want) { printf ("mpn_scan0\n"); printf (" i %lu\n", i); printf (" got %lu\n", got); printf (" want %lu\n", want); mpn_trace (" x ", x, SIZE); abort (); } }}voidcheck_twobits (void){ unsigned long i, j; for (i = 0; i < GMP_NUMB_BITS * SIZE; i++) { for (j = 0; j < GMP_NUMB_BITS * SIZE; j++) { refmpn_zero (x, SIZE); refmpn_setbit (x, i); refmpn_setbit (x, j); check (); } }}voidcheck_rand (void){ int i; for (i = 0; i < 100; i++) { refmpn_random2 (x, SIZE); check (); }}intmain (void){ mp_trace_base = -16; tests_start (); check_twobits (); check_rand (); tests_end (); exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -