[
https://issues.apache.org/jira/browse/ARROW-2289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392386#comment-16392386
]
ASF GitHub Bot commented on ARROW-2289:
---------------------------------------
wesm closed pull request #1726: ARROW-2289: [GLib] Add Numeric, Integer,
FloatingPoint data types
URL: https://github.com/apache/arrow/pull/1726
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/c_glib/arrow-glib/basic-data-type.cpp
b/c_glib/arrow-glib/basic-data-type.cpp
index a5f7aed1b..82abfa35c 100644
--- a/c_glib/arrow-glib/basic-data-type.cpp
+++ b/c_glib/arrow-glib/basic-data-type.cpp
@@ -315,9 +315,39 @@ garrow_boolean_data_type_new(void)
}
+G_DEFINE_ABSTRACT_TYPE(GArrowNumericDataType, \
+ garrow_numeric_data_type, \
+ GARROW_TYPE_FIXED_WIDTH_DATA_TYPE)
+
+static void
+garrow_numeric_data_type_init(GArrowNumericDataType *object)
+{
+}
+
+static void
+garrow_numeric_data_type_class_init(GArrowNumericDataTypeClass *klass)
+{
+}
+
+
+G_DEFINE_ABSTRACT_TYPE(GArrowIntegerDataType, \
+ garrow_integer_data_type, \
+ GARROW_TYPE_NUMERIC_DATA_TYPE)
+
+static void
+garrow_integer_data_type_init(GArrowIntegerDataType *object)
+{
+}
+
+static void
+garrow_integer_data_type_class_init(GArrowIntegerDataTypeClass *klass)
+{
+}
+
+
G_DEFINE_TYPE(GArrowInt8DataType, \
garrow_int8_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_int8_data_type_init(GArrowInt8DataType *object)
@@ -349,7 +379,7 @@ garrow_int8_data_type_new(void)
G_DEFINE_TYPE(GArrowUInt8DataType, \
garrow_uint8_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_uint8_data_type_init(GArrowUInt8DataType *object)
@@ -381,7 +411,7 @@ garrow_uint8_data_type_new(void)
G_DEFINE_TYPE(GArrowInt16DataType, \
garrow_int16_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_int16_data_type_init(GArrowInt16DataType *object)
@@ -413,7 +443,7 @@ garrow_int16_data_type_new(void)
G_DEFINE_TYPE(GArrowUInt16DataType, \
garrow_uint16_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_uint16_data_type_init(GArrowUInt16DataType *object)
@@ -445,7 +475,7 @@ garrow_uint16_data_type_new(void)
G_DEFINE_TYPE(GArrowInt32DataType, \
garrow_int32_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_int32_data_type_init(GArrowInt32DataType *object)
@@ -477,7 +507,7 @@ garrow_int32_data_type_new(void)
G_DEFINE_TYPE(GArrowUInt32DataType, \
garrow_uint32_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_uint32_data_type_init(GArrowUInt32DataType *object)
@@ -509,7 +539,7 @@ garrow_uint32_data_type_new(void)
G_DEFINE_TYPE(GArrowInt64DataType, \
garrow_int64_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_int64_data_type_init(GArrowInt64DataType *object)
@@ -541,7 +571,7 @@ garrow_int64_data_type_new(void)
G_DEFINE_TYPE(GArrowUInt64DataType, \
garrow_uint64_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_INTEGER_DATA_TYPE)
static void
garrow_uint64_data_type_init(GArrowUInt64DataType *object)
@@ -571,9 +601,24 @@ garrow_uint64_data_type_new(void)
}
+G_DEFINE_ABSTRACT_TYPE(GArrowFloatingPointDataType, \
+ garrow_floating_point_data_type, \
+ GARROW_TYPE_NUMERIC_DATA_TYPE)
+
+static void
+garrow_floating_point_data_type_init(GArrowFloatingPointDataType *object)
+{
+}
+
+static void
+garrow_floating_point_data_type_class_init(GArrowFloatingPointDataTypeClass
*klass)
+{
+}
+
+
G_DEFINE_TYPE(GArrowFloatDataType, \
garrow_float_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_FLOATING_POINT_DATA_TYPE)
static void
garrow_float_data_type_init(GArrowFloatDataType *object)
@@ -605,7 +650,7 @@ garrow_float_data_type_new(void)
G_DEFINE_TYPE(GArrowDoubleDataType, \
garrow_double_data_type, \
- GARROW_TYPE_DATA_TYPE)
+ GARROW_TYPE_FLOATING_POINT_DATA_TYPE)
static void
garrow_double_data_type_init(GArrowDoubleDataType *object)
diff --git a/c_glib/arrow-glib/basic-data-type.h
b/c_glib/arrow-glib/basic-data-type.h
index 469590191..478c905e9 100644
--- a/c_glib/arrow-glib/basic-data-type.h
+++ b/c_glib/arrow-glib/basic-data-type.h
@@ -116,443 +116,180 @@ struct _GArrowBooleanDataTypeClass
GArrowBooleanDataType *garrow_boolean_data_type_new (void);
-#define GARROW_TYPE_INT8_DATA_TYPE \
- (garrow_int8_data_type_get_type())
-#define GARROW_INT8_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_INT8_DATA_TYPE, \
- GArrowInt8DataType))
-#define GARROW_INT8_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_INT8_DATA_TYPE, \
- GArrowInt8DataTypeClass))
-#define GARROW_IS_INT8_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_INT8_DATA_TYPE))
-#define GARROW_IS_INT8_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_INT8_DATA_TYPE))
-#define GARROW_INT8_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_INT8_DATA_TYPE, \
- GArrowInt8DataTypeClass))
-
-typedef struct _GArrowInt8DataType GArrowInt8DataType;
-typedef struct _GArrowInt8DataTypeClass GArrowInt8DataTypeClass;
+#define GARROW_TYPE_NUMERIC_DATA_TYPE (garrow_numeric_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowNumericDataType,
+ garrow_numeric_data_type,
+ GARROW,
+ NUMERIC_DATA_TYPE,
+ GArrowFixedWidthDataType)
+struct _GArrowNumericDataTypeClass
+{
+ GArrowFixedWidthDataTypeClass parent_class;
+};
-/**
- * GArrowInt8DataType:
- *
- * It wraps `arrow::Int8Type`.
- */
-struct _GArrowInt8DataType
+
+#define GARROW_TYPE_INTEGER_DATA_TYPE (garrow_integer_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowIntegerDataType,
+ garrow_integer_data_type,
+ GARROW,
+ INTEGER_DATA_TYPE,
+ GArrowNumericDataType)
+struct _GArrowIntegerDataTypeClass
{
- /*< private >*/
- GArrowDataType parent_instance;
+ GArrowNumericDataTypeClass parent_class;
};
+
+#define GARROW_TYPE_INT8_DATA_TYPE (garrow_int8_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowInt8DataType,
+ garrow_int8_data_type,
+ GARROW,
+ INT8_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowInt8DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_int8_data_type_get_type (void) G_GNUC_CONST;
GArrowInt8DataType *garrow_int8_data_type_new (void);
-#define GARROW_TYPE_UINT8_DATA_TYPE \
- (garrow_uint8_data_type_get_type())
-#define GARROW_UINT8_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_UINT8_DATA_TYPE, \
- GArrowUInt8DataType))
-#define GARROW_UINT8_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_UINT8_DATA_TYPE, \
- GArrowUInt8DataTypeClass))
-#define GARROW_IS_UINT8_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_UINT8_DATA_TYPE))
-#define GARROW_IS_UINT8_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_UINT8_DATA_TYPE))
-#define GARROW_UINT8_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_UINT8_DATA_TYPE, \
- GArrowUInt8DataTypeClass))
-
-typedef struct _GArrowUInt8DataType GArrowUInt8DataType;
-typedef struct _GArrowUInt8DataTypeClass GArrowUInt8DataTypeClass;
-
-/**
- * GArrowUInt8DataType:
- *
- * It wraps `arrow::UInt8Type`.
- */
-struct _GArrowUInt8DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_UINT8_DATA_TYPE (garrow_uint8_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowUInt8DataType,
+ garrow_uint8_data_type,
+ GARROW,
+ UINT8_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowUInt8DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_uint8_data_type_get_type (void) G_GNUC_CONST;
GArrowUInt8DataType *garrow_uint8_data_type_new (void);
-#define GARROW_TYPE_INT16_DATA_TYPE \
- (garrow_int16_data_type_get_type())
-#define GARROW_INT16_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_INT16_DATA_TYPE, \
- GArrowInt16DataType))
-#define GARROW_INT16_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_INT16_DATA_TYPE, \
- GArrowInt16DataTypeClass))
-#define GARROW_IS_INT16_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_INT16_DATA_TYPE))
-#define GARROW_IS_INT16_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_INT16_DATA_TYPE))
-#define GARROW_INT16_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_INT16_DATA_TYPE, \
- GArrowInt16DataTypeClass))
-
-typedef struct _GArrowInt16DataType GArrowInt16DataType;
-typedef struct _GArrowInt16DataTypeClass GArrowInt16DataTypeClass;
-
-/**
- * GArrowInt16DataType:
- *
- * It wraps `arrow::Int16Type`.
- */
-struct _GArrowInt16DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_INT16_DATA_TYPE (garrow_int16_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowInt16DataType,
+ garrow_int16_data_type,
+ GARROW,
+ INT16_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowInt16DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_int16_data_type_get_type (void) G_GNUC_CONST;
GArrowInt16DataType *garrow_int16_data_type_new (void);
-#define GARROW_TYPE_UINT16_DATA_TYPE \
- (garrow_uint16_data_type_get_type())
-#define GARROW_UINT16_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_UINT16_DATA_TYPE, \
- GArrowUInt16DataType))
-#define GARROW_UINT16_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_UINT16_DATA_TYPE, \
- GArrowUInt16DataTypeClass))
-#define GARROW_IS_UINT16_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_UINT16_DATA_TYPE))
-#define GARROW_IS_UINT16_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_UINT16_DATA_TYPE))
-#define GARROW_UINT16_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_UINT16_DATA_TYPE, \
- GArrowUInt16DataTypeClass))
-
-typedef struct _GArrowUInt16DataType GArrowUInt16DataType;
-typedef struct _GArrowUInt16DataTypeClass GArrowUInt16DataTypeClass;
-
-/**
- * GArrowUInt16DataType:
- *
- * It wraps `arrow::UInt16Type`.
- */
-struct _GArrowUInt16DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_UINT16_DATA_TYPE (garrow_uint16_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowUInt16DataType,
+ garrow_uint16_data_type,
+ GARROW,
+ UINT16_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowUInt16DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_uint16_data_type_get_type (void) G_GNUC_CONST;
GArrowUInt16DataType *garrow_uint16_data_type_new (void);
-#define GARROW_TYPE_INT32_DATA_TYPE \
- (garrow_int32_data_type_get_type())
-#define GARROW_INT32_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_INT32_DATA_TYPE, \
- GArrowInt32DataType))
-#define GARROW_INT32_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_INT32_DATA_TYPE, \
- GArrowInt32DataTypeClass))
-#define GARROW_IS_INT32_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_INT32_DATA_TYPE))
-#define GARROW_IS_INT32_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_INT32_DATA_TYPE))
-#define GARROW_INT32_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_INT32_DATA_TYPE, \
- GArrowInt32DataTypeClass))
-
-typedef struct _GArrowInt32DataType GArrowInt32DataType;
-typedef struct _GArrowInt32DataTypeClass GArrowInt32DataTypeClass;
-
-/**
- * GArrowInt32DataType:
- *
- * It wraps `arrow::Int32Type`.
- */
-struct _GArrowInt32DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_INT32_DATA_TYPE (garrow_int32_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowInt32DataType,
+ garrow_int32_data_type,
+ GARROW,
+ INT32_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowInt32DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_int32_data_type_get_type (void) G_GNUC_CONST;
GArrowInt32DataType *garrow_int32_data_type_new (void);
-#define GARROW_TYPE_UINT32_DATA_TYPE \
- (garrow_uint32_data_type_get_type())
-#define GARROW_UINT32_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_UINT32_DATA_TYPE, \
- GArrowUInt32DataType))
-#define GARROW_UINT32_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_UINT32_DATA_TYPE, \
- GArrowUInt32DataTypeClass))
-#define GARROW_IS_UINT32_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_UINT32_DATA_TYPE))
-#define GARROW_IS_UINT32_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_UINT32_DATA_TYPE))
-#define GARROW_UINT32_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_UINT32_DATA_TYPE, \
- GArrowUInt32DataTypeClass))
-
-typedef struct _GArrowUInt32DataType GArrowUInt32DataType;
-typedef struct _GArrowUInt32DataTypeClass GArrowUInt32DataTypeClass;
-
-/**
- * GArrowUInt32DataType:
- *
- * It wraps `arrow::UInt32Type`.
- */
-struct _GArrowUInt32DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_UINT32_DATA_TYPE (garrow_uint32_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowUInt32DataType,
+ garrow_uint32_data_type,
+ GARROW,
+ UINT32_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowUInt32DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_uint32_data_type_get_type (void) G_GNUC_CONST;
GArrowUInt32DataType *garrow_uint32_data_type_new (void);
-#define GARROW_TYPE_INT64_DATA_TYPE \
- (garrow_int64_data_type_get_type())
-#define GARROW_INT64_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_INT64_DATA_TYPE, \
- GArrowInt64DataType))
-#define GARROW_INT64_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_INT64_DATA_TYPE, \
- GArrowInt64DataTypeClass))
-#define GARROW_IS_INT64_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_INT64_DATA_TYPE))
-#define GARROW_IS_INT64_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_INT64_DATA_TYPE))
-#define GARROW_INT64_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_INT64_DATA_TYPE, \
- GArrowInt64DataTypeClass))
-
-typedef struct _GArrowInt64DataType GArrowInt64DataType;
-typedef struct _GArrowInt64DataTypeClass GArrowInt64DataTypeClass;
-
-/**
- * GArrowInt64DataType:
- *
- * It wraps `arrow::Int64Type`.
- */
-struct _GArrowInt64DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_INT64_DATA_TYPE (garrow_int64_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowInt64DataType,
+ garrow_int64_data_type,
+ GARROW,
+ INT64_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowInt64DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_int64_data_type_get_type (void) G_GNUC_CONST;
GArrowInt64DataType *garrow_int64_data_type_new (void);
-#define GARROW_TYPE_UINT64_DATA_TYPE \
- (garrow_uint64_data_type_get_type())
-#define GARROW_UINT64_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_UINT64_DATA_TYPE, \
- GArrowUInt64DataType))
-#define GARROW_UINT64_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_UINT64_DATA_TYPE, \
- GArrowUInt64DataTypeClass))
-#define GARROW_IS_UINT64_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_UINT64_DATA_TYPE))
-#define GARROW_IS_UINT64_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_UINT64_DATA_TYPE))
-#define GARROW_UINT64_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_UINT64_DATA_TYPE, \
- GArrowUInt64DataTypeClass))
-
-typedef struct _GArrowUInt64DataType GArrowUInt64DataType;
-typedef struct _GArrowUInt64DataTypeClass GArrowUInt64DataTypeClass;
-
-/**
- * GArrowUInt64DataType:
- *
- * It wraps `arrow::UInt64Type`.
- */
-struct _GArrowUInt64DataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_UINT64_DATA_TYPE (garrow_uint64_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowUInt64DataType,
+ garrow_uint64_data_type,
+ GARROW,
+ UINT64_DATA_TYPE,
+ GArrowIntegerDataType)
struct _GArrowUInt64DataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowIntegerDataTypeClass parent_class;
};
-GType garrow_uint64_data_type_get_type (void) G_GNUC_CONST;
GArrowUInt64DataType *garrow_uint64_data_type_new (void);
-#define GARROW_TYPE_FLOAT_DATA_TYPE \
- (garrow_float_data_type_get_type())
-#define GARROW_FLOAT_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_FLOAT_DATA_TYPE, \
- GArrowFloatDataType))
-#define GARROW_FLOAT_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_FLOAT_DATA_TYPE, \
- GArrowFloatDataTypeClass))
-#define GARROW_IS_FLOAT_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_FLOAT_DATA_TYPE))
-#define GARROW_IS_FLOAT_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_FLOAT_DATA_TYPE))
-#define GARROW_FLOAT_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_FLOAT_DATA_TYPE, \
- GArrowFloatDataTypeClass))
-
-typedef struct _GArrowFloatDataType GArrowFloatDataType;
-typedef struct _GArrowFloatDataTypeClass GArrowFloatDataTypeClass;
-
-/**
- * GArrowFloatDataType:
- *
- * It wraps `arrow::FloatType`.
- */
-struct _GArrowFloatDataType
+#define GARROW_TYPE_FLOATING_POINT_DATA_TYPE \
+ (garrow_floating_point_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowFloatingPointDataType,
+ garrow_floating_point_data_type,
+ GARROW,
+ FLOATING_POINT_DATA_TYPE,
+ GArrowNumericDataType)
+struct _GArrowFloatingPointDataTypeClass
{
- /*< private >*/
- GArrowDataType parent_instance;
+ GArrowNumericDataTypeClass parent_class;
};
+
+#define GARROW_TYPE_FLOAT_DATA_TYPE (garrow_float_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowFloatDataType,
+ garrow_float_data_type,
+ GARROW,
+ FLOAT_DATA_TYPE,
+ GArrowFloatingPointDataType)
struct _GArrowFloatDataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowFloatingPointDataTypeClass parent_class;
};
-GType garrow_float_data_type_get_type (void) G_GNUC_CONST;
GArrowFloatDataType *garrow_float_data_type_new (void);
-#define GARROW_TYPE_DOUBLE_DATA_TYPE \
- (garrow_double_data_type_get_type())
-#define GARROW_DOUBLE_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GARROW_TYPE_DOUBLE_DATA_TYPE, \
- GArrowDoubleDataType))
-#define GARROW_DOUBLE_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- GARROW_TYPE_DOUBLE_DATA_TYPE, \
- GArrowDoubleDataTypeClass))
-#define GARROW_IS_DOUBLE_DATA_TYPE(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- GARROW_TYPE_DOUBLE_DATA_TYPE))
-#define GARROW_IS_DOUBLE_DATA_TYPE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- GARROW_TYPE_DOUBLE_DATA_TYPE))
-#define GARROW_DOUBLE_DATA_TYPE_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- GARROW_TYPE_DOUBLE_DATA_TYPE, \
- GArrowDoubleDataTypeClass))
-
-typedef struct _GArrowDoubleDataType GArrowDoubleDataType;
-typedef struct _GArrowDoubleDataTypeClass GArrowDoubleDataTypeClass;
-
-/**
- * GArrowDoubleDataType:
- *
- * It wraps `arrow::DoubleType`.
- */
-struct _GArrowDoubleDataType
-{
- /*< private >*/
- GArrowDataType parent_instance;
-};
-
+#define GARROW_TYPE_DOUBLE_DATA_TYPE (garrow_double_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowDoubleDataType,
+ garrow_double_data_type,
+ GARROW,
+ DOUBLE_DATA_TYPE,
+ GArrowFloatingPointDataType)
struct _GArrowDoubleDataTypeClass
{
- GArrowDataTypeClass parent_class;
+ GArrowFloatingPointDataTypeClass parent_class;
};
-GType garrow_double_data_type_get_type (void) G_GNUC_CONST;
GArrowDoubleDataType *garrow_double_data_type_new (void);
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> [GLib] Add Numeric, Integer and FloatingPoint data types
> ---------------------------------------------------------
>
> Key: ARROW-2289
> URL: https://issues.apache.org/jira/browse/ARROW-2289
> Project: Apache Arrow
> Issue Type: Improvement
> Components: GLib
> Affects Versions: 0.8.0
> Reporter: Kouhei Sutou
> Assignee: Kouhei Sutou
> Priority: Minor
> Labels: pull-request-available
> Fix For: 0.9.0
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)