public static FluentValue Not(FluentValue a) { if (a == FluentValue.True) { return(FluentValue.False); } return(a == FluentValue.False ? FluentValue.True : a); }
public static List <FluentValue[]> GetAllFluentEvaluationsSatisfyingExpression(Expression <int> expression) { var fluentsInExpression = new List <int>(); FindAllFluentsInExpression(expression, fluentsInExpression); FluentValue[] fluents = new FluentValue[ModelsBuilder.FluentsCount]; var fluentNumber = 0; var correctValues = new List <FluentValue[]>(); FindEvaluations(expression, fluentsInExpression, fluents, fluentNumber, correctValues); return(correctValues); }
public static FluentValue Or(FluentValue a, FluentValue b) { if (a == FluentValue.True || b == FluentValue.True) { return(FluentValue.True); } if (a == FluentValue.False && b == FluentValue.False) { return(FluentValue.False); } if (a == FluentValue.UnderOcclusion || b == FluentValue.UnderOcclusion) { return(FluentValue.UnderOcclusion); } return(FluentValue.Unknown); }