コード例 #1
0
ファイル: test_res_net.py プロジェクト: zenna/dddt
  def trace5(items, r, runstate, push, pop, empty):
    """Make n random choices over whether to push or pop"""
    asl.log_append("empty", empty)
    stack = empty
    stack_size = 0
    choicesperround = nitems
    for nr in range(nrounds * choicesperround):
      if stack_size == 0:
        (stack, ) = push(stack, next(items))
        stack_size = stack_size + 1
      elif stack_size == nitems:
        (stack, pop_item) = pop(stack)
        asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
        stack_size = stack_size - 1
      else:
        dopush = r.choice([True, False])
        if dopush:
          (stack, ) = push(stack, next(items))
          stack_size = stack_size + 1
        else:
          (stack, pop_item) = pop(stack)
          asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
          stack_size = stack_size - 1

    # Final pop to make sure we get some data
    if stack_size > 0:
      (stack, pop_item) = pop(stack)
      asl.observe(pop_item, "pop.final", runstate)    
      asl.log_append("{}/internal".format(runstate['mode']), stack)
コード例 #2
0
    def trace5(items, r, runstate, push, pop, empty):
        """Make n random choices over whether to push or pop"""
        asl.log_append("empty", empty)
        stack = empty
        stack_size = 0
        choicesperround = nitems
        for nr in range(nrounds * choicesperround):
            if stack_size == 0:
                (stack, ) = push(stack, next(items))
                stack_size = stack_size + 1
            elif stack_size == nitems:
                (stack, pop_item) = pop(stack)
                asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
                stack_size = stack_size - 1
            else:
                dopush = r.choice([True, False])
                if dopush:
                    (stack, ) = push(stack, next(items))
                    stack_size = stack_size + 1
                else:
                    (stack, pop_item) = pop(stack)
                    asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
                    stack_size = stack_size - 1

        # Final pop to make sure we get some data
        if stack_size > 0:
            (stack, pop_item) = pop(stack)
            asl.observe(pop_item, "pop.final", runstate)
            asl.log_append("{}/internal".format(runstate['mode']), stack)
コード例 #3
0
ファイル: mnistqueue.py プロジェクト: zenna/dddt
 def sketch(self, items, enqueue, dequeue, empty):
   """Example queue trace"""
   asl.log_append("empty", empty)
   queue = empty
   (queue,) = enqueue(queue, next(items))
   (queue,) = enqueue(queue, next(items))
   (dequeue_queue, dequeue_item) = dequeue(queue)
   self.observe(dequeue_item)
   (dequeue_queue, dequeue_item) = dequeue(dequeue_queue)
   self.observe(dequeue_item)
   return dequeue_item
コード例 #4
0
 def sketch(self, items, enqueue, dequeue, empty):
     """Example queue trace"""
     asl.log_append("empty", empty)
     queue = empty
     (queue, ) = enqueue(queue, next(items))
     (queue, ) = enqueue(queue, next(items))
     (dequeue_queue, dequeue_item) = dequeue(queue)
     self.observe(dequeue_item)
     (dequeue_queue, dequeue_item) = dequeue(dequeue_queue)
     self.observe(dequeue_item)
     return dequeue_item
コード例 #5
0
ファイル: mnistset.py プロジェクト: zenna/asl
 def trace(items, r, runstate, add, card, empty):
   """Example set trace"""
   asl.log_append("empty", empty)
   aset = empty
   (set_card, ) = card(aset)
   asl.observe(bridge(set_card), "card1", runstate)
   hand = [next(items) for i in range(5)]
   subhand = [r.choice(hand) for i in range(5)]
   for i, item in enumerate(subhand):
     (aset, ) = add(aset, item)
     asl.log_append("{}/internal".format(runstate['mode']), aset)
     (set_card, ) = card(aset)
     asl.observe(bridge(set_card), "card.{}".format(i), runstate)
   return set_card
コード例 #6
0
ファイル: basicstacktrain.py プロジェクト: zenna/asl
  def trace(items, r, runstate, push, pop, empty):
    """Example stack trace"""
    asl.log_append("empty", empty)
    stack = empty

    (stack,) = push(stack, next(items))
    asl.log_append("{}/internal".format(runstate['mode']), stack)

    (stack,) = push(stack, next(items))
    asl.log_append("{}/internal".format(runstate['mode']), stack)

    (pop_stack, pop_item) = pop(stack)
    asl.observe(pop_item, "pop1", runstate)
    asl.log_append("{}/internal".format(runstate['mode']), pop_stack)

    (pop_stack, pop_item) = pop(pop_stack)
    asl.observe(pop_item, "pop2", runstate)
    asl.log_append("{}/internal".format(runstate['mode']), pop_stack)
    return pop_item
コード例 #7
0
    def trace3(items, r, runstate, push, pop, empty):
        """Pushes n items, to create n stacks, pops from random one"""
        asl.log_append("empty", empty)
        stack = empty
        for nr in range(nrounds):
            stacks = []
            for i in range(nitems):
                (stack, ) = push(stack, next(items))
                asl.log_append("{}/internal".format(runstate['mode']), stack)
                stacks.append(stack)

            stack = r.choice(stacks)
            asl.log_append("{}/internal".format(runstate['mode']), stack)
            (stack, pop_item) = pop(stack)
            asl.log_append("{}/internal".format(runstate['mode']), stack)
            asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
コード例 #8
0
ファイル: stacktraces.py プロジェクト: zenna/dddt
  def trace3(items, r, runstate, push, pop, empty):
    """Pushes n items, to create n stacks, pops from random one"""
    asl.log_append("empty", empty)
    stack = empty
    for nr in range(nrounds):
      stacks = []
      for i in range(nitems):
        (stack, ) = push(stack, next(items))
        asl.log_append("{}/internal".format(runstate['mode']), stack)
        stacks.append(stack)

      stack = r.choice(stacks)
      asl.log_append("{}/internal".format(runstate['mode']), stack)
      (stack, pop_item) = pop(stack)
      asl.log_append("{}/internal".format(runstate['mode']), stack)
      asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
コード例 #9
0
ファイル: mnistset.py プロジェクト: zenna/asl
 def trace(items, r, runstate, add, card, empty):
   """Example set trace"""
   # import pdb; pdb.set_trace()
   asl.log_append("empty", empty)
   aset = empty
   (set_card, ) = card(aset)
   asl.observe(bridge(set_card), "card1", runstate)
   i1 = next(items)
   i2 = next(items)
   (aset, ) = add(aset, i1)
   asl.log_append("{}/internal".format(runstate['mode']), aset)
   (aset, ) = add(aset, i1)
   asl.observe(bridge(set_card), "card2", runstate)      
   asl.log_append("{}/internal".format(runstate['mode']), aset)
   (aset, ) = add(aset, i2)
   asl.log_append("{}/internal".format(runstate['mode']), aset)
   (set_card, ) = card(aset)
   asl.observe(bridge(set_card), "card3", runstate)      
   return set_card
コード例 #10
0
ファイル: stacktraces.py プロジェクト: zenna/dddt
 def trace2(items, r, runstate, push, pop, empty):
   """Push Pop Push Push Pop Pop Push Push Push Pop Pop Pop"""
   asl.log_append("empty", empty)
   stack = empty
   for nr in range(nrounds):
     for i in range(nitems):
       (stack,) = push(stack, next(items))
       asl.log_append("{}/internal".format(runstate['mode']), stack)
       pop_stack = stack
       for j in range(i, -1, -1):
         (pop_stack, pop_item) = pop(pop_stack)
         asl.log_append("{}/internal".format(runstate['mode']), pop_stack)
         asl.observe(pop_item, "pop.nr{}.i{}.j{}".format(nr, i, j), runstate)
   return pop_item
コード例 #11
0
    def trace1(items, r, runstate, push, pop, empty):
        """Push push push, pop pop pop"""
        asl.log_append("empty", empty)
        stack = empty
        for nr in range(nrounds):
            for i in range(nitems):
                (stack, ) = push(stack, next(items))
                asl.log_append("{}/internal".format(runstate['mode']), stack)

            for j in range(nitems):
                (stack, pop_item) = pop(stack)
                asl.observe(pop_item, "pop.{}.{}".format(nr, j), runstate)
                asl.log_append("{}/internal".format(runstate['mode']), stack)

        return pop_item
コード例 #12
0
ファイル: basicstacktrain.py プロジェクト: zenna/dddt
  def trace1(items, r, runstate, push, pop, empty):
    """Push push push, pop pop pop"""
    asl.log_append("empty", empty)
    stack = empty
    for nr in range(nrounds):
      for i in range(nitems):
        (stack,) = push(stack, next(items))
        asl.log_append("{}/internal".format(runstate['mode']), stack)

      for j in range(nitems):
        (stack, pop_item) = pop(stack)
        asl.observe(pop_item, "pop.{}.{}".format(nr, j), runstate)
        asl.log_append("{}/internal".format(runstate['mode']), stack)
      
    return pop_item
コード例 #13
0
 def trace2(items, r, runstate, push, pop, empty):
     """Push Pop Push Push Pop Pop Push Push Push Pop Pop Pop"""
     asl.log_append("empty", empty)
     stack = empty
     for nr in range(nrounds):
         for i in range(nitems):
             (stack, ) = push(stack, next(items))
             asl.log_append("{}/internal".format(runstate['mode']), stack)
             pop_stack = stack
             for j in range(i, -1, -1):
                 (pop_stack, pop_item) = pop(pop_stack)
                 asl.log_append("{}/internal".format(runstate['mode']),
                                pop_stack)
                 asl.observe(pop_item, "pop.nr{}.i{}.j{}".format(nr, i, j),
                             runstate)
     return pop_item
コード例 #14
0
    def trace6(items, r, runstate, push, pop, empty):
        """Pushes n items, to create n stacks, pops randnum times, then observe once"""
        asl.log_append("empty", empty)
        stack = empty
        for nr in range(nrounds):
            stacks = []
            for i in range(nitems):
                (stack, ) = push(stack, next(items))
                asl.log_append("{}/internal".format(runstate['mode']), stack)
                stacks.append(stack)

            npops = r.randdint(1, nitems)
            for j in range(npops):
                (stack, pop_item) = pop(stack)
                asl.log_append("{}/internal".format(runstate['mode']), stack)

            asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
コード例 #15
0
ファイル: stacktraces.py プロジェクト: zenna/dddt
  def trace6(items, r, runstate, push, pop, empty):
    """Pushes n items, to create n stacks, pops randnum times, then observe once"""
    asl.log_append("empty", empty)
    stack = empty
    for nr in range(nrounds):
      stacks = []
      for i in range(nitems):
        (stack, ) = push(stack, next(items))
        asl.log_append("{}/internal".format(runstate['mode']), stack)
        stacks.append(stack)

      npops = r.randint(1, nitems)
      for j in range(npops):
        (stack, pop_item) = pop(stack)
        asl.log_append("{}/internal".format(runstate['mode']), stack)
      
      asl.observe(pop_item, "pop.nr{}".format(nr), runstate)
コード例 #16
0
ファイル: mniststack.py プロジェクト: zenna/asl
    def trace(items, r, runstate, push, pop, empty):
        """Example stack trace"""
        # import pdb; pdb.set_trace()
        asl.log_append("empty", empty)
        stack = empty
        for nr in range(nrounds):
            for i in range(nitems):
                (stack, ) = push(stack, next(items))
                # print("BLIP!")
                asl.log_append("{}/internal".format(runstate['mode']), stack)

            for j in range(nitems):
                (stack, pop_item) = pop(stack)
                asl.observe(pop_item, "pop.{}.{}".format(nr, j), runstate)
                # print("BLIP!")
                asl.log_append("{}/internal".format(runstate['mode']), stack)

        return pop_item
コード例 #17
0
ファイル: mniststack.py プロジェクト: zenna/dddt
  def trace(items, r, runstate, push, pop, empty):
    """Example stack trace"""
    # import pdb; pdb.set_trace()
    asl.log_append("empty", empty)
    stack = empty
    for nr in range(nrounds):
      for i in range(nitems):
        (stack,) = push(stack, next(items))
        # print("BLIP!")
        asl.log_append("{}/internal".format(runstate['mode']), stack)

      for j in range(nitems):
        (stack, pop_item) = pop(stack)
        asl.observe(pop_item, "pop.{}.{}".format(nr, j), runstate)
        # print("BLIP!")
        asl.log_append("{}/internal".format(runstate['mode']), stack)
      
    return pop_item