File: _round.c

package info (click to toggle)
ruby 1.4.3-6
  • links: PTS
  • area: main
  • in suites: potato
  • size: 4,068 kB
  • ctags: 7,509
  • sloc: ansic: 60,668; ruby: 23,106; yacc: 4,122; sh: 1,753; lisp: 997; makefile: 597; sed: 68; awk: 36; tcl: 31; perl: 17; python: 6
file content (45 lines) | stat: -rw-r--r-- 1,031 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
 * --------------------------------------------------------------------
 * This file is written by the Project C Library Group,  and completely
 * in public domain. You can freely use, copy, modify, and redistribute
 * the whole contents, without this notice.
 * --------------------------------------------------------------------
 * $Id: _round.c,v 1.1.1.2 1999/01/20 04:59:39 matz Exp $
 */
/* changed 1997.2.2 by K.Okabe */

/* System headers */
#include <stdlib.h>
#include <sys/xstdlib.h>

/* Functions */
int _round (char *top, char *cur, int undig)
{
    char *ptr;

    /* Ǹ夬5̤ʤݤɬפʤ */
    if (undig < '5')
	return 0;

    /* ݥ */
    ptr = cur - 1;

    /* Ƭޤʤݤ */
    while (ptr >= top) {

	/* 夬ʤФǽ */
	if (++(*ptr) <= '9')
	    return 0;

	/* η0᤹ */
	*ptr-- = '0';

    }

    /* Ƭ1ˤ */
    *++ptr = '1';

    /* 夬򤷤餻 */
    return 1;
}