//======== // 初期化 //======== void cVMDBezier::initialize( float fPointX1, float fPointY1, float fPointX2, float fPointY2 ) { if( fPointX1 == fPointY1 && fPointX2 == fPointY2 ) { m_bLinear = true; } else { fPointX1 = (fPointX1 / 127.0f) * 3.0f; fPointY1 = (fPointY1 / 127.0f) * 3.0f; fPointX2 = (fPointX2 / 127.0f) * 3.0f; fPointY2 = (fPointY2 / 127.0f) * 3.0f; // 高速化のためテーブル化しておく m_fYValue[0] = 0.0f; m_fYValue[YVAL_DIV_NUM] = 1.0f; float fAddX = 1.0f / (float)YVAL_DIV_NUM; for( int i = 1 ; i < YVAL_DIV_NUM ; i++ ) { m_fYValue[i] = getYValue( fAddX * i, fPointX1, fPointY1, fPointX2, fPointY2 ); } m_bLinear = false; } }
double IntegratorFast::integrateLegendre( double H, double theta, double lower_limit, double upper_limit) { double total = 0; for(int i = n_nodesp5; i < n_nodes; i ++) { total += weights[i]*getYValue(i,H,theta); } return sqrt(H)*A*PI2*total; }
void CTimelineControl::updateChangeValue( int x, int y ) { if ( m_selectTimeID == -1 || m_selectValue == -1 ) return; float *value = NULL; if ( m_selectValue == 0 ) value = &m_value[m_selectTimeID].x; else if ( m_selectValue == 1 ) value = &m_value[m_selectTimeID].y; else value = &m_value[m_selectTimeID].z; *value = getYValue(y); _onChangeValue( this ); }
void RegisteredPoint::on_value_changed() { if (setProgrammatically()) { clearProgrammatically(); return; } if (_wr->isUpdating()) return; _wr->setUpdating (true); Inkscape::SVGOStringStream os; os << getXValue() << "," << getYValue(); write_to_xml(os.str().c_str()); _wr->setUpdating (false); }
double GeneticAlgorithm2::calculateResidual(Parameters::fitParameters * parameters, int threadID){ double total = 0; double * paramPointer = &(parameters->A1); for(int i = 0; i < nParams; i++){ _paramArray[threadID][i] = *paramPointer; paramPointer++; } #pragma ivdep for(int i = 0; i < _dataSetLength; i++){ _residualArray[threadID][i] = getYValue(_dataSet[i][0],_dataSet[i][2], _dataSet[i][3],_paramArray[threadID]) - _dataSet[i][1]; } #pragma ivdep for(int i = 0; i < _dataSetLength; i++){ total += _residualArray[threadID][i]*_residualArray[threadID][i]; } return total; }
double CGnuPlotCoordValue:: getYDistance(CGnuPlotRenderer *renderer) const { return getYValue(renderer, value_) - getYValue(renderer, 0); }