root/src/decNumber/decPacked.h

/* [previous][next][first][last][top][bottom][index][help] */
   1 // vim: filetype=c:tabstop=4:ai:expandtab
   2 // SPDX-License-Identifier: ICU
   3 // scspell-id: d14aead0-f62c-11ec-ba18-80ee73e9b8e7
   4 /* ------------------------------------------------------------------ */
   5 /* Packed Decimal conversion module header                            */
   6 /* ------------------------------------------------------------------ */
   7 /* Copyright (c) IBM Corporation, 2000, 2005.  All rights reserved.   */
   8 /*                                                                    */
   9 /* This software is made available under the terms of the             */
  10 /* ICU License -- ICU 1.8.1 and later.                                */
  11 /*                                                                    */
  12 /* The description and User's Guide ("The decNumber C Library") for   */
  13 /* this software is called decNumber.pdf.  This document is           */
  14 /* available, together with arithmetic and format specifications,     */
  15 /* testcases, and Web links, on the General Decimal Arithmetic page.  */
  16 /*                                                                    */
  17 /* Please send comments, suggestions, and corrections to the author:  */
  18 /*   mfc@uk.ibm.com                                                   */
  19 /*   Mike Cowlishaw, IBM Fellow                                       */
  20 /*   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         */
  21 /* ------------------------------------------------------------------ */
  22 
  23 #if !defined(DECPACKED)
  24 # define DECPACKED
  25 # define DECPNAME     "decPacked"                       /* Short name */
  26 # define DECPFULLNAME "Packed Decimal conversions"    /* Verbose name */
  27 # define DECPAUTHOR   "Mike Cowlishaw"                /* Who to blame */
  28 
  29 # define DECPACKED_DefP 32             /* default precision           */
  30 
  31 # ifndef DECNUMDIGITS
  32 #  define DECNUMDIGITS DECPACKED_DefP  /* size if not already defined */
  33 # endif
  34 # include "decNumber.h"                /* context and number library  */
  35 
  36   /* Sign nibble constants                                            */
  37 # if !defined(DECPPLUSALT)
  38 #  define DECPPLUSALT  0x0A   /* alternate plus  nibble               */
  39 #  define DECPMINUSALT 0x0B   /* alternate minus nibble               */
  40 #  define DECPPLUS     0x0C   /* preferred plus  nibble               */
  41 #  define DECPMINUS    0x0D   /* preferred minus nibble               */
  42 #  define DECPPLUSALT2 0x0E   /* alternate plus  nibble               */
  43 #  define DECPUNSIGNED 0x0F   /* alternate plus  nibble (unsigned)    */
  44 # endif
  45 
  46   /* ---------------------------------------------------------------- */
  47   /* decPacked public routines                                        */
  48   /* ---------------------------------------------------------------- */
  49   /* Conversions                                                      */
  50   uint8_t * decPackedFromNumber(uint8_t *, int32_t, int32_t *,
  51                                 const decNumber *);
  52   decNumber * decPackedToNumber(const uint8_t *, int32_t,
  53                                 const int32_t *, decNumber *);
  54 #endif

/* [previous][next][first][last][top][bottom][index][help] */