Gymbo

Classes | Namespaces | Typedefs | Enumerations
type.h File Reference

Implementatations of basic alias, types, and classes. More...

`#include <unordered_map>`
`#include <unordered_set>`
`#include <utility>`
`#include "utils.h"`
Include dependency graph for type.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
class | gymbo::Instr
| Class representing an instruction. More...
struct | gymbo::Grad
| Struct representing the gradient of a symbolic expression. More...
struct | gymbo::Sym
| Struct representing a symbolic expression. More...
struct | gymbo::DiscreteDist
| Represents a discrete probability distribution. More...
struct | gymbo::DiscreteUniformDist
| Represents a discrete uniform distribution derived from DiscreteDist. More...
struct | gymbo::BernoulliDist
| Represents a bernoulli distribution derived from DiscreteDist. More...
struct | gymbo::BinomialDist
| Represents a binomial distribution derived from DiscreteDist. More...
struct | gymbo::SymProb
| Represents a symbolic probability with a numerator and denominator. More...
struct | gymbo::SymState
| Struct representing the symbolic state of the symbolic execution. More...
struct | gymbo::Trace
| Struct representing a trace in symbolic execution. More...

## Namespaces
| gymbo

## Typedefs
using | gymbo::Word32 = uint32_t
| Alias for 32-bit unsigned integer. More...
using | gymbo::Prog = std::vector< Instr >
| Alias for a program, represented as a vector of instructions. More...
using | gymbo::Mem = std::unordered_map< Word32, Word32 >
| Alias for memory, represented as an unordered map of 32-bit words. More...
using | gymbo::SMem = std::unordered_map< Word32, Sym >
| Alias for symbolic memory, represented as an unordered map of symbolic expressions. More...
using | gymbo::PathConstraintsTable = std::unordered_map< std::string, std::pair< bool, std::unordered_map< int, float > >>
| Alias for a table of path constraints. More...
using | gymbo::ProbPathConstraintsTable = std::unordered_map< int, std::vector< std::tuple< Sym, Mem, SymProb > >>
| Alias for a table of probabilistic path constraints. More...

## Enumerations
enum class | gymbo::InstrType { gymbo::Add , gymbo::Sub , gymbo::Mul , gymbo::JmpIf , gymbo::Jmp , gymbo::And , gymbo::Or , gymbo::Not , gymbo::Lt , gymbo::Le , gymbo::Eq , gymbo::Push , gymbo::Store , gymbo::Load , gymbo::Pop , gymbo::Read , gymbo::Print , gymbo::Swap , gymbo::Dup , gymbo::Over , gymbo::RotL , gymbo::Done , gymbo::Nop }
| Enum representing different instruction types. More...
enum class | gymbo::SymType { gymbo::SAdd , gymbo::SSub , gymbo::SMul , gymbo::SEq , gymbo::SNot , gymbo::SOr , gymbo::SCon , gymbo::SCnt , gymbo::SAnd , gymbo::SLt , gymbo::SLe , gymbo::SAny }
| Enum representing different symbolic expression types. More...

## Detailed Description

Implementatations of basic alias, types, and classes.

Author
  Hideaki Takahashi