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

Method MakeFromInt128

cpp/src/gandiva/decimal_ir.cc:502–511  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

500}
501
502DecimalIR::ValueSplit DecimalIR::ValueSplit::MakeFromInt128(DecimalIR* decimal_ir,
503 llvm::Value* in) {
504 auto builder = decimal_ir->ir_builder();
505 auto types = decimal_ir->types();
506
507 auto high = builder->CreateLShr(in, types->i128_constant(64));
508 high = builder->CreateTrunc(high, types->i64_type());
509 auto low = builder->CreateTrunc(in, types->i64_type());
510 return ValueSplit(high, low);
511}
512
513/// Convert IR struct {%i64, %i64} to cpp class ValueSplit
514DecimalIR::ValueSplit DecimalIR::ValueSplit::MakeFromStruct(DecimalIR* decimal_ir,

Callers

nothing calls this directly

Calls 3

ValueSplitClass · 0.85
typesMethod · 0.80
ir_builderMethod · 0.45

Tested by

no test coverage detected