# AsType

class `numcodecs.astype.``AsType`(encode_dtype, decode_dtype)

  Filter to convert data between different types.

  Parameters:

  encode_dtype : dtype

  > Data type to use for encoded data.

  decode_dtype : dtype, optional

  > Data type to use for decoded data.

  Notes

  If encode_dtype is of lower precision than decode_dtype, please be aware that data loss can occur by writing data to disk using this filter. No checks are made to ensure the casting will work in that direction and data corruption will occur.

  Examples

      >>> import numcodecs
      >>> import numpy as np
      >>> x = np.arange(100, 120, 2, dtype=np.int8)
      >>> x
      array([100, 102, 104, 106, 108, 110, 112, 114, 116, 118], dtype=int8)
      >>> f = numcodecs.AsType(encode_dtype=x.dtype, decode_dtype=np.int64)
      >>> y = f.decode(x)
      >>> y
      array([100, 102, 104, 106, 108, 110, 112, 114, 116, 118])
      >>> z = f.encode(y)
      >>> z
      array([100, 102, 104, 106, 108, 110, 112, 114, 116, 118], dtype=int8)

  `codec_id` = 'astype'
  `encode`(buf)

    Encode data in buf.

    Parameters:

    buf : buffer-like

    > Data to be encoded. May be any object supporting the new-style buffer protocol or array.array under Python 2.

    Returns:

    enc : buffer-like

    > Encoded data. May be any object supporting the new-style buffer protocol or array.array under Python 2.

  `decode`(buf, out=None)

    Decode data in buf.

    Parameters:

    buf : buffer-like

    > Encoded data. May be any object supporting the new-style buffer protocol or array.array under Python 2.

    out : buffer-like, optional

    > Writeable buffer to store decoded data. N.B. if provided, this buffer must be exactly the right size to store the decoded data.

    Returns:

    dec : buffer-like

    > Decoded data. May be any object supporting the new-style buffer protocol or array.array under Python 2.

  `get_config`()

    Return a dictionary holding configuration parameters for this codec. Must include an ‘id’ field with the codec identifier. All values must be compatible with JSON encoding.

  classmethod `from_config`(config)

    Instantiate codec from a configuration object.