@@ -16,13 +16,13 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnResolutionContext
16
16
import org.jetbrains.kotlinx.dataframe.columns.ColumnWithPath
17
17
import org.jetbrains.kotlinx.dataframe.columns.FrameColumn
18
18
import org.jetbrains.kotlinx.dataframe.columns.ValueColumn
19
- import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnDataHolderImpl
20
- import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnDataHolderImpl
21
19
import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnGroupImpl
22
20
import org.jetbrains.kotlinx.dataframe.impl.columns.FrameColumnImpl
23
21
import org.jetbrains.kotlinx.dataframe.impl.columns.ValueColumnImpl
24
22
import org.jetbrains.kotlinx.dataframe.impl.columns.addPath
25
23
import org.jetbrains.kotlinx.dataframe.impl.columns.guessColumnType
24
+ import org.jetbrains.kotlinx.dataframe.impl.columns.ofCollection
25
+ import org.jetbrains.kotlinx.dataframe.impl.columns.ofBoxedArray
26
26
import org.jetbrains.kotlinx.dataframe.impl.columns.toColumnKind
27
27
import org.jetbrains.kotlinx.dataframe.impl.getValuesType
28
28
import org.jetbrains.kotlinx.dataframe.impl.splitByIndices
@@ -51,65 +51,41 @@ public interface DataColumn<out T> : BaseColumn<T> {
51
51
defaultValue : T ? = null,
52
52
): ValueColumn <T > = ValueColumnImpl (values, name, type, defaultValue)
53
53
54
- public fun createValueColumn (
55
- name : String ,
56
- values : BooleanArray ,
57
- ): ValueColumn <Boolean > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Boolean >())
54
+ public fun createValueColumn (name : String , values : BooleanArray ): ValueColumn <Boolean > =
55
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Boolean >())
58
56
59
- public fun createValueColumn (
60
- name : String ,
61
- values : ByteArray ,
62
- ): ValueColumn <Byte > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Byte >())
57
+ public fun createValueColumn (name : String , values : ByteArray ): ValueColumn <Byte > =
58
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Byte >())
63
59
64
- public fun createValueColumn (
65
- name : String ,
66
- values : ShortArray ,
67
- ): ValueColumn <Short > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Short >())
60
+ public fun createValueColumn (name : String , values : ShortArray ): ValueColumn <Short > =
61
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Short >())
68
62
69
- public fun createValueColumn (
70
- name : String ,
71
- values : IntArray ,
72
- ): ValueColumn <Int > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Int >())
63
+ public fun createValueColumn (name : String , values : IntArray ): ValueColumn <Int > =
64
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Int >())
73
65
74
- public fun createValueColumn (
75
- name : String ,
76
- values : LongArray ,
77
- ): ValueColumn <Long > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Long >())
66
+ public fun createValueColumn (name : String , values : LongArray ): ValueColumn <Long > =
67
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Long >())
78
68
79
- public fun createValueColumn (
80
- name : String ,
81
- values : FloatArray ,
82
- ): ValueColumn <Float > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Float >())
69
+ public fun createValueColumn (name : String , values : FloatArray ): ValueColumn <Float > =
70
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Float >())
83
71
84
- public fun createValueColumn (
85
- name : String ,
86
- values : DoubleArray ,
87
- ): ValueColumn <Double > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Double >())
72
+ public fun createValueColumn (name : String , values : DoubleArray ): ValueColumn <Double > =
73
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Double >())
88
74
89
- public fun createValueColumn (
90
- name : String ,
91
- values : CharArray ,
92
- ): ValueColumn <Char > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Char >())
75
+ public fun createValueColumn (name : String , values : CharArray ): ValueColumn <Char > =
76
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Char >())
93
77
94
- public fun createValueColumn (
95
- name : String ,
96
- values : UByteArray ,
97
- ): ValueColumn <UByte > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UByte >())
78
+ public fun createValueColumn (name : String , values : UByteArray ): ValueColumn <UByte > =
79
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UByte >())
98
80
99
- public fun createValueColumn (
100
- name : String ,
101
- values : UShortArray ,
102
- ): ValueColumn <UShort > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UShort >())
81
+ public fun createValueColumn (name : String , values : UShortArray ): ValueColumn <UShort > =
82
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UShort >())
103
83
104
- public fun createValueColumn (
105
- name : String ,
106
- values : UIntArray ,
107
- ): ValueColumn <UInt > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UInt >())
84
+ public fun createValueColumn (name : String , values : UIntArray ): ValueColumn <UInt > =
85
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UInt >())
108
86
109
- public fun createValueColumn (
110
- name : String ,
111
- values : ULongArray ,
112
- ): ValueColumn <ULong > = createValueColumn(name, values.asColumnDataHolder(), typeOf<ULong >())
87
+ public fun createValueColumn (name : String , values : ULongArray ): ValueColumn <ULong > =
88
+ createValueColumn(name, values.asColumnDataHolder(), typeOf<ULong >())
113
89
114
90
/* *
115
91
* Creates [ValueColumn] using given [name], [values] and [type].
@@ -129,9 +105,9 @@ public interface DataColumn<out T> : BaseColumn<T> {
129
105
val valueType = getValuesType(values, type, infer)
130
106
return createValueColumn(
131
107
name = name,
132
- values = ColumnDataHolderImpl .of (values, valueType),
108
+ values = ColumnDataHolder .ofCollection (values, valueType),
133
109
type = valueType,
134
- defaultValue = defaultValue
110
+ defaultValue = defaultValue,
135
111
)
136
112
}
137
113
@@ -170,26 +146,31 @@ public interface DataColumn<out T> : BaseColumn<T> {
170
146
val valueType = getValuesType(values.asList(), type, infer)
171
147
return createValueColumn(
172
148
name = name,
173
- values = ColumnDataHolderImpl .of (values, valueType),
149
+ values = ColumnDataHolder .ofBoxedArray (values, valueType),
174
150
type = valueType,
175
- defaultValue = defaultValue
151
+ defaultValue = defaultValue,
176
152
)
177
153
}
178
154
179
155
public inline fun <reified T > createValueColumn (
180
156
name : String ,
181
157
values : Array <T >,
182
158
infer : Infer = Infer .None ,
183
- ): ValueColumn <T > = createValueColumn(
184
- name = name,
185
- values = values,
186
- type = getValuesType(values.asList(), typeOf<T >(), infer)
187
- )
159
+ ): ValueColumn <T > =
160
+ createValueColumn(
161
+ name = name,
162
+ values = values,
163
+ type = getValuesType(values.asList(), typeOf<T >(), infer),
164
+ )
188
165
189
166
public fun <T > createColumnGroup (name : String , df : DataFrame <T >): ColumnGroup <T > = ColumnGroupImpl (name, df)
190
167
191
168
public fun <T > createFrameColumn (name : String , df : DataFrame <T >, startIndices : Iterable <Int >): FrameColumn <T > =
192
- FrameColumnImpl (name, df.splitByIndices(startIndices.asSequence()).toList().toColumnDataHolder(), lazy { df.schema() })
169
+ FrameColumnImpl (
170
+ name,
171
+ df.splitByIndices(startIndices.asSequence()).toList().toColumnDataHolder(),
172
+ lazy { df.schema() },
173
+ )
193
174
194
175
public fun <T > createFrameColumn (
195
176
name : String ,
0 commit comments