[This message was posted by Dale Wilson of Object Computing, Inc <[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/f9119319 - PLEASE DO NOT REPLY BY MAIL.]
Hi Dan, > Has anyone read the FAST specification recently and noticed some > strange discrepancies in the examples? Maybe I'm lacking some sleep, > but, I believe that the tables are inconsistent in the way that they > present the encoded data. > > For an example of what is confusing me, consider example 3 of Appendix > 3.2.4. I think you mean 3.2.5. 3.2.4 only has one example, but the third example of 3.2.5 matches your question. > > For the first row, the Encoded Value is set to "N/A-N/A", > >so how does the receiver deduce that the second value should be 12100? There are some errors in the appendices. The first line of this example is one of them. It is obviously wrong because data must appear on the wire for a mandatory delta value. Assuming the line is supposed to show how to transmit 12000, the prior value should be (3,12), and the encoded value should be (0,0) yielding the data value of 12000. > Admittedly, I have only read through the specification once but the > way that I read it, a transmitted value of 0xff 0xed is required to > get from 12000 to 12100? > I didn't notice anything in the spec that confirms whether the > receiver preloads the prior value as 0 or as 12000 for this case, but > I > assume that it starts at 12000, > > Also, why does the third line use a mantissa of 1210 and an exponent > of 1 and not 2/121? Good question. Either representation is legal -- the spec requires that initial values be normalized, but it doesn't say anything about subsequent values, so the encoder can decide skip adjusting the exponent to properly normalize the value if that makes it happy. The decoder should dutifully store the same unnormalized representation of the number in its dictionary. > > Please help a very confused newbie! FYI I implemented all the appendix examples as unit tests for QuickFAST. You can download the source code from http://quickfast.org. Look in .../src/Tests/testFieldOperations.cpp and .../src/Tests/testFieldInstructions.cpp The comments in those files point out several errors in the appendices. I didn't bother to comment on line one of this example. Because it didn't make sense at all, I ignored it. Also this page http://code.google.com/p/quickfast/wiki/FastFieldRules may help you understand encoding/decoding process. Dale [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 [email protected]. 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.
