Optional Integer Delta

Imported from previous forum

Hi,

Can anybody help with the optional integer delta?

There is the following field.

STEP 1.

The first decoded delta value = 6.

Implement the delta operator : 0 + 6 = 6.

Because the field is nullable the real value is 6 - 1 = 5.

STEP 2.

The second decoded delta value = 3.

The question is : which value should be used as base for delta operator - 5 or 6 ?

I.e. which real value on this step is correct :

  1. 5 + 3 - 1 = 7

  2. 6 + 3 - 1 = 8

Thank you!
Roman.

[ original email was from Greg Orsini - greg.orsini@orcsoftware.com ]
Hi Roman,

The first value is 5 after fully decoding the first integer (5 = 6 - 1 for a non-null integer optional field). Your description is Step 1, below, is slightly misleading, if I understand your example, as 6 is described as the DEcoded value when 6 is the ENcoded value that goes across the wire.

Therefore 5, the decoded integer value, will be used as the base value for the next delta operation (in your example, 5 + 3-1 = 7).

Regards, Greg.

Hi,

Can anybody help with the optional integer delta?

There is the following field.

STEP 1.

The first decoded delta value = 6.

Implement the delta operator : 0 + 6 = 6.

Because the field is nullable the real value is 6 - 1 = 5.

STEP 2.

The second decoded delta value = 3.

The question is : which value should be used as base for delta operator

  • 5 or 6 ?

I.e. which real value on this step is correct :

  1. 5 + 3 - 1 = 7

  2. 6 + 3 - 1 = 8

Thank you! Roman.

Hi all!

Maybe this is not the best place for posting my question, but I could not find better…

Can anyone confirl that, in case of a delta field,

  • if the field is not optional, there is no NULL representation, and decoded_value = base_value + encoded_delta_value
  • if the field is optional, then 0 is the representation of NULL and
    a. if encoded_delta_value = 0, field is not present
    b. if encoded_delta_value < 0 then decoded_value = base_value + encoded_delta_value
    c. if encoded_delta_value > 0 then decoded_value = base_value + encoded_delta_value - 1

Could you also provide pointers to where this is specified exactly?

Thanks a lot,

Julien

Hi Roman,

The first value is 5 after fully decoding the first integer (5 = 6 - 1 for a non-null integer optional field). Your description is Step 1, below, is slightly misleading, if I understand your example, as 6 is described as the DEcoded value when 6 is the ENcoded value that goes across the wire.

Therefore 5, the decoded integer value, will be used as the base value for the next delta operation (in your example, 5 + 3-1 = 7).

Regards, Greg.

Hi,

Can anybody help with the optional integer delta?

There is the following field.

STEP 1.

The first decoded delta value = 6.

Implement the delta operator : 0 + 6 = 6.

Because the field is nullable the real value is 6 - 1 = 5.

STEP 2.

The second decoded delta value = 3.

The question is : which value should be used as base for delta operator

  • 5 or 6 ?

I.e. which real value on this step is correct :

  1. 5 + 3 - 1 = 7

  2. 6 + 3 - 1 = 8

Thank you! Roman.

FYI I reopened this as a new thread.
http://fixprotocol.org/discuss/read/b7b58d83

Hi all!

Maybe this is not the best place for posting my question, but I could not find better…

Can anyone confirl that, in case of a delta field,

  • if the field is not optional, there is no NULL representation, and decoded_value = base_value + encoded_delta_value
  • if the field is optional, then 0 is the representation of NULL and
    a. if encoded_delta_value = 0, field is not present
    b. if encoded_delta_value < 0 then decoded_value = base_value + encoded_delta_value
    c. if encoded_delta_value > 0 then decoded_value = base_value + encoded_delta_value - 1

Could you also provide pointers to where this is specified exactly?

Thanks a lot,

Julien

Hi Roman,

The first value is 5 after fully decoding the first integer (5 = 6 - 1 for a non-null integer optional field). Your description is Step 1, below, is slightly misleading, if I understand your example, as 6 is described as the DEcoded value when 6 is the ENcoded value that goes across the wire.

Therefore 5, the decoded integer value, will be used as the base value for the next delta operation (in your example, 5 + 3-1 = 7).

Regards, Greg.

Hi,

Can anybody help with the optional integer delta?

There is the following field.

STEP 1.

The first decoded delta value = 6.

Implement the delta operator : 0 + 6 = 6.

Because the field is nullable the real value is 6 - 1 = 5.

STEP 2.

The second decoded delta value = 3.

The question is : which value should be used as base for delta operator

  • 5 or 6 ?

I.e. which real value on this step is correct :

  1. 5 + 3 - 1 = 7

  2. 6 + 3 - 1 = 8

Thank you! Roman.

Anyone?