Skip to content
Snippets Groups Projects
Commit 28a33c49 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

more concrete nonlinear variable symbol construction

parent 02ce24bc
No related branches found
No related tags found
No related merge requests found
...@@ -169,7 +169,7 @@ struct Node { ...@@ -169,7 +169,7 @@ struct Node {
if ( singleNonlinearVariable ) if ( singleNonlinearVariable )
return ext::tree < common::ranked_symbol < > > ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( "A" ) ) ), DefaultRankType ( 0 ) ), { } ); return ext::tree < common::ranked_symbol < > > ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( "A" ) ) ), DefaultRankType ( 0 ) ), { } );
else else
return ext::tree < common::ranked_symbol < > > ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( symbol ) ), DefaultRankType ( 0 ) ), { } ); return ext::tree < common::ranked_symbol < > > ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( symbol ) ) ), DefaultRankType ( 0 ) ), { } );
} else { } else {
ext::vector < ext::tree < common::ranked_symbol < > > > children; ext::vector < ext::tree < common::ranked_symbol < > > > children;
Node * nextChild = child; Node * nextChild = child;
...@@ -386,7 +386,7 @@ RankedNonlinearPattern < > RandomRankedNonlinearPatternFactory::generateRankedNo ...@@ -386,7 +386,7 @@ RankedNonlinearPattern < > RandomRankedNonlinearPatternFactory::generateRankedNo
nonlinearVariables.insert ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( "A" ) ) ), DefaultRankType ( 0 ) ) ); nonlinearVariables.insert ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( "A" ) ) ), DefaultRankType ( 0 ) ) );
else else
for ( char i : rankedAlphabet [ 0 ] ) for ( char i : rankedAlphabet [ 0 ] )
nonlinearVariables.insert ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( i ) ), DefaultRankType ( 0 ) ) ); nonlinearVariables.insert ( common::ranked_symbol < > ( DefaultSymbolType ( alphabet::NonlinearVariableSymbol < > ( DefaultSymbolType ( i ) ) ), DefaultRankType ( 0 ) ) );
   
common::ranked_symbol < > subtreeWildcard = alphabet::SubtreeWildcardSymbol::instance < common::ranked_symbol < > > ( ); common::ranked_symbol < > subtreeWildcard = alphabet::SubtreeWildcardSymbol::instance < common::ranked_symbol < > > ( );
treeRankedAlphabet.insert ( subtreeWildcard ); treeRankedAlphabet.insert ( subtreeWildcard );
......
...@@ -26,17 +26,8 @@ class NonlinearVariableSymbol : public SymbolBase { ...@@ -26,17 +26,8 @@ class NonlinearVariableSymbol : public SymbolBase {
SymbolType m_symbol; SymbolType m_symbol;
   
public: public:
explicit NonlinearVariableSymbol ( int number );
explicit NonlinearVariableSymbol ( char character );
explicit NonlinearVariableSymbol ( std::string symbol );
explicit NonlinearVariableSymbol ( SymbolType symbol ); explicit NonlinearVariableSymbol ( SymbolType symbol );
   
/**
* Creates a subtreeWildcard symbol.
* @param symbol name of the symbol
*/
explicit NonlinearVariableSymbol ( );
virtual SymbolBase * clone ( ) const; virtual SymbolBase * clone ( ) const;
virtual SymbolBase * plunder ( ) &&; virtual SymbolBase * plunder ( ) &&;
   
...@@ -67,18 +58,6 @@ public: ...@@ -67,18 +58,6 @@ public:
typedef NonlinearVariableSymbol < > normalized_type; typedef NonlinearVariableSymbol < > normalized_type;
}; };
   
template < class SymbolType >
NonlinearVariableSymbol < SymbolType >::NonlinearVariableSymbol ( int number ) : m_symbol ( DefaultSymbolType ( number ) ) {
}
template < class SymbolType >
NonlinearVariableSymbol < SymbolType >::NonlinearVariableSymbol ( char character ) : m_symbol ( DefaultSymbolType ( character ) ) {
}
template < class SymbolType >
NonlinearVariableSymbol < SymbolType >::NonlinearVariableSymbol ( std::string symbol ) : m_symbol ( DefaultSymbolType ( std::move ( symbol ) ) ) {
}
template < class SymbolType > template < class SymbolType >
NonlinearVariableSymbol < SymbolType >::NonlinearVariableSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) { NonlinearVariableSymbol < SymbolType >::NonlinearVariableSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) {
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment