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

#include "nusmv/core/utils/utils.h"

Go to the source code of this file.

Data Structures

struct  Number
 General header to include when using infinite length numbers. More...

Functions

int BigNumber_assign_number_from_string (char *string, char *error_char, int base, Number *value)
 returns 1 if string represents a number in base base
Number BigNumber_bit_and (Number *left, Number *right)
Number BigNumber_bit_complement (Number *n)
 returns the 1's complement of n
Number BigNumber_bit_left_shift (Number *number, int amount)
Number BigNumber_bit_or (Number *left, Number *right)
Number BigNumber_bit_right_shift (Number *number, int amount)
Number BigNumber_bit_xor (Number *left, Number *right)
Number BigNumber_copy (Number *orig)
void BigNumber_divmod (Number *left, Number *right, Number *q, Number *r)
 Performs a division of left by right and stores the results in the locations of q & r.
boolean BigNumber_does_integer_fit_into_number_of_bits (Number *v, int widht)
boolean BigNumber_equal (Number *left, Number *right)
void BigNumber_free_number (Number *number)
 Frees the heap space occupied by number.
boolean BigNumber_identity (Number *left, Number *right)
boolean BigNumber_less_than (Number *left, Number *right)
Number BigNumber_make_number_from_long (long n)
Number BigNumber_make_number_from_unsigned_long_long (unsigned long long n)
Number BigNumber_max_unsigned_int (int widht)
Number BigNumber_minus (Number *left, Number *right)
Number BigNumber_multiplication (Number *left, Number *right)
Number BigNumber_plus (Number *left, Number *right)
Number BigNumber_pow2 (int widht)
char * BigNumber_print_as_number (Number *number, int base)
 Returns a string repr of number in base base, must be freed by caller.
void BigNumber_set_bit (Number *number, int location, int value)
boolean BigNumber_test_bit (Number *number, int location)
boolean BigNumber_to_unsigned_long_long (Number *number, unsigned long long *target)
 returns 1 if number fits in an unsigned long long.
Number BigNumber_twos_complement (Number *n, int width)

Function Documentation

int BigNumber_assign_number_from_string ( char *  string,
char *  error_char,
int  base,
Number value 
)

returns 1 if string represents a number in base base

returns 1 if string represents a number in base base

if 1 is returned, numb is set to the value of string

Number BigNumber_bit_and ( Number left,
Number right 
)

returns the bitwise and of left and right

Number BigNumber_bit_complement ( Number n  ) 

returns the 1's complement of n

AutomaticStart

returns the 1's complement of n

Number BigNumber_bit_left_shift ( Number number,
int  amount 
)

returns the result of a leftwise shift of amount

Number BigNumber_bit_or ( Number left,
Number right 
)

returns the bitwise or of left and right

Number BigNumber_bit_right_shift ( Number number,
int  amount 
)

returns the result of a rightwise shift of amount

Number BigNumber_bit_xor ( Number left,
Number right 
)

returns the bitwise xor of left and right

Number BigNumber_copy ( Number orig  ) 

returns a new Number of value orig

void BigNumber_divmod ( Number left,
Number right,
Number q,
Number r 
)

Performs a division of left by right and stores the results in the locations of q & r.

q is set to left /(int) right, r is set to left % right

boolean BigNumber_does_integer_fit_into_number_of_bits ( Number v,
int  widht 
)

returns 1 if value can be expressed in width bits

boolean BigNumber_equal ( Number left,
Number right 
)

returns 1 if left == right 0, otherwise

void BigNumber_free_number ( Number number  ) 

Frees the heap space occupied by number.

Frees the heap space occupied by number

boolean BigNumber_identity ( Number left,
Number right 
)

returns 1 if &left == &right 0, otherwise

boolean BigNumber_less_than ( Number left,
Number right 
)

returns 1 if left < right 0, otherwise

Number BigNumber_make_number_from_long ( long  n  ) 

returns a number of value n.

Number BigNumber_make_number_from_unsigned_long_long ( unsigned long long  n  ) 

returns a new Number of value n

Number BigNumber_max_unsigned_int ( int  widht  ) 

returns 2^n - 1.

Number BigNumber_minus ( Number left,
Number right 
)

returns a new Number of value left - right

Number BigNumber_multiplication ( Number left,
Number right 
)

returns a new Number of value left * right

Number BigNumber_plus ( Number left,
Number right 
)

returns a new Number of value left + right

Number BigNumber_pow2 ( int  widht  ) 

returns 2^n.

char* BigNumber_print_as_number ( Number number,
int  base 
)

Returns a string repr of number in base base, must be freed by caller.

Returns a string repr of number in base base

void BigNumber_set_bit ( Number number,
int  location,
int  value 
)

sets the given bit of the binary representation of the number to the given value

boolean BigNumber_test_bit ( Number number,
int  location 
)

returns 1 if the given bit of the binary representation of the number is set, 0 otherwise

boolean BigNumber_to_unsigned_long_long ( Number number,
unsigned long long *  target 
)

returns 1 if number fits in an unsigned long long.

returns 1 if number fits in an unsigned long long.

if 1 is returned, target is equal to the value of number.

Number BigNumber_twos_complement ( Number n,
int  width 
)

returns the 2's complement of the given number, using the given number of bits

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

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