t-cast.cc
上传用户:qaz666999
上传日期:2022-08-06
资源大小:2570k
文件大小:2k
源码类别:

数学计算

开发平台:

Unix_Linux

  1. /* Test g++ -Wold-style-cast cleanliness.
  2. Copyright 2003 Free Software Foundation, Inc.
  3. This file is part of the GNU MP Library.
  4. The GNU MP Library is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU Lesser General Public License as published by
  6. the Free Software Foundation; either version 3 of the License, or (at your
  7. option) any later version.
  8. The GNU MP Library is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10. or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
  11. License for more details.
  12. You should have received a copy of the GNU Lesser General Public License
  13. along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
  14. #include "gmp.h"
  15. #include "gmpxx.h"
  16. /* This code doesn't do anything when run, it just expands various C macros
  17.    to see that they don't trigger compile-time warnings from g++
  18.    -Wold-style-cast.  This option isn't used in a normal build, it has to be
  19.    added manually to make this test worthwhile.  */
  20. void
  21. check_macros (void)
  22. {
  23.   mpz_t          z;
  24.   long           l = 123;
  25.   unsigned long  u = 456;
  26.   int            i;
  27.   mp_limb_t      limb;
  28.   mpz_init_set_ui (z, 0L);
  29.   i = mpz_odd_p (z);
  30.   i = mpz_even_p (z);
  31.   i = mpz_cmp_si (z, l);
  32.   i = mpz_cmp_ui (z, u);
  33.   mpz_clear (z);
  34.   limb = GMP_NUMB_MASK;
  35.   limb = GMP_NUMB_MAX;
  36.   limb = GMP_NAIL_MASK;
  37.   mpn_divmod (&limb, &limb, 1, &limb, 1);
  38.   mpn_divexact_by3 (&limb, &limb, 1);
  39. }
  40. int
  41. main (void)
  42. {
  43.   return 0;
  44. }