Esempio n. 1
0
 /// <summary>
 /// Decision to fast tail call. See DoubleCountRetBuffCaller for more
 /// information.
 /// </summary>
 public static StructSizeThirtyTwo DoubleCountRetBuffCallerWrapper(int a, int b)
 {
     if (a % 2 == 0)
     {
         StructSizeEightIntNotExplicit eightBytes = new StructSizeEightIntNotExplicit(a, a);
         a = 1;
         b = b + 2;
         return(DoubleCountRetBuffCallee(eightBytes, eightBytes, eightBytes, eightBytes, eightBytes));
     }
     else
     {
         StructSizeEightIntNotExplicit eightBytes = new StructSizeEightIntNotExplicit(b, b);
         a = 4;
         b = b + 1;
         return(DoubleCountRetBuffCallee(eightBytes, eightBytes, eightBytes, eightBytes, eightBytes));
     }
 }
Esempio n. 2
0
    /// <summary>
    /// Decision to fast tail call. See DoubleCountRetBuffCaller for more
    /// information.
    /// </summary>
    public static StructSizeThirtyTwo DoubleCountRetBuffCallee(StructSizeEightIntNotExplicit sstf,
                                                               StructSizeEightIntNotExplicit sstf2,
                                                               StructSizeEightIntNotExplicit sstf3,
                                                               StructSizeEightIntNotExplicit sstf4,
                                                               StructSizeEightIntNotExplicit sstf5)
    {
        int a = sstf.a;
        int b = sstf.b;

        StructSizeThirtyTwo retVal = new StructSizeThirtyTwo(b, a, a, b);

        int count = 0;

        for (int i = 0; i < b; ++i)
        {
            if (i % 2 == 0)
            {
                ++count;
            }
        }

        return(retVal);
    }