[This message was posted by Sergey Axenov of Metabit Systems Co., Ltd. <[email protected]> to the "Algorithmic Trading" discussion forum at http://fixprotocol.org/discuss/31. You can reply to it on-line at http://fixprotocol.org/discuss/read/b13ef5a1 - PLEASE DO NOT REPLY BY MAIL.]
Thank you, everyone, for your opinions. I agree that the safest approach is to ask the client to refactor atdl file. That's what I am going to do. However, just a small comment on ... > All logical operators are binary.... Yes, it is true that all logical operators (AND, OR, XOR) can be considered as binary. But, for example, in Java and C# we can write an expression: boolean result1 = true ^ true ^ true ^ true; (result1 = false - even number of true arguments) boolean result2 = true ^ true ^ false ^ true; (result2 = true - odd number of true arguments) boolean result3 = true ^ false ^ false ^ true; (result2 = false - even number of true arguments) no matter what is your expression interpretation rules are: - like that: true ^ (true ^ (true ^ true)) - or like that: (((true ^ true) ^ true) ^ true) result going to be the same because the XOR operator in those languages is associative. I believe it is associative in many other languages too. The same in logic gates, you can cascade two-input XOR gates into a multi-inputs XOR gate. Therefore, generally speaking, I would not limit XOR operator in ATDL to two operand I would rather make it clearer in the spec that XOR is associative, which means (A XOR B) XOR C = A XOR (B XOR C) = A XOR B XOR C to avoid interpretations. [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.
