github.com/matrixorigin/matrixone@v0.7.0/cgo/external/decNumber/example1.c (about)

     1  /* ------------------------------------------------------------------ */
     2  /* Decimal Number Library Demonstration program                       */
     3  /* ------------------------------------------------------------------ */
     4  /* Copyright (c) IBM Corporation, 2001, 2007.  All rights reserved.   */
     5  /* ----------------------------------------------------------------+- */
     6  /*                                                 right margin -->|  */
     7  
     8  // example1.c -- convert the first two argument words to decNumber,
     9  // add them together, and display the result
    10  
    11  #define  DECNUMDIGITS 34           // work with up to 34 digits
    12  #include "decNumber.h"             // base number library
    13  #include <stdio.h>                 // for printf
    14  
    15  int main(int argc, char *argv[]) {
    16    decNumber a, b;                  // working numbers
    17    decContext set;                  // working context
    18    char string[DECNUMDIGITS+14];    // conversion buffer
    19  
    20    decContextTestEndian(0);         // warn if DECLITEND is wrong
    21  
    22    if (argc<3) {                    // not enough words
    23      printf("Please supply two numbers to add.\n");
    24      return 1;
    25      }
    26    decContextDefault(&set, DEC_INIT_BASE); // initialize
    27    set.traps=0;                     // no traps, thank you
    28    set.digits=DECNUMDIGITS;         // set precision
    29  
    30    decNumberFromString(&a, argv[1], &set);
    31    decNumberFromString(&b, argv[2], &set);
    32  
    33    decNumberAdd(&a, &a, &b, &set);            // a=a+b
    34    decNumberToString(&a, string);
    35  
    36    printf("%s + %s => %s\n", argv[1], argv[2], string);
    37    return 0;
    38    } // main