void GCoptimization::setDataCost(SiteID s, LabelID l, EnergyTermType e) { if (!m_datacostIndividual) { if ( m_datacostFn ) handleError("Data Costs are already initialized"); m_datacostIndividual = new EnergyTermType[m_num_sites*m_num_labels]; memset(m_datacostIndividual, 0, m_num_sites*m_num_labels*sizeof(EnergyTermType)); specializeDataCostFunctor(DataCostFnFromArray(m_datacostIndividual, m_num_labels)); } m_datacostIndividual[s*m_num_labels + l] = e; }
void GCoptimization::setDataCost(EnergyTermType *dataArray) { specializeDataCostFunctor(DataCostFnFromArray(dataArray, m_num_labels)); }