ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ADOLC::Sparse::detail::BvpData< BPPD > Struct Template Reference

Internal data structure managing buffers and parameters for bit-vector propagation. More...

#include <sparsedrivers.h>

Collaboration diagram for ADOLC::Sparse::detail::BvpData< BPPD >:
Collaboration graph
[legend]

Public Member Functions

 BvpData (const BvpData &)=delete
 
BvpData & operator= (const BvpData &)=delete
 
 BvpData (BvpData &&)=delete
 
BvpData & operator= (BvpData &&)=delete
 
 ~BvpData ()
 Destructor — frees dynamically allocated memory for bit patterns.
 
 BvpData (int depen, int indep)
 Constructs a bit-vector propagation data container.
 

Public Attributes

int rc_ {0}
 Return code from ADOL-C drivers.
 
int depen_ {-1}
 Number of dependent (output) variables.
 
int indep_ {-1}
 Number of independent (input) variables.
 
int wordsPerBatch_ {0}
 Number of bit words per batch.
 
int bitsPerStrip_ {0}
 Number of bits represented by one batch.
 
int numStripmineBatches_
 Number of batches needed to cover all variables.
 
std::vector< unsigned char > indepWordHasNonzero_
 
std::vector< double > valuepoint_
 
std::vector< bitword_t * > seed_
 Seed matrix partitions.
 
std::vector< bitword_t * > jacobianBitPattern_
 Jacobian bit pattern partitions.
 

Detailed Description

template<BitPatternPropagationDirection BPPD>
struct ADOLC::Sparse::detail::BvpData< BPPD >

Internal data structure managing buffers and parameters for bit-vector propagation.

This struct encapsulates the state and storage used during the computation of Jacobian sparsity patterns using bit-vector propagation (BVP).

It manages seed matrices, temporary buffers, and strip-mining batches, depending on the chosen bit pattern propagation direction.

Template Parameters
BPPDDirection of bit pattern propagation — Forward or Reverse.

Constructor & Destructor Documentation

◆ BvpData() [1/3]

ADOLC::Sparse::detail::BvpData< BPPD >::BvpData ( const BvpData< BPPD > &  )
delete

◆ BvpData() [2/3]

ADOLC::Sparse::detail::BvpData< BPPD >::BvpData ( BvpData< BPPD > &&  )
delete

◆ ~BvpData()

Destructor — frees dynamically allocated memory for bit patterns.

◆ BvpData() [3/3]

ADOLC::Sparse::detail::BvpData< BPPD >::BvpData ( int  depen,
int  indep 
)
inline

Constructs a bit-vector propagation data container.

Initializes memory and parameters for strip-mining based on the propagation direction and number of variables.

Parameters
depenNumber of dependent variables.
indepNumber of independent variables.

Member Function Documentation

◆ operator=() [1/2]

BvpData & ADOLC::Sparse::detail::BvpData< BPPD >::operator= ( BvpData< BPPD > &&  )
delete

◆ operator=() [2/2]

BvpData & ADOLC::Sparse::detail::BvpData< BPPD >::operator= ( const BvpData< BPPD > &  )
delete

Member Data Documentation

◆ bitsPerStrip_

int ADOLC::Sparse::detail::BvpData< BPPD >::bitsPerStrip_ {0}

Number of bits represented by one batch.

◆ depen_

int ADOLC::Sparse::detail::BvpData< BPPD >::depen_ {-1}

Number of dependent (output) variables.

◆ indep_

int ADOLC::Sparse::detail::BvpData< BPPD >::indep_ {-1}

Number of independent (input) variables.

◆ indepWordHasNonzero_

std::vector<unsigned char> ADOLC::Sparse::detail::BvpData< BPPD >::indepWordHasNonzero_

Flags marking independent variables that appear in nonzero entries.

◆ jacobianBitPattern_

std::vector<bitword_t *> ADOLC::Sparse::detail::BvpData< BPPD >::jacobianBitPattern_

Jacobian bit pattern partitions.

◆ numStripmineBatches_

int ADOLC::Sparse::detail::BvpData< BPPD >::numStripmineBatches_
Initial value:
{
0}

Number of batches needed to cover all variables.

◆ rc_

Return code from ADOL-C drivers.

◆ seed_

std::vector<bitword_t *> ADOLC::Sparse::detail::BvpData< BPPD >::seed_

Seed matrix partitions.

◆ valuepoint_

std::vector<double> ADOLC::Sparse::detail::BvpData< BPPD >::valuepoint_

Evaluation point values (used in tight control-flow mode).

◆ wordsPerBatch_

int ADOLC::Sparse::detail::BvpData< BPPD >::wordsPerBatch_ {0}

Number of bit words per batch.


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