The truncBounds argument defaults to zero as a lower bound and infinity
as the upper bound. If a single value is provided, it is assumed as the upper
bound with zero as the lower bound. If two or more values are provided, the
max(truncBounds) is the upper bound and min(truncBounds) is the
lower bound.