[ 簡単な説明 ]
単位n(|n|<100)だけインクリメントします。 |
/* linc.c */ #include "longint.h" /* increment LINT */ void linc(LINT *a, int n) { if(n == 0) return; if(n <= -BASE || n >= BASE) { fprintf(stderr, "Error : illegal parameter input in linc().\n"); return; } if(a->len == 0) { *a = lset(n); return; } if(a->sign == 0) { if(n > 0) alinc(a, n); else aldec(a, - n); } else { if(n <= 0) alinc(a, - n); else { a->sign = 0; aldec(a, n); a->sign = (a->sign == 0) ? -1: 0; } } return; } |