CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CppAD::local::sparse_pack Class Reference

Vector of sets of postivie integers, each set stored as a packed boolean array. More...

Public Types

typedef sparse_pack_const_iterator const_iterator
 declare a const iterator More...
 

Public Member Functions

void add_element (size_t i, size_t element)
 Add one element to a set. More...
 
void assignment (size_t this_target, size_t other_value, const sparse_pack &other)
 Assign one set equal to another set. More...
 
void binary_intersection (size_t this_target, size_t this_left, size_t other_right, const sparse_pack &other)
 Assing a set equal to the intersection of two other sets. More...
 
void binary_union (size_t this_target, size_t this_left, size_t other_right, const sparse_pack &other)
 Assing a set equal to the union of two other sets. More...
 
void clear (size_t target)
 Assign the empty set to one of the sets. More...
 
size_t end (void) const
 Fetch end for this vector of sets object. More...
 
bool is_element (size_t i, size_t element) const
 Is an element of a set. More...
 
size_t memory (void) const
 Amount of memory used by this vector of sets. More...
 
size_t n_set (void) const
 Fetch n_set for vector of sets object. More...
 
size_t number_elements (size_t i) const
 Count number of elements in a set. More...
 
void operator= (const sparse_pack &other)
 Assignment operator. More...
 
void post_element (size_t i, size_t element)
 Post an element for delayed addition to a set. More...
 
void print (void) const
 Print the vector of sets (used for debugging) More...
 
void process_post (size_t i)
 process post entries for a specific set. More...
 
void resize (size_t n_set, size_t end)
 Change number of sets, set end, and initialize all sets as empty. More...
 
 sparse_pack (void)
 Default constructor (no sets) More...
 
 sparse_pack (const sparse_pack &v)
 Make use of copy constructor an error. More...
 
 ~sparse_pack (void)
 Destructor. More...
 

Private Types

typedef size_t Pack
 Type used to pack elements (should be the same as corresponding typedef in multiple_n_bit() in test_more/sparse_hacobian.cpp) More...
 

Private Member Functions

void binary_union (size_t target, size_t left, const pod_vector< size_t > &right)
 Assign a set equal to the union of a set and a vector;. More...
 

Private Attributes

pod_vector< Packdata_
 Data for all the sets. More...
 
size_t end_
 Possible elements in each set are 0, 1, ..., end_ - 1 (set by constructor and resize). More...
 
const size_t n_bit_
 Number of bits per Pack value. More...
 
size_t n_pack_
 Number of Pack values necessary to represent end_ bits. (set by constructor and resize). More...
 
size_t n_set_
 Number of sets that we are representing (set by constructor and resize). More...
 

Friends

class sparse_pack_const_iterator
 

Detailed Description

Vector of sets of postivie integers, each set stored as a packed boolean array.

All the public members for this class are also in the sparse_list and sparse_vecsize classes. This defines the CppAD vector_of_sets concept.

Definition at line 33 of file sparse_pack.hpp.


The documentation for this class was generated from the following file: