~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/my_decimal.h

Merged build changes from Antony.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
#define my_decimal_h
30
30
 
31
31
C_MODE_START
32
 
#include <decimal.h>
 
32
#include <mystrings/decimal.h>
33
33
C_MODE_END
34
34
 
35
35
#define DECIMAL_LONGLONG_DIGITS 22
36
36
#define DECIMAL_LONG_DIGITS 10
37
37
#define DECIMAL_LONG3_DIGITS 8
38
38
 
39
 
/** maximum length of buffer in our big digits (uint32). */
 
39
/** maximum length of buffer in our big digits (uint32_t). */
40
40
#define DECIMAL_BUFF_LENGTH 9
41
41
 
42
42
/* the number of digits that my_decimal can possibly contain */
163
163
  return (uint) (length - (scale>0 ? 1:0) - (unsigned_flag ? 0:1));
164
164
}
165
165
 
166
 
inline uint32 my_decimal_precision_to_length(uint precision, uint8 scale,
 
166
inline uint32_t my_decimal_precision_to_length(uint precision, uint8_t scale,
167
167
                                             bool unsigned_flag)
168
168
{
169
169
  set_if_smaller(precision, DECIMAL_MAX_PRECISION);
170
 
  return (uint32)(precision + (scale>0 ? 1:0) + (unsigned_flag ? 0:1));
 
170
  return (uint32_t)(precision + (scale>0 ? 1:0) + (unsigned_flag ? 0:1));
171
171
}
172
172
 
173
173
inline
269
269
 
270
270
 
271
271
inline
272
 
int my_decimal2double(uint mask __attribute__((__unused__)), 
 
272
int my_decimal2double(uint mask __attribute__((unused)), 
273
273
                      const my_decimal *d, double *result)
274
274
{
275
275
  /* No need to call check_result as this will always succeed */