Well, I wouldn't say it's messed up, maybe just a tad redundant though. However, your script is lacking options that his has.

Adlibbed & untested.
$therm(N,KFC,KFC)
Code:
ALIAS Therm {
  var %n = $$1, %in = $$2, %out = $$3
  if ( %in == F ) var %in = C, %n = $calc((%n - 32) * 0.555556
  if ( %in == C ) var %n = $calc(%n - 273.15)
  if ( %out == K) return %n
  var %n = $calc(%n + 273.15)
  if ( %out == C ) return %n
  var %n = $calc(%n * 1.8 + 32)
  return %n
}


Basically, I convert from F to C and C to K, then convert from K to C and C to F... starting/stopping on whichever unit specified. This method may convert from temp to temp to temp (C to K to F), meaning more steps than Jerk's method... yet, I feel the reduced code speeds up the process enough to make up for it. You can also use C or F as the base unit, instead of K.

You'll also note that 9 / 5 was replaced with 1.8, and 5 / 9 was replaced with 0.555556 for speed.

Someone test this and tell me if it actually works. grin (Yes, I'm such an arrogant sob today)

- Raccoon

PS. People who paste [[/b]code] snippets that cause a scrollbar on 1024x786 resolution, need to be shot. $&
[b]Break your code into multiple lines!!!
$&
(we rather scroll vertically, NOT horizontally!)


Well. At least I won lunch.
Good philosophy, see good in bad, I like!