Skip to content

Commit 80950f5

Browse files
committed
support abi float32 and float64 types
1 parent e2f517b commit 80950f5

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

lib/src/serialize.dart

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -212,24 +212,24 @@ class SerialBuffer {
212212
}
213213

214214
// /** Append a `float32` */
215-
// void pushFloat32(double v) {
216-
// pushArray(Uint8List.fromList(Float32List.fromList([v])));
217-
// }
215+
void pushFloat32(double v) {
216+
pushArray(Float32List.fromList([v]).buffer.asUint8List());
217+
}
218218

219219
// /** Get a `float32` */
220-
// double getFloat32() {
221-
// return Float32List(getUint8List(4).slice().buffer)[0];
222-
// }
220+
double getFloat32() {
221+
return getUint8List(4).buffer.asFloat32List()[0];
222+
}
223223

224224
// /** Append a `float64` */
225-
// void pushFloat64(int v) {
226-
// pushArray(Uint8List.fromList(Float64List.fromList([v])));
227-
// }
225+
void pushFloat64(double v) {
226+
pushArray(Float64List.fromList([v]).buffer.asUint8List());
227+
}
228228

229229
// /** Get a `float64` */
230-
// public getFloat64() {
231-
// return new Float64Array(getUint8List(8).slice().buffer)[0];
232-
// }
230+
double getFloat64() {
231+
return getUint8List(8).buffer.asFloat64List()[0];
232+
}
233233

234234
/// Append a `name` */
235235
void pushName(String s) {
@@ -804,20 +804,20 @@ Map<String, Type> createInitialTypes() {
804804
return numeric.signedBinaryToDecimal(buffer.getUint8List(16));
805805
},
806806
),
807-
// "float32": createType(
808-
// name: 'float32',
809-
// serialize:(Type self,SerialBuffer buffer ,Object data,{SerializerState state,bool allowExtensions}) {
810-
// buffer.pushFloat32(data); },
811-
// deserialize:(Type self,SerialBuffer buffer,{SerializerState state,bool allowExtensions}) {
812-
// return buffer.getFloat32(); },
813-
// ),
814-
// "float64": createType(
815-
// name: 'float64',
816-
// serialize:(Type self,SerialBuffer buffer ,Object data,{SerializerState state,bool allowExtensions}) {
817-
// buffer.pushFloat64(data); },
818-
// deserialize:(Type self,SerialBuffer buffer,{SerializerState state,bool allowExtensions}) {
819-
// return buffer.getFloat64(); },
820-
// ),
807+
"float32": createType(
808+
name: 'float32',
809+
serialize:(Type self,SerialBuffer buffer ,Object data,{SerializerState state,bool allowExtensions}) {
810+
buffer.pushFloat32(data); },
811+
deserialize:(Type self,SerialBuffer buffer,{SerializerState state,bool allowExtensions}) {
812+
return buffer.getFloat32(); },
813+
),
814+
"float64": createType(
815+
name: 'float64',
816+
serialize:(Type self,SerialBuffer buffer ,Object data,{SerializerState state,bool allowExtensions}) {
817+
buffer.pushFloat64(data); },
818+
deserialize:(Type self,SerialBuffer buffer,{SerializerState state,bool allowExtensions}) {
819+
return buffer.getFloat64(); },
820+
),
821821
"float128": createType(
822822
name: 'float128',
823823
serialize: (Type self, SerialBuffer buffer, Object data,

0 commit comments

Comments
 (0)