[This message was posted by Alessio Mazzanti of List  <[EMAIL PROTECTED]> to 
the "FAST Protocol" discussion forum at http://fixprotocol.org/discuss/46. You 
can reply to it on-line at http://fixprotocol.org/discuss/read/7efb014e - 
PLEASE DO NOT REPLY BY MAIL.]

OK, perfect.
Thank you very much.
-- Ale

> No, the mantissa is always mandatory, see the specification at
> section 10.5.1:
> 
> "Decimal fields with individual operators have the following
> utilization:
> 
> * If the decimal has mandatory presence, the exponent and mantissa
>   fields are treated as two separate mandatory integer fields as
>   described above.
> 
> * If the decimal has optional presence, the exponent field is treated as
>   an optional integer field and the mantissa field is treated as a
>   mandatory integer field. The presence of the mantissa field and any
>   related bits in the presence map are dependent on the presence of the
>   exponent. The mantissa field appears in the stream iff the exponent
>   value is considered present. If the mantissa has an operator that
>   requires a bit in the presence map, this bit is present iff the
>   exponent value is considered present."
> 
> /David
> 
> > OK, But is it possible that exponent is not NULL and mantissa is NULL?
> >
> > And what's the resulting 'scaled number' in this case?
> >
> > Thanks in advance, -- Ale
> >
> > >
> > > I believe it is easiest to think of them as two completely
> > > independent fields in all other regards than this: when the exponent
> > > is NULL you don't process the mantissa field - in any way - no
> > > operator, no change in dictionary, no pbit, no value to read from
> > > the stream.
> > >
> > > The state of the previous value is an artifact of the dictionary so
> > > it's not significant when you pass values to your application and
> > > there's nothing to combine in this case.
> > >
> > > A typical decoder would pass NULL to the application if the
> > > expoenent is NULL, and a scalar number in all other cases.
> > >
> > > /David
> > >
> > > > Sorry David, I would need another particular detail:
> > > >
> > > > As you replied to the question number 2, the mantissa and exponent
> > > > parts have to be treated as two individual fields in the
> > > > dictionary, and they will be somehow combined...
> > > >
> > > > My doubt is: how should I combine the status (assigned, undefined,
> > > > empty) of the exponent and the mantissa when I combine them into a
> > > > scaled number or similar?
> > > >
> > > > In particular do I have to expect the exponent is assigned and the
> > > > mantissa is not and/or vice versa?
> > > >
> > > > Thanks in advance. Regards, -- Ale
> > > >
> > > >
> > > >
> > > > > Yes, if the previous value has the state empty and the bit is
> > > > > not set, then the exponent is NULL.
> > > > >
> > > > > /David
> > > > >
> > > > > > Thank you very much for your prompt and clear reply.
> > > > > >
> > > > > > Just a little question: what if the exponent bit isn't set and
> > > > > > the previous value is empty? Is this a particular case of NULL
> > > > > > exponent?
> > > > > >
> > > > > > Regards, -- Ale
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Ale -
> > > > > > >
> > > > > > > 1. No. Whether you should process the mantissa or not is
> > > > > > >    only dependent on a single thing: if the exponent is NULL
> > > > > > >    or not. Whether you use a operator on the exponent
> > > > > > >    doesn't change this property.
> > > > > > >
> > > > > > > In your example you use the copy operator. If the bit is not
> > > > > > > set this means "copy the previous value". If the previous
> > > > > > > value is not NULL, then the value of the exponent is not
> > > > > > > NULL and the mantissa is present.
> > > > > > >
> > > > > > > 2. The mantissa and exponent parts are treated as two
> > > > > > >    individual fields in the dictionary so there are one or
> > > > > > >    two separate signed integer fields in the dictionary to
> > > > > > >    manage. There is no corresponding scaled number field in
> > > > > > >    the dictionary in this case. However, when you
> > > > > > >    communicate the value of the field from the decoder to
> > > > > > >    the application you would typically combine them into a
> > > > > > >    scaled number or similar.
> > > > > > >
> > > > > > > /David
> > > > > > >
> > > > > > > > Actually may be I was not so clear.
> > > > > > > >
> > > > > > > > In the specific case:
> > > > > > > >
> > > > > > > >  < decimal name="MDEntryPx" id="270" presence="optional" >
> > > > > > > >  < exponent
> > > > > > > >  > < copy value="-2" / > < / exponent > < mantissa > <
> > > > > > > >  > delta /
> > > > > > > >  > > < /
> > > > > > > >  mantissa > < /decimal >
> > > > > > > >
> > > > > > > > since the decimal is optional, then the exponent is
> > > > > > > > optional. Moreover, since the exponent has the individual
> > > > > > > > copy operator, then the exponent will have a bit in the
> > > > > > > > pmap (no matter if it is set or not).
> > > > > > > >
> > > > > > > > The exponent will be considered absent in two distinct
> > > > > > > > cases:
> > > > > > > >
> > > > > > > > a) The bit is not set.
> > > > > > > > b) The bit is set but, since the exponent is optional, it
> > > > > > > >    is present in the stream in its NULL representation.
> > > > > > > >
> > > > > > > > In both these cases the mantissa will be not present in
> > > > > > > > the stream as well and has to be considered absent.
> > > > > > > >
> > > > > > > > The only case in which the mantissa is present in the
> > > > > > > > stream is when the exponent bit in pmap is set and the
> > > > > > > > exponent value is not NULL.
> > > > > > > >
> > > > > > > > 1. Is all that right?
> > > > > > > >
> > > > > > > > 2. How should we set the new previous value of the decimal
> > > > > > > >    (the corresponding Scaled Number) if the exponent has
> > > > > > > >    to be considered absent?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Note that even if the exponent bit in pmap was not set,
> > > > > > > > the value of the exponent field could result assigned (for
> > > > > > > > example it should be assigned to the copy initial value,
> > > > > > > > or to the previous value stored in the dictionary).
> > > > > > > >
> > > > > > > > 3. Let suppose the mantissa is not in the stream (because
> > > > > > > > of the exponent absence), what does it imply in term of
> > > > > > > > the mantissa field value, and what in term of the mantissa
> > > > > > > > new previous value?
> > > > > > > >
> > > > > > > >
> > > > > > > > Many thanks in advance.
> > > > > > > >
> > > > > > > > Regards, -- Ale
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > Ale -
> > > > > > > > >
> > > > > > > > > A bit in the pmap indicates how a field operator should
> > > > > > > > > be executed. The exact meaning of the bit is dependent
> > > > > > > > > on the operator type and its attributes.
> > > > > > > > >
> > > > > > > > > The bit doesn't automatically indicate whether an
> > > > > > > > > optional field is NULL or not. Only after exercising the
> > > > > > > > > operator according to the bit you'll know if the value
> > > > > > > > > is NULL or not.
> > > > > > > > >
> > > > > > > > > When using a decimal field with individual operators,
> > > > > > > > > and the value of an exponent field is NULL, the
> > > > > > > > > instruction for the mantissa should be skipped.
> > > > > > > > >
> > > > > > > > > You may want to have a look a this post (and other posts
> > > > > > > > > in the same thread):
> > > > > > > > >
> > > > > > > > > http://www.fixprotocol.org/discuss/read/24ed599c
> > > > > > > > >
> > > > > > > > > /David
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > Hello, I would need a clarification.
> > > > > > > > > >
> > > > > > > > > > The handbook [section 10.5.1 -- Presence Map and NULL
> > > > > > > > > > Utilization] says:
> > > > > > > > > >
> > > > > > > > > > [...]If the decimal has optional presence, the
> > > > > > > > > > exponent field is treated as an optional integer field
> > > > > > > > > > and the mantissa field is treated as a mandatory
> > > > > > > > > > integer field. The presence of the mantissa field and
> > > > > > > > > > any related bits in the presence map are dependent on
> > > > > > > > > > the presence of the exponent. The mantissa field
> > > > > > > > > > appears in the stream iff the exponent value is
> > > > > > > > > > considered present. If the mantissa has an operator
> > > > > > > > > > that requires a bit in the presence map, this bit is
> > > > > > > > > > present iff the exponent value is considered
> > > > > > > > > > present.[...]
> > > > > > > > > >
> > > > > > > > > > Let suppose I have the following decimal field in my
> > > > > > > > > > template definition:
> > > > > > > > > >
> > > > > > > > > > < decimal name="MDEntryPx" id="270"
> > > > > > > > > > presence="optional"
> > > > > > > > > > > < exponent < copy value="-2" / > < / exponent > <
> > > > > > > > > > > mantissa > < delta /
> > > > > > > > > > > > < /
> > > > > > > > > > mantissa
> > > > > > > > > > > < /decimal >
> > > > > > > > > >
> > > > > > > > > > For the best of my comprehension in this case the
> > > > > > > > > > exponent is optional, and has its own bit in pmap (due
> > > > > > > > > > to the copy operator). If that bit is not set (the
> > > > > > > > > > exponent is not present in the stream for sure) then
> > > > > > > > > > the mantissa will be not present in the stream as
> > > > > > > > > > well.
> > > > > > > > > >
> > > > > > > > > > 1. Does the same worth if the bit in pmap is set but
> > > > > > > > > >    the exponent value is NULL?
> > > > > > > > > > 2. What about the new previous value of the Scaled
> > > > > > > > > >    Number if the exponent has to be considered absent?
> > > > > > > > > >
> > > > > > > > > > Moreover, the fact that the exponent bit in pmap is
> > > > > > > > > > not set should not imply that the value of the
> > > > > > > > > > exponent field will be not assigned (e.g. it should be
> > > > > > > > > > assigned to the copy initial value, or to the previous
> > > > > > > > > > value stored in the dictionary).
> > > > > > > > > >
> > > > > > > > > > 3.Let suppose the mantissa is not in the stream
> > > > > > > > > > (because of the exponent absence), what does it imply
> > > > > > > > > > in term of the mantissa field value, and in term of
> > > > > > > > > > the mantissa new previous value?
> > > > > > > > > >
> > > > > > > > > > Many thanks in advance. Kind regards, -- Ale


[You can unsubscribe from this discussion group by sending a message to 
mailto:[EMAIL PROTECTED]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Financial Information eXchange" group.
To post to this group, send email to FIX-Protocol@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/FIX-Protocol?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to