1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00

Update condition.go (#234)

This commit is contained in:
zyfx
2024-07-31 10:16:03 +08:00
committed by GitHub
parent eb7cf76eae
commit 5c9d0e396e

View File

@@ -49,9 +49,7 @@ func Or[T, U any](a T, b U) bool {
// Xor returns true if a or b but not both is truthy. // Xor returns true if a or b but not both is truthy.
// Play: https://go.dev/play/p/gObZrW7ZbG8 // Play: https://go.dev/play/p/gObZrW7ZbG8
func Xor[T, U any](a T, b U) bool { func Xor[T, U any](a T, b U) bool {
valA := Bool(a) return Bool(a) != Bool(b)
valB := Bool(b)
return (valA || valB) && valA != valB
} }
// Nor returns true if neither a nor b is truthy. // Nor returns true if neither a nor b is truthy.
@@ -63,9 +61,7 @@ func Nor[T, U any](a T, b U) bool {
// Xnor returns true if both a and b or neither a nor b are truthy. // Xnor returns true if both a and b or neither a nor b are truthy.
// Play: https://go.dev/play/p/OuDB9g51643 // Play: https://go.dev/play/p/OuDB9g51643
func Xnor[T, U any](a T, b U) bool { func Xnor[T, U any](a T, b U) bool {
valA := Bool(a) return Bool(a) == Bool(b)
valB := Bool(b)
return (valA && valB) || (!valA && !valB)
} }
// Nand returns false if both a and b are truthy. // Nand returns false if both a and b are truthy.