示例#1
0
Node *createFunctionNode(char *fn, Node **params, int paramsLen, Label * exprloc, Region *r) {
	Node *node = newNode(N_APPLICATION, fn, exprloc, r);
	if(node == NULL) {
		return NULL;
	}
	Node *func = newNode(TK_TEXT, fn, exprloc, r);
	Node *param = newNode(N_TUPLE, APPLICATION, exprloc, r);
	setDegree(param, paramsLen, r);
	memcpy(param->subtrees, params, paramsLen*sizeof(Node *));
	setDegree(node, 2, r);
	node->subtrees[0] = func;
	node->subtrees[1] = param;
	return node;
}
示例#2
0
ViFourierInterpolator::ViFourierInterpolator(const ViFourierInterpolator &other)
	: ViInterpolator(other)
{
	setPointers(other.mMode, other.mEstimation);
	setDegree(other.mDegree);
	setDerivatives(other.mDerivatives);
}
示例#3
0
Node *createActionsNode(Node **params, int paramsLen, Label * exprloc, Region *r) {
	Node *node = newNode(N_ACTIONS, "ACTIONS", exprloc, r);
	if(node == NULL) {
		return NULL;
	}
	setDegree(node, paramsLen,r);
	memcpy(node->subtrees, params, paramsLen*sizeof(Node *));
	return node;
}
示例#4
0
/*
Node *dupNode(Node *node, Region* r) {
    Node *dup = newNode(node->type, node->text, node->expr, r);
    Node **subdup = setDegree(dup, node->degree, r);
    int i;
    for(i = 0;i<node->degree;i++) {
        subdup[i] = dupNode(node->subtrees[i],r);
    }
    return dup;
}*/
Node *createUnaryFunctionNode(char *fn, Node *a, Label * expr, Region *r) {
	Node *node = newNode(N_APPLICATION, fn, expr, r);
	if(node == NULL) {
		return NULL;
	}
	setDegree(node, 1,r);
	node->subtrees[0] = a;
	return node;
}
示例#5
0
ViFourierInterpolator::ViFourierInterpolator(const Mode &mode, const Estimation &estimation)
	: ViInterpolator()
{
	setPointers(mode, estimation);
	setDegree(DEFAULT_DEGREE);
	setDerivatives(DEFAULT_DERIVATIVE);

	addParameterName("Window Size");
	addParameterName("Degree");
	if(mMode == Osculating || mMode == Splines) addParameterName("Derivatives");
}
示例#6
0
void ViFourierInterpolator::setParameter(const int &number, const qreal &value)
{
	if(number == 0) setWindowSize(value);
	else if(number == 1) setDegree(value);
	else if(number == 2) setDerivatives(value);
	else
	{
		LOG("Invalid parameter for this interpolator.", QtCriticalMsg);
		exit(-1);
	}
	setType();
}
bool arlCore::FieldCorrector::setParameters( const vnl_vector<double> &parameters )
{
    if(parameters.size()!=getNbParameters())
    {
        const unsigned int NbEquations = 3;
        unsigned int degree = 1;
        while(nbPolynomialParameters(degree, NbEquations)!=parameters.size() && degree<10)
        {
            ++degree;
        }
        if(nbPolynomialParameters(degree, NbEquations)!=parameters.size()) return false;
        setDegree(degree);
    }
    m_parameters = parameters;
    return true;
}
示例#8
0
void AdjunctProf::SetValues(string nameIn, long idIn, string emailIn, char degreeIn, int noOfTAIn, int noOfCoursesIn){
  CompSciProfessor::SetValues(nameIn, idIn, emailIn);
  setDegree(degreeIn);
  setNoOfTA(noOfTAIn);
  setNoOfCourses(noOfCoursesIn);
}
pcl::BivariatePolynomialT<real>::BivariatePolynomialT (int new_degree) :
  degree(0), parameters(NULL), gradient_x(NULL), gradient_y(NULL)
{
  setDegree(new_degree);
}
示例#10
0
bool Dec::setDec(float d, float m, float s) {
	if (setDegree(d) && setMinute(m) && setSecond(s))
		return 1;
	
	return 0;
}