/* * * Copyright (C) 2015 Jason Gowan * All rights reserved. * * This software may be modified and distributed under the terms * of the BSD license. See the LICENSE file for details. */ #ifndef SIMPLE_CONSTRAINT_HANDLER_H_ #define SIMPLE_CONSTRAINT_HANDLER_H_ #include #include #include #include "dither_types.h" #include "base_constraint_handler.h" namespace dither { class SimpleConstraintHandler : public BaseConstraintHandler { protected: std::vector>> constraints; std::vector params; inline bool violate_constraint(const dtest_case& test_case, const std::vector>& constraint); inline bool violate_constraint(const std::vector& test_case, const std::vector>& constraint); public: SimpleConstraintHandler(std::vector& ranges, std::vector>& pconstraints); bool violate_constraints(const dtest_case &test_case); bool violate_constraints(const std::vector &test_case); bool ground(dtest_case &test_case); }; } #endif // SIMPLE_CONSTRAINT_HANDLER_H_