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

Function IntegersCanFit

cpp/src/arrow/util/int_util.cc:904–929  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

902} // namespace
903
904Status IntegersCanFit(const ArraySpan& values, const DataType& target_type) {
905 if (!is_integer(target_type.id())) {
906 return Status::Invalid("Target type is not an integer type: ", target_type);
907 }
908
909 switch (values.type->id()) {
910 case Type::INT8:
911 return IntegersCanFitImpl<Int8Type>(values, target_type);
912 case Type::INT16:
913 return IntegersCanFitImpl<Int16Type>(values, target_type);
914 case Type::INT32:
915 return IntegersCanFitImpl<Int32Type>(values, target_type);
916 case Type::INT64:
917 return IntegersCanFitImpl<Int64Type>(values, target_type);
918 case Type::UINT8:
919 return IntegersCanFitImpl<UInt8Type>(values, target_type);
920 case Type::UINT16:
921 return IntegersCanFitImpl<UInt16Type>(values, target_type);
922 case Type::UINT32:
923 return IntegersCanFitImpl<UInt32Type>(values, target_type);
924 case Type::UINT64:
925 return IntegersCanFitImpl<UInt64Type>(values, target_type);
926 default:
927 return Status::TypeError("Invalid index type for boundschecking");
928 }
929}
930
931Status IntegersCanFit(const Scalar& scalar, const DataType& target_type) {
932 if (!is_integer(scalar.type->id())) {

Callers 3

CastIntegerToIntegerFunction · 0.85
ArraysCanFitIntegerFunction · 0.85

Calls 5

is_integerFunction · 0.50
InvalidFunction · 0.50
TypeErrorFunction · 0.50
OKFunction · 0.50
idMethod · 0.45

Tested by

no test coverage detected