What is the name of these simple filter algorithms? I found some snippets of code on the internet that are really simple signal filters. Unfortunately there wasn't much info to back it up. Using Google I've found similar code, but none of it backed up by research or documentation. I've tried it and it works well enough for my situation. 

The low pass filter looks like this:

float RC = 1.0/(CUTOFF*2*3.14);
float dt = 1.0/SAMPLE_RATE;
float alpha = dt/(RC+dt);
float out[numSamples];
out[0] = in[0];
for(i=1; i&lt;numSamples; i++){
    out[i] = out[i-1] + (alpha*(in[i] - out[i-1]));
}


And the high pass filter looks like this:

float RC = 1.0/(CUTOFF*2*3.14);
float dt = 1.0/SAMPLE_RATE;
float alpha = RC/(RC + dt);
float out[numSamples];
out[0] = in[0];
for (i = 1; i&lt;numSamples; i++){
    out[i] = alpha * (out[i-1] + in[i] - in[i-1]);
}


I'd like to know if there is a name for these algorithms or who invented them so I can find more information about them.
out[i] = out[i-1] + (alpha*(in[i] - out[i-1]));


From Wikipedia's article on Low pass filters:


  That is, this discrete-time implementation of a simple RC low-pass filter is the exponentially weighted moving average
  
  […]
  
  The loop that calculates each of the n outputs can be refactored into the equivalent:

for i from 1 to n
     y[i] := y[i-1] + α * (x[i] - y[i-1])



So, yes, this is a "exponentially weighted moving average". You can call it that, a single-pole IIR low pass with a decay of $\alpha$, or just a single-tap recursive low pass.

I'm happy I could help you with this, it wasn't very hard!