Home | History | Annotate | Download | only in i18n

Lines Matching refs:context

2 /* Decimal Context module                                             */
20 /* context structures. */
25 #include "decContext.h" /* context and base types */
47 /* context is the context structure to be queried */
50 /* returns context */
54 U_CAPI decContext * U_EXPORT2 uprv_decContextClearStatus(decContext *context, uInt mask) {
55 context->status&=~mask;
56 return context;
60 /* decContextDefault -- initialize a context structure */
62 /* context is the structure to be initialized */
68 /* For any other value a valid context is returned, but with */
70 /* returns a context structure with the appropriate initial values. */
72 U_CAPI decContext * U_EXPORT2 uprv_decContextDefault(decContext *context, Int kind) {
74 context->digits=9; /* 9 digits */
75 context->emax=DEC_MAX_EMAX; /* 9-digit exponents */
76 context->emin=DEC_MIN_EMIN; /* .. balanced */
77 context->round=DEC_ROUND_HALF_UP; /* 0.5 rises */
78 context->traps=DEC_Errors; /* all but informational */
79 context->status=0; /* cleared */
80 context->clamp=0; /* no clamping */
82 context->extended=0; /* cleared */
89 context->digits=7; /* digits */
90 context->emax=96; /* Emax */
91 context->emin=-95; /* Emin */
92 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
93 context->traps=0; /* no traps set */
94 context->clamp=1; /* clamp exponents */
96 context->extended=1; /* set */
100 context->digits=16; /* digits */
101 context->emax=384; /* Emax */
102 context->emin=-383; /* Emin */
103 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
104 context->traps=0; /* no traps set */
105 context->clamp=1; /* clamp exponents */
107 context->extended=1; /* set */
111 context->digits=34; /* digits */
112 context->emax=6144; /* Emax */
113 context->emin=-6143; /* Emin */
114 context->round=DEC_ROUND_HALF_EVEN; /* 0.5 to nearest even */
115 context->traps=0; /* no traps set */
116 context->clamp=1; /* clamp exponents */
118 context->extended=1; /* set */
124 uprv_decContextSetStatus(context, DEC_Invalid_operation); /* trap */
127 return context;} /* decContextDefault */
132 /* context is the context structure to be queried */
137 U_CAPI enum rounding U_EXPORT2 uprv_decContextGetRounding(decContext *context) {
138 return context->round;
144 /* context is the context structure to be queried */
149 U_CAPI uInt U_EXPORT2 uprv_decContextGetStatus(decContext *context) {
150 return context->status;
156 /* context is the context structure to be updated */
161 /* returns context */
165 U_CAPI decContext * U_EXPORT2 uprv_decContextRestoreStatus(decContext *context,
167 context->status&=~mask; /* clear the selected bits */
168 context->status|=(mask&newstatus); /* or in the new bits */
169 return context;
175 /* context is the context structure to be queried */
182 U_CAPI uInt U_EXPORT2 uprv_decContextSaveStatus(decContext *context, uInt mask) {
183 return context->status&mask;
189 /* context is the context structure to be updated */
191 /* returns context */
195 U_CAPI decContext * U_EXPORT2 uprv_decContextSetRounding(decContext *context,
197 context->round=newround;
198 return context;
204 /* context is the context structure to be updated */
206 /* returns the context structure */
211 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatus(decContext *context, uInt status) {
212 context->status|=status;
213 if (status & context->traps) raise(SIGFPE);
214 return context;} /* decContextSetStatus */
219 /* context is the context structure to be updated */
226 /* returns the context structure, unless the string is equal to */
230 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusFromString(decContext *context,
233 return uprv_decContextSetStatus(context, DEC_Conversion_syntax);
235 return uprv_decContextSetStatus(context, DEC_Division_by_zero);
237 return uprv_decContextSetStatus(context, DEC_Division_impossible);
239 return uprv_decContextSetStatus(context, DEC_Division_undefined);
241 return uprv_decContextSetStatus(context, DEC_Inexact);
243 return uprv_decContextSetStatus(context, DEC_Insufficient_storage);
245 return uprv_decContextSetStatus(context, DEC_Invalid_context);
247 return uprv_decContextSetStatus(context, DEC_Invalid_operation);
250 return uprv_decContextSetStatus(context, DEC_Lost_digits);
253 return uprv_decContextSetStatus(context, DEC_Overflow);
255 return uprv_decContextSetStatus(context, DEC_Clamped);
257 return uprv_decContextSetStatus(context, DEC_Rounded);
259 return uprv_decContextSetStatus(context, DEC_Subnormal);
261 return uprv_decContextSetStatus(context, DEC_Underflow);
263 return context;
270 /* context is the context structure to be updated */
277 /* returns the context structure, unless the string is equal to */
281 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusFromStringQuiet(decContext *context,
284 return uprv_decContextSetStatusQuiet(context, DEC_Conversion_syntax);
286 return uprv_decContextSetStatusQuiet(context, DEC_Division_by_zero);
288 return uprv_decContextSetStatusQuiet(context, DEC_Division_impossible);
290 return uprv_decContextSetStatusQuiet(context, DEC_Division_undefined);
292 return uprv_decContextSetStatusQuiet(context, DEC_Inexact);
294 return uprv_decContextSetStatusQuiet(context, DEC_Insufficient_storage);
296 return uprv_decContextSetStatusQuiet(context, DEC_Invalid_context);
298 return uprv_decContextSetStatusQuiet(context, DEC_Invalid_operation);
301 return uprv_decContextSetStatusQuiet(context, DEC_Lost_digits);
304 return uprv_decContextSetStatusQuiet(context, DEC_Overflow);
306 return uprv_decContextSetStatusQuiet(context, DEC_Clamped);
308 return uprv_decContextSetStatusQuiet(context, DEC_Rounded);
310 return uprv_decContextSetStatusQuiet(context, DEC_Subnormal);
312 return uprv_decContextSetStatusQuiet(context, DEC_Underflow);
314 return context;
321 /* context is the context structure to be updated */
323 /* returns the context structure */
327 U_CAPI decContext * U_EXPORT2 uprv_decContextSetStatusQuiet(decContext *context, uInt status) {
328 context->status|=status;
329 return context;} /* decContextSetStatusQuiet */
334 /* context is a context with valid status field */
339 U_CAPI const char * U_EXPORT2 uprv_decContextStatusToString(const decContext *context) {
340 Int status=context->status;
412 /* context is the context structure to be updated */
419 U_CAPI uInt U_EXPORT2 uprv_decContextTestStatus(decContext *context, uInt mask) {
420 return (context->status&mask)!=0;
426 /* context is the context structure to be updated */
427 /* returns context */
431 U_CAPI decContext * U_EXPORT2 uprv_decContextZeroStatus(decContext *context) {
432 context->status=0;
433 return context;