SystemC 3.0.0
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions
sc_vector_utils.h File Reference
#include "sc_nbdefs.h"
#include "sc_nbutils.h"
Include dependency graph for sc_vector_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_dt::sc_big_op_type< WIDTH, true >
 
class  sc_dt::sc_big_op_type< WIDTH, false >
 
class  sc_dt::sc_big_op_info< WL, SL, WR, SR >
 
class  sc_dt::ScNativeDigits< int64 >
 
class  sc_dt::ScNativeDigits< uint64 >
 
class  sc_dt::ScNativeDigits< long >
 
class  sc_dt::ScNativeDigits< unsigned long >
 
class  sc_dt::ScNativeDigits< int >
 
class  sc_dt::ScNativeDigits< unsigned int >
 
class  sc_dt::vector_mac
 

Namespaces

namespace  sc_dt
 

Macros

#define VEC_MIN(A, B)   ( (A) <= (B) ? A : B )
 
#define VEC_MAX(A, B)   ( (A) >= (B) ? A : B )
 

Functions

int sc_dt::vector_skip_leading_ones (const int hod, const sc_digit *digits_p)
 
int sc_dt::vector_skip_leading_zeros (const int hod, const sc_digit *digits_p)
 
int sc_dt::vector_find_significant_hod (int hod, const sc_digit *digits)
 
void sc_dt::vector_add (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, const int result_hod, sc_digit *result_p)
 
template<bool SL, bool SS>
void sc_dt::vector_and (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, sc_digit *result_p)
 
bool sc_dt::vector_and_reduce (const int bits_n, const sc_digit *target_p)
 
bool sc_dt::vector_and_reduce (const sc_digit *target_p, const int left_i, const int right_i)
 
template<int SL, int SR>
int sc_dt::vector_compare (const int left_hod, const sc_digit *left_p, const int right_hod, const sc_digit *right_p)
 
void sc_dt::vector_copy (const int from_n, const sc_digit *from_p, const int to_n, sc_digit *to_p)
 
void sc_dt::vector_copy (int digits_n, const sc_digit *from_p, sc_digit *to_p)
 
void sc_dt::vector_extract (const sc_digit *source_p, sc_digit *destination_p, const int high_bit, const int low_bit)
 
void sc_dt::vector_fill (const sc_digit fill, const int to_hod, sc_digit *to_p)
 
void sc_dt::vector_fill_bits (sc_digit fill, sc_digit *target_p, const int high_bit, const int low_bit)
 
void sc_dt::vector_ones_complement (const int target_hod, sc_digit *target_p)
 
void sc_dt::vector_ones_complement (const int source_hod, const sc_digit *source_p, sc_digit *target_p)
 
void sc_dt::vector_reverse_bits (sc_digit *target_p, int high_i, int low_i)
 
void sc_dt::vector_insert_bits (const int from_digits_n, const sc_digit *from_p, sc_digit *to_p, const int high_bit_i, const int low_bit_i)
 
void sc_dt::vector_multiply (int left_hod, const sc_digit *left_p, int right_hod, const sc_digit *right_p, int result_hod, sc_digit *result_p)
 
template<bool SL, bool SS>
void sc_dt::vector_or (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, sc_digit *result_p)
 
bool sc_dt::vector_or_reduce (const int bits_n, const sc_digit *target_p)
 
bool sc_dt::vector_or_reduce (const sc_digit *target_p, const int left_i, const int right_i)
 
void sc_dt::vector_shift_left (const int from_digits_n, const sc_digit *from_p, const int to_digits_n, sc_digit *to_p, const int shift_n)
 
void sc_dt::vector_shift_left (const int target_n, sc_digit *target_p, const int shift_n)
 
void sc_dt::vector_shift_right (const int target_n, sc_digit *target_p, int bits_n, const sc_digit fill)
 
void sc_dt::vector_subtract_longer (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, const int result_hod, sc_digit *result_p)
 
void sc_dt::vector_subtract_shorter (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, const int result_hod, sc_digit *result_p)
 
void sc_dt::vector_twos_complement (const int target_n, sc_digit *target_p)
 
void sc_dt::vector_twos_complement (const int source_hod, const sc_digit *source_p, sc_digit *target_p)
 
template<bool SN, bool SD>
bool sc_dt::vector_divide (const int numerator_n, const sc_digit *numerator_p, const int denominator_n, const sc_digit *denominator_p, const int quotient_n, sc_digit *quotient_p, const int remainder_n, sc_digit *remainder_p)
 
template<int SL, int SS>
void sc_dt::vector_xor (const int longer_hod, const sc_digit *longer_p, const int shorter_hod, const sc_digit *shorter_p, sc_digit *result_p)
 
bool sc_dt::vector_xor_reduce (const int bits_n, const sc_digit *target_p)
 
bool sc_dt::vector_xor_reduce (const sc_digit *target_p, const int left_i, const int right_i)
 
void sc_dt::vector_zero (int from_i, int to_i, sc_digit *target_p)
 

Macro Definition Documentation

◆ VEC_MAX

#define VEC_MAX (   A,
 
)    ( (A) >= (B) ? A : B )

Definition at line 28 of file sc_vector_utils.h.

◆ VEC_MIN

#define VEC_MIN (   A,
 
)    ( (A) <= (B) ? A : B )

Definition at line 27 of file sc_vector_utils.h.