[Rd] patch to improve matrix conformability error message

irederik m@iii@g oii oib@@et irederik m@iii@g oii oib@@et
Tue Apr 30 03:28:46 CEST 2019


I think this is a good idea. Is there a reason why it got no interest?
Slippery slope?

Or maybe others were also just occupied trying to figure out how
Joshua's second message had timestamp earlier than his first message?

On Fri, Apr 05, 2019 at 12:05:36PM -0400, Joshua N Pritikin wrote:
>With this patch,
>
>> A <- matrix(1, 2, 2)
>> B <- matrix(2, 3, 2)
>> A %*% B
>Error in A %*% B :
>  non-conformable arguments of dimension (2, 2) and (3, 2)
>
>From 205b591d4d14b5ff667325fb233a6deb08314726 Mon Sep 17 00:00:00 2001
>From: Joshua Nathaniel Pritikin <jpritikin using pobox.com>
>Date: Fri, 5 Apr 2019 12:03:58 -0400
>Subject: [PATCH] Improve non-conformable arguments error message
>
>---
> src/main/array.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
>diff --git a/src/main/array.c b/src/main/array.c
>index 4b95e33..cedf627 100644
>--- a/src/main/array.c
>+++ b/src/main/array.c
>@@ -1350,15 +1350,18 @@ SEXP attribute_hidden do_matprod(SEXP call, SEXP op, SEXP args, SEXP rho)
>     if (PRIMVAL(op) == 0) {
> 	/* primitive, so use call */
> 	if (ncx != nry)
>-	    errorcall(call, _("non-conformable arguments"));
>+	  errorcall(call, _("non-conformable arguments of dimension (%d, %d) and (%d, %d)"),
>+		    nrx, ncx, nry, ncy);
>     }
>     else if (PRIMVAL(op) == 1) {
> 	if (nrx != nry)
>-	    error(_("non-conformable arguments"));
>+	  error(_("non-conformable arguments of dimension (%d, %d) and (%d, %d)"),
>+		nrx, ncx, nry, ncy);
>     }
>     else {
> 	if (ncx != ncy)
>-	    error(_("non-conformable arguments"));
>+	  error(_("non-conformable arguments of dimension (%d, %d) and (%d, %d)"),
>+		nrx, ncx, nry, ncy);
>     }
>
>     if (isComplex(CAR(args)) || isComplex(CADR(args)))
>-- 
>2.19.1
>
>______________________________________________
>R-devel using r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list