WordNumberMgr Struct Reference

Public interface of class 'WordNumberMgr'. More...

#include <WordNumberMgr.h>

Related Functions

(Note that these are not member functions.)



WordNumber_ptr WordNumberMgr_and (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise AND of two Word numbers
WordNumber_ptr WordNumberMgr_bit_select (WordNumberMgr_ptr self, WordNumber_ptr v, int highBit, int lowBit)
 returns a Word number consisting of the bits [highBit .. lowBit] from a given Word number
WordNumber_ptr WordNumberMgr_concatenate (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns a concatenation of two Word numbers
WordNumberMgr_ptr WordNumberMgr_create (const NuSMVEnv_ptr env)
 The WordNumberMgr class constructor.
void WordNumberMgr_destroy (WordNumberMgr_ptr self)
 The WordNumberMgr class destructor.
WordNumber_ptr WordNumberMgr_iff (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise IFF(or XNOR) of two Word numbers
WordNumber_ptr WordNumberMgr_implies (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise IMPLIES of two Word numbers
WordNumber_ptr WordNumberMgr_integer_to_word_number (WordNumberMgr_ptr self, WordNumberValue value, int width)
 returns a WordNumber
WordNumber_ptr WordNumberMgr_left_rotate (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfBits)
 perform left rotate on a Word numbers
WordNumber_ptr WordNumberMgr_left_shift (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfBits)
 perform left shift on a Word numbers
WordNumber_ptr WordNumberMgr_max_signed_value (WordNumberMgr_ptr self, int width)
 returns a maximal value of signed word of given width. if unsigned long longs are used to store words
WordNumber_ptr WordNumberMgr_max_unsigned_value (WordNumberMgr_ptr self, int width)
 returns a maximal value of unsigned word of given width if unsigned long longs are used to store words
WordNumber_ptr WordNumberMgr_min_signed_value (WordNumberMgr_ptr self, int width)
 returns a minimal value of signed word of given width. if unsigned long longs are used to store words
WordNumber_ptr WordNumberMgr_minus (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform subtraction operation on Words
WordNumber_ptr WordNumberMgr_normalize_word_number (WordNumberMgr_ptr self, WordNumber_ptr v)
 returns a memory shared WordNumber
WordNumber_ptr WordNumberMgr_not (WordNumberMgr_ptr self, WordNumber_ptr v)
 returns bitwise NOT of a Word number
WordNumber_ptr WordNumberMgr_or (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise OR of two Word numbers
WordNumber_ptr WordNumberMgr_parsed_string_to_word_number (WordNumberMgr_ptr self, char *str, char **errorString)
 Constructs a Word number WordNumber_ptr from the string representation obtained during parsing.
WordNumber_ptr WordNumberMgr_plus (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform summation operation
WordNumber_ptr WordNumberMgr_right_rotate (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfBits)
 perform right rotate on a Word numbers
WordNumber_ptr WordNumberMgr_signed_divide (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform signed division operation on Words
WordNumber_ptr WordNumberMgr_signed_extend (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfTimes)
 performs sign extend, i.e. concatenates 'numberOfTimes' number of times the highest bit of v with v.
WordNumber_ptr WordNumberMgr_signed_integer_to_word_number (WordNumberMgr_ptr self, WordNumberValue value, int width)
 returns a WordNumber
WordNumber_ptr WordNumberMgr_signed_mod (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform remainder signed operation on Words
WordNumber_ptr WordNumberMgr_signed_right_shift (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfBits)
 perform right shift on a Word numbers
WordNumber_ptr WordNumberMgr_sized_string_to_word_number (WordNumberMgr_ptr self, char *str, int base, int width)
 Constructs a Word number WordNumber_ptr from the string representation.
WordNumber_ptr WordNumberMgr_string_to_word_number (WordNumberMgr_ptr self, char *str, int base)
 Constructs a Word number WordNumber_ptr from the string representation.
WordNumber_ptr WordNumberMgr_times (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform multiplidation operation on Words
WordNumber_ptr WordNumberMgr_unary_minus (WordNumberMgr_ptr self, WordNumber_ptr v)
 perform the negation operation
WordNumber_ptr WordNumberMgr_unsigned_divide (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform unsigned division operation on Words
WordNumber_ptr WordNumberMgr_unsigned_extend (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfTimes)
 performs unsign extend
WordNumber_ptr WordNumberMgr_unsigned_mod (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 perform remainder unsigned operation on Words
WordNumber_ptr WordNumberMgr_unsigned_right_shift (WordNumberMgr_ptr self, WordNumber_ptr v, int numberOfBits)
 perform right shift on a Word numbers
WordNumber_ptr WordNumberMgr_xnor (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise XNOR(or IFF) of two Word numbers
WordNumber_ptr WordNumberMgr_xor (WordNumberMgr_ptr self, WordNumber_ptr v1, WordNumber_ptr v2)
 returns bitwise XOR of two Word numbers

Detailed Description

Public interface of class 'WordNumberMgr'.

Author:
Alessandro Mariotti
Todo:
: Missing description

Definition of the public accessor for class WordNumberMgr


Friends And Related Function Documentation

WordNumber_ptr WordNumberMgr_and ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise AND of two Word numbers

the width of operands should be equal

WordNumber_ptr WordNumberMgr_bit_select ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  highBit,
int  lowBit 
) [related]

returns a Word number consisting of the bits [highBit .. lowBit] from a given Word number

highBit should be less than the Word width and greater or equal to lowBit. lowBit should be greater or equal to 0.

WordNumber_ptr WordNumberMgr_concatenate ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns a concatenation of two Word numbers

WordNumberMgr_ptr WordNumberMgr_create ( const NuSMVEnv_ptr  env  )  [related]

The WordNumberMgr class constructor.

AutomaticStart

The WordNumberMgr class constructor

See also:
WordNumberMgr_destroy
void WordNumberMgr_destroy ( WordNumberMgr_ptr  self  )  [related]

The WordNumberMgr class destructor.

The WordNumberMgr class destructor

See also:
WordNumberMgr_create
WordNumber_ptr WordNumberMgr_iff ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise IFF(or XNOR) of two Word numbers

the width of operands should be equal

WordNumber_ptr WordNumberMgr_implies ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise IMPLIES of two Word numbers

the width of operands should be equal

WordNumber_ptr WordNumberMgr_integer_to_word_number ( WordNumberMgr_ptr  self,
WordNumberValue  value,
int  width 
) [related]

returns a WordNumber

value and width should be correct, i.e. in a proper range. See WordNumber_from_signed_integer if original value is signed.

NOTE: Memory sharing is used, i.e. given the same parameter this constructor will return the same pointer (this is important for node_ptr hashing)

See also:
WordNumber_from_signed_integer
WordNumber_ptr WordNumberMgr_left_rotate ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfBits 
) [related]

perform left rotate on a Word numbers

the number of rotated bits should be in the range \[0, width\].

WordNumber_ptr WordNumberMgr_left_shift ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfBits 
) [related]

perform left shift on a Word numbers

the number of shifted bits should be in the range \[0, width\]. The word is padded with zeros.

WordNumber_ptr WordNumberMgr_max_signed_value ( WordNumberMgr_ptr  self,
int  width 
) [related]

returns a maximal value of signed word of given width. if unsigned long longs are used to store words

WordNumber_ptr WordNumberMgr_max_unsigned_value ( WordNumberMgr_ptr  self,
int  width 
) [related]

returns a maximal value of unsigned word of given width if unsigned long longs are used to store words

WordNumber_ptr WordNumberMgr_min_signed_value ( WordNumberMgr_ptr  self,
int  width 
) [related]

returns a minimal value of signed word of given width. if unsigned long longs are used to store words

WordNumber_ptr WordNumberMgr_minus ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform subtraction operation on Words

the width of operands should be equal

WordNumber_ptr WordNumberMgr_normalize_word_number ( WordNumberMgr_ptr  self,
WordNumber_ptr  v 
) [related]

returns a memory shared WordNumber

Todo:
Missing description
WordNumber_ptr WordNumberMgr_not ( WordNumberMgr_ptr  self,
WordNumber_ptr  v 
) [related]

returns bitwise NOT of a Word number

WordNumber_ptr WordNumberMgr_or ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise OR of two Word numbers

the width of operands should be equal

WordNumber_ptr WordNumberMgr_parsed_string_to_word_number ( WordNumberMgr_ptr  self,
char *  str,
char **  errorString 
) [related]

Constructs a Word number WordNumber_ptr from the string representation obtained during parsing.

The string is the string obtained during parsing. The string should correspond to the NuSMV lexer token "word constants", i.e. "0" character followed by the base, optional signed specifier, optional width (decimal number), "_" character and the value (binary, octal, decimal or hexadecimal number). The base and the digits should correspond each other.

The limit for width is implementation dependant. In the case of any problem NULL is returned, and if errorString is not NULL, it is set to a text string explaining the cause of the error. The returned error-string belongs to this function (it may change during next function invocation).

NOTE: Unlike the non Big WordNumberMgr_parsed_string_to_word_number this constructor IS memory shared

WordNumber_ptr WordNumberMgr_plus ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform summation operation

the width of operands should be equal

WordNumber_ptr WordNumberMgr_right_rotate ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfBits 
) [related]

perform right rotate on a Word numbers

the number of rotated bits should be in the range \[0, width\].

WordNumber_ptr WordNumberMgr_signed_divide ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform signed division operation on Words

the width of operands should be equal. The right operand should not be 0

WordNumber_ptr WordNumberMgr_signed_extend ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfTimes 
) [related]

performs sign extend, i.e. concatenates 'numberOfTimes' number of times the highest bit of v with v.

WordNumber_ptr WordNumberMgr_signed_integer_to_word_number ( WordNumberMgr_ptr  self,
WordNumberValue  value,
int  width 
) [related]

returns a WordNumber

This constructor is the same as WordNumber_from_integer except than value is interpreted as signed value casted to WordNumberValue.

The difference is that signed negative value casted to WordNumberValue will have 1s at positions greater than width. These bits are ignored but in WordNumber_from_integer they cause assertion violation.

For originally positive values both constructors behave the same.

See also:
WordNumber_from_integer
WordNumber_ptr WordNumberMgr_signed_mod ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform remainder signed operation on Words

the width of operands should be equal. The right operand should not be 0

WordNumber_ptr WordNumberMgr_signed_right_shift ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfBits 
) [related]

perform right shift on a Word numbers

the number of shifted bits should be in the range \[0, width\]. The word is padded with zeros.

WordNumber_ptr WordNumberMgr_sized_string_to_word_number ( WordNumberMgr_ptr  self,
char *  str,
int  base,
int  width 
) [related]

Constructs a Word number WordNumber_ptr from the string representation.

The string and base should be proper for standard he base can be 2, 8, 10 or 16. The number should be in the range supposed by the width. The provided width of the constant should be enough to hold the obtained number. In the case of any problem NULL is returned.

NOTE: Memory sharing is used, i.e. given a string with the same value of WordNumber this constructor will return the same pointer (this is important for node_ptr hashing)

WordNumber_ptr WordNumberMgr_string_to_word_number ( WordNumberMgr_ptr  self,
char *  str,
int  base 
) [related]

Constructs a Word number WordNumber_ptr from the string representation.

The string and base should be proper for standard "strtoull" function. The base can be 2, 8 or 16. In the case of any problem NULL is returned.

Note: base 10 is not allowed, because it does not provide enough info about the width of the Word number.

NOTE: Memory sharing is used, i.e. given a string with the same value of WordNumber this constructor will return the same pointer (this is important for node_ptr hashing)

WordNumber_ptr WordNumberMgr_times ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform multiplidation operation on Words

the width of operands should be equal

WordNumber_ptr WordNumberMgr_unary_minus ( WordNumberMgr_ptr  self,
WordNumber_ptr  v 
) [related]

perform the negation operation

WordNumber_ptr WordNumberMgr_unsigned_divide ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform unsigned division operation on Words

the width of operands should be equal. The right operand should not be 0.

WordNumber_ptr WordNumberMgr_unsigned_extend ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfTimes 
) [related]

performs unsign extend

WordNumber_ptr WordNumberMgr_unsigned_mod ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

perform remainder unsigned operation on Words

the width of operands should be equal. The right operand should not be 0. Note: numbers are considered as unsigned.

WordNumber_ptr WordNumberMgr_unsigned_right_shift ( WordNumberMgr_ptr  self,
WordNumber_ptr  v,
int  numberOfBits 
) [related]

perform right shift on a Word numbers

the number of shifted bits should be in the range \[0, width\]. The word is padded with zeros.

WordNumber_ptr WordNumberMgr_xnor ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise XNOR(or IFF) of two Word numbers

the width of operands should be equal

WordNumber_ptr WordNumberMgr_xor ( WordNumberMgr_ptr  self,
WordNumber_ptr  v1,
WordNumber_ptr  v2 
) [related]

returns bitwise XOR of two Word numbers

the width of operands should be equal


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1