barretenberg
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Member Functions | Public Attributes | List of all members
UintFuzzBase< Builder >::Instruction Class Reference

A class representing a single fuzzing instruction. More...

#include <uint.fuzzer.hpp>

Classes

union  ArgumentContents
 
struct  BitArgs
 
struct  ThreeArgs
 
struct  TwoArgs
 

Public Types

enum  OPCODE {
  CONSTANT , ADD , SUBTRACT , MULTIPLY ,
  DIVIDE , MODULO , AND , OR ,
  XOR , GET_BIT , SHL , SHR ,
  ROL , ROR , NOT , SET ,
  RANDOMSEED , _LAST
}
 

Static Public Member Functions

template<typename T >
requires SimpleRng<T>
static Instruction generateRandom (T &rng)
 Generate a random instruction.
 
template<typename T >
requires SimpleRng<T>
static Instruction mutateInstruction (Instruction instruction, T &rng, HavocSettings &havoc_config)
 Mutate a single instruction.
 

Public Attributes

OPCODE id
 
ArgumentContents arguments
 

Detailed Description

template<typename Builder>
class UintFuzzBase< Builder >::Instruction

A class representing a single fuzzing instruction.

Member Function Documentation

◆ generateRandom()

template<typename Builder >
template<typename T >
requires SimpleRng<T>
static Instruction UintFuzzBase< Builder >::Instruction::generateRandom ( T &  rng)
inlinestatic

Generate a random instruction.

Template Parameters
TPRNG class type
Parameters
rngPRNG used
Returns
A random instruction

◆ mutateInstruction()

template<typename Builder >
template<typename T >
requires SimpleRng<T>
static Instruction UintFuzzBase< Builder >::Instruction::mutateInstruction ( Instruction  instruction,
T &  rng,
HavocSettings havoc_config 
)
inlinestatic

Mutate a single instruction.

Template Parameters
TPRNG class
Parameters
instructionThe instruction
rngPRNG
havoc_configMutation configuration
Returns
Mutated instruction

The documentation for this class was generated from the following file: