As far as I know the most common set of algorithms are simple polynomial interpolations/extrapolations, with increasing order of equation: linear, quadratic, cubic, etc. These equations should work independently of whether you use float or integer values. Something to note is that higher order equations require more data points and work more slowly, so if you are doing this in-game you should probably settle on quadratic or cubic.

So yeah, google search quadratic interpolation or cubic interpolation, you should find the 1-dimensional equations pretty easily, but you will have to either search harder or do some work yourself to get the 2-dimensional equations. Then just run them on the R, G, B, and A channels separately (or altogether in vector form) and you should be good to go.