class Crowbar::Metadata

Overview

Detailed metadata record for each transformation round. Provides telemetry for mutations applied, modified offsets, and reproducibility.

Defined in:

crowbar/metadata.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(seed : UInt64 = 0_u64, iteration : Int64 = 0_i64, input_size : Int32 = 0, output_size : Int32 = 0) #

Instance Method Detail

def fitness : Float64 #

def fitness=(fitness : Float64) #

def input_size : Int32 #

def input_size=(input_size : Int32) #

def iteration : Int64 #

def iteration=(iteration : Int64) #

def modified_ranges : Array(Tuple(Int32, Int32)) #

def modified_ranges=(modified_ranges : Array(Tuple(Int32, Int32))) #

def mutations_applied : Array(String) #

def mutations_applied=(mutations_applied : Array(String)) #

def output_size : Int32 #

def output_size=(output_size : Int32) #

def record_mutation(name : String, range : Tuple(Int32, Int32) | Nil = nil, description : String | Nil = nil) #

def record_step(category : StepCategory, name : String, description : String, range : Tuple(Int32, Int32) | Nil = nil, diff_bytes : Int32 = 0, details : Hash(String, String) = Hash(String, String).new) : TransformationStep #

def seed : UInt64 #

def seed=(seed : UInt64) #

def steps : Array(TransformationStep) #

def steps=(steps : Array(TransformationStep)) #

def to_s(io : IO) #
Description copied from class Reference

Appends a short String representation of this object which includes its class name and its object address.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).to_s # => #<Person:0x10a199f20>