This adds a float interpolation node with multiple options.
Linear interpolation, smooth linear, stepped linear, smoothstep/smootherstep and inverse linear. See image below.
Looks good, here is my initial review.
Looks like Factor / (1.0 / (Steps + 1.0))) can be simplified to Factor * (Steps + 1.0). Also, I think you should clamp the Factor instead of clamping the final result.
I would just consider this as an invalid case. It can be confusing for the end-user and isn't immediately clear.
No need to check if the stack offset is valid.
Style: Comma at the end.
Provide more detailed tool tips.
Better call this interpolation_type.
I would rename those to Start and End.
I would move the Factor to the top of the socket list so that it gets connected automatically. Also, if the Factor input is in the [0, 1] range, we should use PROP_FACTOR.