package Dumbbench::Result;
use strict;
use warnings;
use Carp ();
use Number::WithError;
use parent 'Number::WithError';
use Class::XSAccessor {
getters => {
nsamples => '_dbr_nsamples',
},
};
sub new {
my $proto = shift;
my $class = ref($proto)||$proto;
my $self;
if (not grep {$_ eq 'timing'} @_) {
push @_, 0 if @_ == 1;
$self = $proto->SUPER::new(@_);
$self->{_dbr_nsamples} = $proto->nsamples;
return $self;
}
my %opt = @_;
if (not defined $opt{timing} or not defined $opt{uncertainty}
or not defined $opt{nsamples}) {
Carp::croak("Need 'timing', 'uncertainty', and 'nsamples' parameters");
}
$self = $class->SUPER::new($opt{timing}, $opt{uncertainty});
$self->{_dbr_nsamples} = $opt{nsamples};
return $self;
}
1;