Versions in this module Expand all Collapse all v0 v0.3.0 Feb 16, 2026 Changes in this version + const ExtraPadding + const HeaderWidth + const StatusWidth + const TaskWidth + const TimeWidth + var ErrEmptyLanguage = errors.New("no language specified") + var ErrHTTPRequest = errors.New("http request") + var ErrHTTPResponse = errors.New("http response") + var ErrInvalidData = errors.New("invalid data") + var ErrInvalidLanguage = errors.New("invalid language") + var ErrInvalidURL = errors.New("invalid URL") + var ErrLoadInfo = errors.New("load info") + var ErrNilConfiguration = errors.New("nil configuration") + var ErrNoImplementations = errors.New("no implementations found") + var ErrNoRunner = errors.New("no runner available") + var ErrNotConfigured = errors.New("not configured") + var ErrNotFound = afero.ErrFileNotFound + var ErrNotImplemented = errors.New("not implemented") + var ErrRunnerStart = errors.New("runner start error") + func NormalizationFactor() float64 + func ParseURL(url string) (int, int, error) + func WithBenchmarkResultCallback(fn func(tasks.Result)) func(*Benchmarker) + func WithBenchmarkWriter(w io.Writer) func(*Benchmarker) + func WithDir(dir string) func(*Exercise) + func WithDownloadLanguage(lang string) func(*Downloader) + func WithExerciseDir(dir string) func(*Benchmarker) + func WithInputFile(file string) func(*Exercise) + func WithLanguage(lang string) func(*Exercise) + func WithOverwrites(o *Overwrites) func(*Downloader) + func WithResultCallback(fn func(tasks.Result)) func(*Exercise) + func WithSkipImpl(skip bool) func(*Downloader) + func WithURL(url string) func(*Downloader) + func WithWriter(w io.Writer) func(*Exercise) + type Answer struct + One string + Two string + type BenchmarkData struct + Date time.Time + Day int + Implementations []*ImplementationData + Normalization float64 + Runs int + Title string + Year int + func (b *BenchmarkData) String() string + type Benchmarker struct + func NewBenchmarker(cfg config.ExerciseConfiguration, options ...func(*Benchmarker)) (*Benchmarker, error) + func (b *Benchmarker) Benchmark(afs afero.Fs, iterations int) ([]tasks.Result, error) + type Data struct + Answers Answer + InputData string + InputFileName string + TestCases TestCase + type Downloader struct + func NewDownloader(cfg config.DownloadConfiguration, options ...func(*Downloader)) (*Downloader, error) + func (d *Downloader) Download() error + func (d *Downloader) FilePath() string + type Exercise struct + Data *Data + Day int + ID string + Language string + Path string + Title string + URL string + Year int + func New(cfg config.ExerciseConfiguration, options ...func(*Exercise)) (*Exercise, error) + func (e *Exercise) Dir() string + func (e *Exercise) GetImplementations() ([]string, error) + func (e *Exercise) LogValue() slog.Value + func (e *Exercise) Solve(skipTests bool) ([]tasks.Result, error) + func (e *Exercise) String() string + func (e *Exercise) Test() ([]tasks.Result, error) + type ImplementationData struct + Name string + PartOne *PartData + PartTwo *PartData + func (i *ImplementationData) String() string + type Overwrites struct + Input bool + type PartData struct + Data []float64 + Max float64 + Mean float64 + Min float64 + type Test struct + Expected string + Input string + type TestCase struct + One []*Test + Two []*Test v0.1.0 Nov 13, 2023