anchor.diff:  
   groups() -> [conversion].
   
  -version() -> "0.1.0".
  +version() -> "0.2.0".
   
   
   %% Merge the block type specific, Config, Input, and Output attributes
  
positive.code:   attrib_utils:merge_attribute_lists(
      block_common:inputs(),
      [
        {pos_precision, {2, {2}}}, %| int | 2 | 0..num of digits |
        {neg_precision, {1, {1}}}, %| int | 1 | 1..num of digits |
        {input, {empty, {empty}}} %| float | empty | +/- max float |
       ]). 
  
  
  -spec default_outputs() -> output_attribs().
  
negative.code: 
  initialize({Config, Inputs, Outputs, Private}) ->
    % Check the config values
    case config_utils:get_integer_range(Config, num_of_digits, 1, 99) of
      {ok, NumOfDigits} ->
        % Create a digit output for each digit
        Outputs1 = output_utils:resize_attribute_array_value(Outputs, 
                                         digits, NumOfDigits, {null, []}),
        case config_utils:get_integer_range(Config, pos_precision, 0, NumOfDigits) of
          {ok, _PosPrecision} ->
  
            case config_utils:get_integer_range(Config, neg_precision, 0, NumOfDigits) of
              {ok, _NegPrecision} ->
                Value = null, 
                Status = initialed;              
              
              {error, Reason} ->
                {Value, Status} = config_utils:log_error(Config, neg_precision, Reason)
            end;
                
          {error, Reason} ->
            {Value, Status} = config_utils:log_error(Config, pos_precision, Reason)
        end;
      {error, Reason} ->
        Outputs1 = Outputs,
        {Value, Status} = config_utils:log_error(Config, num_of_digits, Reason)      
    end,
  
    Outputs2 = output_utils:set_value_status(Outputs1, Value, Status),
  