Currently all Zabbix trigger functions accept zero or positive numeric parameters because negative values do not really make much sense for them. However,
ZBXNEXT-922 will introduce two new trigger functions for making predictions and support for negative parameters might be necessary to unleash their full potential.
We have items which can become negative (recall free disk space percentage available to non-root user on FreeBSD) therefore negative can be threshold as well.
A simple generalization of our get_function_parameter_float() and additional check 0 <= percentage in evaluate_PERCENTILE() will suffice.
Beneath fancy name of host:item.forecast(...,...,time) is quite simple least squares fitting procedure, so someone might want to use this function for interpolation of item value between not so frequent checks for example.
Support for negative time would provide ability to calculate value of fitted expression at any time moment, both in the future and in the past.
Also, this would be useful for prediction method verification when we compare prediction with values we've already got. (Say, today is Wednesday, we make forecast for Tuesday based on Monday data and compare it with data gathered yesterday.)
Adding new "negative" flag to __get_function_parameter_uint31() is a way to implement this.