]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/cilk-plus/CK/fib-opr-overload.cc
2 /* { dg-require-effective-target cilkplus_runtime } */
3 /* { dg-options "-fcilkplus" } */
12 short some_unused_value
;
15 this->calculated_value
= 0;
17 Some_Struct (int value
) {
18 this->calculated_value
= value
;
20 Some_Struct
operator=(Some_Struct f
) {
21 this->calculated_value
= f
.calculated_value
;
24 bool operator!=(Some_Struct f
) {
25 return (this->calculated_value
!= f
.calculated_value
);
27 Some_Struct
operator+(Some_Struct
&f
) {
29 z
.calculated_value
= this->calculated_value
+ f
.calculated_value
;
32 Some_Struct
operator-(int x
) {
34 z
.calculated_value
= this->calculated_value
- x
;
37 bool operator<(int x
) {
38 return (this->calculated_value
< x
);
40 int get_calculated_value () {
41 return this->calculated_value
;
47 T
fibonacci_serial (T f
)
51 T a
= fibonacci_serial (f
-1);
52 T b
= fibonacci_serial (f
-2);
61 T a
= _Cilk_spawn
fibonacci (f
-1);
62 T b
= fibonacci (f
-2);
69 Some_Struct
f (32), f_serial(32);
71 f_serial
= fibonacci_serial (f_serial
);
76 int t
= 32, t_serial
= 32;
78 t_serial
= fibonacci_serial (t_serial
);
82 short s
= 20, s_serial
= 20;
84 s_serial
= fibonacci_serial (s_serial
);
89 std::cout
<< "Fib_Parallel (32) = " << f
.get_calculated_value() << std::endl
;
90 std::cout
<< "Fib_Serial (32) = " << f_serial
.get_calculated_value()