Class LongBoolVect

java.lang.Object
it.unimi.di.prog2.temisvolti.boolvect.AbstractBoolVect
it.unimi.di.prog2.temisvolti.boolvect.LongBoolVect
All Implemented Interfaces:
BoolVect

public class LongBoolVect extends AbstractBoolVect
Classe concreta che implementa un BoolVect denso di taglia pari a Long.SIZE.
  • Nested Class Summary

    Nested classes/interfaces inherited from class it.unimi.di.prog2.temisvolti.boolvect.AbstractBoolVect

    AbstractBoolVect.BooleanOperator
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private long
    I bit che rappresentano il BoolVector.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    and(BoolVect other)
    Rende questo BoolVect uguale all'and componente a componente di questo BoolVect e quello specificato.
    int
    Restituisce la dimensione del BoolVect.
    boolean
    Implementazione non specializzata di equals.
    int
     
    boolean
    leggiParziale(int pos)
    Funzione parziale che restituisce il valore di verità di posizione specificata.
    void
    or(BoolVect other)
    Rende questo BoolVect uguale all'or componente a componente di questo BoolVect e quello specificato.
    void
    Rende false tutti i valori di verità del BoolVect.
    void
    scriviParziale(int pos, boolean val)
    Funzione parziale che scrive il valore di verità dato nella posizione specificata.
    int
    Restituisce la taglia del BoolVect.
    void
    xor(BoolVect other)
    Rende questo BoolVect uguale allo xor componente a componente di questo BoolVect e quello specificato.

    Methods inherited from class it.unimi.di.prog2.temisvolti.boolvect.AbstractBoolVect

    componenteAComponente, leggi, scrivi, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface it.unimi.di.prog2.temisvolti.boolvect.BoolVect

    daString
  • Field Details

    • bits

      private long bits
      I bit che rappresentano il BoolVector.
  • Constructor Details

    • LongBoolVect

      public LongBoolVect()
  • Method Details

    • taglia

      public int taglia()
      Description copied from interface: BoolVect
      Restituisce la taglia del BoolVect.

      La taglia del BoolVect è il massimo valore possibile per la sua dimensione; detto altrimenti, è il più grande intero d per cui il valore di verità di posizione d - 1 può essere true. La taglia è un numero positivo sempre maggiore o uguale alla dimensione e vale convenzionalmente Integer.MAX_VALUE se la dimensione non è limitata.

      Returns:
      la taglia.
    • dimensione

      public int dimensione()
      Description copied from interface: BoolVect
      Restituisce la dimensione del BoolVect.

      La dimensione del BoolVect è il più grande intero d tale che il valore di verità in posizione d - 1 del BoolVect è è true. La dimensione ha un valore compreso tra 0 e la taglia (estremi inclusi).

      Returns:
      la dimensione.
    • pulisci

      public void pulisci()
      Description copied from interface: BoolVect
      Rende false tutti i valori di verità del BoolVect.
    • leggiParziale

      public boolean leggiParziale(int pos)
      Description copied from class: AbstractBoolVect
      Funzione parziale che restituisce il valore di verità di posizione specificata.
      Specified by:
      leggiParziale in class AbstractBoolVect
      Parameters:
      pos - la posizione, deve essere compresa tra 0 (incluso) e la taglia (esclusa).
      Returns:
      il valore di verità.
    • scriviParziale

      public void scriviParziale(int pos, boolean val)
      Description copied from class: AbstractBoolVect
      Funzione parziale che scrive il valore di verità dato nella posizione specificata.
      Specified by:
      scriviParziale in class AbstractBoolVect
      Parameters:
      pos - la posizione, deve essere compresa tra 0 (incluso) e la taglia (esclusa).
      val - il valore.
    • and

      public void and(BoolVect other) throws NullPointerException
      Description copied from interface: BoolVect
      Rende questo BoolVect uguale all'and componente a componente di questo BoolVect e quello specificato.

      Si osservi che, sebbene la dimensione degli operandi può essere diversa, in nessun caso la dimensione del risultato può eccedere la minore tra le due; l'and infatti è senz'altro false per tutte le posizioni che sono maggiori della dimensione di uno, o dell'altro, BoolVect booleano.

      Specified by:
      and in interface BoolVect
      Overrides:
      and in class AbstractBoolVect
      Parameters:
      other - l'altro BoolVect.
      Throws:
      NullPointerException - se l'agromento è null.
    • or

      public void or(BoolVect other) throws NullPointerException, IllegalArgumentException
      Description copied from interface: BoolVect
      Rende questo BoolVect uguale all'or componente a componente di questo BoolVect e quello specificato.

      Si osservi che se la dimensione dell'altro BoolVect è maggiore della taglia (e quindi dimensione) di questo, allora il valore di verità in posizione pari alla dimensione dell'altro BoolVect sarà true, ma non potrà essere memorizzato in questo BoolVect per via della sua taglia.

      Specified by:
      or in interface BoolVect
      Overrides:
      or in class AbstractBoolVect
      Parameters:
      other - l'altro BoolVect.
      Throws:
      NullPointerException - se l'agromento è null.
      IllegalArgumentException - se la taglia di questo BoolVect è minore della dimensione del risultato.
    • xor

      public void xor(BoolVect other) throws NullPointerException, IllegalArgumentException
      Description copied from interface: BoolVect
      Rende questo BoolVect uguale allo xor componente a componente di questo BoolVect e quello specificato.

      Si osservi che se la dimensione dell'altro BoolVect è maggiore della taglia (e quindi dimensione) di questo, allora il valore di verità in posizione pari alla dimensione dell'altro BoolVect sarà true, ma non potrà essere memorizzato in questo BoolVect per via della sua taglia.

      Specified by:
      xor in interface BoolVect
      Overrides:
      xor in class AbstractBoolVect
      Parameters:
      other - l'altro BoolVect.
      Throws:
      NullPointerException - se l'agromento è null.
      IllegalArgumentException - se la taglia di questo BoolVect è minore della dimensione del risultato.
    • equals

      public boolean equals(Object obj)
      Description copied from class: AbstractBoolVect
      Implementazione non specializzata di equals.

      Questa implementazione è molto inefficiente per il caso sparso; le sottoclassi dovrebbero implementare una versione ottimizzata e in ogni caso sovrascrivere Object.hashCode() in modo coerente.

      Overrides:
      equals in class AbstractBoolVect
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object