Lines Matching refs:context

1 /* Decimal context module for the decNumber C Library.
32 context structures. */
36 #include "decContext.h" /* context and base types */
40 /* decContextDefault -- initialize a context structure */
42 /* context is the structure to be initialized */
48 /* For any other value a valid context is returned, but with */
50 /* returns a context structure with the appropriate initial values. */
53 decContextDefault (decContext * context, Int kind)
56 context->digits = 9; /* 9 digits */
57 context->emax = DEC_MAX_EMAX; /* 9-digit exponents */
58 context->emin = DEC_MIN_EMIN; /* .. balanced */
59 context->round = DEC_ROUND_HALF_UP; /* 0.5 rises */
60 context->traps = DEC_Errors; /* all but informational */
61 context->status = 0; /* cleared */
62 context->clamp = 0; /* no clamping */
64 context->extended = 0; /* cleared */
72 context->digits = 7; /* digits */
73 context->emax = 96; /* Emax */
74 context->emin = -95; /* Emin */
75 context->round = DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
76 context->traps = 0; /* no traps set */
77 context->clamp = 1; /* clamp exponents */
79 context->extended = 1; /* set */
83 context->digits = 16; /* digits */
84 context->emax = 384; /* Emax */
85 context->emin = -383; /* Emin */
86 context->round = DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
87 context->traps = 0; /* no traps set */
88 context->clamp = 1; /* clamp exponents */
90 context->extended = 1; /* set */
94 context->digits = 34; /* digits */
95 context->emax = 6144; /* Emax */
96 context->emin = -6143; /* Emin */
97 context->round = DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
98 context->traps = 0; /* no traps set */
99 context->clamp = 1; /* clamp exponents */
101 context->extended = 1; /* set */
107 decContextSetStatus (context, DEC_Invalid_operation); /* trap */
109 return context;
115 /* context is a context with valid status field */
121 decContextStatusToString (const decContext * context)
123 Int status = context->status;
162 /* context is the controlling context */
169 /* returns the context structure, unless the string is equal to */
174 decContextSetStatusFromString (decContext * context, const char *string)
177 return decContextSetStatus (context, DEC_Conversion_syntax);
179 return decContextSetStatus (context, DEC_Division_by_zero);
181 return decContextSetStatus (context, DEC_Division_impossible);
183 return decContextSetStatus (context, DEC_Division_undefined);
185 return decContextSetStatus (context, DEC_Inexact);
187 return decContextSetStatus (context, DEC_Insufficient_storage);
189 return decContextSetStatus (context, DEC_Invalid_context);
191 return decContextSetStatus (context, DEC_Invalid_operation);
194 return decContextSetStatus (context, DEC_Lost_digits);
197 return decContextSetStatus (context, DEC_Overflow);
199 return decContextSetStatus (context, DEC_Clamped);
201 return decContextSetStatus (context, DEC_Rounded);
203 return decContextSetStatus (context, DEC_Subnormal);
205 return decContextSetStatus (context, DEC_Underflow);
207 return context;
214 /* context is the controlling context */
216 /* returns the context structure */
222 decContextSetStatus (decContext * context, uInt status)
224 context->status |= status;
225 if (status & context->traps)
227 return context;