BitString

trait BitString[@specialized(Byte, Short, Int, Long) A] extends Bool[A]
Companion
object
trait Bool[A]
trait GenBool[A]
trait Heyting[A]
trait BoundedDistributiveLattice[A]
trait DistributiveLattice[A]
trait BoundedLattice[A]
trait BoundedJoinSemilattice[A]
trait BoundedMeetSemilattice[A]
trait Lattice[A]
trait MeetSemilattice[A]
trait JoinSemilattice[A]
trait Serializable
class Any

Value members

Abstract methods

def bitCount(n: A): Int
def highestOneBit(n: A): A
def leftShift(n: A, i: Int): A
def lowestOneBit(n: A): A
def numberOfLeadingZeros(n: A): Int
def numberOfTrailingZeros(n: A): Int
def rightShift(n: A, i: Int): A
def rotateLeft(n: A, i: Int): A
def rotateRight(n: A, i: Int): A
def signed: Boolean
def signedRightShift(n: A, i: Int): A
def toHexString(n: A): String
def width: Int

Inherited methods

def and(a: A, b: A): A
Inherited from
GenBool
override
def asBoolRing: BoolRing[A]

Every Boolean algebra is a BoolRing, with multiplication defined as and and addition defined as xor. Bool does not extend BoolRing because, e.g. we might want a Bool[Int] and CommutativeRing[Int] to refer to different structures, by default.

Every Boolean algebra is a BoolRing, with multiplication defined as and and addition defined as xor. Bool does not extend BoolRing because, e.g. we might want a Bool[Int] and CommutativeRing[Int] to refer to different structures, by default.

Note that the ring returned by this method is not an extension of the Rig returned from BoundedDistributiveLattice.asCommutativeRig.

Definition Classes
Bool -> GenBool
Inherited from
Bool
def asCommutativeRig: CommutativeRig[A]

Return a CommutativeRig using join and meet. Note this must obey the commutative rig laws since meet(a, one) = a, and meet and join are associative, commutative and distributive.

Return a CommutativeRig using join and meet. Note this must obey the commutative rig laws since meet(a, one) = a, and meet and join are associative, commutative and distributive.

Inherited from
BoundedDistributiveLattice
def complement(a: A): A
Inherited from
Heyting
override
def dual: Bool[A]
Definition Classes
Bool -> BoundedDistributiveLattice -> BoundedLattice -> Lattice
Inherited from
Bool
def imp(a: A, b: A): A
Inherited from
Bool
def isOne(a: A)(implicit ev: Eq[A]): Boolean
Inherited from
BoundedMeetSemilattice
def isZero(a: A)(implicit ev: Eq[A]): Boolean
Inherited from
BoundedJoinSemilattice
override
def join(a: A, b: A): A
Definition Classes
GenBool -> JoinSemilattice
Inherited from
GenBool
def joinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
Inherited from
JoinSemilattice
override
def joinSemilattice: BoundedSemilattice[A]
Definition Classes
BoundedJoinSemilattice -> JoinSemilattice
Inherited from
BoundedJoinSemilattice
override
def meet(a: A, b: A): A
Definition Classes
GenBool -> MeetSemilattice
Inherited from
GenBool
def meetPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
Inherited from
MeetSemilattice
override
def meetSemilattice: BoundedSemilattice[A]
Definition Classes
BoundedMeetSemilattice -> MeetSemilattice
Inherited from
BoundedMeetSemilattice
def nand(a: A, b: A): A
Inherited from
Heyting
def nor(a: A, b: A): A
Inherited from
Heyting
def nxor(a: A, b: A): A
Inherited from
Heyting
def one: A
Inherited from
BoundedMeetSemilattice
def or(a: A, b: A): A
Inherited from
GenBool
def without(a: A, b: A): A
Inherited from
Bool
override
def xor(a: A, b: A): A
Definition Classes
Bool -> GenBool -> Heyting
Inherited from
Bool
def zero: A
Inherited from
BoundedJoinSemilattice