672 |
|
case '@': /* adaptation level */ |
673 |
|
if (avgbox(cval) == -1) |
674 |
|
return(-1); |
675 |
< |
comp = com=='@' |
676 |
< |
? 106./pow(1.219+pow(luminance(cval)/exposure,.4),2.5)/exposure |
677 |
< |
: .5/bright(cval) ; |
675 |
> |
comp = bright(cval); |
676 |
> |
if (comp < 1e-20) { |
677 |
> |
XBell(thedisplay, 0); |
678 |
> |
return(-1); |
679 |
> |
} |
680 |
> |
if (com == '@') |
681 |
> |
comp = 106./exposure/ |
682 |
> |
pow(1.219+pow(comp*WHTEFFICACY/exposure,.4),2.5); |
683 |
> |
else |
684 |
> |
comp = .5/comp; |
685 |
|
comp = log(comp)/.69315 - scale; |
686 |
|
n = comp < 0 ? comp-.5 : comp+.5 ; /* round */ |
687 |
|
if (n == 0) |