MCPcopy Create free account
hub / github.com/apache/arrow / MultiplyMaxPrecision

Function MultiplyMaxPrecision

cpp/src/gandiva/precompiled/decimal_ops.cc:319–329  ·  view source on GitHub ↗

Multiply when the out_precision is 38.

Source from the content-addressed store, hash-verified

317
318// Multiply when the out_precision is 38.
319static BasicDecimal128 MultiplyMaxPrecision(const BasicDecimalScalar128& x,
320 const BasicDecimalScalar128& y,
321 int32_t out_scale, bool* overflow) {
322 auto delta_scale = x.scale() + y.scale() - out_scale;
323 DCHECK_GE(delta_scale, 0);
324 if (delta_scale == 0) {
325 return MultiplyMaxPrecisionNoScaleDown(x, y, out_scale, overflow);
326 } else {
327 return MultiplyMaxPrecisionAndScaleDown(x, y, out_scale, overflow);
328 }
329}
330
331BasicDecimal128 Multiply(const BasicDecimalScalar128& x, const BasicDecimalScalar128& y,
332 int32_t out_precision, int32_t out_scale, bool* overflow) {

Callers 1

MultiplyFunction · 0.85

Calls 3

scaleMethod · 0.45

Tested by

no test coverage detected