Describing time complexity when internally using a function of unknown complexity Assume that I have some functions $f$ and $g$, both implemented perfectly, where

$$
f(x, g(z)) = \sum_{k=0}^{k=\lfloor{x}\rfloor}g(k)\quad (x &gt; 1)\,.
$$

Function $g$ is of unknown definition. I would like to express the time complexity of $f$ in big-O notation. My initial thought was to do something similar to:

$$
O(\sum_{k=0}^{k=\lfloor{x}\rfloor}T_g(k))\,.
$$

Assume $T_g$ represents the time function of function g. However, this representation feels inadequate and irreducible for asymptotic time complexity; there should be a better way to express $T_f$.

How do I describe, in big-O notation, the time complexity of $f$?
In complete generality there is nothing much you can say. However, in many circumstances it will be the case that $g(n)$ is monotone, and in that case you can say that
$$
\sum_{k=1}^n g(k) \leq ng(n),
$$
a bound which is often quite good.