decimal 2.1.0

Decimal floating point arithmetic for Rust
Documentation
/* ------------------------------------------------------------------ */
/* decSingle.c -- decSingle operations module                         */
/* ------------------------------------------------------------------ */
/* Copyright (c) IBM Corporation, 2000, 2008.  All rights reserved.   */
/*                                                                    */
/* This software is made available under the terms of the             */
/* ICU License -- ICU 1.8.1 and later.                                */
/*                                                                    */
/* The description and User's Guide ("The decNumber C Library") for   */
/* this software is included in the package as decNumber.pdf.  This   */
/* document is also available in HTML, together with specifications,  */
/* testcases, and Web links, on the General Decimal Arithmetic page.  */
/*                                                                    */
/* Please send comments, suggestions, and corrections to the author:  */
/*   mfc@uk.ibm.com                                                   */
/*   Mike Cowlishaw, IBM Fellow                                       */
/*   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         */
/* ------------------------------------------------------------------ */
/* This module comprises decSingle operations (including conversions) */
/* ------------------------------------------------------------------ */

#include "decContext.h"       // public includes

#include "decSingle.h"        // public includes


/* Constant mappings for shared code */
#define DECPMAX     DECSINGLE_Pmax

#define DECEMIN     DECSINGLE_Emin

#define DECEMAX     DECSINGLE_Emax

#define DECEMAXD    DECSINGLE_EmaxD

#define DECBYTES    DECSINGLE_Bytes

#define DECSTRING   DECSINGLE_String

#define DECECONL    DECSINGLE_EconL

#define DECBIAS     DECSINGLE_Bias

#define DECLETS     DECSINGLE_Declets

#define DECQTINY    (-DECSINGLE_Bias)

// parameters of next-wider format
#define DECWBYTES   DECDOUBLE_Bytes

#define DECWPMAX    DECDOUBLE_Pmax

#define DECWECONL   DECDOUBLE_EconL

#define DECWBIAS    DECDOUBLE_Bias


/* Type and function mappings for shared code */
#define decFloat                   decSingle      // Type name

#define decFloatWider              decDouble      // Type name


// Utility (binary results, extractors, etc.)
#define decFloatFromBCD            decSingleFromBCD

#define decFloatFromPacked         decSingleFromPacked

#define decFloatFromPackedChecked  decSingleFromPackedChecked

#define decFloatFromString         decSingleFromString

#define decFloatFromWider          decSingleFromWider

#define decFloatGetCoefficient     decSingleGetCoefficient

#define decFloatGetExponent        decSingleGetExponent

#define decFloatSetCoefficient     decSingleSetCoefficient

#define decFloatSetExponent        decSingleSetExponent

#define decFloatShow               decSingleShow

#define decFloatToBCD              decSingleToBCD

#define decFloatToEngString        decSingleToEngString

#define decFloatToPacked           decSingleToPacked

#define decFloatToString           decSingleToString

#define decFloatToWider            decSingleToWider

#define decFloatZero               decSingleZero


// Non-computational
#define decFloatRadix              decSingleRadix

#define decFloatVersion            decSingleVersion


#include "decNumberLocal.h"   // local includes (need DECPMAX)

#include "decCommon.c"        // non-basic decFloat routines

// [Do not include decBasic.c for decimal32]