README.changelog 13.8 KB
Newer Older
thomas.forbriger's avatar
thomas.forbriger committed
1
2
3
4
5
/*! \file README.changelog
 * \brief ChangeLog for C++ containers for numbers (libaff)
 *
 * ----------------------------------------------------------------------------
 *
6
 * $Id: README.changelog,v 1.35 2003-01-09 17:30:07 forbrig Exp $
thomas.forbriger's avatar
thomas.forbriger committed
7
8
9
10
11
12
13
 * 
 * Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt) 
 * 
 * C++ containers for numbers (libaff)
 *
 * This file contains:
 *  - \ref page_changelog
thomas.forbriger's avatar
thomas.forbriger committed
14
 *  - \ref page_project_status
thomas.forbriger's avatar
thomas.forbriger committed
15
16
17
18
19
20
21
 * 
 * REVISIONS and CHANGES 
 *  - 17/12/2002   V1.0   Thomas Forbriger 
 * 
 * ============================================================================
 */

thomas.forbriger's avatar
thomas.forbriger committed
22
/*! \page page_changelog ChangeLog (AFF)
thomas.forbriger's avatar
thomas.forbriger committed
23

24
  $Id: README.changelog,v 1.35 2003-01-09 17:30:07 forbrig Exp $
thomas.forbriger's avatar
thomas.forbriger committed
25

thomas.forbriger's avatar
thomas.forbriger committed
26
  \sa \ref page_project_status
thomas.forbriger's avatar
thomas.forbriger committed
27

thomas.forbriger's avatar
thomas.forbriger committed
28
29
  Major changes in the interface of the library are marked by \b !!.

30
31
32
33
34
  - \b 09/01/2003 (thof)
    - aff::Shaper, aff::util::Subarray, and aff::util::Slice now throw
      exceptions in case the user tries to specify too many dimensions by
      bracket operators.

35
36
37
38
39
  - \b 04/01/2003 (thof)
    - aff::deepcopy now converts to Tcontainer. And aff::util::Subarray
      and aff::util::Slice therefore provide a Tcontainer typedef. See also
      "\ref sec_design_interface_tcontainer".

40
41
  - \b 03/01/2003 (thof)
    - introduced lib/checkedcast.h and aff::util::SizeCheckedCast
42
    - \b !! aff::FortranArray now takes container type as template argument
thomas.forbriger's avatar
thomas.forbriger committed
43
44
45
46
    - copyout function now returns an aff::Array rather
      than an aff::ConstArray
    - aff::Array inherits copyout from aff::ConstArray
    - copyout now tested by tests/arraytest.cc
47
48
    - \b !! aff::deepcopy is now placed in namespace aff, because it may prove
      useful to external user together with slices and subarrays
49

thomas.forbriger's avatar
thomas.forbriger committed
50
51
52
  - \b 31/12/2002 (thof)
    - NULL is deprecated as pointed out by Wolfgang (replaced by literal 0 in
      lib/error.cc and lib/sharedheap_def.h)
thomas.forbriger's avatar
thomas.forbriger committed
53
54
55
56
57
58
59
    - Removed non-initializing constructors in aff::ConstArray and
      aff::ConstSeries (except default constructor, which is needed, when
      object is a container's element) as suggested by Wolfgang.
    - removed constructor from Theadstruct in aff::ConstSharedHeap
    - made the non-initializing constructor aff::ConstSharedHeap
      protected. Default constructor remains public (it is needed if we
      construct a container for ConstSharedHeap elements).
thomas.forbriger's avatar
thomas.forbriger committed
60

61
62
63
64
65
66
67
68
69
70
71
  - \b 29/12/2002 (thof)
    - aff::ConstArray and aff::ConstSeries now inherit from
      aff::ConstSharedHeap. See "\ref sec_design_replicated".
    - added section about sparse interface
      (\ref sec_design_interface_sparse)
    - added section about accessing internals
      (\ref sec_design_interface_internals)
    - \b !! reworked class aff::util::Subarray and introduced
      aff::subarray
    - \b !! reworked class aff::util::Slice and introduced
      aff::slice
72
73
74
75
76
77
78
79
80
81
82
83
84
85
    - use "using" syntax for access declarations
    - overloaded, protected versions of write-access operators lead to
      conflicts in derived classes. Resolved that conflicts and made shared
      heap objects data members in container classes.
    - aff::Strided now provides Fortran style constructor
    - reworked array classes to use shared heap member data and correct set of
      access operators - looks much more natural now
    - explain concept of member data representation 
      (\ref sec_design_hierarchy)
    - reworked series classes in the same way as array classes
    - introduced lib/deepcopy.h
    - factored out common code in copyin functions to aff::util::deepcopy
    - now and aff::Array should be able to copy in the values of an
      aff::Series
86

thomas.forbriger's avatar
thomas.forbriger committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  - \b 28/12/2002 (thof)
    - \b !! Wolfgang pointed out a fundamental design error: Classes
      aff::Array, aff::Series and aff::SharedHeap used a specialization of
      themselves as base class to implement a version for const element type
      (see "\ref sec_design_const"). Since specialization may only be declared
      after the general template itself, the base class definition is not
      available at the point it is used in the declaration of the general
      class template. We made the base class a completely independent class
      template. Base classes aff::ConstArray, aff::ConstSeries, and
      aff::ConstSharedHeap are introduced.
    - reworked documentation in
      -# lib/README
      -# lib/sharedheap.h
      -# array_dec.h

102
  - \b 27/12/2002 (thof)
103
    - completed Fortran interface documentation (\ref page_fortran)
104

thomas.forbriger's avatar
thomas.forbriger committed
105
106
107
108
109
110
111
  - \b 23/12/2002 (thof)
    - coded class aff::Subarray
    - coded class aff::Slice
    - introduced tests/helpertest.cc to test aff::Iterator,
      aff::Subarray and aff::Slice and tested helper classes
    - reorganized aff::Iterator code. Inheritance from Stepper does not work.
    - aff::Array::copyin() and aff::Array::copyout() work
thomas.forbriger's avatar
thomas.forbriger committed
112
113
    - introduced fortranshape.h and fortranshape.cc and herein
      aff::FortranArray and aff::util::FortranShape
114
    - Test of Fortran 77 interface works
thomas.forbriger's avatar
thomas.forbriger committed
115
116
117
118

  - \b 22/12/2002 (thof)
    - started test for interface to Fortran 77 code

thomas.forbriger's avatar
thomas.forbriger committed
119
120
121
  - \b 20/12/2002 (thof)
    - introduced aff/lib/seriesstepper.h and aff/lib/seriesstepper.cc
      which define aff::util::SeriesStepper
thomas.forbriger's avatar
thomas.forbriger committed
122
123
124
125
126
127
128
129
    - Access declarations are nor useable with functions
      that return a reference to *this. They must be
      reimplemented.
    - introduced class aff::LinearShape
    - provide appropriate Tstepper typedef in shape classes (requires forward
      declarations of stepper classes, because we do not like to include the
      full stepper header if we don't use it).
    - introduced aff::Iterator class template
thomas.forbriger's avatar
thomas.forbriger committed
130
    - reworked lib/README
thomas.forbriger's avatar
thomas.forbriger committed
131
    - moved SHeap to namespace util
thomas.forbriger's avatar
thomas.forbriger committed
132
133
134
135
    - reviewed README entirely
    - Remove unresolvable doxygen links in documentation parts of the code.
      Notice: There remain doxygen warning. Doxygen cannot deal with access
      declarations and has problems with member typedefs.
thomas.forbriger's avatar
thomas.forbriger committed
136

thomas.forbriger's avatar
thomas.forbriger committed
137
138
139
  - \b 19/12/2002 (thof)
    - \b !! aff::Array provides access to base classes through access
      functions and not through conversion operators.
thomas.forbriger's avatar
thomas.forbriger committed
140
141
142
143
    - Factored out header files for dump functions for different classes.
      This is necessary to use the SimpleRigidArray dump function within the
      Array class definition.
    - introduced function aff::util::StridedStepper::valid()
thomas.forbriger's avatar
update    
thomas.forbriger committed
144
145
    - aff::Array is now tested and works in its basic functionality
      (no subarrays, no slices, no deep copy, etc.)
thomas.forbriger's avatar
thomas.forbriger committed
146

thomas.forbriger's avatar
thomas.forbriger committed
147
148
149
  - \b 18/12/2002 (thof)
    - defined dump function for Strided
    - started with tests/shapetest.cc
thomas.forbriger's avatar
thomas.forbriger committed
150
    - reworked stridedstepper to fit into new concept
151
152
153
154
155
    - essential correction in aff::Strided::collapse()
    - aff::Strided, aff::Shaper, and aff::util::StridedStepper
      passed basic tests
    - additionally aff::SharedHeap and aff::SimpleRigidArray passed their
      basic tests
thomas.forbriger's avatar
thomas.forbriger committed
156
    - activated scalar assignment with aff::Array::operator=()
thomas.forbriger's avatar
thomas.forbriger committed
157
158

  - \b 17/12/2002 (thof)
thomas.forbriger's avatar
thomas.forbriger committed
159
    - introduced class Series
thomas.forbriger's avatar
thomas.forbriger committed
160
    - \b !! Array now inherits privately from Strided
thomas.forbriger's avatar
thomas.forbriger committed
161
162
    - use access declarations to declare base class functions that should be
      visible in the public interface of aff::Array and aff::SharedHeap
thomas.forbriger's avatar
thomas.forbriger committed
163
164
    - introduced tests/seriestest.cc
    - introduced dump function for class Series
thomas.forbriger's avatar
thomas.forbriger committed
165

thomas.forbriger's avatar
thomas.forbriger committed
166
167
168
169
170
*/
/*======================================================================*/

/*! \page page_project_status Project status (AFF)

171
  $Id: README.changelog,v 1.35 2003-01-09 17:30:07 forbrig Exp $
thomas.forbriger's avatar
thomas.forbriger committed
172

thomas.forbriger's avatar
thomas.forbriger committed
173
  \sa \ref page_changelog
thomas.forbriger's avatar
thomas.forbriger committed
174
175
176
177

  <TABLE>
    <TR><TD><B>Filename</B></TD>
        <TD><B>code is complete</B></TD>
thomas.forbriger's avatar
thomas.forbriger committed
178
        <TD><B>documentation is complete</B></TD>
thomas.forbriger's avatar
thomas.forbriger committed
179
        <TD><B>code is tested</B></TD>
thomas.forbriger's avatar
thomas.forbriger committed
180
        <TD><B>revision is required</B></TD>
thomas.forbriger's avatar
thomas.forbriger committed
181
    <TR><TD>libaff/README</TD>
thomas.forbriger's avatar
thomas.forbriger committed
182
183
184
185
        <TD>has no code</TD><TD> </TD><TD>has no code</TD>
        <TD>Explain Wolle's concept of multidimensional arrays.
            The HOWTO page needs a revision and much more examples.
        </TD>
thomas.forbriger's avatar
thomas.forbriger committed
186
187
    </TR>
    <TR><TD>libaff/array.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
188
        <TD>8/12/02</TD><TD>20/12/02</TD><TD>19/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
189
190
    </TR>
    <TR><TD>libaff/array_dec.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
191
        <TD>19/12/2002</TD><TD>28/12/2002</TD><TD>19/12/2002</TD>
thomas.forbriger's avatar
update    
thomas.forbriger committed
192
          <TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
193
194
    </TR>
    <TR><TD>libaff/array_def.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
195
        <TD>19/12/2002</TD><TD>20/12/2002</TD><TD>19/12/2002</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
196
197
    </TR>
    <TR><TD>libaff/binarray.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
198
        <TD>8/12/02</TD><TD>20/12/2002</TD><TD> </TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
199
200
    </TR>
    <TR><TD>libaff/dump.cc</TD>
thomas.forbriger's avatar
thomas.forbriger committed
201
        <TD>18/12/2002</TD><TD>20/12/2002</TD><TD>18/12/2002</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
202
203
    </TR>
    <TR><TD>libaff/dump.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
204
        <TD>19/12/2002</TD><TD>20/12/2002</TD><TD> </TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
205
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
206
    <TR><TD>libaff/fortranshape.cc</TD>
207
        <TD>23/12/02</TD><TD> </TD><TD>23/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
208
209
    </TR>
    <TR><TD>libaff/fortranshape.h</TD>
210
        <TD>23/12/02</TD><TD> </TD><TD>23/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
211
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
212
    <TR><TD>libaff/iterator.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
213
        <TD>20/12/2002</TD><TD> </TD><TD>23/12/02</TD>
214
        <TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
215
216
    </TR>
    <TR><TD>libaff/series.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
217
218
219
220
        <TD>17/12/02</TD><TD> </TD><TD> </TD>
        <TD>There is a constructor resolution conflict due to default
        arguments. <B>Resolving this will affect the interface
        definition</B></TD>
thomas.forbriger's avatar
thomas.forbriger committed
221
222
223
224
225
    </TR>
    <TR><TD>libaff/shaper.h</TD>
        <TD>12/12/02</TD><TD> </TD><TD>18/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/slice.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
226
        <TD>23/12/02</TD><TD> </TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
227
        <TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
228
229
    </TR>
    <TR><TD>libaff/subarray.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
230
        <TD>23/12/02</TD><TD> </TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
231
        <TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
232
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
233
234

    <TR><TD><BR><B>subdirectory "lib"</B></TD></TR>
thomas.forbriger's avatar
thomas.forbriger committed
235
    <TR><TD>libaff/lib/README</TD>
thomas.forbriger's avatar
thomas.forbriger committed
236
        <TD>has no code</TD><TD>20/12/02</TD><TD>has no code</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
237
    </TR>
238
    <TR><TD>libaff/lib/checkedcast.h</TD>
239
        <TD>03/01/2003</TD><TD>03/01/2003</TD><TD>03/01/2003</TD><TD> </TD>
240
    </TR>
241
242
243
    <TR><TD>libaff/lib/deepcopy.h</TD>
        <TD>29/12/02</TD><TD>29/12/2002</TD><TD>29/12/02</TD><TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
244
    <TR><TD>libaff/lib/error.cc</TD>
thomas.forbriger's avatar
thomas.forbriger committed
245
        <TD>16/12/02</TD><TD>20/12/2002</TD><TD>18/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
246
247
    </TR>
    <TR><TD>libaff/lib/error.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
248
        <TD>16/12/02</TD><TD>20/12/2002</TD><TD>18/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
    </TR>
    <TR><TD>libaff/lib/range.h</TD>
        <TD>13/12/02</TD><TD> </TD><TD> </TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/rawarfun.h</TD>
        <TD>13/12/02</TD><TD> </TD><TD>15/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/sharedheap.h</TD>
        <TD>13/12/02</TD><TD>13/12/02</TD><TD>16/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/sharedheap_def.h</TD>
        <TD>13/12/02</TD><TD>13/12/02</TD><TD>16/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/simplearray.h</TD>
        <TD>13/12/02</TD><TD> </TD><TD>15/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/strided.cc</TD>
thomas.forbriger's avatar
thomas.forbriger committed
266
        <TD>13/12/02</TD><TD>23/12/02</TD><TD>18/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
267
268
269
270
    </TR>
    <TR><TD>libaff/lib/strided.h</TD>
        <TD>13/12/02</TD><TD> </TD><TD>18/12/02</TD><TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
271
272
273
274
275
276
    <TR><TD>libaff/lib/seriesstepper.cc</TD>
        <TD>20/12/02</TD><TD>20/12/02</TD><TD> </TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/seriesstepper.h</TD>
        <TD>20/12/02</TD><TD>20/12/02</TD><TD> </TD><TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
277
    <TR><TD>libaff/lib/stridedstepper.cc</TD>
thomas.forbriger's avatar
thomas.forbriger committed
278
        <TD>18/12/02</TD><TD>23/12/02</TD><TD>18/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
279
280
281
282
283
    </TR>
    <TR><TD>libaff/lib/stridedstepper.h</TD>
        <TD>18/12/02</TD><TD> </TD><TD>18/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/types.h</TD>
thomas.forbriger's avatar
thomas.forbriger committed
284
        <TD>13/12/02</TD><TD>23/12/02</TD><TD>15/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
    </TR>
    <TR><TD>libaff/lib/dump_macros.h</TD>
        <TD>19/12/02</TD><TD>19/12/02</TD><TD>19/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/dump_sharedheap.h</TD>
        <TD>19/12/02</TD><TD> </TD><TD>19/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/dump_series.h</TD>
        <TD>19/12/02</TD><TD> </TD><TD>19/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/dump_array.h</TD>
        <TD>19/12/02</TD><TD> </TD><TD>19/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/dump_strided.h</TD>
        <TD>19/12/02</TD><TD> </TD><TD>19/12/02</TD><TD> </TD>
    </TR>
    <TR><TD>libaff/lib/dump_simplerigidarray.h</TD>
        <TD>19/12/02</TD><TD> </TD><TD>19/12/02</TD><TD> </TD>
thomas.forbriger's avatar
thomas.forbriger committed
303
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
304
305

    <TR><TD><BR><B>tests and examples</B></TD></TR>
thomas.forbriger's avatar
thomas.forbriger committed
306
    <TR><TD>libaff/tests/arraytest.cc</TD>
thomas.forbriger's avatar
update    
thomas.forbriger committed
307
        <TD>19/12/2002</TD><TD> </TD><TD>19/12/2002</TD>
thomas.forbriger's avatar
thomas.forbriger committed
308
309
310
311
312
313
          <TD> </TD>
    </TR>
    <TR><TD>libaff/tests/binarraytest.cc</TD>
        <TD> </TD><TD> </TD><TD> </TD>
          <TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
314
315
316
317
    <TR><TD>libaff/tests/helpertest.cc</TD>
        <TD>23/12/02</TD><TD> </TD><TD>23/12/02</TD>
          <TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
    <TR><TD>libaff/tests/rangetest.cc</TD>
        <TD> </TD><TD> </TD><TD> </TD>
          <TD> </TD>
    </TR>
    <TR><TD>libaff/tests/reprtest.cc</TD>
        <TD>16/12/02</TD><TD> </TD><TD>16/12/02</TD>
          <TD>does not check pathological cases</TD>
    </TR>
    <TR><TD>libaff/tests/seriestest.cc</TD>
        <TD> </TD><TD> </TD><TD> </TD>
          <TD> </TD>
    </TR>
    <TR><TD>libaff/tests/shapetest.cc</TD>
        <TD>18/12/02</TD><TD> </TD><TD>18/12/02</TD>
          <TD>does not check pathological cases</TD>
    </TR>
    <TR><TD>libaff/tests/simplearraytest.cc</TD>
        <TD>15/12/02</TD><TD> </TD><TD>15/12/02</TD>
          <TD>does not check pathological cases</TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
338
    <TR><TD>libaff/tests/f77common.inc</TD>
339
        <TD>23/12/02</TD><TD>27/12/02</TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
340
341
          <TD> </TD>
    </TR>
342
    <TR><TD>libaff/tests/f77interface.cc</TD>
343
        <TD>23/12/02</TD><TD>27/12/02</TD><TD>23/12/02</TD>
344
          <TD> </TD>
345
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
346
    <TR><TD>libaff/tests/f77procs.f</TD>
347
        <TD>23/12/02</TD><TD>27/12/02</TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
348
349
350
          <TD> </TD>
    </TR>
    <TR><TD>libaff/tests/f77proto.h</TD>
351
        <TD>23/12/02</TD><TD>27/12/02</TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
352
353
354
          <TD> </TD>
    </TR>
    <TR><TD>libaff/tests/f77test.cc</TD>
355
        <TD>23/12/02</TD><TD>27/12/02</TD><TD>23/12/02</TD>
thomas.forbriger's avatar
thomas.forbriger committed
356
357
          <TD> </TD>
    </TR>
thomas.forbriger's avatar
thomas.forbriger committed
358
  </TABLE>
thomas.forbriger's avatar
thomas.forbriger committed
359
360
361
*/

// ----- END OF README.changelog -----