Beispiel #1
0
void runProcModel (){
	for (uint32_t n=0; n<globalNCmds; n++){
		switch (globalCmdEntryBuff[n].op){
			case SELECT:
				doSelect(globalCmdEntryBuff[n]);
				break;
			case PROJECT:
				doProject(globalCmdEntryBuff[n]);
				break;
			case UNION:
				doUnion(globalCmdEntryBuff[n]);
				break;
			case DIFFERENCE:
				doDiff(globalCmdEntryBuff[n]);
				break;
			case XPROD:
				doXprod(globalCmdEntryBuff[n]);
				break;
			case DEDUP:
				doDedup(globalCmdEntryBuff[n]);
				break;
			default:
				printf("ERROR: runProcModel: invalid command\n");
				break;
		}
	}
}
Beispiel #2
0
static RegExp *merge( RegExp *m1, RegExp *m2 )
{
    if( !m1 )
        return( m2 );
    if( !m2 )
        return( m1 );
    return( RegExp_new_MatchOp( doUnion( m1->u.MatchOp.match, m2->u.MatchOp.match ) ) );
}
Beispiel #3
0
RegExp *ranToRE( SubStr s )
{
    Range   *r;

    s.len -= 2; s.str += 1;
    if( s.len == 0 )
        return( RegExp_new_NullOp() );
    r = getRange( &s );
    while( s.len > 0 )
        r = doUnion( r, getRange( &s ) );
    return( RegExp_new_MatchOp( r ) );
}
LL minSpanningTree(int n, int m) {
	for(int i=0;i<n;i++) {
		parents[i].p = parents[i].height = 0;
	}

	int cnt = n-1;
	LL result = 0;
	for(int i=0;(i<m) && (cnt>0);i++) {
		int x = find(edges[i].s);
		int y = find(edges[i].d);
		if(x != y) {
			doUnion(x, y);
			cnt--;
			result += edges[i].w;
		}
	}
	return result;
}
Beispiel #5
0
//
// start generation
//
void
IDLBase::generate_the_item(IR__::Contained_ptr item)
{
	IR__::HomeDef_var act_home;
	IR__::ComponentDef_var act_component;
	IR__::InterfaceDef_var act_interface;
	IR__::AliasDef_var act_alias;
	IR__::ValueDef_var act_value;
	IR__::EventDef_var act_event;
	IR__::ExceptionDef_var act_exception;
	IR__::EnumDef_var act_enum;
	IR__::ModuleDef_var act_module;
	IR__::StructDef_var act_struct;
	IR__::UnionDef_var act_union;

	std::cout << "Debug: item to generate: " << item->id() << std::endl;
	if(!definedInInterface(item)) {
		this->open_module(item);
	}

	switch (item->describe()->kind) {
	case CORBA__::dk_Module:
		act_module = IR__::ModuleDef::_narrow(item);
		doModule(act_module);
		break;
	case CORBA__::dk_Home:
		act_home = IR__::HomeDef::_narrow(item);
		doHome(act_home);
		break;
	case CORBA__::dk_Component:
		act_component = IR__::ComponentDef::_narrow(item);
		doComponent(act_component);
		break;
	case CORBA__::dk_Interface:
		act_interface = IR__::InterfaceDef::_narrow(item);
		doInterface ( act_interface );
		break;
	case CORBA__::dk_Value:
		act_event = IR__::EventDef::_narrow(item);
		if (!CORBA::is_nil ( act_event ) ) {
			doEvent ( act_event );
		} else {
			act_value = IR__::ValueDef::_narrow(item);
			doValue(act_value);
		}
		break;
	case CORBA__::dk_Alias:
		act_alias = IR__::AliasDef::_narrow(item);
		doAlias (act_alias);
		break;
	case CORBA__::dk_Exception:
		act_exception = IR__::ExceptionDef::_narrow(item);
		doException(act_exception);
		break;
	case CORBA__::dk_Enum:
		act_enum = IR__::EnumDef::_narrow(item);
		doEnum(act_enum);
		break;
	case CORBA__::dk_Struct:
		act_struct = IR__::StructDef::_narrow(item);
		doStruct(act_struct);
		break;
	case CORBA__::dk_Union:
		act_union = IR__::UnionDef::_narrow(item);
		doUnion(act_union);
		break;
	case CORBA__::dk_Composition : {
		CIDL::CompositionDef_var a_composition = CIDL::CompositionDef::_narrow(item);
		doComposition(a_composition);
		break; }
	default:
		break;
	};

	if(!definedInInterface(item)) {
		this->close_module(item);
	}
}
set_t copy(set_t *s)
{
	set_t temp = doUnion( NULL , s);
	return temp;
}