diff --git a/ext/enumerable/statistics/extension/statistics.c b/ext/enumerable/statistics/extension/statistics.c index 3006fdf..df93548 100644 --- a/ext/enumerable/statistics/extension/statistics.c +++ b/ext/enumerable/statistics/extension/statistics.c @@ -163,7 +163,7 @@ complex_add(VALUE self, VALUE other) real = f_add(RCOMPLEX(self)->real, other); - return complex_new(CLASS_OF(self), real, RCOMPLEX(other)->imag); + return complex_new(CLASS_OF(self), real, RCOMPLEX(self)->imag); } return rb_num_coerce_bin(self, other, idPLUS); } diff --git a/spec/array_spec.rb b/spec/array_spec.rb index 3759a6a..0a580b6 100644 --- a/spec/array_spec.rb +++ b/spec/array_spec.rb @@ -3,6 +3,12 @@ require 'delegate' RSpec.describe Array do + describe '#sum' do + it 'sums with a complex init' do + expect([1, 2, 3].sum(Complex(1, 2))).to eq(Complex(7, 2)) + end + end + describe '#mean' do let(:ary) { [] } let(:block) { nil }