54 for (
size_t i = 0; i < nData; i++) {
55 double xCalc = (xValues[i] / Tc);
56 double xCalcAlpha = pow(xCalc, Alpha);
58 double diffAmp = pow((1 - xCalcAlpha), Beta);
60 if (!std::isfinite(diffAmp)) {
64 double diffAmpMin = pow((1 - xCalcAlpha), Beta - 1);
66 if (!std::isfinite(diffAmpMin)) {
70 double diffAlpha = -Amp * Beta * xCalcAlpha * log(xCalc) * diffAmpMin;
71 double diffBeta = Amp * diffAmp * log(1 - xCalcAlpha);
73 if ((1 - xCalcAlpha) <= 0.0) {
76 double diffTc = (Amp * Alpha * Beta * xCalcAlpha * diffAmpMin) / Tc;
78 out->
set(i, 0, diffAmp);
79 out->
set(i, 1, diffAlpha);
80 out->
set(i, 2, diffBeta);
81 out->
set(i, 3, diffTc);