Optional decimal field coding

Imported from previous forum

[ original email was from Dmitriy Ovdienko - odp@btobits.com ]
Hi All

We have optional decimal field, defiend by the following template rule:



According $10.6.2 of the Spec v1.1 “The mantissa is present in the stream iff the exponent is not NULL”.

  1. Should we send NULL exponent without mantissa to transfer NULL-Decimal value (pMap(exponent) = 1, pMap(mantissa) = 0)?

  2. Should we apply operator for mantissa if exponent is NULL? If yes, the next value for mantissa will be ‘11’. Otherwise, the next value or mantissa will be ‘10’.

Regards,
Dmitriy

  1. You should send NULL, pMap(exponent) = 1, and no bit at all for the mantissa

1.a: If the previous exponent was NULL, then you should send pMap(exponent) = 0, and no bit for the mantissa

  1. No, if the exponent is NULL the mantissa operator is not used at all

/David

Hi All

We have optional decimal field, defiend by the following template rule:

According $10.6.2 of the Spec v1.1 “The mantissa is present in the
stream iff the exponent is not NULL”.

  1. Should we send NULL exponent without mantissa to transfer NULL-
    Decimal value (pMap(exponent) = 1, pMap(mantissa) = 0)?

  2. Should we apply operator for mantissa if exponent is NULL? If yes,
    the next value for mantissa will be ‘11’. Otherwise, the next value
    or mantissa will be ‘10’.

Regards, Dmitriy

[ original email was from Dmitriy Ovdienko - odp@btobits.com ]
> 1. You should send NULL, pMap(exponent) = 1, and no bit at all for

the mantissa

So, does the size of presence map depend on transfered value? e.g the size of pmap will be increased by 1 if we should sent non-null value (a bit for exponenta and a bit for mantissa)?

  1. You should send NULL, pMap(exponent) = 1,
    and no bit at all for the mantissa

So, does the size of presence map depend on transfered value?
e.g the size of pmap will be increased by 1 if we should sent
non-null value (a bit for exponenta and a bit for mantissa)?

Yes, that’s the intent

  1. You should send NULL, pMap(exponent) = 1, and no bit at all for
    the mantissa

So, does the size of presence map depend on transfered value?
e.g the size of pmap will be increased by 1 if we should sent non-null
value (a bit for exponenta and a bit for mantissa)?

Yes, that’s the intent

What? You mean that a pm for template 1 can be of diffrent size depening on what is in the pm?

The Fast Specification 1.x.05 says that the mantissa appears in the stream iff the exponent appears in the stream but it dosn’t say that it then also takes a spot in the PresentMap dose it?

<>> 1. You should send NULL, pMap(exponent) = 1,

and no bit at all for the mantissa

So, does the size of presence map depend on transfered value?
e.g the size of pmap will be increased by 1 if we should sent
non-null value (a bit for exponenta and a bit for mantissa)?

Yes, that’s the intent

What? You mean that a pm for template 1 can be of diffrent size
depening on what is in the pm?

The Fast Specification 1.x.05 says that the mantissa appears in
the stream iff the exponent appears in the stream but it dosn’t
say that it then also takes a spot in the PresentMap dose it?

The pmap entry for the mantissa is not needed if the number is
null (indicated by a null exponent)

Otherwise, there is a pmap entry for the mantissa if there is an
operator specificed for the mantissa.

/Rolf

The spec isn’t clear enough on this. I’ve an entry on my todo list to add a note about that the absence of the mantissa includes any related slots in the presence map.

/David

  1. You should send NULL, pMap(exponent) = 1, and no bit at all for
    the mantissa

So, does the size of presence map depend on transfered value?
e.g the size of pmap will be increased by 1 if we should sent non-
null value (a bit for exponenta and a bit for mantissa)?

Yes, that’s the intent

What? You mean that a pm for template 1 can be of diffrent size depening
on what is in the pm?

The Fast Specification 1.x.05 says that the mantissa appears in the
stream iff the exponent appears in the stream but it dosn’t say that it
then also takes a spot in the PresentMap dose it?

All subsequent slots in the same pmap …

The spec isn’t clear enough on this. I’ve an entry on my todo list to
add a note about that the absence of the mantissa includes any related
slots in the presence map.

/David

  1. You should send NULL, pMap(exponent) = 1, and no bit at all
    for the mantissa

So, does the size of presence map depend on transfered value?
e.g the size of pmap will be increased by 1 if we should sent non-
null value (a bit for exponenta and a bit for mantissa)?

Yes, that’s the intent

What? You mean that a pm for template 1 can be of diffrent size
depening on what is in the pm?

The Fast Specification 1.x.05 says that the mantissa appears in the
stream iff the exponent appears in the stream but it dosn’t say that
it then also takes a spot in the PresentMap dose it?

So, if the mantissa operator is not used at all in the case when the exponent is NULL, is the previuos value for the absent mantissa set to NULL or left unchanged ?

  1. You should send NULL, pMap(exponent) = 1, and no bit at all for
    the mantissa

1.a: If the previous exponent was NULL, then you should send
pMap(exponent) = 0, and no bit for the mantissa

  1. No, if the exponent is NULL the mantissa operator is not used at all

/David

Hi All

We have optional decimal field, defiend by the following template
rule:

According $10.6.2 of the Spec v1.1 “The mantissa is present in the
stream iff the exponent is not NULL”.

  1. Should we send NULL exponent without mantissa to transfer NULL-
    Decimal value (pMap(exponent) = 1, pMap(mantissa) = 0)?

  2. Should we apply operator for mantissa if exponent is NULL? If yes,
    the next value for mantissa will be ‘11’. Otherwise, the next value
    or mantissa will be ‘10’.

Regards, Dmitriy

[ original email was from Scott McCaskill - smccaskill@zonetrading.com ]
My interpretation is that the previous value for the mantissa is unchanged in that case. Only the exponent is nullable; if the exponent is encoded as NULL, then the mantissa is not encoded at all (not even as the null value), so I wouldn’t expect its dictionary value to change.

So, if the mantissa operator is not used at all in the case when the
exponent is NULL, is the previuos value for the absent mantissa set to
NULL or left unchanged ?

  1. You should send NULL, pMap(exponent) = 1, and no bit at all for the
    mantissa

1.a: If the previous exponent was NULL, then you should send
pMap(exponent) = 0, and no bit for the mantissa

  1. No, if the exponent is NULL the mantissa operator is not used
    at all

/David

Hi All

We have optional decimal field, defiend by the following template
rule:

According $10.6.2 of the Spec v1.1 “The mantissa is present in the
stream iff the exponent is not NULL”.

  1. Should we send NULL exponent without mantissa to transfer NULL-
    Decimal value (pMap(exponent) = 1, pMap(mantissa) = 0)?

  2. Should we apply operator for mantissa if exponent is NULL? If
    yes, the next value for mantissa will be ‘11’. Otherwise, the
    next value or mantissa will be ‘10’.

Regards, Dmitriy

This is correct. The operator of the mantissa is not exercised at all in the case where the exponent is NULL. As a consequence, the previous value is left untouched.

My interpretation is that the previous value for the mantissa is
unchanged in that case. Only the exponent is nullable; if the exponent
is encoded as NULL, then the mantissa is not encoded at all (not even as
the null value), so I wouldn’t expect its dictionary value to change.

So, if the mantissa operator is not used at all in the case when the
exponent is NULL, is the previuos value for the absent mantissa set to
NULL or left unchanged ?