⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t-cmp_si.c

📁 a very popular packet of cryptography tools,it encloses the most common used algorithm and protocols
💻 C
字号:
/* Test mpq_cmp_si.Copyright 2001 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 <limits.h>#include "gmp.h"#include "gmp-impl.h"#include "tests.h"#define SGN(x)   ((x)<0 ? -1 : (x) != 0)voidcheck_data (void){  static const struct {    const char     *q;    long           n;    unsigned long  d;    int            want;  } data[] = {    { "0", 0, 1, 0 },    { "0", 0, 123, 0 },    { "0", 0, ULONG_MAX, 0 },    { "1", 0, 1, 1 },    { "1", 0, 123, 1 },    { "1", 0, ULONG_MAX, 1 },    { "-1", 0, 1, -1 },    { "-1", 0, 123, -1 },    { "-1", 0, ULONG_MAX, -1 },    { "123", 123, 1, 0 },    { "124", 123, 1, 1 },    { "122", 123, 1, -1 },    { "-123", 123, 1, -1 },    { "-124", 123, 1, -1 },    { "-122", 123, 1, -1 },    { "123", -123, 1, 1 },    { "124", -123, 1, 1 },    { "122", -123, 1, 1 },    { "-123", -123, 1, 0 },    { "-124", -123, 1, -1 },    { "-122", -123, 1, 1 },    { "5/7", 3,4, -1 },    { "5/7", -3,4, 1 },    { "-5/7", 3,4, -1 },    { "-5/7", -3,4, 1 },  };  mpq_t  q;  int    i, got;  mpq_init (q);  for (i = 0; i < numberof (data); i++)    {      mpq_set_str_or_abort (q, data[i].q, 0);      MPQ_CHECK_FORMAT (q);      got = mpq_cmp_si (q, data[i].n, data[i].d);      if (SGN(got) != data[i].want)        {          printf ("mpq_cmp_si wrong\n");        error:          mpq_trace ("  q", q);          printf ("  n=%ld\n", data[i].n);          printf ("  d=%lu\n", data[i].d);          printf ("  got=%d\n", got);          printf ("  want=%d\n", data[i].want);          abort ();        }      if (data[i].n == 0)        {          got = mpq_cmp_si (q, 0L, data[i].d);          if (SGN(got) != data[i].want)            {              printf ("mpq_cmp_si wrong\n");              goto error;            }        }    }  mpq_clear (q);}intmain (int argc, char **argv){  tests_start ();  check_data ();  tests_end ();  exit (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -