NuSMV/code/nusmv/core/utils/BigWordNumber_private.h File Reference

#include "nusmv/core/utils/WordNumber.h"
#include "nusmv/core/utils/BigWordNumber_private.h"
#include "nusmv/core/utils/utils.h"
#include "nusmv/core/utils/bignumbers/bignumbers.h"
#include "nusmv/core/utils/ustring.h"

Go to the source code of this file.

Data Structures

struct  WordNumber
 WordNumber struct. More...
struct  WordNumberValue_intern
 Private interface of the class BigWordNumber. More...

Typedefs

typedef WordNumberValue_internWordNumberValue_intern_ptr

Functions

void WNV_free_WordNumberValue_intern (WordNumberValue_intern_ptr value)
WordNumberValue_intern WordNumber_copy_WordNumberValue_intern (WordNumberValue_intern *)
WordNumberValue_intern WordNumber_create_WordNumberValue_intern (Number, int)
WordNumberValue_intern WordNumber_evaluate_and (WordNumberValue_intern v1, WordNumberValue_intern v2)
WordNumberValue_intern WordNumber_evaluate_concat (WordNumberValue_intern v1, WordNumberValue_intern v2)
WordNumberValue_intern WordNumber_evaluate_implies (WordNumberValue_intern v1, WordNumberValue_intern v2)
WordNumberValue_intern WordNumber_evaluate_left_rotate (WordNumberValue_intern v, int numberOfBits)
WordNumberValue_intern WordNumber_evaluate_left_shift (WordNumberValue_intern v, int numberOfBits)
WordNumberValue_intern WordNumber_evaluate_minus (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a subtraction of v1 by v2, modulo size v2
WordNumberValue_intern WordNumber_evaluate_mul (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a multiplication v1 by v2, modulo size v2
WordNumberValue_intern WordNumber_evaluate_not (WordNumberValue_intern v1)
 returns a WordNumberValue_intern which represents the value of a bitwise NOT(v)
WordNumberValue_intern WordNumber_evaluate_or (WordNumberValue_intern v1, WordNumberValue_intern v2)
WordNumberValue_intern WordNumber_evaluate_plus (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of an addition of v1 by v2, modulo size v2
WordNumberValue_intern WordNumber_evaluate_right_rotate (WordNumberValue_intern v, int numberOfBits)
WordNumberValue_intern WordNumber_evaluate_sdiv (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a signed division of v1 by v2. Implemented as: (bvsdiv s t) abbreviates (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvudiv s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvudiv (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvneg (bvudiv s (bvneg t))) (bvudiv (bvneg s) (bvneg t))))))
WordNumberValue_intern WordNumber_evaluate_select (WordNumberValue_intern v1, int highBit, int lowBit)
 returns a WordNumberValue_intern which represents the result of the word slice [highbit:lowbit]
WordNumberValue_intern WordNumber_evaluate_signed_extend (WordNumberValue_intern v, int numberOfTimes)
WordNumberValue_intern WordNumber_evaluate_srem (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a signed remainder of v1 by v2. Implemented as: (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvurem s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvurem (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvurem s (bvneg t))) (bvneg (bvurem (bvneg s) (bvneg t))))))
WordNumberValue_intern WordNumber_evaluate_sright_shift (WordNumberValue_intern v, int numberOfBits)
WordNumberValue_intern WordNumber_evaluate_udiv (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a unsigned division of v1 by v2.
WordNumberValue_intern WordNumber_evaluate_unary_minus (WordNumberValue_intern v)
 returns a WordNumberValue_intern which represents the value of an addition of 1 to the bitwise NOT of v
WordNumberValue_intern WordNumber_evaluate_unsigned_extend (WordNumberValue_intern v, int numberOfTimes)
WordNumberValue_intern WordNumber_evaluate_urem (WordNumberValue_intern v1, WordNumberValue_intern v2)
 returns a WordNumberValue_intern which represents the value of a signed remainder of v1 by v2. Implemented as: (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvurem s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvurem (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvurem s (bvneg t))) (bvneg (bvurem (bvneg s) (bvneg t))))))
WordNumberValue_intern WordNumber_evaluate_uright_shift (WordNumberValue_intern v, int numberOfBits)
WordNumberValue_intern WordNumber_evaluate_xnor (WordNumberValue_intern v1, WordNumberValue_intern v2)
WordNumberValue_intern WordNumber_evaluate_xor (WordNumberValue_intern v1, WordNumberValue_intern v2)
void WordNumber_free_WordNumberValue_intern (WordNumberValue_intern *)
char * WordNumber_Internal_value_to_based_string (WordNumberValue_intern value, int base, boolean isSigned)

Typedef Documentation

Todo:
Missing synopsis
Todo:
Missing description

Function Documentation

void WNV_free_WordNumberValue_intern ( WordNumberValue_intern_ptr  value  ) 
WordNumberValue_intern WordNumber_copy_WordNumberValue_intern ( WordNumberValue_intern  ) 

returns a new WordNumberValue_intern struct, which represents a copy of the word original

WordNumberValue_intern WordNumber_create_WordNumberValue_intern ( Number  ,
int   
)

returns a new WordNumberValue_intern struct, which represents a word with value number and width width

WordNumberValue_intern WordNumber_evaluate_and ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a bitwise v1 AND v2

WordNumberValue_intern WordNumber_evaluate_concat ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the result of the concatination v1 :: v2

WordNumberValue_intern WordNumber_evaluate_implies ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a bitwise NOT(v1) OR v2

WordNumberValue_intern WordNumber_evaluate_left_rotate ( WordNumberValue_intern  v,
int  numberOfBits 
)

returns a WordNumberValue_intern which represents a left rotation of v applied numberOfBits times

WordNumberValue_intern WordNumber_evaluate_left_shift ( WordNumberValue_intern  v,
int  numberOfBits 
)

returns a WordNumberValue_intern which represents a left shift of v applied numberOfBits times

WordNumberValue_intern WordNumber_evaluate_minus ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a subtraction of v1 by v2, modulo size v2

WordNumberValue_intern WordNumber_evaluate_mul ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a multiplication v1 by v2, modulo size v2

WordNumberValue_intern WordNumber_evaluate_not ( WordNumberValue_intern  v1  ) 

returns a WordNumberValue_intern which represents the value of a bitwise NOT(v)

WordNumberValue_intern WordNumber_evaluate_or ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a bitwise v1 OR v2

WordNumberValue_intern WordNumber_evaluate_plus ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of an addition of v1 by v2, modulo size v2

WordNumberValue_intern WordNumber_evaluate_right_rotate ( WordNumberValue_intern  v,
int  numberOfBits 
)

returns a WordNumberValue_intern which represents a right rotation of v applied numberOfBits times

WordNumberValue_intern WordNumber_evaluate_sdiv ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a signed division of v1 by v2. Implemented as: (bvsdiv s t) abbreviates (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvudiv s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvudiv (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvneg (bvudiv s (bvneg t))) (bvudiv (bvneg s) (bvneg t))))))

WordNumberValue_intern WordNumber_evaluate_select ( WordNumberValue_intern  v1,
int  highBit,
int  lowBit 
)

returns a WordNumberValue_intern which represents the result of the word slice [highbit:lowbit]

Description [returns a WordNumberValue_intern which represents the result of the word slice [highbit:lowbit]

SideEffects []

SeeAlso []

[EXTRACT_DOC_NOTE: * /]

returns a WordNumberValue_intern which represents the result of the word slice [highbit:lowbit]

SideEffects []

SeeAlso []

[EXTRACT_DOC_NOTE: * /]

WordNumberValue_intern WordNumber_evaluate_signed_extend ( WordNumberValue_intern  v,
int  numberOfTimes 
)

returns a WordNumberValue_intern which represents the signed extension of v of size numberOfTimes

WordNumberValue_intern WordNumber_evaluate_srem ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a signed remainder of v1 by v2. Implemented as: (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvurem s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvurem (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvurem s (bvneg t))) (bvneg (bvurem (bvneg s) (bvneg t))))))

WordNumberValue_intern WordNumber_evaluate_sright_shift ( WordNumberValue_intern  v,
int  numberOfBits 
)

returns a WordNumberValue_intern which represents a signed right shift of v applied numberOfBits times

WordNumberValue_intern WordNumber_evaluate_udiv ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a unsigned division of v1 by v2.

WordNumberValue_intern WordNumber_evaluate_unary_minus ( WordNumberValue_intern  v  ) 

returns a WordNumberValue_intern which represents the value of an addition of 1 to the bitwise NOT of v

WordNumberValue_intern WordNumber_evaluate_unsigned_extend ( WordNumberValue_intern  v,
int  numberOfTimes 
)

returns a WordNumberValue_intern which represents the unsigned extension of v of size numberOfTimes

WordNumberValue_intern WordNumber_evaluate_urem ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the value of a signed remainder of v1 by v2. Implemented as: (let ((?msb_s ((_ extract |m-1| |m-1|) s)) (?msb_t ((_ extract |m-1| |m-1|) t))) (ite (and (= ?msb_s b0) (= ?msb_t b0)) (bvurem s t) (ite (and (= ?msb_s b1) (= ?msb_t b0)) (bvneg (bvurem (bvneg s) t)) (ite (and (= ?msb_s b0) (= ?msb_t b1)) (bvurem s (bvneg t))) (bvneg (bvurem (bvneg s) (bvneg t))))))

WordNumberValue_intern WordNumber_evaluate_uright_shift ( WordNumberValue_intern  v,
int  numberOfBits 
)

returns a WordNumberValue_intern which represents a unsigned right shift of v applied numberOfBits times

WordNumberValue_intern WordNumber_evaluate_xnor ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents of a bitwise v1 XNOR v2

WordNumberValue_intern WordNumber_evaluate_xor ( WordNumberValue_intern  v1,
WordNumberValue_intern  v2 
)

returns a WordNumberValue_intern which represents the the value of a bitwise v1 XOR v2

void WordNumber_free_WordNumberValue_intern ( WordNumberValue_intern  ) 
char* WordNumber_Internal_value_to_based_string ( WordNumberValue_intern  value,
int  base,
boolean  isSigned 
)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

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