original_docstring: blowfish encipher a single 64-bit block encoded as two 32-bit ints
docstring: blowfish encipher a single 64-bit block encoded as two 32-bit ints
docstring_tokens: blowfish encipher a single 64 - bit block encoded as two 32 - bit ints
code: def encipher(self, l, r):
          """blowfish encipher a single 64-bit block encoded as two 32-bit ints"""
  
          (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9,
            p10, p11, p12, p13, p14, p15, p16, p17) = self.P
          S0, S1, S2, S3 = self.S
  
          l ^= p0
  
          # Feistel substitution on left word (round 0)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p1
  
          # Feistel substitution on right word (round 1)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p2
          # Feistel substitution on left word (round 2)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p3
  
          # Feistel substitution on right word (round 3)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p4
          # Feistel substitution on left word (round 4)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p5
  
          # Feistel substitution on right word (round 5)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p6
          # Feistel substitution on left word (round 6)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p7
  
          # Feistel substitution on right word (round 7)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p8
          # Feistel substitution on left word (round 8)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p9
  
          # Feistel substitution on right word (round 9)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p10
          # Feistel substitution on left word (round 10)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p11
  
          # Feistel substitution on right word (round 11)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p12
          # Feistel substitution on left word (round 12)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p13
  
          # Feistel substitution on right word (round 13)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p14
          # Feistel substitution on left word (round 14)
          r ^= ((((S0[l >> 24] + S1[(l >> 16) & 0xff]) ^ S2[(l >> 8) & 0xff]) +
                S3[l & 0xff]) & 0xffffffff) ^ p15
  
          # Feistel substitution on right word (round 15)
          l ^= ((((S0[r >> 24] + S1[(r >> 16) & 0xff]) ^ S2[(r >> 8) & 0xff]) +
                S3[r & 0xff]) & 0xffffffff) ^ p16
  
          return r ^ p17, l
code_tokens: def encipher ( self , l , r ) : ( p0 , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 , p10 , p11 , p12 , p13 , p14 , p15 , p16 , p17 ) = self . P S0 , S1 , S2 , S3 = self . S l ^= p0 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p1 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p2 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p3 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p4 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p5 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p6 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p7 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p8 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p9 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p10 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p11 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p12 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p13 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p14 r ^= ( ( ( ( S0 [ l >> 24 ] + S1 [ ( l >> 16 ) & 0xff ] ) ^ S2 [ ( l >> 8 ) & 0xff ] ) + S3 [ l & 0xff ] ) & 0xffffffff ) ^ p15 l ^= ( ( ( ( S0 [ r >> 24 ] + S1 [ ( r >> 16 ) & 0xff ] ) ^ S2 [ ( r >> 8 ) & 0xff ] ) + S3 [ r & 0xff ] ) & 0xffffffff ) ^ p16 return r ^ p17 , l
short_docstring: blowfish encipher a single 64-bit block encoded as two 32-bit ints
short_docstring_tokens: blowfish encipher a single 64 - bit block encoded as two 32 - bit ints
comment: """blowfish encipher a single 64-bit block encoded as two 32-bit ints"""$SEP$# Feistel substitution on left word (round 0)$SEP$# Feistel substitution on right word (round 1)$SEP$# Feistel substitution on left word (round 2)$SEP$# Feistel substitution on right word (round 3)$SEP$# Feistel substitution on left word (round 4)$SEP$# Feistel substitution on right word (round 5)$SEP$# Feistel substitution on left word (round 6)$SEP$# Feistel substitution on right word (round 7)$SEP$# Feistel substitution on left word (round 8)$SEP$# Feistel substitution on right word (round 9)$SEP$# Feistel substitution on left word (round 10)$SEP$# Feistel substitution on right word (round 11)$SEP$# Feistel substitution on left word (round 12)$SEP$# Feistel substitution on right word (round 13)$SEP$# Feistel substitution on left word (round 14)$SEP$# Feistel substitution on right word (round 15)