A simply test shows it does not.
870Mhz 397Mhash/s 870/397=2.191
800Mhz 359Mhash/s 800/359=2.222
500Mhz 202Mhash/s 500/202=2.475
In theory it can't be linear, same reason why cpu does not scale linearly with core speed.
Don't spread false information
I agree YOU should not spread false information.
Your numbers are garbage so likely you have suboptimal settings and the most likely culprit is memclock.
Do those results seem plausible to you.
870Mhz 397Mhash/s 397/870= 0.41 MH per Mhz
800Mhz 359Mhash/s 359/800 = 0.44 MH per Mhz
500Mhz 202Mhash/s 202/500 = 0.46 MH per Mhz
So the card is getting more efficient at higher clock (and likely higher temp)? Does that seem plausible to you?
Likely you normally run @ 870Mhz and have found a more optimizes memclock. You sloppily moved core clock without modifying memclock introducing timing delays making the card less effective the further you move it from 870 Mhz.
For the record @ 500 MHz I get 225 MH (0.450 MH/MHz) and @ 820 I get 375 MH/s (0.457 MH/MHz).