
Um, the problem I have with the asymmetric version, is this: which parameter is the "true" value?
The first one ;)
OK, the one time I tried things that way, I made it the second parameter :-)
Jokes apart, if the programmer knows which is the "true" value (it might happen, really!)
Sure, it happens all the time if you're testing a special function for accuracy :-)
I know that most programmers will use the symmetric version, but that's not a reason for not providing the asymmetric. The only thing is to choose good names so that everyone is happy and (most importantly) everyone knows what's he doing.
OK, how about relative_error and relative_difference ? The latter is obviously intended as the symmetric version, but if that wasn't obvious it's not a good name :-) John.