You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The @autoupdates macro works great for streaming data, as long as it is used in very simple cases. I was trying to do a bit more complicated stuff and think I hit almost all possible cases where it fails:
Functions in the macro cannot be nested, e.g. inv(cov(q(a)) does not work. So you will have to define foo(x) = inv(cov(x)), after which foo(q(a)) can be called.
Conditional evaluations, including if-else statements are not possible. Again this can be circumvented by creating a separate function that includes this logic.
Dealing with vectors of variables is ambiguous. As an example it is not possible to create for-loops over q(a) if a is a vector. Also indexing causes issues. Idem, broadcasting also does not work, e.g. mean.(q(a)) fails, whereas this actually seems necessary. For this last part it seems okay to create separate function again as broadcast_foo(...) = foo.(...). (Keep in mind here that some updates directly assign tuple, such as mean_var() and then this broadcasting needs to be more complicated)
The text was updated successfully, but these errors were encountered:
The
@autoupdates
macro works great for streaming data, as long as it is used in very simple cases. I was trying to do a bit more complicated stuff and think I hit almost all possible cases where it fails:inv(cov(q(a))
does not work. So you will have to definefoo(x) = inv(cov(x))
, after whichfoo(q(a))
can be called.q(a)
ifa
is a vector. Also indexing causes issues. Idem, broadcasting also does not work, e.g.mean.(q(a))
fails, whereas this actually seems necessary. For this last part it seems okay to create separate function again asbroadcast_foo(...) = foo.(...)
. (Keep in mind here that some updates directly assign tuple, such asmean_var()
and then this broadcasting needs to be more complicated)The text was updated successfully, but these errors were encountered: