1*99451b44SJordan Rupprecht #include <cstdlib>
2*99451b44SJordan Rupprecht #include <string>
3*99451b44SJordan Rupprecht #include <fstream>
4*99451b44SJordan Rupprecht #include <iostream>
5*99451b44SJordan Rupprecht
6*99451b44SJordan Rupprecht
7*99451b44SJordan Rupprecht #define INLINE inline __attribute__((always_inline))
8*99451b44SJordan Rupprecht
9*99451b44SJordan Rupprecht INLINE int
product(int x,int y)10*99451b44SJordan Rupprecht product (int x, int y)
11*99451b44SJordan Rupprecht {
12*99451b44SJordan Rupprecht int result = x * y;
13*99451b44SJordan Rupprecht return result;
14*99451b44SJordan Rupprecht }
15*99451b44SJordan Rupprecht
16*99451b44SJordan Rupprecht INLINE int
sum(int a,int b)17*99451b44SJordan Rupprecht sum (int a, int b)
18*99451b44SJordan Rupprecht {
19*99451b44SJordan Rupprecht int result = a + b;
20*99451b44SJordan Rupprecht return result;
21*99451b44SJordan Rupprecht }
22*99451b44SJordan Rupprecht
23*99451b44SJordan Rupprecht int
strange_max(int m,int n)24*99451b44SJordan Rupprecht strange_max (int m, int n)
25*99451b44SJordan Rupprecht {
26*99451b44SJordan Rupprecht if (m > n)
27*99451b44SJordan Rupprecht return m;
28*99451b44SJordan Rupprecht else if (n > m)
29*99451b44SJordan Rupprecht return n;
30*99451b44SJordan Rupprecht else
31*99451b44SJordan Rupprecht return 0;
32*99451b44SJordan Rupprecht }
33*99451b44SJordan Rupprecht
34*99451b44SJordan Rupprecht int
foo(int i,int j)35*99451b44SJordan Rupprecht foo (int i, int j)
36*99451b44SJordan Rupprecht {
37*99451b44SJordan Rupprecht if (strange_max (i, j) == i)
38*99451b44SJordan Rupprecht return product (i, j);
39*99451b44SJordan Rupprecht else if (strange_max (i, j) == j)
40*99451b44SJordan Rupprecht return sum (i, j);
41*99451b44SJordan Rupprecht else
42*99451b44SJordan Rupprecht return product (sum (i, i), sum (j, j));
43*99451b44SJordan Rupprecht }
44*99451b44SJordan Rupprecht
45*99451b44SJordan Rupprecht int
main(int argc,char const * argv[])46*99451b44SJordan Rupprecht main(int argc, char const *argv[])
47*99451b44SJordan Rupprecht {
48*99451b44SJordan Rupprecht
49*99451b44SJordan Rupprecht int array[3];
50*99451b44SJordan Rupprecht
51*99451b44SJordan Rupprecht array[0] = foo (1238, 78392);
52*99451b44SJordan Rupprecht array[1] = foo (379265, 23674);
53*99451b44SJordan Rupprecht array[2] = foo (872934, 234);
54*99451b44SJordan Rupprecht
55*99451b44SJordan Rupprecht return 0;
56*99451b44SJordan Rupprecht }
57