void arnNumericMatrixViewer::enterEvent(QEvent *)
{
	if (pClip) {
		if (pClip->supportsSelection()) {
			if (!(pClip->text(QClipboard::Selection).isNull())) {
				QString tmpS(pClip->text(QClipboard::Selection));
				int pos = tmpS.find("MATRIX");
				if ((pos == -1) || (pos > 0)) Incolla->setEnabled(false);
				else Incolla->setEnabled(true);
				}
			else Incolla->setEnabled(false);
			}
		else {
			if (!(pClip->text(QClipboard::Clipboard).isNull())) {
				QString tmpS(pClip->text(QClipboard::Clipboard));
				int pos = tmpS.find("MATRIX");
				if ((pos == -1) || (pos > 0)) Incolla->setEnabled(false);
				else Incolla->setEnabled(true);
				}
			else Incolla->setEnabled(false);
			}
		}
	else {
		Incolla->setEnabled(false);
		Copia->setEnabled(false);
		}
}
Beispiel #2
0
returnValue OCP::minimizeLSQ( const Matrix        &S,
                              const Function      &h,
                              const VariablesGrid &r ){

    MatrixVariablesGrid tmpS(S);
    return objective.addLSQ( &tmpS, h, &r );
}
bool WONCommon::ConvertWideStringToRawBytes(const wstring& theString, WONCommon::RawBuffer& theRawBytesR)
{
	wstring tmpS(theString);
	makeLittleEndianWString(tmpS);
	theRawBytesR.assign(reinterpret_cast<const unsigned char*>(tmpS.data()), tmpS.length()*2);
	return true;
}
Beispiel #4
0
TSet TSet::operator+(const TSet &s) // объединение
{
	TBitField tmp(MaxPower);
	tmp = BitField | s.BitField;
	TSet tmpS(tmp);
	return tmpS;
}
std::string cBinaryFile::ReadString(uint len){
	char* tmpString = new char[len + 1];
	file.read(tmpString, len);
	std::string tmpS(tmpString);
	delete [] tmpString;
	pointer += len;
	return tmpS;
}
Beispiel #6
0
QString timeToString(envTime t){
    QString tmpS(QString::number(t.minute) + QString(":")
                 + QString::number(t.second) + QString(":")
                 + QString::number(t.centSec));

    return tmpS;

}
Beispiel #7
0
void AnimatedManager::changeFrame(const std::string& label, int n){
    QVector<int> tmp(frameBDD[label]);
    AnimatedSprite tmpS(BDD[label]);
    if(tmp[n] >= tmpS.getNbrFrame())
        tmp[n] == 0;

    tmp[n]+=1;

    frameBDD.insert(label,tmp);
}
Beispiel #8
0
returnValue OCP::minimizeLSQ( const Matrix        &S,
                              const Function      &h,
                              const VariablesGrid &r ){

	if ( S.isPositiveSemiDefinite() == BT_FALSE )
		return ACADOERROR( RET_NONPOSITIVE_WEIGHT );

    MatrixVariablesGrid tmpS(S);
    return objective.addLSQ( &tmpS, h, &r );
}
std::string cBinaryFile::ReadString(uint32_t len) {
    if (m_WriteMode) return "0";
    char* tmpString = new char[len];
    m_File.read(tmpString, len);
    tmpString[len] = '\0';
    std::string tmpS(tmpString);
    delete [] tmpString;
    m_CurLoc += len;
    return tmpS;
}
std::string cBinaryFile::ReadString(){
	uint strLen = 0;
	file.read(buffer, 4);
	strLen = (uint)cData::ByteToInt(buffer, 0);
	char* tmpString = new char[strLen + 1];
	file.read(tmpString, strLen);
	std::string tmpS(tmpString);
	delete [] tmpString;
	pointer += strLen;
	return tmpS;
}
void arnBitValueMatrixViewer::enterEvent(QEvent */*e*/)
{
	if (pClip && pClip->supportsSelection() && !(pClip->text(QClipboard::Selection).isNull())) {
		QString tmpS(pClip->text(QClipboard::Selection));
		int pos = tmpS.find("MATRIX");
//arnDebug("%s\n",tmpS.latin1());
		if ((pos == -1) || (pos > 0)) Incolla->setEnabled(false);
		else Incolla->setEnabled(true);
		}
	//return arnObjectViewer::enterEvent(e);
}
void arnNumericMatrixViewer::Incolla_Hndl(void)
{
	if (pClip) {
		if (pClip->supportsSelection()) {
			QString tmpS(pClip->text(QClipboard::Selection));
			int pos = tmpS.find("MATRIX");
			if ((pos == -1) || (pos > 0)) return;
			int rOff,cOff;
			rOff = pMatrix->currentRow();
			cOff = pMatrix->currentColumn();
			QStringList strList = QStringList::split("\n", tmpS );
			for (int indx = 1; indx < int(strList.count()); indx++)  {
				QStringList line = QStringList::split(",", strList[indx] );
				int indR,indC;
				indR = rOff + line[0].toInt();
				indC = cOff + line[1].toInt();
				QString st(line[2]);
				setValue(indR,indC,st.toDouble());
				doValueChange(indR,indC);
				}
			}
		else {
			QString tmpS(pClip->text(QClipboard::Clipboard));
			int pos = tmpS.find("MATRIX");
			if ((pos == -1) || (pos > 0)) return;
			int rOff,cOff;
			rOff = pMatrix->currentRow();
			cOff = pMatrix->currentColumn();
			QStringList strList = QStringList::split("\n", tmpS );
			for (int indx = 1; indx < int(strList.count()); indx++)  {
				QStringList line = QStringList::split(",", strList[indx] );
				int indR,indC;
				indR = rOff + line[0].toInt();
				indC = cOff + line[1].toInt();
				QString st(line[2]);
				setValue(indR,indC,st.toDouble());
				doValueChange(indR,indC);
				}
			}
		}
}
std::string cBinaryFile::ReadString() {
    if (m_WriteMode) return "0";
    uint32_t strLen = 0;
    m_File.read(m_Buffer, 4);
    strLen = cBinary::ByteToUint32(m_Buffer, 0);
    char* tmpString = new char[strLen];
    m_File.read(tmpString, strLen);
    tmpString[strLen] = '\0';
    std::string tmpS(tmpString);
    delete [] tmpString;
    m_CurLoc += strLen;
    return tmpS;
}
Beispiel #14
0
void CRichModel::ComputeSimpleEdge()
{
	//printf( "simple size %d edge size %d\n"  ,m_SimpleEdges.size(),m_Edges.size());
	ElapasedTime tmp;
	for(int i = 0; i < m_Edges.size();++i){
		m_Edges[i].indexOfSimpleEdge = -1;
	}
	for(int i = 0; i < m_Edges.size();++i){
		m_Edges[i].indexOfReverseEdge;
		CSimpleEdge tmpS(m_Edges[i].indexOfLeftVert,m_Edges[i].indexOfRightVert);
		if( m_Edges[m_Edges[i].indexOfReverseEdge].indexOfSimpleEdge == -1 ){
			m_SimpleEdges.push_back(tmpS);
			m_Edges[i].indexOfSimpleEdge = m_SimpleEdges.size()-1;
		}else{
			 m_Edges[i].indexOfSimpleEdge = m_Edges[m_Edges[i].indexOfReverseEdge].indexOfSimpleEdge;
		}
	}
	if( m_Edges.size() != m_SimpleEdges.size() * 2 ){
		printf("generate simple edge error !\n");
	}
	//tmp.printTime("generate simple edge");

}
Beispiel #15
0
double function_minimizer::projected_hess_determinant(const dvector& g,
  const int underflow_flag, const dvector& xscale,
  const double& _ln_det_proj_jac)
{
 double& ln_det_proj_jac=(double&) _ln_det_proj_jac;
 int ibreak=-1;
 int sgn=0;
 double lndet=0.0;
 //char ch;
 if (!underflow_flag)
 {
  uistream ifs("admodel.hes");
  if (!ifs)
  {
    cerr << "Error opening file admodel.hes" << endl;
  }
  int nvar = 0;
  ifs >> nvar;
  //dmatrix S(1,nvar,1,nvar);
  if (nvar > 0)
  {
    if (nvar != initial_params::nvarcalc())
    {
      cout << "the number of independent variables is wrong in admodel.hes"
         << endl;
    }
    dmatrix p(1,nvar,1,nvar);
    dmatrix p1(1,nvar-1,1,nvar);
    dmatrix h(1,nvar,1,nvar);
    dvector ss(1,nvar);
    ifs >> h;
    if (!ifs)
    {
      cerr << "Error reading the hessian from file admodel.hes" << endl;
    }
    dvector n=g/norm(g);
    // project the standard basis vectors onto the tangent space
    int i;
    for (i=1;i<=nvar;i++)
    {
      p(i)=-n(i)*n;
      p(i,i)+=1;
    }

    for (i=1;i<=nvar;i++)
    {
      ss(i)=norm(p(i));
    }
    double minsize = min(ss);

    for (i=1;i<=nvar;i++)
    {
      if (ss(i) == minsize)
      {
        ibreak = i;
        break;
      }
      p1(i)=p(i);
    }

    int ii;
    for (ii=i+1;ii<=nvar;ii++)
    {
      p1(ii-1)=p(ii);
    }

    dmatrix tmpS(1,nvar-1,1,nvar-1);

    //for (ii=1;ii<=nvar-1;ii++)
    //{
      //for (i=1;i<=nvar;i++)
      //{
        //p1(ii,i)*=xscale(i);
      //}
    //}

    for (i=1;i<=nvar-1;i++)
    {
      tmpS(i,i)=p1(i)*p1(i);
      for (int j=1;j<i;j++)
      {
        tmpS(i,j)=p1(i)*p1(j);
        tmpS(j,i)=tmpS(i,j);
      }
    }
    ln_det_proj_jac=ln_det(tmpS,sgn);

    // reset the p1 basis
    for (i=1;i<=nvar;i++)
    {
      if (i==ibreak) break;
      p1(i)=p(i);
    }

    for (ii=i+1;ii<=nvar;ii++)
    {
      p1(ii-1)=p(ii);
    }

    for (i=1;i<=nvar;i++)
    {
      for (int j=1;j<i;j++)
      {
        double tmp=(h(i,j)+h(j,i))/2.;
        h(i,j)=tmp;
        h(j,i)=tmp;
      }
    }

    // move to "model space"
    for (i=1;i<=nvar;i++)
    {
      for (int j=1;j<=nvar;j++)
      {
        h(i,j)/=(xscale(i)*xscale(j));
      }
    }

    for (i=1;i<nvar;i++)
    {
      dvector tmp = h*p1(i);
      tmpS(i,i)=tmp*p1(i);
      for (int j=1;j<i;j++)
      {
        tmpS(i,j)=tmp*p1(j);
        tmpS(j,i)=tmpS(i,j);
      }
    }
    lndet=ln_det(tmpS,sgn);
  }
  if (sgn <= 0)
  {
    cerr << "Error restricted Hessian is not positive definite" << endl;
  }
 }
Beispiel #16
0
int MTrigTranslateEnv(

  mstring_t *String,
  mbool_t Encode)

  {
  char *ptr;
  char *Tok;

  /* This is what is used instead of semicolons */
  const char *Code = "&#59;";
  char internalC = ENVRS_ENCODED_CHAR;

  if (String == NULL)
    return(FAILURE);

  mstring_t tmpS(MMAX_LINE);

  if (Encode)
    {
    /* Encode */

    ptr = String->c_str();
    Tok = MUStrChr(ptr,internalC);

    while (Tok != NULL)
      {
      MStringAppendCount(&tmpS,ptr,Tok - ptr);

      MStringAppend(&tmpS,Code);

      ptr = Tok;
      ptr++;  /* Skip the semicolon, Tok was pointing to it */

      Tok = MUStrChr(ptr,internalC);
      }

    MStringAppend(&tmpS,ptr);
    }  /* END if (Encode) */
  else
    {
    /* Decode */

    int len = strlen(Code);
    char intC[2];

    intC[0] = internalC;
    intC[1] = '\0';

    ptr = String->c_str();
    Tok = MUStrStr(ptr,(char *)Code,FALSE,FALSE,FALSE);

    while (Tok != NULL)
      {
      MStringAppendCount(&tmpS,ptr,Tok - ptr);

      MStringAppend(&tmpS,intC);

      ptr = Tok;
      ptr += len; /* Skipping &#59; */

      Tok = MUStrStr(ptr,(char *)Code,FALSE,FALSE,FALSE);
      }

    MStringAppend(&tmpS,ptr);
    }  /* END else (Encode == FALSE) */

  MStringSet(String,tmpS.c_str());

  return(SUCCESS);
  }