~ubuntu-branches/ubuntu/utopic/blitz++/utopic-proposed

« back to all changes in this revision

Viewing changes to testsuite/loop1.cpp

  • Committer: Package Import Robot
  • Author(s): Christophe Trophime
  • Date: 2012-07-06 09:15:30 UTC
  • mfrom: (11.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20120706091530-vzrb8zf0vpbf8tp9
Tags: 1:0.10-1
* New upstream release
  Closes: #679407
* debian/rules:
  - update for new release
  - add override_dh_auto_test target
  - regenerate configure and Makefile.am
* debian/control:
  - add libtool, automake to BuildDepends
* debian/libblitz-doc.install
  - modify path for html files
* remove uneeded patches
* add examples.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * This benchmark causes some versions of gcc to crash.
3
3
 */
4
4
 
5
 
#include <blitz/vector.h>
 
5
#include <blitz/vector2.h>
6
6
#include <blitz/array.h>
7
 
#include <blitz/rand-uniform.h>
 
7
#include <random/uniform.h>
8
8
#include <blitz/benchext.h>
9
9
 
 
10
BZ_NAMESPACE(blitz)
 
11
extern void sink();
 
12
BZ_NAMESPACE_END
 
13
 
10
14
BZ_USING_NAMESPACE(blitz)
11
15
 
12
16
void VectorVersion(BenchmarkExt<int>& bench);
13
17
void ArrayVersion(BenchmarkExt<int>& bench);
14
18
 
15
 
void sink() {}
16
 
 
17
19
int dontActuallyRunBenchmark()
18
20
{
19
21
    return 1;
30
32
 
31
33
    const int numSizes = 26;
32
34
    bench.setNumParameters(numSizes);
33
 
    bench.setRateDescription("Mflops/s");
 
35
    //bench.setRateDescription("Mflops/s"); removed
34
36
 
35
37
    Vector<int> parameters(numSizes);
36
38
    Vector<long> iters(numSizes);
38
40
 
39
41
    for (int i=0; i < numSizes; ++i)
40
42
    {
41
 
        parameters[i] = (int)pow(10.0, (i+1)/4.0);
42
 
        iters[i] = 50000000L / parameters[i];
43
 
        if (iters[i] < 2)
44
 
            iters[i] = 2;
45
 
        flops[i] = 1 * parameters[i];
 
43
      parameters(i) = (int)pow(10.0, (i+1)/4.0);
 
44
      iters[i] = 50000000L / parameters(i);
 
45
        if (iters(i) < 2)
 
46
          iters(i) = 2;
 
47
        flops(i) = 1 * parameters(i);
46
48
    }
47
49
 
48
50
    bench.setParameterVector(parameters);
49
51
    bench.setIterations(iters);
50
 
    bench.setFlopsPerIteration(flops);
 
52
    bench.setOpsPerIteration(flops);
51
53
 
52
54
    bench.beginBenchmarking();
53
55
 
63
65
}
64
66
 
65
67
template<typename T>
66
 
void initializeRandomDouble(T data, int numElements, int stride = 1)
 
68
void initializeRandomDouble(T* data, int numElements, int stride = 1)
67
69
{
68
 
    static Random<Uniform> rnd;
 
70
  ranlib::Uniform<T> rnd;
69
71
 
70
72
    for (int i=0; i < numElements; ++i)
71
73
        data[size_t(i*stride)] = rnd.random();
72
74
}
73
75
 
74
 
template<typename T>
75
 
void initializeArray(T& array, int numElements)
76
 
{
77
 
    static Random<Uniform> rnd;
78
 
 
79
 
    for (size_t i=0; i < numElements; ++i)
80
 
        array(i) = rnd.random();
81
 
}
82
 
 
83
76
void VectorVersion(BenchmarkExt<int>& bench)
84
77
{
85
78
    bench.beginImplementation("Vector<T>");