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

Class ValueSplit

cpp/src/gandiva/decimal_ir.h:85–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83
84 // Holder for an i128 value that is split into two i64s
85 class ValueSplit {
86 public:
87 ValueSplit(llvm::Value* high, llvm::Value* low) : high_(high), low_(low) {}
88
89 // Make from i128 value
90 static ValueSplit MakeFromInt128(DecimalIR* decimal_ir, llvm::Value* in);
91
92 // Make from IR struct
93 static ValueSplit MakeFromStruct(DecimalIR* decimal_ir, llvm::Value* dstruct);
94
95 // Combine the two parts into an i128
96 llvm::Value* AsInt128(DecimalIR* decimal_ir) const;
97
98 llvm::Value* high() const { return high_; }
99 llvm::Value* low() const { return low_; }
100
101 private:
102 llvm::Value* high_;
103 llvm::Value* low_;
104 };
105
106 // Add global variables to the module.
107 static void AddGlobals(Engine* engine);

Callers 4

AddLargeMethod · 0.85
CallDecimalFunctionMethod · 0.85
MakeFromInt128Method · 0.85
MakeFromStructMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected