Imported from previous forum
It seems that OpenFast when implementing Decimals with separate operators for mantissa and exponent assigns a separate entry on per record basis regardless of the dictionary settings. In other words - even if two records with tags 1 and 2 and fields Price refer to the same dictionary OpenFast creates four fields - PriceExp_1, PriceMan_1, PriceExp_2, PriceMan_2. Is this the way Decimals should be implemented? From the documentation it seems that only PriceExp, PriceMan should be created.
The code is in Util.composedDecimal function and it generates two fields for a decimal using name and unique “currentImplicitId” that looks like “Price@200”. As a result a lookup in the dictionary becomes unique per field and record type.
Hi Vadim
Questions about OpenFAST should be asked on the OpenFAST discussion forum: openfast-user@list.sourceforge.net
However, I do have a comment on your question below…
It seems that OpenFast when implementing Decimals with separate
operators for mantissa and exponent assigns a separate entry on per
record basis regardless of the dictionary settings. In other words -
even if two records with tags 1 and 2 and fields Price refer to the
same dictionary OpenFast creates four fields - PriceExp_1, PriceMan_1,
PriceExp_2, PriceMan_2. Is this the way Decimals should be
implemented? From the documentation it seems that only PriceExp,
PriceMan should be created.
My reading of the FAST spec is that the dictionary key is based on field name only, not tag, so I agree with your interpretation but you should discuss it with Jake on the OpenFAST list to see if he has a different reason for the behavior you are seeing.
Dale