~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/functions/multiply.cc

  • Committer: Mark Atwood
  • Date: 2008-10-16 11:33:16 UTC
  • mto: (520.1.13 drizzle)
  • mto: This revision was merged to the branch mainline in revision 530.
  • Revision ID: mark@fallenpegasus.com-20081016113316-ff6jdt31ck90sjdh
an implemention of the errmsg plugin

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
 
 
22
 
#include <drizzled/function/math/multiply.h>
23
 
 
24
 
#include <algorithm>
25
 
 
26
 
using namespace std;
27
 
 
28
 
namespace drizzled
29
 
{
 
20
#include <drizzled/server_includes.h>
 
21
#include CSTDINT_H
 
22
#include <drizzled/functions/multiply.h>
 
23
 
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