Lines Matching refs:context

20 /* context structures.                                                */
25 #include "decContext.h" /* context and base types */
38 /* context is the context structure to be queried */
41 /* returns context */
45 U_CAPI decContext * U_EXPORT2 uprv_decContextClearStatus(decContext *context, uInt mask) {
46 context->status&=~mask;
47 return context;
51 /* decContextDefault -- initialize a context structure */
53 /* context is the structure to be initialized */
59 /* For any other value a valid context is returned, but with */
61 /* returns a context structure with the appropriate initial values. */
63 U_CAPI decContext * U_EXPORT2 uprv_decContextDefault(decContext *context, Int kind) {
65 context->digits=9; /* 9 digits */
66 context->emax=DEC_MAX_EMAX; /* 9-digit exponents */
67 context->emin=DEC_MIN_EMIN; /* .. balanced */
68 context->round=DEC_ROUND_HALF_UP; /* 0.5 rises */
69 context->traps=DEC_Errors; /* all but informational */
70 context->status=0; /* cleared */
71 context->clamp=0; /* no clamping */
73 context->extended=0; /* cleared */
80 context->digits=7; /* digits */
81 context->emax=96; /* Emax */
82 context->emin=-95; /* Emin */
83 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
84 context->traps=0; /* no traps set */
85 context->clamp=1; /* clamp exponents */
87 context->extended=1; /* set */
91 context->digits=16; /* digits */
92 context->emax=384; /* Emax */
93 context->emin=-383; /* Emin */
94 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
95 context->traps=0; /* no traps set */
96 context->clamp=1; /* clamp exponents */
98 context->extended=1; /* set */
102 context->digits=34; /* digits */
103 context->emax=6144; /* Emax */
104 context->emin=-6143; /* Emin */
105 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
106 context->traps=0; /* no traps set */
107 context->clamp=1; /* clamp exponents */
109 context->extended=1; /* set */
115 uprv_decContextSetStatus(context, DEC_Invalid_operation); /* trap */
118 return context;} /* decContextDefault */
123 /* context is the context structure to be queried */
128 U_CAPI enum rounding U_EXPORT2 uprv_decContextGetRounding(decContext *context) {
129 return context->round;
135 /* context is the context structure to be queried */
140 U_CAPI uInt U_EXPORT2 uprv_decContextGetStatus(decContext *context) {
141 return context->status;
147 /* context is the context structure to be updated */
152 /* returns context */
156 U_CAPI decContext * U_EXPORT2 uprv_decContextRestoreStatus(decContext *context,
158 context->status&=~mask; /* clear the selected bits */
159 context->status|=(mask&newstatus); /* or in the new bits */
160 return context;
166 /* context is the context structure to be queried */
173 U_CAPI uInt U_EXPORT2 uprv_decContextSaveStatus(decContext *context, uInt mask) {
174 return context->status&mask;
180 /* context is the context structure to be updated */
182 /* returns context */
186 U_CAPI decContext * U_EXPORT2 uprv_decContextSetRounding(decContext *context,
188 context->round=newround;
189 return context;
195 /* context is the context structure to be updated */
197 /* returns the context structure */
202 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatus(decContext *context, uInt status) {
203 context->status|=status;
205 if (status & context->traps) raise(SIGFPE);
207 return context;} /* decContextSetStatus */
212 /* context is the context structure to be updated */
219 /* returns the context structure, unless the string is equal to */
223 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusFromString(decContext *context,
226 return uprv_decContextSetStatus(context, DEC_Conversion_syntax);
228 return uprv_decContextSetStatus(context, DEC_Division_by_zero);
230 return uprv_decContextSetStatus(context, DEC_Division_impossible);
232 return uprv_decContextSetStatus(context, DEC_Division_undefined);
234 return uprv_decContextSetStatus(context, DEC_Inexact);
236 return uprv_decContextSetStatus(context, DEC_Insufficient_storage);
238 return uprv_decContextSetStatus(context, DEC_Invalid_context);
240 return uprv_decContextSetStatus(context, DEC_Invalid_operation);
243 return uprv_decContextSetStatus(context, DEC_Lost_digits);
246 return uprv_decContextSetStatus(context, DEC_Overflow);
248 return uprv_decContextSetStatus(context, DEC_Clamped);
250 return uprv_decContextSetStatus(context, DEC_Rounded);
252 return uprv_decContextSetStatus(context, DEC_Subnormal);
254 return uprv_decContextSetStatus(context, DEC_Underflow);
256 return context;
263 /* context is the context structure to be updated */
270 /* returns the context structure, unless the string is equal to */
274 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusFromStringQuiet(decContext *context,
277 return uprv_decContextSetStatusQuiet(context, DEC_Conversion_syntax);
279 return uprv_decContextSetStatusQuiet(context, DEC_Division_by_zero);
281 return uprv_decContextSetStatusQuiet(context, DEC_Division_impossible);
283 return uprv_decContextSetStatusQuiet(context, DEC_Division_undefined);
285 return uprv_decContextSetStatusQuiet(context, DEC_Inexact);
287 return uprv_decContextSetStatusQuiet(context, DEC_Insufficient_storage);
289 return uprv_decContextSetStatusQuiet(context, DEC_Invalid_context);
291 return uprv_decContextSetStatusQuiet(context, DEC_Invalid_operation);
294 return uprv_decContextSetStatusQuiet(context, DEC_Lost_digits);
297 return uprv_decContextSetStatusQuiet(context, DEC_Overflow);
299 return uprv_decContextSetStatusQuiet(context, DEC_Clamped);
301 return uprv_decContextSetStatusQuiet(context, DEC_Rounded);
303 return uprv_decContextSetStatusQuiet(context, DEC_Subnormal);
305 return uprv_decContextSetStatusQuiet(context, DEC_Underflow);
307 return context;
314 /* context is the context structure to be updated */
316 /* returns the context structure */
320 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusQuiet(decContext *context, uInt status) {
321 context->status|=status;
322 return context;} /* decContextSetStatusQuiet */
327 /* context is a context with valid status field */
332 U_CAPI const char * U_EXPORT2 uprv_decContextStatusToString(const decContext *context) {
333 Int status=context->status;
407 /* context is the context structure to be updated */
414 U_CAPI uInt U_EXPORT2 uprv_decContextTestStatus(decContext *context, uInt mask) {
415 return (context->status&mask)!=0;
421 /* context is the context structure to be updated */
422 /* returns context */
426 U_CAPI decContext * U_EXPORT2 uprv_decContextZeroStatus(decContext *context) {
427 context->status=0;
428 return context;