Implemented De Morgan’s rules for normalization purposes.

This commit is contained in:
2016-09-04 20:49:22 +02:00
parent 6aaf7c039d
commit c9ecd0c020
4 changed files with 127 additions and 3 deletions

View File

@@ -30,6 +30,7 @@ class NAry: public ExpressionCRTP<Derived>
public:
void setArgument(size_t i, ExpressionPointer argument);
void addArgument(ExpressionPointer argument);
Expressions &arguments();
const Expressions &arguments() const;
ExpressionPointer normalized() override;
@@ -108,6 +109,14 @@ const Expressions &NAry<Derived>::arguments() const
////////////////////////////////////////////////////////////////////////////////////////////////////
template<class Derived>
Expressions &NAry<Derived>::arguments()
{
return m_arguments;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
template<class Derived>
inline ExpressionPointer NAry<Derived>::normalized()
{