~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/math/multiply.cc

  • Committer: Brian Aker
  • Date: 2009-02-21 00:18:15 UTC
  • Revision ID: brian@tangent.org-20090221001815-x20e8h71e984lvs1
Completion (?) of uint conversion.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#include "config.h"
21
 
 
 
20
#include <drizzled/server_includes.h>
 
21
#include CSTDINT_H
22
22
#include <drizzled/function/math/multiply.h>
23
23
 
24
 
#include <algorithm>
25
 
 
26
 
using namespace std;
27
 
 
28
 
namespace drizzled
29
 
{
30
24
 
31
25
double Item_func_mul::real_op()
32
26
{
73
67
    unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag;
74
68
  else
75
69
    unsigned_flag= args[0]->unsigned_flag & args[1]->unsigned_flag;
76
 
 
77
 
  decimals= min(args[0]->decimals + args[1]->decimals, DECIMAL_MAX_SCALE);
78
 
  int precision= min(args[0]->decimal_precision() + args[1]->decimal_precision(),
 
70
  decimals= cmin(args[0]->decimals + args[1]->decimals, DECIMAL_MAX_SCALE);
 
71
  int precision= cmin(args[0]->decimal_precision() + args[1]->decimal_precision(),
79
72
                     (unsigned int)DECIMAL_MAX_PRECISION);
80
73
  max_length= my_decimal_precision_to_length(precision, decimals,unsigned_flag);
81
74
}
82
75
 
83
 
} /* namespace drizzled */
 
76