If _drop_value_extfn function is not supplied, this moving window sum is evaluated through this significantly less efficient than using _drop_value_extfn:
_start_extfn(cntxt) _reset_extfn(cntxt) _next_value_extfn(cntxt, args) input a=1 _evaluate_extfn(cntxt, args) returns 1 _reset_extfn(cntxt) _next_value_extfn(cntxt, args) input a=1 _next_value_extfn(cntxt, args) input a=2 _evaluate_extfn(cntxt, args) returns 3 _reset_extfn(cntxt) _next_value_extfn(cntxt, args ) input a=2 _next_value_extfn(cntxt, args ) input a=3 _evaluate_extfn(cntxt, args) returns 5 _reset_extfn(cntxt) _next_value_extfn(cntxt, args) input a=4 _evaluate_extfn(cntxt, args) returns 4 _reset_extfn(cntxt) _next_value_extfn(cntxt, args) input a=4 _next_value_extfn(cntxt, args) input a=5 _evaluate_extfn(cntxt, args) returns 9 _reset_extfn(cntxt) _next_value_extfn(cntxt, args) input a=5 _next_value_extfn(cntxt, args) input a=6 _evaluate_extfn(cntxt, args) returns 11 _finish_extfn(cntxt)