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

Merge branch 'rc' into v2

This commit is contained in:
dudaodong
2024-07-31 10:50:29 +08:00

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.