From f632695ef689f2d7b45193c4acbeb1803ee54b50 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Sun, 15 Mar 2026 22:50:18 +0900 Subject: [PATCH 1/2] test: Add complex number support to Array#sum --- spec/array_spec.rb | 6 ++++++ 1 file changed, 6 insertions(+) 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 } From ea716d877ad356b5264e7a5b0935fd22111331f0 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Sun, 15 Mar 2026 22:58:10 +0900 Subject: [PATCH 2/2] Correct complex addition logic in complex_add function --- ext/enumerable/statistics/extension/statistics.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); }