source: git/Tst/Manual/bigint_operations.tst @ e74bb4

fieker-DuValspielwiese
Last change on this file since e74bb4 was 7d73a53, checked in by Hans Schoenemann <hannes@…>, 8 years ago
div and mod for Z
  • Property mode set to 100644
File size: 920 bytes
Line 
1LIB "tst.lib"; tst_init();
2bigint(5)*2, bigint(2)^100-10;
3bigint(-5) div 2, bigint(-5) mod 2;
4
5proc check_divmod(bigint a, bigint b)
6{
7  if ((a div b)*b+(a mod b)==a)
8  {
9    "sum okay";
10  }
11  else
12  {
13    "div:",a div b;
14    "mod:",a mod b;
15    "sum:",(a div b)*b+(a mod b)," a:",a," b:",b;
16  }
17  if((a mod b)>=0) {"sign okay";}
18  else { "a mod b:",a mod b; }
19}
20// small-small
21check_divmod(7,3);
22check_divmod(7,-3);
23check_divmod(-7,-3);
24check_divmod(-7,3);
25// small -large
26check_divmod(7,30000000000);
27check_divmod(7,-30000000000);
28check_divmod(-7,-30000000000);
29check_divmod(-7,30000000000);
30// large-small
31check_divmod(70000000000,3);
32check_divmod(70000000000,-3);
33check_divmod(-70000000000,-3);
34check_divmod(-70000000000,3);
35// large-large
36check_divmod(70000000000,30000000000);
37check_divmod(70000000000,-30000000000);
38check_divmod(-70000000000,-30000000000);
39check_divmod(-70000000000,30000000000);
40tst_status(1);$
Note: See TracBrowser for help on using the repository browser.