floatDecoderFactory function

FixedSizeDecoder<double> floatDecoderFactory({
  1. required String name,
  2. required int size,
  3. required double get(
    1. ByteData data,
    2. int offset,
    3. Endian endian
    ),
  4. NumberCodecConfig? config,
})

Creates a FixedSizeDecoder for a floating-point type using ByteData operations.

The name is used in error messages. The size is the number of bytes the decoder consumes. The get callback reads a double value from a ByteData view. The optional config controls endianness (defaults to little-endian).

Implementation

FixedSizeDecoder<double> floatDecoderFactory({
  required String name,
  required int size,
  required double Function(ByteData data, int offset, Endian endian) get,
  NumberCodecConfig? config,
}) {
  final endian = config?.endian ?? Endian.little;
  return FixedSizeDecoder<double>(
    fixedSize: size,
    read: (bytes, offset) {
      final byteData = bytes.buffer.asByteData(bytes.offsetInBytes);
      return (get(byteData, offset, endian), offset + size);
    },
  );
}