forked from blitzpp/blitz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.1
3573 lines (3100 loc) · 170 KB
/
ChangeLog.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-11-23 Patrik Jonsson <code@familjenjonsson.org>
* blitz/array-impl.h, blitz/indexexpr.h, blitz/range.h,
blitz/tvecglobs.h, blitz/array/domain.h, blitz/array/eval.cc,
blitz/array/fastiter.h, blitz/array/functorExpr.h,
blitz/array/methods.cc, blitz/array/slicing.cc,
blitz/array/stencil-et.h, blitz/array/where.h, blitz/meta/dot.h,
blitz/meta/product.h, blitz/meta/sum.h, config/mdate-sh: Check-in
of the previously posted 64-bit patch to allow >2^31 elements in
an array.
2009-10-20 Patrick Guio <p.guio@ucl.ac.uk>
* Makefile.am: Force to run a make in the blitz directory before
make in the lib directory to ensure that the all targets in blitz
subdirectories (like blitz/generate are up-to-date).
2009-08-21 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/Makefile.am: Cleaned targets, rules and dependencies.
2009-08-17 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/Makefile.am blitz/array/Makefile.am: Added generated headers
(genheaders) to `clean-local' target.
* blitz/generate/Makefile.am: Added EXTRA_PROGRAMS dependency to the
all-am target.
2009-06-29 Patrick Guio <p.guio@ucl.ac.uk>
* configure.ac: Added call to set up directory `m4' as an additional
local Autoconf macro directory.
Test availability of `makeinfo' and set up an automake conditional.
* doc/Makefile.am: Set up `makeinfo' targets only when command available.
* doc/examples/slicing.cpp: fixed use of toEnd (fromStart and
toEnd are not defined within the Range class any longer).
2009-04-24 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz: array-impl.h array/methods.cc: add const qualifier to the
transpose method.
2009-03-30 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/array/iter.h: Replace uses of dataFirst() by data() to remove
iteration errors on eg reversed arrays. Corrected checks for this case.
* testsuite/slice-iterators.cpp: Add a test.
2009-03-26 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/: matbops.h, mathfunc.h, matuops.h, promote-old.h,
vecbfn.cc, vecbops.cc, vecuops.cc, vecwhere.cc, array/bops.cc,
array/uops.cc:
Files removed from repository as they are automatically generated by codes
located in blitz/generate directory.
2009-03-26 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/: matbops.h, mathfunc.h, matuops.h, promote-old.h,
vecbfn.cc, vecbops.cc, vecuops.cc, vecwhere.cc, array/bops.cc,
array/uops.cc:
Last changes registered before the files are removed from the repository
and copied to the repository Attic.
2009-03-26 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/genvecuops.cpp:
Typo fixe.
2009-03-26 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/: bzfstream.h, genarrbops.cpp, genarruops.cpp,
genmatbops.cpp, genmathfunc.cpp, genmatuops.cpp, genpromote.cpp,
genvecbfn.cpp, genvecbops.cpp, genvecuops.cpp, genvecwhere.cpp:
Added cvs `revision' keyword of the generator code into the generated
file.
2009-03-26 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/genmathfunc.cpp:
Updated to generate the current revision of header <blitz/mathfunc.h>.
The changes in revision 1.13 and 1.14 of the header <blitz/mathfunc.h>
were done on the file itself and not by the code generator, which should
not have happened since <blitz/mathfunc.h> is supposed to be generated.
The change introduced in revison 1.14 (include <cstdlib>) has not been
reflected in the code generator since it is already included in
<blitz/compiler.h>.
2009-03-25 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/: arroperands.h, genmathfunc.cpp, operands.h,
operands2.h:
Removed unnecessary include header <string>.
2009-03-25 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/: arroperands.h, operands.h, operands2.h:
Explicitly include header <cstring> for declaration of C string functions
strlen() and strcmp().
2009-03-24 Patrick Guio <p.guio@ucl.ac.uk>
* blitz/generate/genmathfunc.cpp:
Explicitly include header <cstring> for declaration of C string functions
strlen() and strcmp().
2009-03-10 Julian Cummings <cummings@cacr.caltech.edu>
* blitz/applics.h: Clean up applicator typedefs and standardize
usage with apply method. All applicator types now return the type
T_numtype. Removed all typedefs of T_promote here, as only
T_numtype is needed.
* blitz/vecexpr.h: Extract return type T_numtype for _bz_VecExprOp
from T_op type.
* testsuite/where.cpp: Add a quick test of where operation on
TinyVector.
* blitz/vector.h: Added include of vecwhere.h header file for
where operation on vector types.
2008-08-06 Julian Cummings <cummings@cacr.caltech.edu>
* doc/random.texi: Corrected example code in manual illustrating
use of Normal RNG.
2008-05-28 Julian Cummings <cummings@cacr.caltech.edu>
* blitz/array/slicing.cc: Add extra parentheses around
conditionals involving && operator to eliminate warnings from gcc
4.3 compiler about ambiguities. Patch provided by Volker Braun
<vbraun@physics.upenn.edu>.
* blitz/range.h: Add extra parentheses around conditionals
involving && operator to eliminate warnings from gcc 4.3 compiler
about ambiguities. Patch provided by Volker Braun
<vbraun@physics.upenn.edu>.
* testsuite/Makefile.am: Replace patrik-jonsson-2 test with the
zeek-1 test from Eric Zeek. It tests the same Array construction
from a partial reduction, but checks the results.
2008-05-24 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/array/reduce.h: Removed an off by one bug introduced with
my previous patch of 2008/05/02.
* testsuite/patrik-jonsson.cpp: Changed to patrik-jonsson-1.cpp.
* testsuite/patrik-jonsson-2.cpp: New test contributed by
Patrik Jonsson.
* testsuite/Makefile.am: Updated correspondingly.
2008-05-07 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* array/functorExpr.h array/stencil-et.h: Yet some more constification
that were missed.
* testsuite/patrik-jonsson.cpp: Added a new test contributed by
Patrik Jonsson to exercise array functors.
2008-05-07 Patrick Guio <p.guio@ucl.ac.uk>
* Makefile.am: Fixed minor problem detected by Erik Zeek. The file
blitz-uninstalled.pc is for the build tree and should not be installed.
2008-05-03 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/array/expr.h: Some more constification.
* blitz/array/where.h: Constification of the ascending, ordering, lbound
and ubound methods that had been overlooked with the previous patch.
* testsuite/where.cpp: Added a test to trigger the problem detected
by Patrick Guio that is corrected with this patch.
2008-05-02 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/minmax.h blitz/array/resize.cc blitz/array/stencils.cc
blitz/array/stencils.h testsuite/minmax.cpp:
Renamed the namespace from minmax to extrema to keep the name minmax
for a function name.
* blitz/reduce.h: Simplify and constify the file. Introduced
a new type MinMaxValue and the mechanic to have a minmax reduce
function. Changed the canProvideInitialValue into needInit and clarified
its use. Simplified drastically the design by removing unused contructors
and methods (reset). This potentially makes compilation errors instead of
run time ones, which is preferable.
* blitz/array/where.h: Remove commented out line.
* blitz/array/reduce.h: Introduce the minmax reduce function. Generalized
the _bz_ReduceReset to really take into account the new needInit attribute
which formerly was sketched by canProvideInitialValue, but was not really
used. Constification of the ascending, ordering, lbound and ubound methods.
Simplified drastically the design by removing unused contructors and
methods (reset). This potentially makes compilation errors instead of
run time ones, which is preferable.
* blitz/array/expr.h: Constification of the ascending, ordering, lbound
and ubound methods. Added the first_value method used with the needInit
attribute (see blitz/array/reduce.h).
* blitz/array/map.h: Constification of the ascending, ordering, lbound
and ubound methods.
* blitz/array/reduce.cc: Commonize the code of _bz_reduceWithIndexTraversal
and _bz_reduceWithIndexVectorTraversal by the introduction of
_bz_reduceWithIndexTraversalGeneric, of the adapter _bz_IndexingVariant
and the use of _bz_ReduceReset. Simplified slightly the code by using
returns, which allows for the suppression of the loopFlag variable.
* doc/arrays-expr.texi: Update documentation.
* testsuite/reduce.cpp: Add a test for minmax.
2008-05-01 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/funcs.h: Constification.
2008-04-25 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* Makefile.am: Add new COPYRIGHT document containing the BSD
copyright language to the list of distribution files. Also add
the zip file of VS2005.NET support files (should have done this a
while ago).
2008-04-22 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/range.h: Convert enum for bounds values fromStart and
toEnd to standard integral constant type, so that we can be more
flexible for 64-bit support. Eliminate the superfluous copy of
fromStart and toEnd defined within the Range class. Use
standardized integral types throughout the Range class.
* random/F.h: Add missing blitz:: namespace qualifier to huge()
and tiny().
* random/beta.h: Add missing blitz:: namespace qualifier to huge()
and tiny().
2008-04-09 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* random/mt.h: Eliminate warnings about signed/unsigned
comparisons by using size_type and difference_type as defined
by the std::vector class.
2008-04-06 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/array/iter.h: Update the iterator_category to be
of type bidirectional_iterator_tag since this is implemented
since 2007-10-02.
2008-04-06 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* examples/rand2.cpp: Correct the call to seed that was wrong
since the 2008-02-19 modification.
2008-02-20 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/methods.cc: Optimizations for reference counting and
mutex locking as suggested by Patrik Jonsson <patrik@ucolick.org>.
Add weakReference() method that makes the Array reference another
Array, but without any refernce counting. This is meant for cases
in which the Array reference is local to a thread and the
referenced Array is global and persists beyond the lifetime of the
thread. Also replaced MemoryBlockReference<P_numtype> with the
T_base typedef in a few places.
* blitz/array-impl.h: Optimizations for reference counting and
mutex locking as suggested by Patrik Jonsson <patrik@ucolick.org>.
Add threadLocal() method that allows the user to declare an Array
as being local to this thread, meaning that there is no need to
perform mutex locking on the reference count for the Array's
memory block. Also replaced MemoryBlockReference<P_numtype> with
the T_base typedef in a few places.
* blitz/memblock.cc: Removed declaration of static
NullMemoryBlock.
* blitz/memblock.h: Optimizations for reference counting and mutex
locking as suggested by Patrik Jonsson <patrik@ucolick.org>.
Eliminate use of static NullMemoryBlock and UnownedMemoryBlock
entirely. These cases are handled by not allocating the block_
pointer. Introduce a locking policy boolean flag that the user
can modify that enables or disables mutex locking of the block's
reference count, which can speed up cases in which an Array is
local to a thread. Also moved several MemoryBlockReference
methods into the protected and private areas to prevent unwanted
use from outside the Array class.
2008-02-19 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* random/Makefile.am: Add new file mtparam.cc to list of random
headers.
* random/discrete-uniform.h: Correct a glitch from previous
commit.
* src/globals.cpp: Patch for parallel random number generator
implementation and updated seed routines from Patrik Jonsson
<patrik@ucolick.org>. The parameter sets in random/mtparam.cc
were calculated by members of the CUDA GPU programming forum using
the dcmt0.4 library.
* blitz/mathfunc.h: Include cstdlib header file for gcc 4.3
compatibility to get declaration of std::abs(int) function.
* blitz/funcs.h: Include cstdlib header file for gcc 4.3
compatibility to get declaration of std::abs(int) function.
2008-02-20 Patrick Guio <p.guio@ucl.ac.uk>
* random/exponential.h random/normal.h:
Added missing default constructors for ExponentialUnit and
NormalUnit classes.
* random/uniform.h:
Removed unecessary semi-colon at the end of the definition of
the inlined default constructor of UniformClosedOpen class.
2007-12-03 Patrick Guio <p.guio@ucl.ac.uk>
* doc/arrays-expr.texi doc/arrays-io.texi doc/arrays-slicing.texi:
Replaced statement @strong{Note:} by @strong{Caution:} as it is
mentionned in the texinfo documentation: "Do not use @strong with
the word ‘Note’; Info will mistake the combination for a cross
reference".
* doc/examples/Makefile.am doc/stencils/Makefile.am: Removed .texi
and .out files from the default all-am target. Those are generated
only if a documentation is requested using one of the targets for
document (info, dvi, html, ps, pdf and install-* forms).
* doc/doxygen/Makefile.am: Added dvi target.
* configure.ac: Set automake option no-installinfo to prevent
default build and install of doc/blitz.info target as
makeinfo might no be installed. In order to build/install
doc/blitz.info use make targets info/install-info.
* doc/doxygen/Doxyfile.in: Updated to doxygen version 1.5.
* m4/ac_prog_doxygen.m4: Required doxygen version 1.5.
2007-11-20 Patrick Guio <p.guio@ucl.ac.uk>
* doc/arrays-expr.texi: Fixed code that triggered errors with
makeinfo --html.
* configure.ac: Test availability of texi2html and set up an
automake conditional.
* doc/Makefile.am: Removed html ps and pdf files from install
target. Instead use the targets install-html, install-ps and
install-pdf as described in automake doc. Removed generated
files from the EXTRA_DIST variable. Use texi2html only when
available, otherwise makeinfo --html (if available).
2007-10-02 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* benchmarks/iter.cpp: Call end() method only once per loop.
* testsuite/iter.cpp: Added code to test operator--().
* blitz/array-impl.h: Call the new constructor for end iterator,
which has an extra dummy int argument. Also made some format
changes for consistency.
* blitz/array/iter.h: Added decrement operator-- as suggested by
Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> and
improved debugging code.
2007-09-25 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/blitz.h: Remove implicit definition of BZ_THREADSAFE.
This is now handled by the configure script (or equivalently by
defining BZ_THREADSAFE explicitly in the compiler-specific
config.h header or on the compile command line). Also fixed
inconsistent line endings in this file.
* configure.ac: Add configure option --enable-threadsafe to turn
on Blitz thread-safety features by defining the BZ_THREADSAFE
macro. If enabled, code will look for pthreads, OpenMP or Windows
thread support to implement mutex locking of sensitive variables.
VS.NET users must define BZ_THREADSAFE manually in the
blitz/ms/config.h file.
2007-09-19 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/memblock.h: Remove include of pthread.h header here.
Thread support is now handled only in the blitz.h header.
* blitz/blitz.h: Added patch from David Blankenship to provide
blitz mutex support and thread safety with OpenMP or Windows
threads, in addition to the original support for pthreads. Define
_OPENMP to use OpenMP support.
* blitz/array/domain.h: Rename function argument "bounds" to avoid
conflict with type blitz::bounds, which is defined in
blitz/array/expr.h.
* blitz/array/expr.h: Rename function argument "pair" to avoid a
conflict with type std::pair, which is imported into the blitz
namespace.
2007-09-05 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* testsuite/tinyvec.cpp: Added some testing of dot(), product(),
and sum() functions for tinyvector.
* blitz/Makefile.am: Add new header file vecproduct.cc to Makefile
list.
* blitz/vecglobs.cc: Include new file blitz/vecproduct.cc for
definitions of product() function.
* blitz/tvecglobs.h: Use BZ_SUMTYPE macro to obtain the proper
return type for tinyvector sum.
* blitz/meta/sum.h: Use BZ_SUMTYPE macro to obtain the return type
for tinyvector sum.
* blitz/array/convolve.cc: Simple fix suggested by William
Gallafent (william@gallaf.net) to allow convolution code to work
when elements are multicomponent types.
2007-05-29 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* benchmarks/iter.cpp: Added.
* benchmarks/Makefile.am: Added the test iter.cpp. Simplify the
Makefile.
* blitz/compiler.h: New macros BZ_LIKELY and BZ_UNLIKELY. These
are currently nops and are just used as markers indicating tests
for which giving hints to the compiler improves the speed and/or
code simplification.
* blitz/array/iter.h: Change the iterator algorithm. This removes
the need for ConstPointerStack which is moved to fastiter.h and
gives an iterator class that is smaller, simpler and has a small
speed advantage.
* blitz/array/fastiter.h: Moved the helper class ConstPointerStack
to here as its sole use is now in this file.
2007-07-16 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/bzdebug.h: Clean up standard header file includes and use
std qualifier on items from standard C++ library such as cerr and
endl.
* blitz/blitz.h: Clean up standard header file includes a bit.
* testsuite/testsuite.h: Move include of stdlib.h header to
blitz/bzdebug.h. Include std qualifier on exit() function call.
* testsuite/theodore-papadopoulo-1.cpp: Correct expected return
type for call to max() function.
* blitz/range.h: Add an exception to the check for stride evenly
dividing into the range, if the range is open-ended (i.e., if
first_==fromStart or last_==toEnd).
* examples/complex-test.cpp: Use double-precision floating-point
math consistently.
* examples/matmult.cpp: Use single-precision floating-point math
consistently.
* blitz/array/map.h: Change return type of operator* from int to
T_numtype to eliminate compiler warning about type
conversion. Note that this method should never be called in
practice, so the return type is not important.
2007-05-31 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/range.h: Set Range tag toEnd to the value INT_MAX rather
than INT_MIN, so that it is distinct from the value of the tag
fromStart.
2007-05-29 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* m4/ac_cxx_math_absint_in_namespace_std.m4: New test that verifies
whether abs(integer_type) requires the use of cstdlib and namespace
qualification.
* m4/ac_cxx_have_cstring.m4: New test that checks the availability
of cstring.
* m4/ac_cxx_standard_library.m4: Added calls to the two new tests.
* blitz/tinyvec.h: Include cstring if available (needed for memcpy).
* blitz/compiler.h: Added macros for accessing the abs(int) functions.
* blitz/funcs.h: Use the new macros of compiler.h.
* blitz/mathfunc.h: Use the new macros of compiler.h.
2007-03-16 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/veciter.h: Correct minor logic bug in operator+(int)
method for VectorIter and VectorIterConst to allow return of an
"end" iterator with zero length. This fixes a reported failure
with the blitz testsuite code initialize.cpp.
2007-03-12 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/compiler.h: Corrected minor error in definition of
BZ_TEMPLATE_DEFAULT macro.
2006-12-22 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/veciter.h: Forgot to add constructor for VecIterConst that
takes data pointer, stride, and length parameters. This is needed
by operator+().
* blitz/veciter.h: Added precondition check for operator+ in
VecIter class and added this operator to VecIterConst class as
well.
2006-09-27 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/map.h: Modified ordering() method for
ArrayIndexMapping class to ignore ordering result from a 1d source
Array. A 1d Array will always report an ordering of 0 for
whichever rank matches the index mapping, but this is not relevant
to the ordering of the final array expression, which may be
multidimensional. Basically, you cannot have a unique ordering
unless you have more than one dimension in the Array, so we ignore
the arbitrary ordering value of 0 and return INT_MIN as a flag
instead.
2006-09-13 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* m4/ac_fortran_flags_preset.m4: Add -fno-second-underscore flag
for PathScale Fortran compilers so that the Fortran external
symbol translation is in the expected form. This allows the blitz
benchmark codes to compile properly under PathScale.
* blitz/bzconfig.h: Changed PathScale compiler test to look for
__PATHCC__ instead of __PATHSCALE__ and move this test above the
test for GCC, so that the compiler is properly identified.
Changes suggested by Patrik Jonsson (patrik@ucolick.org).
2006-08-22 Patrick Guio <patrick.guio@matnat.uio.no>
* m4/ac_compiler_specific_header.m4: Revived Fujitsu
compiler case $CXX==*CC* and $target==*fujitsu*
and deactivated the other case $CXX==*FCC* (which implies
that the Fujitsu compiler FCC running on a non-Fujitsu
target marchines would not be recognised).
2006-08-22 Patrick Guio <patrick.guio@matnat.uio.no>
* m4/ac_compiler_specific_header.m4: Deactivated temporarly
redundant following statements for $CXX==*CC* and
$target==*fujitsu*:
AX_PREFIX_CONFIG_H([blitz/fujitsu/bzconfig.h],[BZ])
COMPILER_SPECIFIC_HEADER="fujitsu/bzconfig.h"
that triggered an error when rebuilding configure with
autoreconf ver 2.60.
2006-05-31 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* examples/io.cpp: Minor change to format of program output to
enhance readability.
* blitz/matrix.cc: Make Matrix output format similar to that of 2D
Array. We output the extents of the Matrix first, followed by a
space-delimited list of elements enclosed in brackets. There is a
newline at the end of each row of elements. Added a compatible
input operator as well.
* blitz/matrix.h: Added declaration of operator>> for inputting
Matrix from an istream.
* blitz/vecio.cc: Make Vector output format similar to 1D Array.
We write out the Vector length, followed by a space-delimited list
of elements enclosed in brackets. Added a compatible input
operator.
* blitz/vector.h: Added declaration of operator>> for inputting a
Vector from an istream.
* blitz/array/io.cc: Array i/o format updates from Sergei
Mingaleev (mingaleev@gmail.com). We now print the complete Array
bounds (not just the extents) before the Array data, so that an
Array being read in can reset its indices to match the bounds
rather than assuming zero-based indexing. The Array data is given
in a space- delimited list enclosed in brackets, with a newline at
the end of each row of elements. This format is more compact and
hopefully more readable.
* blitz/array-impl.h: Removed the declaration of the operator<<
specialization for N_rank=2.
* blitz/tinymatio.cc: TinyMatrix i/o updates from Sergei Mingaleev
(mingaleev@gmail.com) to output TinyMatrix as a comma-separated
list of elements enclosed in parentheses. The rows are separated
by a semicolon. The number of rows and columns are no longer
written out, since you cannot resize a TinyMatrix dynamically
anyway.
* blitz/tinyvecio.cc: TinyVector i/o updates from Sergei Mingaleev
(mingaleev@gmail.com) to output TinyVector as a comma-separated
list of elements enclosed in parentheses. The vector length is no
longer written out, since you cannot resize a TinyVector
dynamically anyway. This format makes a 2D TinyVector of doubles
look the same as a complex<double>, which can be useful in some
situations.
2006-05-19 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/reduce.cc: In the implementation of the full array
reduction, set the initial value to the lower bound of the valid
index range in the case of minIndex() or maxIndex(). This will
correct a problem in the case where all elements are equal to the
min or max value as reported by numeric_limits.
* blitz/array/reduce.h: Added a functor _bz_ReduceReset that
passes an initial index value to the reset() method of the
reduction operator if it will accept one. This functor is used in
the implementation of the partial array reduction to set the
initial value to the lower bound of the valid index range in the
case of minIndex() or maxIndex(). This will correct a problem in
the case where all elements are equal to the min or max value as
reported by numeric_limits.
* blitz/reduce.h: Modified ReduceMinIndex and ReduceMaxIndex (and
the Vector versions of these) to accept an initial value for the
result index. This allows us to set the default result to
something reasonable in the event that no minimum or maximum value
is found.
2006-05-17 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/reduce.h: Corrected setting of canProvideInitialValue in
ReduceMin operator.
2006-02-03 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* m4/ac_compiler_specific_header.m4: Add support for recognition
of Fujitsu CC compiler.
* m4/ac_cxx_flags_preset.m4: Update Cray C++ compiler flag
presets.
* m4/ac_fortran_flags_preset.m4: Add flag presets for Fujitsu frt
compiler. Rename Cray ftn compiler and update flag presets.
Allow for some additional compiler name variants with PathScale
and PGI Fortran compilers.
* configure.ac: Add Fujitsu compiler frt to the F77 and F90
compiler search lists. Replace old Cray fort77 compiler name with
new name ftn, which does both F77 and F90. Rearrange search lists
to push older g77 compiler and other obsolete compilers towards
the end. We prefer vendor-supplied compilers where available. In
most cases, user will set the compiler names anyway.
* benchmarks/loop1.cpp: Make clear that first argument to
initializeRandomDouble function should be a data pointer (i.e., an
ordinary C array).
2006-01-22 Patrick Guio <patrick.guio@bccs.uib.no>
* doc/arrays-storage.texi: Fixed a typo in section 2.9.1,
ColumnMajor<> should read ColumnMajorArray<>. Reported by
Christian Fuchs <fuchs@lsm.iet.mavt.ethz.ch>.
2006-01-20 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/funcs.h: Moved declaration of binary min/max
functions for blitz Arrays here. Use newly defined Min and Max
applicator objects rather than the old _bz_Min and _bz_Max
applicators from blitz/applics.h. These new applicators are
consistent with the "new" ET style and contain proper support for
the prettyPrint() function.
* blitz/array/ops.h: Moving declaration of binary min/max
functions for blitz Arrays to blitz/array/funcs.h, since these are
functions rather than operators.
* blitz/funcs.h: Added functors Min and Max to implement blitz
min/max binary functions within "new" ET style. Somehow the
applicators for these two functions were never translated from the
"old" ET system over to the new one. Using the old applicators
with BZ_DEBUG defined led to compilation errors with the
prettyPrint() function.
2006-01-13 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/storage.h: Modified code for
allRanksStoredAscending() method as proposed by Eddie Breeveld
(Eddie.Breeveld@eu.watsonwyatt.com) to eliminate warnings from the
Microsoft compiler about converting bool to int.
2006-01-12 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* m4/ac_cxx_flags_preset.m4: Removed -D flags for defining special
preprocessor symbols when using XL C++ compiler on Mac OS X or AIX
systems or when using PathScale C++ compiler. No longer needed,
since we now use predefined symbols to detect these compilers.
* blitz/bzconfig.h: Switched name of preprocessor symbol used to
detect Intel compiler from __ICC to __INTEL_COMPILER. Some
installations of the Intel compiler still define __ECC instead of
__ICC, but using __INTEL_COMPILER appears to work for all Intel
compiler versions. Also switched symbols for XL C++ on Mac OS X
and on AIX and for PathScale C++ compiler to more standard names
already predefined by the compiler.
2005-12-20 Patrick Guio <patrick.guio@bccs.uib.no>
* m4/ac_check_blitz.m4 ac_cxx_lib_blitz.m4:
Replaced macro AC_CXX_LIB_BLITZ by AC_CHECK_BLITZ.
Set AC_SUBST variables BLITZ_CPPFLAGS, BLITZ_LDFLAGS and BLITZ_LIBS
instead of appending to variables CPPFLAGS, LDFLAGS and LIBS.
Added arguments [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND].
* lib/Makefile.am:
Defined libtool variable _LIBADD for any extra libs that might
be necessary to compile with -lblitz (e.g. -lm).
2005-11-21 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* testsuite/contiguous.cpp: Changed fortranArray tag to
columnMajorArray tag, in order to provide quick test of new global
tag for arrays with column major storage. The fortranArray tag is
already exercised elsewhere in the testsuite.
* blitz/array/storage.h: Added a global tag columnMajorArray for
aid in creating Arrays with column major storage (but with base
index 0, rather than 1 as with FortranArray). This addition was
suggested by Christian Fuchs (fuchs@lsm.iet.mavt.ethz.ch).
* examples/indirect.cpp: Added quick test of setting array values
to constant using container of ints. Addresses problem noted by
Eddie Breeveld (Eddie.Breeveld@eu.watsonwyatt.com).
* blitz/array/fastiter.h: Added version of moveTo() method for
ArrayFastIterator that takes a single scalar int argument for
completeness, even though this case is presently handled by
implicit conversion of the int argument to a TinyVector<int,1>.
This version of moveTo() will be invoked by indirection or
stencils involving 1D Arrays.
* blitz/array/expr.h: Added a version of the moveTo() method that
takes a single scalar int argument to class _bz_ArrayExprConstant,
so that expressions like A[I]=0 will work, where A is a 1D Array
and I is a container of ints. The templated version of moveTo()
that takes a TinyVector of ints with arbitrary rank N_rank will
not be instantiated through implicit argument conversion in this
case. I have also modified the moveTo() methods for the other
array expression types (where the precise expression rank is
known) to be non-templated and to expect a TinyVector of ints with
the same rank as the array expression.
2005-10-31 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/limits-hack.h: Put enclosing parentheses around min and
max to avoid any cpp macro expansion.
* blitz/minmax.h: Put enclosing parentheses around min and max to
avoid any cpp macro expansion.
* blitz/numinquire.h: Put enclosing parentheses around min and max
to avoid any cpp macro expansion.
* blitz/generate/genmatbops.cpp: Put enclosing parentheses around
min and max to avoid any cpp macro expansion.
* blitz/generate/genvecbfn.cpp: Put enclosing parentheses around
min and max to avoid any cpp macro expansion.
* blitz/generate/genarrbops.cpp: Put enclosing parentheses around
min and max to avoid any cpp macro expansion.
* blitz/array/resize.cc: Put enclosing parentheses around min and
max to avoid any cpp macro expansion.
* blitz/array/stencils.cc: Put enclosing parentheses around min
and max to avoid any cpp macro expansion.
* blitz/array/stencils.h: Put enclosing parentheses around min and
max to avoid any cpp macro expansion.
* blitz/array/ops.h: Put enclosing parentheses around min and max
to avoid any cpp macro expansion.
* blitz/array/reduce.h: Put enclosing parentheses around min and
max to avoid any cpp macro expansion.
* testsuite/testsuite.h: Include stdlib.h header instead of
assert.h header for declaration of exit(). Added use of
BZ_STD_SCOPE macro around cout and endl, so that this header does
not require a using directive to work properly.
* testsuite/minmax.cpp: Modified test of blitz::minmax functions
to explicitly check that they still work in the presence of cpp
macros min and max. In this case, you have to put an enclosing
set of parentheses around the min or max invocation to prevent the
cpp macro from being substituted.
2005-10-21 Patrick Guio <patrick.guio@bccs.uib.no>
* doc/doxygen/Doxyfile.in: Enabled TREEVIEW for html documentation.
2005-10-20 Patrick Guio <patrick.guio@bccs.uib.no>
* m4/ ac_cxx_lib_blitz.m4: Added macro definition HAVE_BLITZ if
compilation test successfull. Added support to parse include and library
directories specified independently and as --with-blitz=inc_dir,lib_dir.
2005-10-19 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* examples/erf.cpp: Explicitly include <math.h> header to get
declaration of non-standard erf().
* benchmarks/haney.cpp: Add definition of M_PI if not provided by
standard math header.
* blitz/rand-normal.h: Use BZ_MATHFN_SCOPE macro around standard
math functions like sqrt. Removed external include guards. Use
standard header <cmath> if available. Add definition of M_PI if
not provided by math header.
* blitz/benchext.cc: Use BZ_MATHFN_SCOPE around standard math
functions like pow.
* blitz/bench.h: Use BZ_MATHFN_SCOPE macro around standard math
functions like pow. Removed external include guards. Use
standard header <cmath> if available.
* blitz/array/cgsolve.h: Use BZ_MATHFN_SCOPE macro around standard
math functions like fabs.
* m4/ac_cxx_flags_preset.m4: Added missing debug flag -DBZ_DEBUG
for SunPRO C++ compiler, which was reported by Paul Floyd
(paul.floyd@laposte.net).
2005-10-17 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/tinyvec.cc: Fixed major screwup in blitz 0.9 release.
Changed beginfast to beginFast!
2005-10-14 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
Tagging repository contents with Blitz_0_9 tag.
* m4/ac_compiler_specific_header.m4: Added support for PathScale
pathCC compiler.
* doc/download.texi: Added reference to the newer blitz project
page on SourceForge.
* doc/help.texi: Updated the Help page to refer to the newer
SourceForge project page and mailing lists for blitz.
* doc/install.texi: Minor updates to the notes on configuration
and installation of blitz.
* doc/platforms.texi: Updates to platform and compiler notes. I
tried to add a comment for every platform/compiler combination
that has active or historical support.
2005-10-13 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* doc/faq.texi: Added a few items that have been asked about a lot
over the past year, including configuration under Mac OS X, the
Fortran compiler requirement, and the need to include the
<blitz/tinyvec-et.h> header.
* doc/arrays-globals.texi: Added information on the newer global
Array functions swap() and find().
* blitz/array-impl.h: Slight simplification of swap() function.
* configure.ac: Changed blitz version number from 0.8.1 to 0.9 as
we agreed upon. We will reserve use of the patch number only when
providing a single critical patch.
* examples/random.cpp: Added a few lines of code to briefly
exercise the new get/set state interface.
* random/mt.h: Added implementation of get/set state for the
MersenneTwister IRNG, as suggested by Patrik Jonsson
(patrik@ucolick.org), with minor corrections and modifications.
* random/default.h: Added interface for getting or setting the
state of the IRNG, as suggested by Patrik Jonsson
(patrik@ucolick.org).
2005-10-13 Patrick Guio <patrick.guio@bccs.uib.no>
* doc/Makefile.am: Changed options to texi2html for compatibility
to both v1.64 and v.176.
2005-10-11 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* examples/.cvsignore: Added matlab output files to cvs ignore
list.
* doc/doxygen/.cvsignore: Added doxygen-warning message file to
ignore list.
* .cvsignore: Added older ChangeLog_ files to ignore list.
* blitz/.cvsignore: Oops! I put the ChangeLog_ stuff in the wrong
cvsignore file.
* blitz/.cvsignore: Added old ChangeLog_ files and pathscale
compiler directory.
* blitz/memblock.h: Removed the restrict qualifier from a few
places where it was being used inappropriately with pointers as
function parameters. These were flagged by the IBM xlC compiler.
Basically, you cannot assign a restricted pointer to another
pointer that is in an outer (containing) scope because you may be
creating an alias outside of the current scope.
2005-10-11 Patrick Guio <patrick.guio@bccs.uib.no>
* doc/Makefile.am: Added option to specify the . location for
HTML files generated by texi2html since the newer texi2html v1.76
provided by Fedore Core 4 creates a subdirectory to put these
files by default.
* doc/random.texi: Fixed @math expression that caused trouble
to newer texi2html v1.76 into conditional expression statements
@iftex/@ifinfo/@ifhtml.
* doc/blitz.texi: Moved texinfo's @setcontentsaftertitlepage
command into @iftex block since it caused trouble to newer
texi2html v1.76.
2005-10-10 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* benchmarks/loopstruct.cpp: Added hack for Compaq cxx compiler,
which does not provide support for writing out the long double
type in std ansi mode.
* blitz/timer.h: Added hack for Compaq cxx compiler, which does
not provide support for writing out the long double type in std
ansi mode.
* doc/doxygen/Makefile.am: Added an uninstall-hook target to clean
up doxygen install dir.
* configure.ac: Added Pathscale compilers to default compiler
search lists. Bumped blitz package version number to 0.8.1. A
few more minor fixes and doc updates before we actually release
the new version, but we're close now!
* blitz/bzconfig.h: Added section for Pathscale compiler-specific
header.
* m4/ac_fortran_flags_preset.m4: Added support for Pathscale
pathf90 compiler.
* m4/ac_cxx_flags_preset.m4: Added support for Pathscale C++
compiler (pathCC).
* blitz/Makefile.am: Added list of compiler-specific header files
to list of files to be removed by distclean. One
compiler-specific header file will always be present within the
distribution.
* Makefile.am: Added pkgconfig data files to list of files to be
removed by distclean.
2005-10-07 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/newet-macros.h: Greatly simplified the definitions
of the BZ_DECLARE_FUNCTION macros by utilizing the previously
defined macros BZ_DEFINE_UNARY_FUNC, BZ_DEFINE_BINARY_FUNC, etc.
This follows a suggestion from Peter Kummel
(syntheticpp@gmx.net).
* blitz/funcs.h: Added macros BZ_DEFINE_TERNARY_FUNC and
BZ_DEFINE_TERNARY_FUNC_RET for completeness, although there are no
standard library math functions that require such macros.
Reordered to list complex unary funcs after all ordinary unary
funcs and complex binary funcs after all ordinary binary funcs.
Renamed macro BZ_DEFINE_BINARY_CFUNC2 to
BZ_DEFINE_BINARY_FUNC_CRET in order to (hopefully) clarify that
this is for a binary func that takes ordinary floating-point args
and returns a complex type.
* blitz/array-impl.h: Added a find() function along the lines of
what was suggested by Jonathan Stickel (jjstickel@sbcglobal.net)
as an analogue to the Matlab find(). This function takes a 1d
Array of TinyVector indices and an Array or _bz_ArrayExpr, and it
stores all the index positions where the Array or expression is
true. Also, I removed the annoying external include guards here
(need to do this universally throughout blitz at some point).
* testsuite/tinyvec.cpp: Added minimal testing of begin()/end()
method and TinyVector iterators.
* m4/ac_cxx_flags_preset.m4: Remove flag that was disabling use of
new type promotion system with icpc compiler. This problem should
now be fixed.
* blitz/promote.h: Substituted for defaultPromotion in expression
for promoteToT1 in order to eliminate an error from the Intel
compiler on this file. The icpc compiler thought the expression
was not a compile-time constant value. This will allow us to once
again use the newer type promotion system with icpc.
2005-10-06 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/bzconfig.h: Modify include paths to have the blitz/
prefix. Use angled brackets instead of quotes around header file
name. Added error message if compiler unknown.
* lib/Makefile.am: Simplified include file search path flags.
* blitz/array/domain.h: Introduces an empty constructor and a
constructor from a vector of Ranges. New typedef used to simplify
the code. Constification of many methods. Added non-const ubound
and lbound methods for RectDomain. Removed external include
guards.
* blitz/array-impl.h: Allow components to be referred with
unsigned.
2005-10-06 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/generate/genpromote.cpp: Eliminate gcc-4.0.0 compiler
warning about using an anonymous struct (thanks Theo!).
* blitz/generate/Makefile.am: Repaired clean-local target. Added
header file dependencies.
* blitz/generate/operands.h: Changed initialization method for
vector types from begin() to beginFast() to avoid conflict with
standard begin() method that is expected to produce an STL
iterator.
* blitz/vecexpr.h: Change begin() to beginFast().
* blitz/vecpick.cc: Change begin() to beginFast().
* blitz/vecpick.h: Change begin() to beginFast().
* blitz/vector.cc: Replaced begin() with beginFast().
* blitz/vector.h: Changed begin() to beginFast(). Need to add an
STL-compliant iterator for Vector.
* blitz/tinyvec.cc: Replace begin() with beginFast().
* blitz/tinyvec.h: Renamed pre-existing begin() method beginFast()
to avoid conflict with standard begin() method that is presumed to
deliver an STL-compliant iterator. TinyVectorIter and
TinyVectorIterConst are not STL compliant at all and are really
just glorified indices. Define begin() and end() to return raw
data pointers instead, since these will have the STL iterator
semantics automatically.
2005-10-03 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* README-VS.NET.txt: Updated README file for VS.NET stuff to
mention new Blitz-Examples solution file.
2005-09-29 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/tinyvec.h: Constified many methods. Added a end() method.
Returning const references insteadof copies for operator() const
and operator[] const.
* blitz/tinyvec.cc: Constified many methods accordingly.
2005-08-23 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* testsuite/complex-test.cpp: Added some tests of math ops with
complex<long double> type.
* blitz/array/ops.h: Added missing support for math operations
between complex<long double> Array and scalar types.
2005-07-27 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/memblock.h: Fixed problem with the deleteDataWhenDone
policy. It was not actually deleting the data as expected.
Solution was to set dataBlockAddress_ pointer to the address of
the preexisting memory in MemoryBlock constructor. In subclass
UnownedMemoryBlock constructor, we reset this pointer to 0 to
indicate that any preexisting memory is not our responsibility.
* Makefile.am: Use new FORTRAN_ENABLED conditional to only build
in the benchmarks directory if Fortran compilation is enabled.
* configure.ac: Added conditional to indicate whether Fortran
compilation (needed for the benchmark codes) has been enabled.
* blitz/array/map.h: Added return of dummy T_numtype object in
generic version of map method to eliminate possible compiler
warning about no return statement in non-void function.
2005-07-07 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/memblock.h: Removed the swap() method that was added here.
The Array method reference() uses the existing
MemoryBlockReference method changeBlock() to implement a swap of
the memory block in a safer manner with reference counting.
* blitz/array-impl.h: Modified Theo's implementation of the swap()
function to use the existing reference() method. This is easier
and does not require the swap() function to be a friend of the
Array class. The MS VS.NET C++ compiler was confused by the
tricky syntax for templated functions that are friended and using
the friend feature of C++ is a bad idea anyway. There may be a
tiny bit more overhead with this implementation because it
constructs a null temporary Array, but the temporary allocates no
space for data elements, only for Array metadata and the Array
ordering description.
2005-06-16 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* m4/ac_cxx_template_qualified_base_class.m4: Fixed up the
compiler test for support of template-qualified base classes to
work properly under the new gcc 4.0.0 compiler by adding the full
template specialization syntax and explicitly qualifying the call
to f in the base class as required by the ANSI standard.
2005-06-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* blitz/memblock.h: Added support for swapping memblocks.
* blitz/array-impl.h: Added support for swapping arrays using the
memblock swapping.
2005-06-02 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/vecmax.cc: Put parentheses around "max" in definitions of
max() function for Vector-like objects, to avoid triggering any
max macro that may be defined. A workaround for sloppiness in
boost and Windows header files.
* blitz/vecmin.cc: Put parentheses around "min" in definitions of
min() function for Vector-like objects, to avoid triggering any
min macro that may be defined. A workaround for sloppiness in
boost and Windows header files.
2005-05-24 Julian Cummings <cummings@valhalla.cacr.caltech.edu>
* blitz/array/ops.h: Use new BZ_DECLARE_ARRAY_ET_BINARY_TINYVEC
macro to declare the standard binary math operations between an
Array-like object and a TinyVector. The TinyVector is treated
like a scalar in these operations, interacting with each element
of the Array separately.
* blitz/array/newet-macros.h: Added macro
BZ_DECLARE_ARRAY_ET_BINARY_TINYVEC to generate code for binary