Imported from previous forum
Suppose you had a presence map value of 0x09 0x80, which is
"00001001 10000000". The 2nd byte of the presence map contains the stopbit, but all the slots are ZERO.
My question is the 2nd byte. Since all the slots are zeros, can this 2nd byte be removed from the stream, so the presence map can be represented in 1 byte instead of 2. Naturally the stopbit would have to be moved to the first byte. The new presence map would look like 0x89 which is
"10001001".
In order for this to work, you would have to assume that if a slot does not exist in the Presence Map, then it doesn’t exist in the stream.
Is this compaction of the pmap valid/allowed?
Suppose you had a presence map value of 0x09 0x80, which is “00001001
10000000”. The 2nd byte of the presence map contains the stopbit, but
all the slots are ZERO.My question is the 2nd byte. Since all the slots are zeros, can this 2nd
byte be removed from the stream, so the presence map can be represented
in 1 byte instead of 2. Naturally the stopbit would have to be moved to
the first byte. The new presence map would look like 0x89 which is
“10001001”.In order for this to work, you would have to assume that if a slot does
not exist in the Presence Map, then it doesn’t exist in the stream.Is this compaction of the pmap valid/allowed?
Fast specification 1.x.1:
10.5 Presence Map
“A presence map is overlong if it has more than seven bits and ends in seven or more bits that are all zero. It is a reportable error [ERR R7] if a presence map is overlong. It is a reportable error [ERR R8] if a presence map contains more bits than required by the instructions that utilize it.”
AIU you must remove 2nd byte from the stream.
[ original email was from Matt Simpson - msimpson@cme.com ]
Does the overlong pmap rule also apply to a Sequence that has all slots set to zero? That is, if the resulting pmap would be 10000000 is a pmap required for that occurence of the sequence?
The spec is a bit vague here in saying “This makes it possible to truncate a presence map that ends in a sequence where the bits are all zero. The length of the remaining part must be a multiple of seven.”
Suppose you had a presence map value of 0x09 0x80, which is “00001001
10000000”. The 2nd byte of the presence map contains the stopbit, but
all the slots are ZERO.My question is the 2nd byte. Since all the slots are zeros, can this
2nd byte be removed from the stream, so the presence map can be
represented in 1 byte instead of 2. Naturally the stopbit would have
to be moved to the first byte. The new presence map would look like
0x89 which is “10001001”.In order for this to work, you would have to assume that if a
slot does not exist in the Presence Map, then it doesn’t exist in
the stream.Is this compaction of the pmap valid/allowed?
Fast specification 1.x.1:
10.5 Presence Map “A presence map is overlong if it has more than seven
bits and ends in seven or more bits that are all zero. It is a
reportable error [ERR R7] if a presence map is overlong. It is a
reportable error [ERR R8] if a presence map contains more bits than
required by the instructions that utilize it.”AIU you must remove 2nd byte from the stream.
Does the overlong pmap rule also apply to a Sequence that has all slots
set to zero? That is, if the resulting pmap would be 10000000 is a pmap
required for that occurence of the sequence?
The spec is a bit vague here in saying “This makes it possible to
truncate a presence map that ends in a sequence where the bits are all
zero. The length of the remaining part must be a multiple of seven.”
No, the presence map is overlong if it has more than seven bits (e.g. 2 bytes) and last seven bits or more are all zero. So pmap 10000000 is not overlong because it has seven bits only (not more). Please compare with pmap ‘01000000 10000000’ that is overlong already and last seven bits must be stripped.
Suppose you had a presence map value of 0x09 0x80, which is
“00001001 10000000”. The 2nd byte of the presence map contains the
stopbit, but all the slots are ZERO.My question is the 2nd byte. Since all the slots are zeros, can this
2nd byte be removed from the stream, so the presence map can be
represented in 1 byte instead of 2. Naturally the stopbit would have
to be moved to the first byte. The new presence map would look like
0x89 which is “10001001”.In order for this to work, you would have to assume that if a slot
does not exist in the Presence Map, then it doesn’t exist in the
stream.Is this compaction of the pmap valid/allowed?
Fast specification 1.x.1:
10.5 Presence Map “A presence map is overlong if it has more than
seven bits and ends in seven or more bits that are all zero. It is
a reportable error [ERR R7] if a presence map is overlong. It is a
reportable error [ERR R8] if a presence map contains more bits than
required by the instructions that utilize it.”AIU you must remove 2nd byte from the stream.
[ original email was from Darshan Khedekar - darshan.khedekar.ext@deutsche-boerse.com ]
A presence map is overlong if it has more than seven bits and ends in “seven or more bits that are all zero”. It is a reportable error [ERR R7] if a presence map is overlong.
Hence The first bytes of the premap could have all data bits zero with the stop bit set. This is required to indicate that none of the optional fields occur but thereafter for all further premap bytes the above case is a reportable error and such overlong premaps must be suppressed
- Darshan
Does the overlong pmap rule also apply to a Sequence that has all
slots set to zero? That is, if the resulting pmap would be 10000000 is
a pmap required for that occurence of the sequence?The spec is a bit vague here in saying “This makes it possible to
truncate a presence map that ends in a sequence where the bits are all
zero. The length of the remaining part must be a multiple of seven.”No, the presence map is overlong if it has more than seven bits (e.g. 2
bytes) and last seven bits or more are all zero. So pmap 10000000 is not
overlong because it has seven bits only (not more). Please compare with
pmap ‘01000000 10000000’ that is overlong already and last seven bits
must be stripped.Suppose you had a presence map value of 0x09 0x80, which is
“00001001 10000000”. The 2nd byte of the presence map contains the
stopbit, but all the slots are ZERO.My question is the 2nd byte. Since all the slots are zeros, can
this 2nd byte be removed from the stream, so the presence map can
be represented in 1 byte instead of 2. Naturally the stopbit would
have to be moved to the first byte. The new presence map would
look like 0x89 which is “10001001”.In order for this to work, you would have to assume that if a slot
does not exist in the Presence Map, then it doesn’t exist in the
stream.Is this compaction of the pmap valid/allowed?
Fast specification 1.x.1:
10.5 Presence Map “A presence map is overlong if it has more than
seven bits and ends in seven or more bits that are all zero. It
is a reportable error [ERR R7] if a presence map is overlong. It
is a reportable error [ERR R8] if a presence map contains more
bits than required by the instructions that utilize it.”AIU you must remove 2nd byte from the stream.
[ original email was from Matt Simpson - msimpson@cme.com ]
Thanks for confirming this pmap behavior. Here’s another related question.
What is the general understanding regarding a Sequence in which none of the specified fields require a pmap slot? Is a pmap required for the Sequence in this case?
A presence map is overlong if it has more than seven bits and ends in
“seven or more bits that are all zero”. It is a reportable error [ERR
R7] if a presence map is overlong.Hence The first bytes of the premap could have all data bits zero with
the stop bit set. This is required to indicate that none of the optional
fields occur but thereafter for all further premap bytes the above case
is a reportable error and such overlong premaps must be suppressed
- Darshan
Does the overlong pmap rule also apply to a Sequence that has all
slots set to zero? That is, if the resulting pmap would be 10000000
is a pmap required for that occurence of the sequence?The spec is a bit vague here in saying “This makes it possible to
truncate a presence map that ends in a sequence where the bits are
all zero. The length of the remaining part must be a multiple of
seven.”No, the presence map is overlong if it has more than seven bits (e.g.
2 bytes) and last seven bits or more are all zero. So pmap 10000000 is
not overlong because it has seven bits only (not more). Please compare
with pmap ‘01000000 10000000’ that is overlong already and last seven
bits must be stripped.Suppose you had a presence map value of 0x09 0x80, which is
“00001001 10000000”. The 2nd byte of the presence map contains
the stopbit, but all the slots are ZERO.My question is the 2nd byte. Since all the slots are zeros, can
this 2nd byte be removed from the stream, so the presence map
can be represented in 1 byte instead of 2. Naturally the stopbit
would have to be moved to the first byte. The new presence map
would look like 0x89 which is “10001001”.In order for this to work, you would have to assume that if a
slot does not exist in the Presence Map, then it doesn’t exist
in the stream.Is this compaction of the pmap valid/allowed?
Fast specification 1.x.1:
10.5 Presence Map “A presence map is overlong if it has more than
seven bits and ends in seven or more bits that are all zero. It
is a reportable error [ERR R7] if a presence map is overlong.
It is a reportable error [ERR R8] if a presence map contains
more bits than required by the instructions that utilize it.”AIU you must remove 2nd byte from the stream.