code: def test_decode_decimal_scalar_when_codec_is_none():
      """Decoding a row that has a field with the codec set to None. The type should be deduced automatically
      from UnischemaField's numpy_dtype attribute if the type is either a numpy scalar or a Decimal
      """
  
      MatrixSchema = Unischema(
          "TestSchema", [UnischemaField("scalar", Decimal, ())]
      )
  
      row = {"scalar": "123.45"}
      decoded_value = decode_row(row, MatrixSchema)["scalar"]
      assert decoded_value == Decimal("123.45")
      assert isinstance(decoded_value, Decimal)
  
      row = {"scalar": Decimal("123.45")}
      decoded_value = decode_row(row, MatrixSchema)["scalar"]
      assert decoded_value == Decimal("123.45")
      assert isinstance(decoded_value, Decimal)
  
file_path: petastorm/petastorm/tests/test_decode_row.py
imports: from decimal import Decimal
  import numpy
  import pytest
  from pyspark.sql.types import DoubleType
  from petastorm.codecs import NdarrayCodec, ScalarCodec
  from petastorm.unischema import UnischemaField, Unischema
  from petastorm.utils import decode_row, DecodeFieldError
label_desc: Use image node_id 4 for calling a global function with example usage: test_decode_decimal_scalar_when_codec_is_none() without return types