Ignore:
Timestamp:
06/25/19 16:14:54 (5 years ago)
Author:
yushan
Message:

MARK: Dynamic workflow graph developement. Branch up to date with trunk @1663.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/parse_expr/filter_expr_node.cpp

    r1575 r1677  
    108108    std::shared_ptr<CUnaryArithmeticFilter> filter(new CUnaryArithmeticFilter(gc, opId)); 
    109109    child->reduce(gc, thisField)->connectOutput(filter, 0); 
     110 
     111    (filter->parent_filters).resize(1); 
     112    (filter->parent_filters)[0] = child->reduce(gc, thisField); 
     113 
    110114    return filter; 
    111115  } 
     
    125129    std::shared_ptr<CScalarFieldArithmeticFilter> filter(new CScalarFieldArithmeticFilter(gc, opId, child1->reduce())); 
    126130    child2->reduce(gc, thisField)->connectOutput(filter, 0); 
     131     
     132    (filter->parent_filters).resize(1); 
     133    (filter->parent_filters)[0] = child2->reduce(gc, thisField); 
     134 
    127135    return filter; 
    128136  } 
     
    142150    std::shared_ptr<CFieldScalarArithmeticFilter> filter(new CFieldScalarArithmeticFilter(gc, opId, child2->reduce())); 
    143151    child1->reduce(gc, thisField)->connectOutput(filter, 0); 
     152 
     153    (filter->parent_filters).resize(1); 
     154    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
    144155    return filter; 
    145156  } 
     
    159170    std::shared_ptr<CFieldFieldArithmeticFilter> filter(new CFieldFieldArithmeticFilter(gc, opId)); 
    160171    child1->reduce(gc, thisField)->connectOutput(filter, 0); 
    161     child2->reduce(gc, thisField)->connectOutput(filter, 1); 
     172    child2->reduce(gc, thisField)->connectOutput(filter, 1);  
     173 
     174    (filter->parent_filters).resize(2); 
     175    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
     176    (filter->parent_filters)[1] = child2->reduce(gc, thisField); 
    162177    return filter; 
    163178  } 
     
    181196    std::shared_ptr<CScalarScalarFieldArithmeticFilter> filter(new CScalarScalarFieldArithmeticFilter(gc, opId, child1->reduce(),child2->reduce())); 
    182197    child3->reduce(gc, thisField)->connectOutput(filter, 0); 
     198     
     199    (filter->parent_filters).resize(1); 
     200    (filter->parent_filters)[0] = child3->reduce(gc, thisField); 
     201 
    183202    return filter; 
    184203  } 
     
    200219    std::shared_ptr<CScalarFieldScalarArithmeticFilter> filter(new CScalarFieldScalarArithmeticFilter(gc, opId, child1->reduce(),child3->reduce())); 
    201220    child2->reduce(gc, thisField)->connectOutput(filter, 0); 
     221 
     222    (filter->parent_filters).resize(1); 
     223    (filter->parent_filters)[0] = child2->reduce(gc, thisField); 
    202224    return filter; 
    203225  } 
     
    220242    child2->reduce(gc, thisField)->connectOutput(filter, 0); 
    221243    child3->reduce(gc, thisField)->connectOutput(filter, 1); 
     244 
     245    (filter->parent_filters).resize(2); 
     246    (filter->parent_filters)[0] = child2->reduce(gc, thisField); 
     247    (filter->parent_filters)[1] = child3->reduce(gc, thisField); 
     248 
    222249    return filter; 
    223250  } 
     
    240267    std::shared_ptr<CFieldScalarScalarArithmeticFilter> filter(new CFieldScalarScalarArithmeticFilter(gc, opId, child2->reduce(),child3->reduce())); 
    241268    child1->reduce(gc, thisField)->connectOutput(filter, 0); 
     269 
     270    (filter->parent_filters).resize(1); 
     271    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
    242272    return filter; 
    243273  } 
     
    261291    child1->reduce(gc, thisField)->connectOutput(filter, 0); 
    262292    child3->reduce(gc, thisField)->connectOutput(filter, 1); 
     293 
     294    (filter->parent_filters).resize(2); 
     295    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
     296    (filter->parent_filters)[1] = child3->reduce(gc, thisField); 
     297 
    263298    return filter; 
    264299  } 
     
    282317    child1->reduce(gc, thisField)->connectOutput(filter, 0); 
    283318    child2->reduce(gc, thisField)->connectOutput(filter, 1); 
     319 
     320    (filter->parent_filters).resize(2); 
     321    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
     322    (filter->parent_filters)[1] = child2->reduce(gc, thisField); 
    284323    return filter; 
    285324  } 
     
    303342    child2->reduce(gc, thisField)->connectOutput(filter, 1); 
    304343    child3->reduce(gc, thisField)->connectOutput(filter, 2); 
     344 
     345    (filter->parent_filters).resize(3); 
     346    (filter->parent_filters)[0] = child1->reduce(gc, thisField); 
     347    (filter->parent_filters)[1] = child2->reduce(gc, thisField); 
     348    (filter->parent_filters)[2] = child3->reduce(gc, thisField); 
     349 
    305350    return filter; 
    306351  } 
Note: See TracChangeset for help on using the changeset viewer.