From 13b707a6693c3448bb4b3a70a67b07b38668bb61 Mon Sep 17 00:00:00 2001 From: "William T. Nelson" <35801+wtn@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:08:46 -0500 Subject: [PATCH] Fix ArgumentError typo --- lib/numo/linalg/function.rb | 6 +++--- spec/linalg/function/norm_spec.rb | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/numo/linalg/function.rb b/lib/numo/linalg/function.rb index be196ab..20fc90f 100644 --- a/lib/numo/linalg/function.rb +++ b/lib/numo/linalg/function.rb @@ -755,7 +755,7 @@ def norm(a, ord=nil, axis:nil, keepdims:false) axis = [axis] when Array if axis.size < 1 || axis.size > 2 - raise ArgmentError, "axis option should be 1- or 2-element array" + raise ArgumentError, "axis option should be 1- or 2-element array" end else raise ArgumentError, "invalid option for axis: #{axis}" @@ -767,7 +767,7 @@ def norm(a, ord=nil, axis:nil, keepdims:false) axis.each do |i| x = idx[i] if x.nil? - raise ArgmentError, "axis contains same dimension" + raise ArgumentError, "axis contains same dimension" end tmp << x idx[i] = nil @@ -816,7 +816,7 @@ def norm(a, ord=nil, axis:nil, keepdims:false) fixdims = [true] * a.ndim axis.each do |i| if i < -a.ndim || i >= a.ndim - raise ArgmentError, "axis (%d) is out of range", i + raise ArgumentError, "axis (%d) is out of range", i end fixdims[i] = :new end diff --git a/spec/linalg/function/norm_spec.rb b/spec/linalg/function/norm_spec.rb index 218c8bd..6e3c904 100644 --- a/spec/linalg/function/norm_spec.rb +++ b/spec/linalg/function/norm_spec.rb @@ -26,6 +26,12 @@ expect { described_class.norm(vec_a, 'fro') }.to raise_error(ArgumentError) end + it 'raises ArgumentError given an invalid axis option' do + expect { described_class.norm(mat_a, axis: []) }.to raise_error(ArgumentError, /axis option should be 1- or 2-element array/) + expect { described_class.norm(mat_a, axis: [0, 1, 2]) }.to raise_error(ArgumentError, /axis option should be 1- or 2-element array/) + expect { described_class.norm(mat_a, axis: [0, 0]) }.to raise_error(ArgumentError, /axis contains same dimension/) + end + it 'calculates the Froubenius norm of a real matrix' do norm = Math.sqrt(mat_a.transpose.dot(mat_a).trace) expect(described_class.norm(mat_a)).to be_within(norm).of(ERR_TOL)