Ticket #59 (closed: fixed)

Opened 13 years ago

Last modified 5 years ago

Implement simple workspace operations (+,-,*,/, maybe ^)

Reported by: Nick Draper Owned by: Dickon Champion
Priority: critical Milestone: Iteration 4
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

These should be implmented as operator overloads that simply call algorithms to do the job.

We need to define a chart of what operations between which workspaces are actually valid and enforce this.

Then it is possible that the use of STL iterators and function pointers may allow this to be done in a generic manner.

Change History

comment:1 Changed 13 years ago by Nick Draper

  • Priority changed from major to critical

comment:2 Changed 13 years ago by Nick Draper

Workspace Type1D2DSingleValuen-tupleAbstract
1D+,-,/,*+,-,/,*+,-,/,*
2D+,-,/,*+,-,/,*
SingleValue
n-tuple
Abstract

With similar workspaces the array bounds must match, and for 2D the Y axes values must match.

With 1D and 2D workspaces it should be assumed that this applies the same value across the Y axis, and therefor only the X axis must match.

Single values will apply to every cell.

comment:3 Changed 13 years ago by Nick Draper

  • Owner set to Dickon Champion

comment:4 Changed 13 years ago by Nick Draper

delayed due to dependency on #57

comment:5 Changed 13 years ago by Nick Draper

  • Milestone changed from Iteration 3 to Iteration 4

comment:6 Changed 13 years ago by Dickon Champion

(In [537]) initial implementation of plus algorithm, no testing of workspace agreement, creating of output workspace performed in plus.cpp refs #59

comment:7 Changed 13 years ago by Nick Draper

(In [538]) re #59 Fix gcc compile errors

comment:8 Changed 13 years ago by Nick Draper

(In [539]) re #59 Added a unit test

comment:9 Changed 13 years ago by Nick Draper

(In [540]) re #59 Added a unit test ... and here it is!

comment:10 Changed 13 years ago by Nick Draper

(In [541]) re #59 added a missing include

comment:11 Changed 13 years ago by Nick Draper

(In [542]) re #59 Renamed remotely

comment:12 Changed 13 years ago by Nick Draper

(In [543]) re #59 Renamed remotely

comment:13 Changed 13 years ago by Nick Draper

(In [544]) re #59 Final case correction

comment:14 Changed 13 years ago by Nick Draper

(In [545]) re #59 Final case correction, unless of course there was another

comment:15 Changed 13 years ago by Nick Draper

(In [547]) re #59 Added minus

comment:16 Changed 13 years ago by Nick Draper

(In [548]) re #59 Added WorkspaceCreationHelper

comment:17 Changed 13 years ago by Nick Draper

(In [549]) re #59 Added multiply and divide

comment:18 Changed 13 years ago by Nick Draper

(In [550]) re #59 renamed WorkspaceCreationHelper.h to WorkspaceCreationHelper.hh to prevent scons from trying to build it as a test cpp

comment:19 Changed 13 years ago by Nick Draper

(In [551]) re #59 doxygen errors

comment:20 Changed 13 years ago by Nick Draper

(In [554]) re #59 improve object lifetime of the Plus algorithm results If this works the same fix will be applied to minus multiply and divide

comment:21 Changed 13 years ago by Nick Draper

(In [557]) re #59 Same fix as before applied to minus, multiply and divide

comment:22 Changed 13 years ago by Nick Draper

(In [558]) re #59 doxygen errors

comment:23 Changed 13 years ago by Nick Draper

(In [559]) re #59 doxygen errors

comment:24 Changed 13 years ago by Nick Draper

(In [566]) re #59 correct property naming error

comment:25 Changed 13 years ago by Dickon Champion

(In [581]) fixed a bug and improved tests re #59

comment:26 Changed 13 years ago by Dickon Champion

(In [582]) improved tests re #59

comment:27 Changed 13 years ago by Dickon Champion

(In [584]) add in extra x array checking for binary operations, in doing so removed workspace.getX/Y/E function to leave workspace.dataX/Y/E which either returns a const or non-const std::vector<double&>

changed getY/Y/E functions to call new function

re #59

comment:28 Changed 13 years ago by Dickon Champion

(In [585]) changed getY/Y/E functions in test to call new function

re #59

comment:29 Changed 13 years ago by Dickon Champion

(In [586]) changed getY/Y/E functions in test to call new function missed one...

re #59

comment:30 Changed 13 years ago by Dickon Champion

(In [587]) and try again this time extra virtual functions in test/WorkspaceFactoryTest.h

re #59

comment:31 Changed 13 years ago by Dickon Champion

(In [588]) now some doxygen errors

re #59

comment:32 Changed 13 years ago by Dickon Champion

(In [589]) some more doxygen errors

re #59

comment:33 Changed 13 years ago by Dickon Champion

(In [590]) definitely the last doxygen errors

re #59

comment:34 Changed 13 years ago by Dickon Champion

(In [591]) definitely definitely the last doxygen errors

re #59

comment:35 Changed 13 years ago by Nick Draper

  • Status changed from new to closed
  • Resolution set to fixed

comment:36 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 907

Note: See TracTickets for help on using tickets.