[英]C++ math expression from math formula
首先, log
函數已經計算了以e
為底的對數。 您不需要執行任何基數更改。
其次,將您的表達式分成幾部分,以便於編寫和理解:
const double F = getpixel(j, k);
const double numerator = log(1.0 + a * F);
const double denominator = log(2.0);
const double result = numerator / denominator;
您可以選擇更多地拆分它(例如,也將a*F
和1 + a*F
分開存儲)。
一旦你得到了它,如果你真的想要在一行中,它很容易組合(但沒有必要;編譯器通常會為你將常量表達式合並在一起):
const double result = log(1.0 + a * getpixel(j, k) / log(2.0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.