Newer
Older
ResourceDependencyLogic / src / Main.java
@Sakoda2269 Sakoda2269 on 20 Sep 1 KB first commit
import models.EvaluableTerm;
import models.RDLVariable;
import models.algebra.Type;
import models.dataConstraintModel.DataConstraintModel;

public class Main {

	public static void main(String[] args) {

		Type INT = DataConstraintModel.typeInt;
		Type STR = DataConstraintModel.typeString;
		
		RDLVariable a = EvaluableTerm.of("A", INT, 2);
		RDLVariable b = EvaluableTerm.of("B", INT, 2);
		RDLVariable c = EvaluableTerm.of("C", INT, 2);
		RDLVariable d = EvaluableTerm.of("D", INT, 2);
		RDLVariable e = EvaluableTerm.of("E", INT, 1);
		RDLVariable f = EvaluableTerm.of("F", INT, 1);
		RDLVariable g = EvaluableTerm.of("G", INT, 1);
		RDLVariable h = EvaluableTerm.of("H", INT, 1);
		RDLVariable i = EvaluableTerm.of("I", INT, 0);
		
		EvaluableTerm te1 = EvaluableTerm.of(g, h, i);
		EvaluableTerm te2 = EvaluableTerm.of(a, b, c);
		EvaluableTerm te3 = EvaluableTerm.of(te2, d, e);
		EvaluableTerm te4 = EvaluableTerm.of(te3, f, te1);
		
		System.out.println(te4.toStr());
		te4.selfLinearRightNormalize();
		System.out.println(te4.toStr());
		System.out.println(te4.isLinearRightNormal());
		System.out.println(te4.getOrder());
		System.out.println("========================");
		
		EvaluableTerm te5 = EvaluableTerm.of(c, d, e);
		EvaluableTerm te6 = EvaluableTerm.of(g, h, i);
		EvaluableTerm te7 = EvaluableTerm.of(a, b, te5);
		EvaluableTerm te8 = EvaluableTerm.of(te7, f, te6);
		System.out.println(te8.toStr());
		System.out.println(te8.isLinearRightNormal());
		te8.selfLinearRightNormalize();
		System.out.println(te8.toStr());
		System.out.println(te8.isLinearRightNormal());
		
		
	}

}