1*99451b44SJordan Rupprecht //===-- main.cpp ------------------------------------------------*- C++ -*-===//
2*99451b44SJordan Rupprecht //
3*99451b44SJordan Rupprecht // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*99451b44SJordan Rupprecht // See https://llvm.org/LICENSE.txt for license information.
5*99451b44SJordan Rupprecht // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*99451b44SJordan Rupprecht //
7*99451b44SJordan Rupprecht //===----------------------------------------------------------------------===//
8*99451b44SJordan Rupprecht 
9*99451b44SJordan Rupprecht #include <cstdlib>
10*99451b44SJordan Rupprecht #include <cstring>
11*99451b44SJordan Rupprecht #include <string>
12*99451b44SJordan Rupprecht #include <fstream>
13*99451b44SJordan Rupprecht #include <iostream>
14*99451b44SJordan Rupprecht 
15*99451b44SJordan Rupprecht int
16*99451b44SJordan Rupprecht product (int x, int y)
17*99451b44SJordan Rupprecht {
18*99451b44SJordan Rupprecht     int result = x * y;
19*99451b44SJordan Rupprecht     return result;
20*99451b44SJordan Rupprecht }
21*99451b44SJordan Rupprecht 
22*99451b44SJordan Rupprecht int
23*99451b44SJordan Rupprecht sum (int a, int b)
24*99451b44SJordan Rupprecht {
25*99451b44SJordan Rupprecht     int result = a + b;
26*99451b44SJordan Rupprecht     return result;
27*99451b44SJordan Rupprecht }
28*99451b44SJordan Rupprecht 
29*99451b44SJordan Rupprecht int
30*99451b44SJordan Rupprecht strange_max (int m, int n)
31*99451b44SJordan Rupprecht {
32*99451b44SJordan Rupprecht     if (m > n)
33*99451b44SJordan Rupprecht         return m;
34*99451b44SJordan Rupprecht     else if (n > m)
35*99451b44SJordan Rupprecht         return n;
36*99451b44SJordan Rupprecht     else
37*99451b44SJordan Rupprecht         return 0;
38*99451b44SJordan Rupprecht }
39*99451b44SJordan Rupprecht 
40*99451b44SJordan Rupprecht int
41*99451b44SJordan Rupprecht foo (int i, int j)
42*99451b44SJordan Rupprecht {
43*99451b44SJordan Rupprecht     if (strange_max (i, j) == i)
44*99451b44SJordan Rupprecht         return product (i, j);
45*99451b44SJordan Rupprecht     else if (strange_max  (i, j) == j)
46*99451b44SJordan Rupprecht         return sum (i, j);
47*99451b44SJordan Rupprecht     else
48*99451b44SJordan Rupprecht         return product (sum (i, i), sum (j, j));
49*99451b44SJordan Rupprecht }
50*99451b44SJordan Rupprecht 
51*99451b44SJordan Rupprecht int
52*99451b44SJordan Rupprecht main(int argc, char const *argv[])
53*99451b44SJordan Rupprecht {
54*99451b44SJordan Rupprecht 
55*99451b44SJordan Rupprecht     int array[9];
56*99451b44SJordan Rupprecht 	memset(array,0,9*sizeof(int));
57*99451b44SJordan Rupprecht 
58*99451b44SJordan Rupprecht     array[0] = foo (1238, 78392);
59*99451b44SJordan Rupprecht     array[1] = foo (379265, 23674);
60*99451b44SJordan Rupprecht     array[2] = foo (872934, 234);
61*99451b44SJordan Rupprecht     array[3] = foo (1238, 78392);
62*99451b44SJordan Rupprecht     array[4] = foo (379265, 23674);
63*99451b44SJordan Rupprecht     array[5] = foo (872934, 234);
64*99451b44SJordan Rupprecht     array[6] = foo (1238, 78392);
65*99451b44SJordan Rupprecht     array[7] = foo (379265, 23674);
66*99451b44SJordan Rupprecht     array[8] = foo (872934, 234);
67*99451b44SJordan Rupprecht 
68*99451b44SJordan Rupprecht     return 0;
69*99451b44SJordan Rupprecht }
70