in r/src/infer_ptype.c [37:69]
enum VectorType nanoarrow_infer_vector_type(enum ArrowType type) {
switch (type) {
case NANOARROW_TYPE_BOOL:
return VECTOR_TYPE_LGL;
case NANOARROW_TYPE_INT8:
case NANOARROW_TYPE_UINT8:
case NANOARROW_TYPE_INT16:
case NANOARROW_TYPE_UINT16:
case NANOARROW_TYPE_INT32:
return VECTOR_TYPE_INT;
case NANOARROW_TYPE_UINT32:
case NANOARROW_TYPE_INT64:
case NANOARROW_TYPE_UINT64:
case NANOARROW_TYPE_FLOAT:
case NANOARROW_TYPE_DOUBLE:
case NANOARROW_TYPE_DECIMAL128:
return VECTOR_TYPE_DBL;
case NANOARROW_TYPE_STRING:
case NANOARROW_TYPE_LARGE_STRING:
return VECTOR_TYPE_CHR;
case NANOARROW_TYPE_DENSE_UNION:
case NANOARROW_TYPE_SPARSE_UNION:
case NANOARROW_TYPE_STRUCT:
return VECTOR_TYPE_DATA_FRAME;
default:
return VECTOR_TYPE_OTHER;
}
}