inline double registance_of( const double degree, const bool is100uA = true )
{
const double K_ = degree + 273.15;
const double A_ = is100uA ? 1.1279e-3 : 1.1235e-3;
const double B_ = is100uA ? 2.3429e-4 : 2.3500e-4;
const double C_ = is100uA ? 8.7298e-8 : 8.4538e-8;
const double v3 = B_ / ( 3. * C_ );
const double v2 = ( A_ - 1. / K_ ) / C_ / 2.;
const double v1 = sqrt( v3 * v3 * v3 + v2 * v2 );
return exp( pow( v1 - v2, 1. / 3. ) - pow( v1 + v2, 1. / 3. ) );
}
뭐 이딴걸 다~~
참고. https://en.wikipedia.org/wiki/Steinhart–Hart_equation
근데 C 에 default parameter 지원하던가...
안써본지 오랜지라 ㅋㅋ.
첫댓글 x / 2.를 이용한 깨알같은 최적화...?! 5자리라니 상수가 꽤 정밀한 것 같네요.