Blame tests/run/closure_tests_2.pyx

Packit Service 99d393
# mode: run
Packit Service 99d393
# tag: closures
Packit Service 99d393
# preparse: id
Packit Service 99d393
# preparse: def_to_cdef
Packit Service 99d393
#
Packit Service 99d393
# closure_tests_2.pyx
Packit Service 99d393
#
Packit Service 99d393
# Battery of tests for closures in Cython. Based on the collection of
Packit Service 99d393
# compiler tests from P423/B629 at Indiana University, Spring 1999 and
Packit Service 99d393
# Fall 2000. Special thanks to R. Kent Dybvig, Dan Friedman, Kevin
Packit Service 99d393
# Millikin, and everyone else who helped to generate the original
Packit Service 99d393
# tests. Converted into a collection of Python/Cython tests by Craig
Packit Service 99d393
# Citro.
Packit Service 99d393
#
Packit Service 99d393
# Note: This set of tests is split (somewhat randomly) into several
Packit Service 99d393
# files, simply because putting all the tests in a single file causes
Packit Service 99d393
# gcc and g++ to buckle under the load.
Packit Service 99d393
#
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1526():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1526()
Packit Service 99d393
    2
Packit Service 99d393
    """
Packit Service 99d393
    x_1134 = 0
Packit Service 99d393
    def g1525():
Packit Service 99d393
      x_1136 = 1
Packit Service 99d393
      z_1135 = x_1134
Packit Service 99d393
      def g1524(y_1137):
Packit Service 99d393
        return (x_1136)+((z_1135)+(y_1137))
Packit Service 99d393
      return g1524
Packit Service 99d393
    f_1138 = g1525()
Packit Service 99d393
    return f_1138(f_1138(x_1134))
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1535():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1535()
Packit Service 99d393
    3050
Packit Service 99d393
    """
Packit Service 99d393
    def g1534():
Packit Service 99d393
      def g1533():
Packit Service 99d393
        def g1531(t_1141):
Packit Service 99d393
          def g1532(f_1142):
Packit Service 99d393
            return t_1141(f_1142(1000))
Packit Service 99d393
          return g1532
Packit Service 99d393
        return g1531
Packit Service 99d393
      def g1530():
Packit Service 99d393
        def g1529(x_1140):
Packit Service 99d393
          return (x_1140)+(50)
Packit Service 99d393
        return g1529
Packit Service 99d393
      return g1533()(g1530())
Packit Service 99d393
    def g1528():
Packit Service 99d393
      def g1527(y_1139):
Packit Service 99d393
        return (y_1139)+(2000)
Packit Service 99d393
      return g1527
Packit Service 99d393
    return g1534()(g1528())
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1540():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1540()
Packit Service 99d393
    2050
Packit Service 99d393
    """
Packit Service 99d393
    def g1539():
Packit Service 99d393
      t_1143 = 50
Packit Service 99d393
      def g1538(f_1144):
Packit Service 99d393
        return (t_1143)+(f_1144())
Packit Service 99d393
      return g1538
Packit Service 99d393
    def g1537():
Packit Service 99d393
      def g1536():
Packit Service 99d393
        return 2000
Packit Service 99d393
      return g1536
Packit Service 99d393
    return g1539()(g1537())
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1547():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1547()
Packit Service 99d393
    2050
Packit Service 99d393
    """
Packit Service 99d393
    def g1546():
Packit Service 99d393
      def g1545():
Packit Service 99d393
        def g1543(t_1145):
Packit Service 99d393
          def g1544(f_1146):
Packit Service 99d393
            return (t_1145)+(f_1146())
Packit Service 99d393
          return g1544
Packit Service 99d393
        return g1543
Packit Service 99d393
      return g1545()(50)
Packit Service 99d393
    def g1542():
Packit Service 99d393
      def g1541():
Packit Service 99d393
        return 2000
Packit Service 99d393
      return g1541
Packit Service 99d393
    return g1546()(g1542())
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1550():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1550()
Packit Service 99d393
    700
Packit Service 99d393
    """
Packit Service 99d393
    def g1549():
Packit Service 99d393
      x_1147 = 300
Packit Service 99d393
      def g1548(y_1148):
Packit Service 99d393
        return (x_1147)+(y_1148)
Packit Service 99d393
      return g1548
Packit Service 99d393
    return g1549()(400)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1553():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1553()
Packit Service 99d393
    0
Packit Service 99d393
    """
Packit Service 99d393
    x_1152 = 3
Packit Service 99d393
    def g1552():
Packit Service 99d393
      def g1551(x_1150, y_1149):
Packit Service 99d393
        return x_1150
Packit Service 99d393
      return g1551
Packit Service 99d393
    f_1151 = g1552()
Packit Service 99d393
    if (f_1151(0, 0)):
Packit Service 99d393
      return f_1151(f_1151(0, 0), x_1152)
Packit Service 99d393
    else:
Packit Service 99d393
      return 0
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1562():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1562()
Packit Service 99d393
    False
Packit Service 99d393
    """
Packit Service 99d393
    def g1561():
Packit Service 99d393
      def g1556(x_1153):
Packit Service 99d393
        def g1560():
Packit Service 99d393
          def g1559():
Packit Service 99d393
            return isinstance(x_1153, list)
Packit Service 99d393
          if (g1559()):
Packit Service 99d393
            def g1558():
Packit Service 99d393
              def g1557():
Packit Service 99d393
                return (x_1153[0])
Packit Service 99d393
              return (g1557() == 0)
Packit Service 99d393
            return (not g1558())
Packit Service 99d393
          else:
Packit Service 99d393
            return False
Packit Service 99d393
        if (g1560()):
Packit Service 99d393
          return x_1153
Packit Service 99d393
        else:
Packit Service 99d393
          return False
Packit Service 99d393
      return g1556
Packit Service 99d393
    f_1154 = g1561()
Packit Service 99d393
    def g1555():
Packit Service 99d393
      def g1554():
Packit Service 99d393
        return [0,[]]
Packit Service 99d393
      return [0,g1554()]
Packit Service 99d393
    return f_1154(g1555())
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1570():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1570()
Packit Service 99d393
    False
Packit Service 99d393
    """
Packit Service 99d393
    def g1569():
Packit Service 99d393
      def g1563(x_1155):
Packit Service 99d393
        def g1568():
Packit Service 99d393
          if (x_1155):
Packit Service 99d393
            def g1567():
Packit Service 99d393
              def g1566():
Packit Service 99d393
                return isinstance(x_1155, list)
Packit Service 99d393
              if (g1566()):
Packit Service 99d393
                def g1565():
Packit Service 99d393
                  def g1564():
Packit Service 99d393
                    return (x_1155[0])
Packit Service 99d393
                  return (g1564() == 0)
Packit Service 99d393
                return (not g1565())
Packit Service 99d393
              else:
Packit Service 99d393
                return False
Packit Service 99d393
            return (not g1567())
Packit Service 99d393
          else:
Packit Service 99d393
            return False
Packit Service 99d393
        if (g1568()):
Packit Service 99d393
          return x_1155
Packit Service 99d393
        else:
Packit Service 99d393
          return False
Packit Service 99d393
      return g1563
Packit Service 99d393
    f_1156 = g1569()
Packit Service 99d393
    return f_1156(0)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1575():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1575()
Packit Service 99d393
    []
Packit Service 99d393
    """
Packit Service 99d393
    def g1574():
Packit Service 99d393
      def g1571(x_1157):
Packit Service 99d393
        def g1573():
Packit Service 99d393
          def g1572():
Packit Service 99d393
            return isinstance(x_1157, list)
Packit Service 99d393
          if (g1572()):
Packit Service 99d393
            return True
Packit Service 99d393
          else:
Packit Service 99d393
            return (x_1157 == [])
Packit Service 99d393
        if (g1573()):
Packit Service 99d393
          return x_1157
Packit Service 99d393
        else:
Packit Service 99d393
          return []
Packit Service 99d393
      return g1571
Packit Service 99d393
    f_1158 = g1574()
Packit Service 99d393
    return f_1158(0)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1578():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1578()
Packit Service 99d393
    4
Packit Service 99d393
    """
Packit Service 99d393
    y_1159 = 4
Packit Service 99d393
    def g1577():
Packit Service 99d393
      def g1576(y_1160):
Packit Service 99d393
        return y_1160
Packit Service 99d393
      return g1576
Packit Service 99d393
    f_1161 = g1577()
Packit Service 99d393
    return f_1161(f_1161(y_1159))
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1581():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1581()
Packit Service 99d393
    0
Packit Service 99d393
    """
Packit Service 99d393
    y_1162 = 4
Packit Service 99d393
    def g1580():
Packit Service 99d393
      def g1579(x_1164, y_1163):
Packit Service 99d393
        return 0
Packit Service 99d393
      return g1579
Packit Service 99d393
    f_1165 = g1580()
Packit Service 99d393
    return f_1165(f_1165(y_1162, y_1162), f_1165(y_1162, y_1162))
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1584():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1584()
Packit Service 99d393
    0
Packit Service 99d393
    """
Packit Service 99d393
    y_1166 = 4
Packit Service 99d393
    def g1583():
Packit Service 99d393
      def g1582(x_1168, y_1167):
Packit Service 99d393
        return 0
Packit Service 99d393
      return g1582
Packit Service 99d393
    f_1169 = g1583()
Packit Service 99d393
    return f_1169(f_1169(y_1166, y_1166), f_1169(y_1166, f_1169(y_1166, y_1166)))
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1587():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1587()
Packit Service 99d393
    0
Packit Service 99d393
    """
Packit Service 99d393
    y_1170 = 4
Packit Service 99d393
    def g1586():
Packit Service 99d393
      def g1585(x_1172, y_1171):
Packit Service 99d393
        return 0
Packit Service 99d393
      return g1585
Packit Service 99d393
    f_1173 = g1586()
Packit Service 99d393
    return f_1173(f_1173(y_1170, f_1173(y_1170, y_1170)), f_1173(y_1170, f_1173(y_1170, y_1170)))
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1594():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1594()
Packit Service 99d393
    4
Packit Service 99d393
    """
Packit Service 99d393
    def g1593():
Packit Service 99d393
      def g1588(y_1174):
Packit Service 99d393
        def g1592():
Packit Service 99d393
          def g1591(f_1176):
Packit Service 99d393
            return f_1176(f_1176(y_1174))
Packit Service 99d393
          return g1591
Packit Service 99d393
        def g1590():
Packit Service 99d393
          def g1589(y_1175):
Packit Service 99d393
            return y_1175
Packit Service 99d393
          return g1589
Packit Service 99d393
        return g1592()(g1590())
Packit Service 99d393
      return g1588
Packit Service 99d393
    return g1593()(4)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1598():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1598()
Packit Service 99d393
    23
Packit Service 99d393
    """
Packit Service 99d393
    def g1597():
Packit Service 99d393
      def g1596(x_1177):
Packit Service 99d393
        return x_1177
Packit Service 99d393
      return g1596
Packit Service 99d393
    f_1178 = g1597()
Packit Service 99d393
    def g1595():
Packit Service 99d393
      if (False):
Packit Service 99d393
        return 1
Packit Service 99d393
      else:
Packit Service 99d393
        return f_1178(22)
Packit Service 99d393
    return (g1595()+1)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1603():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1603()
Packit Service 99d393
    22
Packit Service 99d393
    """
Packit Service 99d393
    def g1602():
Packit Service 99d393
      def g1601(x_1179):
Packit Service 99d393
        return x_1179
Packit Service 99d393
      return g1601
Packit Service 99d393
    f_1180 = g1602()
Packit Service 99d393
    def g1600():
Packit Service 99d393
      def g1599():
Packit Service 99d393
        return 23 == 0
Packit Service 99d393
      return f_1180(g1599())
Packit Service 99d393
    if (g1600()):
Packit Service 99d393
      return 1
Packit Service 99d393
    else:
Packit Service 99d393
      return 22
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1611():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1611()
Packit Service 99d393
    5061
Packit Service 99d393
    """
Packit Service 99d393
    def g1610():
Packit Service 99d393
      def g1609(x_1182):
Packit Service 99d393
        if (x_1182):
Packit Service 99d393
          return (not x_1182)
Packit Service 99d393
        else:
Packit Service 99d393
          return x_1182
Packit Service 99d393
      return g1609
Packit Service 99d393
    f_1185 = g1610()
Packit Service 99d393
    def g1608():
Packit Service 99d393
      def g1607(x_1181):
Packit Service 99d393
        return (10)*(x_1181)
Packit Service 99d393
      return g1607
Packit Service 99d393
    f2_1184 = g1608()
Packit Service 99d393
    x_1183 = 23
Packit Service 99d393
    def g1606():
Packit Service 99d393
      def g1605():
Packit Service 99d393
        def g1604():
Packit Service 99d393
          return x_1183 == 0
Packit Service 99d393
        return f_1185(g1604())
Packit Service 99d393
      if (g1605()):
Packit Service 99d393
        return 1
Packit Service 99d393
      else:
Packit Service 99d393
        return (x_1183)*(f2_1184((x_1183-1)))
Packit Service 99d393
    return (g1606()+1)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1614():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1614()
Packit Service 99d393
    1
Packit Service 99d393
    """
Packit Service 99d393
    def g1613():
Packit Service 99d393
      def g1612():
Packit Service 99d393
        return 0
Packit Service 99d393
      return g1612
Packit Service 99d393
    f_1186 = g1613()
Packit Service 99d393
    x_1187 = f_1186()
Packit Service 99d393
    return 1
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1617():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1617()
Packit Service 99d393
    1
Packit Service 99d393
    """
Packit Service 99d393
    def g1616():
Packit Service 99d393
      def g1615():
Packit Service 99d393
        return 0
Packit Service 99d393
      return g1615
Packit Service 99d393
    f_1188 = g1616()
Packit Service 99d393
    f_1188()
Packit Service 99d393
    return 1
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1620():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1620()
Packit Service 99d393
    4
Packit Service 99d393
    """
Packit Service 99d393
    def g1619():
Packit Service 99d393
      def g1618(x_1189):
Packit Service 99d393
        return x_1189
Packit Service 99d393
      return g1618
Packit Service 99d393
    f_1190 = g1619()
Packit Service 99d393
    if (True):
Packit Service 99d393
      f_1190(3)
Packit Service 99d393
      return 4
Packit Service 99d393
    else:
Packit Service 99d393
      return 5
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1623():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1623()
Packit Service 99d393
    6
Packit Service 99d393
    """
Packit Service 99d393
    def g1622():
Packit Service 99d393
      def g1621(x_1191):
Packit Service 99d393
        return x_1191
Packit Service 99d393
      return g1621
Packit Service 99d393
    f_1192 = g1622()
Packit Service 99d393
    (f_1192(4)) if (True) else (5)
Packit Service 99d393
    return 6
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1627():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1627()
Packit Service 99d393
    120
Packit Service 99d393
    """
Packit Service 99d393
    def g1626():
Packit Service 99d393
      def g1624(fact_1195, n_1194, acc_1193):
Packit Service 99d393
        def g1625():
Packit Service 99d393
          return n_1194 == 0
Packit Service 99d393
        if (g1625()):
Packit Service 99d393
          return acc_1193
Packit Service 99d393
        else:
Packit Service 99d393
          return fact_1195(fact_1195, (n_1194-1), (n_1194)*(acc_1193))
Packit Service 99d393
      return g1624
Packit Service 99d393
    fact_1196 = g1626()
Packit Service 99d393
    return fact_1196(fact_1196, 5, 1)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1632():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1632()
Packit Service 99d393
    144
Packit Service 99d393
    """
Packit Service 99d393
    def g1631():
Packit Service 99d393
      def g1628(b_1199, c_1198, a_1197):
Packit Service 99d393
        b_1203 = (b_1199)+(a_1197)
Packit Service 99d393
        def g1630():
Packit Service 99d393
          def g1629():
Packit Service 99d393
            a_1201 = (b_1199)+(b_1199)
Packit Service 99d393
            c_1200 = (c_1198)+(c_1198)
Packit Service 99d393
            return (a_1201)+(a_1201)
Packit Service 99d393
          return (a_1197)+(g1629())
Packit Service 99d393
        a_1202 = g1630()
Packit Service 99d393
        return (a_1202)*(a_1202)
Packit Service 99d393
      return g1628
Packit Service 99d393
    return g1631()(2, 3, 4)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1639():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1639()
Packit Service 99d393
    3
Packit Service 99d393
    """
Packit Service 99d393
    def g1638():
Packit Service 99d393
      def g1636(x_1204):
Packit Service 99d393
        def g1637():
Packit Service 99d393
          return x_1204()
Packit Service 99d393
        return g1637
Packit Service 99d393
      return g1636
Packit Service 99d393
    f_1205 = g1638()
Packit Service 99d393
    def g1635():
Packit Service 99d393
      def g1634():
Packit Service 99d393
        def g1633():
Packit Service 99d393
          return 3
Packit Service 99d393
        return g1633
Packit Service 99d393
      return f_1205(g1634())
Packit Service 99d393
    return g1635()()
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
def g1646():
Packit Service 99d393
    """
Packit Service 99d393
    >>> g1646()
Packit Service 99d393
    3628800
Packit Service 99d393
    """
Packit Service 99d393
    def g1645():
Packit Service 99d393
      def g1643(x_1207):
Packit Service 99d393
        def g1644():
Packit Service 99d393
          return x_1207 == 0
Packit Service 99d393
        if (g1644()):
Packit Service 99d393
          return 1
Packit Service 99d393
        else:
Packit Service 99d393
          return (x_1207)*(f_1206((x_1207)-(1)))
Packit Service 99d393
      return g1643
Packit Service 99d393
    f_1206 = g1645()
Packit Service 99d393
    q_1208 = 17
Packit Service 99d393
    def g1642():
Packit Service 99d393
      def g1640(a_1209):
Packit Service 99d393
        q_1208 = 10
Packit Service 99d393
        def g1641():
Packit Service 99d393
          return a_1209(q_1208)
Packit Service 99d393
        return g1641
Packit Service 99d393
      return g1640
Packit Service 99d393
    g_1210 = g1642()
Packit Service 99d393
    return g_1210(f_1206)()
Packit Service 99d393