Ticket #11417 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Fix small problem in Matrix * V3D operator

Reported by: Michael Wedel Owned by: Michael Wedel
Priority: major Milestone: Release 3.4
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Dan Nixon

Description (last modified by Michael Wedel) (diff)

In ticket #11006 I changed the operator Matrix * V3D to avoid two nested loops and prevent accesses to V3D's operator[] with indices greater 2 when the matrix had more than 3 rows.

At that point I overlooked that it is of course possible to perform a multiplication of a V3D with a Matrix which has less than 3 rows. I don't know how often this occurs in the codebase (the change did not break any tests), but anyway it's a non-obvious and unnecessary restriction (although technically the results of these multiplications would be a scalar or V2D), so I would like to fix that.

Change History

comment:1 Changed 6 years ago by Michael Wedel

  • Description modified (diff)

comment:2 Changed 6 years ago by Michael Wedel

  • Status changed from new to inprogress

Refs #11417. Add failing test case

Changeset: b7b6bd07e721dd961ee505926075f96400f584ca

comment:3 Changed 6 years ago by Michael Wedel

Refs #11417. Fix matrices with less than 3 rows

Changeset: ff00bd102fe55451e99d292ce5aaa31b41447fca

comment:4 Changed 6 years ago by Michael Wedel

Refs #11417. Add another failing test case

Instead of throwing a size mismatch exception, it throws an out of range exception from V3D.

Changeset: 34c649b632afeb951b25d1e1ed1f959d9f1b052a

comment:5 Changed 6 years ago by Michael Wedel

Refs #11417. Fixing case for matrices with more than 3 rows

Changeset: 05dc7bdbb64193872319c7546cae1387346323c0

comment:6 Changed 6 years ago by Michael Wedel

  • Status changed from inprogress to verify
  • Resolution set to fixed

This is being verified as pull request #441.

comment:7 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:8 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:9 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:10 Changed 6 years ago by Michael Wedel

Jenkins retest please

comment:11 Changed 6 years ago by Michael Wedel

Jenkins retest this please

comment:12 Changed 6 years ago by Dan Nixon

  • Status changed from verify to verifying
  • Tester set to Dan Nixon

comment:13 Changed 6 years ago by Dan Nixon

  • Status changed from verifying to closed

Merge pull request #441 from mantidproject/11417_fix_matrix_vector_multiplication

Treat cases in Matrix/V3D multiplication properly

Full changeset: 1c77c024c8c40ddcab69bbbdd9600d2c1b7737c2

comment:14 Changed 5 years ago by Nick Draper

Somehow these slipped through without a resolution. Set to Fixed.

comment:15 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12256

Note: See TracTickets for help on using tickets.