Changeset 278e162 for src/GenPoly/SpecializeNew.cpp
- Timestamp:
- Oct 23, 2023, 11:13:00 AM (2 years ago)
- Branches:
- master
- Children:
- cb94e41
- Parents:
- 4d2d7e27 (diff), abb04a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
src/GenPoly/SpecializeNew.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/SpecializeNew.cpp
r4d2d7e27 r278e162 81 81 } 82 82 83 // The number of elements in a type if it is a flattened tuple.84 size_t flatT upleSize( const ast::Type * type) {85 if ( auto tuple = dynamic_cast<const ast::TupleType *>( type ) ) {86 size_t sum = 0;87 for ( auto t : *tuple) {88 sum += flatT upleSize( t);89 } 90 return sum;91 } else {92 return 1;93 }83 // The number of elements in a list, if all tuples had been flattened. 84 size_t flatTypeListSize( const std::vector<ast::ptr<ast::Type>> & types ) { 85 size_t sum = 0; 86 for ( const ast::ptr<ast::Type> & type : types ) { 87 if ( const ast::TupleType * tuple = type.as<ast::TupleType>() ) { 88 sum += flatTypeListSize( tuple->types ); 89 } else { 90 sum += 1; 91 } 92 } 93 return sum; 94 94 } 95 95 96 96 // Find the total number of components in a parameter list. 97 97 size_t functionParameterSize( const ast::FunctionType * type ) { 98 size_t sum = 0; 99 for ( auto param : type->params ) { 100 sum += flatTupleSize( param ); 101 } 102 return sum; 98 return flatTypeListSize( type->params ); 103 99 } 104 100
Note:
See TracChangeset
for help on using the changeset viewer.