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

Method MakeArray

cpp/src/arrow/util/rle_encoding_test.cc:1142–1169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1140 int32_t bit_width;
1141
1142 std::shared_ptr<::arrow::Array> MakeArray(
1143 ::arrow::random::RandomArrayGenerator& rand) const {
1144 using Traits = arrow::TypeTraits<ArrowType>;
1145
1146 std::vector<std::shared_ptr<::arrow::Array>> arrays = {};
1147
1148 for (const auto& dyn_part : parts) {
1149 if (auto* part = std::get_if<RandomPart>(&dyn_part)) {
1150 auto arr = rand.Numeric<ArrowType>(part->size, /* min= */ value_type(0),
1151 part->max, part->null_probability);
1152 arrays.push_back(std::move(arr));
1153
1154 } else if (auto* part = std::get_if<RepeatPart>(&dyn_part)) {
1155 auto arr =
1156 rand.Numeric<ArrowType>(part->size, /* min= */ part->value,
1157 /* max= */ part->value, part->null_probability);
1158 arrays.push_back(std::move(arr));
1159
1160 } else if (auto* part = std::get_if<NullPart>(&dyn_part)) {
1161 EXPECT_OK_AND_ASSIGN(
1162 auto arr, ::arrow::MakeArrayOfNull(Traits::type_singleton(), part->size));
1163 arrays.push_back(std::move(arr));
1164 }
1165 }
1166 ARROW_DCHECK_EQ(parts.size(), arrays.size());
1167
1168 return ::arrow::Concatenate(arrays).ValueOrDie();
1169 }
1170};
1171
1172template <typename T>

Callers 1

Calls 4

ConcatenateFunction · 0.85
push_backMethod · 0.80
ValueOrDieMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected