Ejemplo n.º 1
0
	void SymbExpr::replace(SymbExpr *searched_se, SymbExpr *new_se){
		if (_a != NULL && *_a == *searched_se){
			set_a(new_se);
		} else if (_a != NULL /* && *_a != *searched_se */ )
			_a->replace(searched_se, new_se);
		if (_b != NULL && *_b == *searched_se){
			set_b(new_se);
		} else if (_b != NULL /* && *_b != *searched_se */ )
			_b->replace(searched_se, new_se);
	}
Ejemplo n.º 2
0
OrbitProto *LineOrbit::serialize() {
    auto ret = new OrbitProto();
    ret->set_max_value(max_value);
    auto lop = new LineOrbitProto();
    lop->set_a(a);
    lop->set_b(b);
    lop->set_c(c);
    ret->set_allocated_lineorbit(lop);
    return ret;
}
Ejemplo n.º 3
0
 void PCR::initialize_params(){
   set_a(1.0);
   set_b(1.0);
   Vector h = response_histogram();
   Vector b = beta();
   b[0] = 0;
   b.back()=0.001;     // a should not be zero
   for(uint i=1; i<h.size(); ++i)
     b[i] = log(h[i]/h[0]);
   set_beta(b);
 }
Ejemplo n.º 4
0
int main ( int argc, const char *argv[] )
{
    int n,m,*p,*q,result;
    
    printf ( "Informe o numero de elementos de A: \n" );
    // le a quatidade que A tera de n elementos
    scanf ( "%d", &n );
    printf ( "Informe os elementos de A: \n" );
    // chama a funcao para preencher o vetor e p aponta
    p=set_a(n);

    printf ( "Informe o numero de elementos de B: \n" );
    // le a quantidade que B tera de m elementos
    scanf ( "%d", &m );
    printf ( "Informe os elementos de B: \n" );
    // chama a funcao para preencher o vetor e q aponta 
    q=set_b(m);
    
    // recebe o resultado 1 ou 0
    result = a_contains_b(p,n,q,m);

    if (result==1)
    {
        printf ( "A esta contido em B\n" );
    }
    else
    {
        printf ( "A nao esta contido em B\n" );
    }
    
    // recebe o resultado 1 ou 0
    result = ab_equals_ba(p,n,q,m);

    if (result==1)
    {
        printf ( "A=B\n" );
    }
    else
    {
        printf ( "A!=B\n" );
    }
    
    return 0;
}
Ejemplo n.º 5
0
int main()
{
int a[3][3];
a[0][0] = 0; a[0][1] = 0; a[0][2] = 0;
a[1][0] = 0; a[1][1] = 0; a[1][2] = 0;
a[2][0] = 0; a[2][1] = 0; a[2][2] = 0;
int b;
int r;
int temp = 4;
int i = 1;
set_b(i, a[i][i]);
a[0][0] = 100; a[0][1] = 10; a[0][2] = 10;
a[1][0] = 1; a[1][1] = 10; a[1][2] = 100;
a[2][0] = 100; a[2][1] = 100; a[2][2] = 100;
b = 0;
r = p(i, a[i][b]);
printf("%d %d %d %d\n", i, temp, b, r);
printf("%d %d %d\n", a[0][0], a[0][1], a[0][2]);
printf("%d %d %d\n", a[1][0], a[1][1], a[1][2]);
printf("%d %d %d\n", a[2][0], a[2][1], a[2][2]);
}
Ejemplo n.º 6
0
 void BM::set_params(double a, double b){set_a(a); set_b(b);}
Ejemplo n.º 7
0
 inline void set_radiosity(trimesh &mesh, patch_handle patch, real_t value)
 {
     set_b(mesh.property(property_handles::radiosity(), patch), value);
 }
Ejemplo n.º 8
0
	void SECmp::canonize(void){
		// recursive call
		if (_a)
			_a->canonize();
		if (_b)
			_b->canonize();
		
		if (_op == CMP || _op == CMPU)
			return;		// we need a determinated CMP for further canonization
		
		bool cancont;
		
		do{
			cancont=false;
			
			// [<log_op>, [cmp, <expr1>, <expr2>]] -> [<log_op>, <expr1>, expr2>]
			if (_a && _a->op() == CMP && _b == NULL){
				set_b(_a->b()); // we must set b first, because we'll erase _a
				set_a(_a->a());
				cancont = true;
			}
			// The same for unsigned compare
			if (_a && _a->op() == CMPU && _b == NULL){
				/* change the operator into unsigned form */
				switch(_op){
				case LE:
					_op = ULE;
					break;
				case LT:
					_op = ULT;
					break;
				case GE:
					_op = UGE;
					break;
				case GT:
					_op = UGT;
					break;
				default:
					break;
				}
				set_b(_a->b()); // we must set b first, because we'll erase _a
				set_a(_a->a());
				cancont = true;
			}
			
			// [<log_op>, [K, <valeur>], <expr>] && <expr> != const
			// -> [reverse(<log_op>), <expr>, [K, <valeur>]]
			if (_a && _b && _a->op() == CONST && _b->op() != CONST){
				_op = reverse(_op);
				SymbExpr *expr = _b;
				_b = _a;
				_a = expr;
				cancont = true;
			}
			
			// [<log_op>, [+, <expr0>, <expr1>], <expr2>]
			// -> [<log_op>, <expr0>, canonize([+, <expr2>, [-, <expr1>]])]
			if (_a && _b && _a->op() == ADD && _a->a() && _a->b()){
				SEAdd newb = SEAdd(_b->copy(), new SENeg(_a->b()->copy()));
				set_b(&newb);
				set_a(_a->a());
				_b->canonize();
				cancont = true;
			}
			
			// [<log_op>, [-, <expr0>], expr1]
			// -> [reverse(<log_op>), <expr0>, canonize([-, <expr1>])]
			if (_a && _b && _a->op() == NEG && _a->a()){
				_op = reverse(_op);
				set_a(_a->a());
				SymbExpr *newb = new SENeg(_b->copy());
				set_b(newb);
				delete newb;
				_b->canonize();
				cancont = true;
			}
		}while(cancont);
	}
Ejemplo n.º 9
0
	SymbExpr& SECmp::operator=(const SECmp& expr){
		_op = expr._op;
		set_a(expr._a);
		set_b(expr._b);
		return *this;
	}
Ejemplo n.º 10
0
 tril::tril(bool in_b, bool in_u)
 :data(0)
 {
     set_b(in_b);
     set_u(in_u);
 }
Ejemplo n.º 11
0
 tril& tril::operator=(const bool& rhs)
 {
     set_b(rhs);
     set_u(false);
     return *this;
 }