Hi,
It is my pleasure to announce the first release of the package curve-sampling which provides adaptive sampling of functions (and more generally parametric curves) so they can be represented graphically with a minimal number of evaluations. Curve_sampling takes the viewpoint that the evaluation function may be costly, so one specifies the number of evaluations one wants. For example, a representation of x ↦ x sin(1/x) with 227 evaluations gives (rendered with Gnuplot but Curve_sampling is independent of a rendering engine):

The chosen evaluation points are displayed on the following graph:

As a comparison, here is the graph produced by Mathematica for the same function (which uses a different procedure which does not allow to limit the number of evaluations, only the recursion depth, here 5, yielding to the evaluation at 227 points):

With 389 evaluations (recursion depth of 6 for Mathematica), the graphs become:


and

Enjoy the library and, if you have functions that are not sampled well with the current algorithm, do not hesitate to fill an issue.
Have a nice day,
C.