diff options
Diffstat (limited to 'libnormalform_contains_clause__.c')
| -rw-r--r-- | libnormalform_contains_clause__.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libnormalform_contains_clause__.c b/libnormalform_contains_clause__.c new file mode 100644 index 0000000..6736e4a --- /dev/null +++ b/libnormalform_contains_clause__.c @@ -0,0 +1,31 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + + +int +(libnormalform_contains_clause__)(struct expression *this, struct expression *clause, size_t ignore) +{ + size_t i; + int cmp; + if (ignore > this->nterms) + ignore = this->nterms; + for (i = 0; i < ignore; i++) { + cmp = libnormalform_clause_cmp__(clause, this->terms[i]); + if (cmp >= 0) + return !cmp; + } + for (i++; i < this->nterms; i++) { + cmp = libnormalform_clause_cmp__(clause, this->terms[i]); + if (cmp >= 0) + return !cmp; + } + return 0; +} + + +#else + +TODO_TEST + +#endif |
