scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

  1#include <assert.h>
  2#include <inttypes.h>
  3#include <stdio.h>
  4#include <stdlib.h>
  5
  6/*
  7output:
  8testing
  9test1
 10test2
 11test3
 12test4
 13done
 14end:
 15*/
 16
 17static void
 18test1(void)
 19{
 20	div_t d;
 21
 22	puts("test1");
 23
 24	d = div(8, 4);
 25	assert(d.quot == 2 && d.rem == 0);
 26
 27	d = div(-10, 3);
 28	assert(d.quot == -3 && d.rem == -1);
 29
 30	d = div(10, -3);
 31	assert(d.quot == -3 && d.rem == 1);
 32
 33	d = div(-11, -3);
 34	assert(d.quot == 3 && d.rem == -2);
 35}
 36
 37static void
 38test2(void)
 39{
 40	ldiv_t ld;
 41
 42	puts("test2");
 43
 44	ld = ldiv(8, 4);
 45	assert(ld.quot == 2 && ld.rem == 0);
 46
 47
 48	ld = ldiv(-10, 3);
 49	assert(ld.quot == -3 && ld.rem == -1);
 50
 51	ld = ldiv(10, -3);
 52	assert(ld.quot == -3 && ld.rem == 1);
 53
 54	ld = ldiv(-11, -3);
 55	assert(ld.quot == 3 && ld.rem == -2);
 56}
 57
 58static void
 59test3(void)
 60{
 61	lldiv_t lld;
 62
 63	puts("test3");
 64
 65	lld = lldiv(8, 4);
 66	assert(lld.quot == 2 && lld.rem == 0);
 67
 68
 69	lld = lldiv(-10, 3);
 70	assert(lld.quot == -3 && lld.rem == -1);
 71
 72	lld = lldiv(10, -3);
 73	assert(lld.quot == -3 && lld.rem == 1);
 74
 75	lld = lldiv(-11, -3);
 76	assert(lld.quot == 3 && lld.rem == -2);
 77}
 78
 79static void
 80test4(void)
 81{
 82	imaxdiv_t md;
 83
 84	puts("test4");
 85
 86	md = imaxdiv(8, 4);
 87	assert(md.quot == 2 && md.rem == 0);
 88
 89	md = imaxdiv(-10, 3);
 90	assert(md.quot == -3 && md.rem == -1);
 91
 92	md = imaxdiv(10, -3);
 93	assert(md.quot == -3 && md.rem == 1);
 94
 95	md = imaxdiv(-11, -3);
 96	assert(md.quot == 3 && md.rem == -2);
 97}
 98
 99int
100main(void)
101{
102	puts("testing");
103	test1();
104	test2();
105	test3();
106	test4();
107	puts("done");
108}