blob: 2f384da715999a5cab6db6a7cbc9643b0f1cd1ae [file] [log] [blame]
// Code generated by conditionalCmpConstGen.go; DO NOT EDIT.
package test
import "testing"
type IntegerConstraint interface {
int | uint | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64
}
type TestCase[T IntegerConstraint] struct {
cmp1, cmp2 func(a, b T) bool
combine func(x, y bool) bool
targetFunc func(a, b, c, d T) bool
cmp1Expr, cmp2Expr, logicalExpr string // String representations for debugging
}
type BoundaryValues[T IntegerConstraint] struct {
base T
variants [3]T
}
func generateTestCases[T IntegerConstraint]() []TestCase[T] {
return []TestCase[T]{
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "(a == b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "(a == b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "!(a == b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "!(a == b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "(a == b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "(a == b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "!(a == b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c == d",
logicalExpr: "!(a == b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "(a == b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "(a == b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "!(a == b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "!(a == b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "(a == b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "(a == b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "!(a == b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c <= d",
logicalExpr: "!(a == b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "(a == b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "(a == b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "!(a == b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "!(a == b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "(a == b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "(a == b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "!(a == b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c < d",
logicalExpr: "!(a == b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "(a == b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "(a == b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "!(a == b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "!(a == b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "(a == b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "(a == b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "!(a == b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c != d",
logicalExpr: "!(a == b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "(a == b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "(a == b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "!(a == b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "!(a == b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "(a == b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "(a == b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "!(a == b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c >= d",
logicalExpr: "!(a == b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "(a == b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "(a == b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "!(a == b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "!(a == b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "(a == b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a == b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "(a == b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "!(a == b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a == b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a == b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a == b",
cmp2Expr: "c > d",
logicalExpr: "!(a == b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "(a <= b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "(a <= b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "!(a <= b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "!(a <= b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "(a <= b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "(a <= b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "!(a <= b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c == d",
logicalExpr: "!(a <= b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "(a <= b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "(a <= b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a <= b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a <= b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "(a <= b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "(a <= b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a <= b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a <= b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "(a <= b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "(a <= b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "!(a <= b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "!(a <= b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "(a <= b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "(a <= b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "!(a <= b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c < d",
logicalExpr: "!(a <= b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "(a <= b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "(a <= b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "!(a <= b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "!(a <= b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "(a <= b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "(a <= b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "!(a <= b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c != d",
logicalExpr: "!(a <= b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "(a <= b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "(a <= b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a <= b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a <= b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "(a <= b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "(a <= b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a <= b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a <= b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "(a <= b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "(a <= b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "!(a <= b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "!(a <= b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "(a <= b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a <= b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "(a <= b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "!(a <= b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a <= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a <= b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a <= b",
cmp2Expr: "c > d",
logicalExpr: "!(a <= b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "(a < b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "(a < b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "!(a < b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "!(a < b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "(a < b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "(a < b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "!(a < b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c == d",
logicalExpr: "!(a < b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "(a < b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "(a < b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "!(a < b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "!(a < b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "(a < b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "(a < b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "!(a < b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c <= d",
logicalExpr: "!(a < b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "(a < b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "(a < b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "!(a < b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "!(a < b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "(a < b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "(a < b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "!(a < b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c < d",
logicalExpr: "!(a < b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "(a < b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "(a < b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "!(a < b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "!(a < b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "(a < b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "(a < b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "!(a < b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c != d",
logicalExpr: "!(a < b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "(a < b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "(a < b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "!(a < b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "!(a < b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "(a < b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "(a < b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "!(a < b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c >= d",
logicalExpr: "!(a < b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "(a < b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "(a < b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "!(a < b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "!(a < b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "(a < b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a < b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "(a < b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "!(a < b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a < b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a < b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a < b",
cmp2Expr: "c > d",
logicalExpr: "!(a < b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "(a != b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "(a != b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "!(a != b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "!(a != b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "(a != b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "(a != b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "!(a != b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c == d",
logicalExpr: "!(a != b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "(a != b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "(a != b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "!(a != b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "!(a != b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "(a != b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "(a != b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "!(a != b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c <= d",
logicalExpr: "!(a != b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "(a != b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "(a != b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "!(a != b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "!(a != b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "(a != b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "(a != b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "!(a != b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c < d",
logicalExpr: "!(a != b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "(a != b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "(a != b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "!(a != b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "!(a != b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "(a != b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "(a != b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "!(a != b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c != d",
logicalExpr: "!(a != b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "(a != b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "(a != b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "!(a != b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "!(a != b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "(a != b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "(a != b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "!(a != b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c >= d",
logicalExpr: "!(a != b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "(a != b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "(a != b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "!(a != b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "!(a != b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "(a != b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a != b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "(a != b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "!(a != b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a != b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a != b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a != b",
cmp2Expr: "c > d",
logicalExpr: "!(a != b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "(a >= b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "(a >= b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "!(a >= b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "!(a >= b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "(a >= b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "(a >= b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "!(a >= b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c == d",
logicalExpr: "!(a >= b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "(a >= b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "(a >= b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a >= b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a >= b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "(a >= b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "(a >= b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a >= b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c <= d",
logicalExpr: "!(a >= b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "(a >= b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "(a >= b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "!(a >= b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "!(a >= b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "(a >= b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "(a >= b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "!(a >= b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c < d",
logicalExpr: "!(a >= b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "(a >= b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "(a >= b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "!(a >= b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "!(a >= b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "(a >= b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "(a >= b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "!(a >= b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c != d",
logicalExpr: "!(a >= b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "(a >= b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "(a >= b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a >= b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a >= b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "(a >= b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "(a >= b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a >= b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c >= d",
logicalExpr: "!(a >= b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "(a >= b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "(a >= b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "!(a >= b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "!(a >= b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "(a >= b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a >= b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "(a >= b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "!(a >= b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a >= b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a >= b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a >= b",
cmp2Expr: "c > d",
logicalExpr: "!(a >= b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "(a > b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "(a > b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "!(a > b) && (c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "!(a > b) && !(c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "(a > b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "(a > b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "!(a > b) || (c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a == b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c == d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c == d",
logicalExpr: "!(a > b) || !(c == d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "(a > b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "(a > b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "!(a > b) && (c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "!(a > b) && !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "(a > b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "(a > b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "!(a > b) || (c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a <= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c <= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c <= d",
logicalExpr: "!(a > b) || !(c <= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "(a > b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "(a > b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "!(a > b) && (c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "!(a > b) && !(c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "(a > b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "(a > b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "!(a > b) || (c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a < b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c < d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c < d",
logicalExpr: "!(a > b) || !(c < d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "(a > b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "(a > b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "!(a > b) && (c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "!(a > b) && !(c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "(a > b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "(a > b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "!(a > b) || (c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a != b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c != d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c != d",
logicalExpr: "!(a > b) || !(c != d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "(a > b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "(a > b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "!(a > b) && (c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "!(a > b) && !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "(a > b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "(a > b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "!(a > b) || (c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a >= b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c >= d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c >= d",
logicalExpr: "!(a > b) || !(c >= d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "(a > b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "(a > b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && (c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "!(a > b) && (c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) && !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) && !(c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "!(a > b) && !(c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "(a > b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return (x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if (a > b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "(a > b) || !(c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || (y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || (c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "!(a > b) || (c > d)",
},
{
cmp1: func(a, b T) bool { return a > b },
cmp2: func(a, b T) bool { return a > b },
combine: func(x, y bool) bool { return !(x) || !(y) },
targetFunc: func(a, b, c, d T) bool {
if !(a > b) || !(c > d) {
return true
}
return false
},
cmp1Expr: "a > b",
cmp2Expr: "c > d",
logicalExpr: "!(a > b) || !(c > d)",
},
}
}
func TestInt8ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[int8]()
base := int8(1 << 6)
values := [3]int8{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestUint8ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[uint8]()
base := uint8(1 << 6)
values := [3]uint8{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestInt16ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[int16]()
base := int16(1 << 14)
values := [3]int16{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestUint16ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[uint16]()
base := uint16(1 << 14)
values := [3]uint16{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestInt32ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[int32]()
base := int32(1 << 30)
values := [3]int32{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestUint32ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[uint32]()
base := uint32(1 << 30)
values := [3]uint32{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestIntConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[int]()
base := int(1 << 30)
values := [3]int{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestUintConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[uint]()
base := uint(1 << 30)
values := [3]uint{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestInt64ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[int64]()
base := int64(1 << 62)
values := [3]int64{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}
func TestUint64ConditionalCmpConst(t *testing.T) {
testCases := generateTestCases[uint64]()
base := uint64(1 << 62)
values := [3]uint64{base - 1, base, base + 1}
for _, tc := range testCases {
a, c := base, base
for _, b := range values {
for _, d := range values {
expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
actual := tc.targetFunc(a, b, c, d)
if actual != expected {
t.Errorf("conditional comparison failed:\n"+
" type: %T\n"+
" condition: %s\n"+
" values: a=%v, b=%v, c=%v, d=%v\n"+
" cmp1(a,b)=%v (%s)\n"+
" cmp2(c,d)=%v (%s)\n"+
" expected: combine(%v, %v)=%v\n"+
" actual: %v\n"+
" logical expression: %s",
a,
tc.logicalExpr,
a, b, c, d,
tc.cmp1(a, b), tc.cmp1Expr,
tc.cmp2(c, d), tc.cmp2Expr,
tc.cmp1(a, b), tc.cmp2(c, d), expected,
actual,
tc.logicalExpr)
}
}
}
}
}