ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
scalar.c File Reference
#include <stdint.h>
#include <string.h>
#include "python_types.h"
Include dependency graph for scalar.c:

Functions

static int __python_scalar_bytes_equal (const void *a, const void *b, size_t size)
static void __python_scalar_bytes_copy (void *dst, const void *src, size_t size)
void * __python_scalar_tag_copy (const void *value, size_t size)
int __python_scalar_eq_num (const PyObject *tagged, int type_matches, long long value)
int __python_scalar_eq_str (const PyObject *tagged, size_t type_id, const char *value, size_t size)
int __python_scalar_cmp_num (const PyObject *tagged, int type_matches, long long value)
int __python_scalar_cmp_str (const PyObject *tagged, size_t type_id, const char *value, size_t value_size)
int __python_scalar_eq_obj (const PyObject *a, const PyObject *b, size_t num_type_id, size_t bool_type_id)
int __python_scalar_cmp_obj (const PyObject *a, const PyObject *b, size_t num_type_id, size_t bool_type_id)
int __python_scalar_truthy (const PyObject *tagged, size_t str_type_id, size_t float_type_id)
size_t __python_scalar_strlen_bounded (const char *s)
long long __python_scalar_add_num (const PyObject *tagged, int type_matches, long long value)
char * __python_scalar_add_str (const PyObject *tagged, size_t type_id, const char *value, size_t value_size, int tagged_is_left)
long long __python_scalar_sub_num (const PyObject *tagged, int type_matches, long long value, int tagged_is_left)
double __python_scalar_div_num (const PyObject *tagged, int type_matches, long long value, int tagged_is_left)
long long __python_scalar_sub_num_dyn (const PyObject *lhs, int lhs_is_num, const PyObject *rhs, int rhs_is_num)
double __python_scalar_div_num_dyn (const PyObject *lhs, int lhs_is_num, const PyObject *rhs, int rhs_is_num)
PyObject __python_scalar_add_obj_dyn (const PyObject *lhs, int lhs_is_num, int lhs_is_str, const PyObject *rhs, int rhs_is_num, int rhs_is_str, size_t num_type_id, size_t str_type_id)

Function Documentation

◆ __python_scalar_add_num()

long long __python_scalar_add_num ( const PyObject * tagged,
int type_matches,
long long value )

◆ __python_scalar_add_obj_dyn()

PyObject __python_scalar_add_obj_dyn ( const PyObject * lhs,
int lhs_is_num,
int lhs_is_str,
const PyObject * rhs,
int rhs_is_num,
int rhs_is_str,
size_t num_type_id,
size_t str_type_id )

◆ __python_scalar_add_str()

char * __python_scalar_add_str ( const PyObject * tagged,
size_t type_id,
const char * value,
size_t value_size,
int tagged_is_left )

◆ __python_scalar_bytes_copy()

void __python_scalar_bytes_copy ( void * dst,
const void * src,
size_t size )
inlinestatic

◆ __python_scalar_bytes_equal()

int __python_scalar_bytes_equal ( const void * a,
const void * b,
size_t size )
inlinestatic

◆ __python_scalar_cmp_num()

int __python_scalar_cmp_num ( const PyObject * tagged,
int type_matches,
long long value )

◆ __python_scalar_cmp_obj()

int __python_scalar_cmp_obj ( const PyObject * a,
const PyObject * b,
size_t num_type_id,
size_t bool_type_id )

◆ __python_scalar_cmp_str()

int __python_scalar_cmp_str ( const PyObject * tagged,
size_t type_id,
const char * value,
size_t value_size )

◆ __python_scalar_div_num()

double __python_scalar_div_num ( const PyObject * tagged,
int type_matches,
long long value,
int tagged_is_left )

◆ __python_scalar_div_num_dyn()

double __python_scalar_div_num_dyn ( const PyObject * lhs,
int lhs_is_num,
const PyObject * rhs,
int rhs_is_num )

◆ __python_scalar_eq_num()

int __python_scalar_eq_num ( const PyObject * tagged,
int type_matches,
long long value )

◆ __python_scalar_eq_obj()

int __python_scalar_eq_obj ( const PyObject * a,
const PyObject * b,
size_t num_type_id,
size_t bool_type_id )

◆ __python_scalar_eq_str()

int __python_scalar_eq_str ( const PyObject * tagged,
size_t type_id,
const char * value,
size_t size )

◆ __python_scalar_strlen_bounded()

size_t __python_scalar_strlen_bounded ( const char * s)

◆ __python_scalar_sub_num()

long long __python_scalar_sub_num ( const PyObject * tagged,
int type_matches,
long long value,
int tagged_is_left )

◆ __python_scalar_sub_num_dyn()

long long __python_scalar_sub_num_dyn ( const PyObject * lhs,
int lhs_is_num,
const PyObject * rhs,
int rhs_is_num )

◆ __python_scalar_tag_copy()

void * __python_scalar_tag_copy ( const void * value,
size_t size )

◆ __python_scalar_truthy()

int __python_scalar_truthy ( const PyObject * tagged,
size_t str_type_id,
size_t float_type_id )