On Sat, 15 Oct 2011, artur bala wrote:
Could it be possible for a function to pass a series as boolean? If
the
series is provided it can act like a "- - by" flag.
You can pass a pointer-to-series as an optional argument (with
a default of "null").
If I've correctly understood what you want, here's a simple
example. We have a function that computes the sum of its
(first) series argument, x. But if a second argument, y, is
given it instead computes two sums, returned in a vector,
namely the sum of (x at observations where y==0) and
sum of (x at observations where y!=0).
<hansl>
function matrix foo (series x, series *y[null])
matrix ret
if isnull(y)
print "no y"
ret = {sum(x)}
else
print "got y"
ret = {sum(x*(y==0)), sum(x*(y!=0))}
endif
return ret
end function
nulldata 20
series x = normal()
series y = uniform() > 0.5
matrix m = foo(x, &y)
print m
matrix m = foo(x)
print m
</hansl>
Allin Cottrell