- Timestamp:
- 07/08/19 16:58:12 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/src/filter/ternary_arithmetic_filter.cpp
r1679 r1680 1 1 #include "ternary_arithmetic_filter.hpp" 2 2 #include "workflow_graph.hpp" 3 #include "yacc_var.hpp" 3 4 4 5 namespace xios … … 9 10 , value1(value1) 10 11 , value2(value2) 11 { /* Nothing to do */ }; 12 { 13 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 14 /* Nothing to do */ 15 }; 12 16 13 17 CDataPacketPtr CScalarScalarFieldArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 20 24 int edgeID = InvalidableObject::edgeIdGenerator++; 21 25 22 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 23 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 26 CWorkflowGraph::allocNodeEdge(); 24 27 25 28 std::cout<<"CScalarScalarFieldArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 26 29 27 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "SSF Filter"; 28 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 29 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 30 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 1; 31 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 32 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 30 31 32 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 1, data[0]); 33 33 34 34 … … 61 61 , value1(value1) 62 62 , value2(value2) 63 { /* Nothing to do */ }; 63 { 64 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 65 /* Nothing to do */ 66 }; 64 67 65 68 CDataPacketPtr CScalarFieldScalarArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 73 76 74 77 75 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 76 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 78 CWorkflowGraph::allocNodeEdge(); 77 79 78 80 std::cout<<"CScalarFieldScalarArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 79 81 80 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "SFS Filter"; 81 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 82 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 83 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 1; 84 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 85 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 82 83 84 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 1, data[0]); 86 85 87 86 if(CWorkflowGraph::build_begin) … … 111 110 , op(operatorExpr.getOpScalarFieldField(op)) 112 111 , value(value) 113 { /* Nothing to do */ }; 112 { 113 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 114 /* Nothing to do */ 115 }; 114 116 115 117 CDataPacketPtr CScalarFieldFieldArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 123 125 124 126 125 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 126 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 127 CWorkflowGraph::allocNodeEdge(); 127 128 128 129 std::cout<<"CScalarFieldFieldArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 129 130 130 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "SFF Filter"; 131 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 132 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 133 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 2; 134 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 135 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 131 132 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 2, data[0]); 136 133 137 134 if(CWorkflowGraph::build_begin) … … 177 174 , value1(value1) 178 175 , value2(value2) 179 { /* Nothing to do */ }; 176 { 177 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 178 /* Nothing to do */ 179 }; 180 180 181 181 CDataPacketPtr CFieldScalarScalarArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 189 189 190 190 191 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 192 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 191 CWorkflowGraph::allocNodeEdge(); 193 192 194 193 std::cout<<"CFieldScalarScalarArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 195 194 196 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "FSS Filter"; 197 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 198 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 199 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 1; 200 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 201 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 195 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 1, data[0]); 202 196 203 197 if(CWorkflowGraph::build_begin) … … 229 223 , op(operatorExpr.getOpFieldScalarField(op)) 230 224 , value(value) 231 { /* Nothing to do */ }; 225 { 226 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 227 /* Nothing to do */ 228 }; 232 229 233 230 CDataPacketPtr CFieldScalarFieldArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 241 238 242 239 243 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 244 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 240 CWorkflowGraph::allocNodeEdge(); 245 241 246 242 std::cout<<"CFieldScalarFieldArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 247 243 248 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "FSF Filter"; 249 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 250 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 251 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 2; 252 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 253 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 244 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 2, data[0]); 254 245 255 246 if(CWorkflowGraph::build_begin) … … 291 282 , op(operatorExpr.getOpFieldFieldScalar(op)) 292 283 , value(value) 293 { /* Nothing to do */ }; 284 { 285 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 286 std::cout<<"expression = "<<expression; 287 /* Nothing to do */ 288 }; 294 289 295 290 CDataPacketPtr CFieldFieldScalarArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 302 297 int edgeID = InvalidableObject::edgeIdGenerator++; 303 298 304 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 305 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 299 CWorkflowGraph::allocNodeEdge(); 306 300 307 301 std::cout<<"CFieldFieldScalarArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 308 302 309 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "FFS Filter"; 310 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 311 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 312 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 2; 313 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 314 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 303 304 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 2, data[0]); 315 305 316 306 if(CWorkflowGraph::build_begin) … … 352 342 : CFilter(gc, 3, this) 353 343 , op(operatorExpr.getOpFieldFieldField(op)) 354 { /* Nothing to do */ }; 344 { 345 expression.assign(*yacc_globalInputText_ptr, 0, yacc_globalInputText_ptr->size()-1); 346 /* Nothing to do */ 347 }; 355 348 356 349 CDataPacketPtr CFieldFieldFieldArithmeticFilter::apply(std::vector<CDataPacketPtr> data) … … 364 357 365 358 366 if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 367 if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 359 CWorkflowGraph::allocNodeEdge(); 368 360 369 361 std::cout<<"CFieldFieldFieldArithmeticFilter::apply connection = "<<data[0]->src_filterID<<" <-> "<<this->filterID<<std::endl; 370 362 371 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "FFF Filter"; 372 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 373 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 374 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 3; 375 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 376 (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 363 364 CWorkflowGraph::addNode(this->filterID, "Arithmetic Filter\\n("+expression+")", 3, 1, 3, data[0]); 377 365 378 366 if(CWorkflowGraph::build_begin)
Note: See TracChangeset
for help on using the changeset viewer.