From 01c1c4b03a5fbc23d34b032a0c7e2832ec853161 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 20 Sep 2017 14:10:13 +0200
Subject: [PATCH] +correctness check of nonlinear bar notation

---
 alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
index fbc3475f6a..d7ad75dfc6 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
@@ -284,6 +284,10 @@ void PrefixRankedBarNonlinearPattern < SymbolType, RankType >::arityChecksum ( c
 		if ( ( data[i - 1] == getSubtreeWildcard ( ) ) && ( data[i] != getVariablesBar ( ) ) )
 			throw TreeException ( "Inconsystency of SubtreeWildcard and variablesBar" );
 
+	for ( unsigned i = 1; i < data.size ( ); ++i )
+		if ( ( getNonlinearVariables ( ).count ( data[i - 1] ) ) && ( data[i] != getVariablesBar ( ) ) )
+			throw TreeException ( "Inconsystency of NonlinearVariables and variablesBar" );
+
 }
 
 template < class SymbolType, class RankType >
-- 
GitLab