Example #1
0
 def testConsistent(self):
   nums, divs = self.intTestData()
   with self.test_session():
     tf_result = (
         math_ops.floor_div(nums, divs) * divs + math_ops.floormod(nums, divs)
     ).eval()
     tf_nums = array_ops.constant(nums)
     tf_divs = array_ops.constant(divs)
     tf2_result = (tf_nums // tf_divs * tf_divs + tf_nums % tf_divs).eval()
     np_result = (nums // divs) * divs + (nums % divs)
     # consistentcy with numpy
     self.assertAllEqual(tf_result, np_result)
     # consistentcy with two forms of divide
     self.assertAllEqual(tf_result, tf2_result)
     # consistency for truncation form
     tf3_result = (
         math_ops.truncatediv(nums, divs) * divs
         + math_ops.truncatemod(nums, divs)
     ).eval()
     expanded_nums = np.reshape(np.tile(nums, divs.shape[1]),
                                (nums.shape[0], divs.shape[1]))
     # Consistent with desire to get numerator
     self.assertAllEqual(tf3_result, expanded_nums)
     # Consistent with desire to get numerator
     self.assertAllEqual(tf_result, expanded_nums)
 def testConsistent(self):
   nums, divs = self.intTestData()
   with self.test_session():
     tf_result = (
         math_ops.floor_div(nums, divs) * divs + math_ops.floor_mod(nums, divs)
     ).eval()
     tf_nums = array_ops.constant(nums)
     tf_divs = array_ops.constant(divs)
     tf2_result = (tf_nums // tf_divs * tf_divs + tf_nums % tf_divs).eval()
     np_result = (nums // divs) * divs + (nums % divs)
     # consistentcy with numpy
     self.assertAllEqual(tf_result, np_result)
     # consistentcy with two forms of divide
     self.assertAllEqual(tf_result, tf2_result)
     # consistency for truncation form
     tf3_result = (
         math_ops.truncatediv(nums, divs) * divs
         + math_ops.truncatemod(nums, divs)
     ).eval()
     expanded_nums = np.reshape(np.tile(nums, divs.shape[1]),
                                (nums.shape[0], divs.shape[1]))
     # Consistent with desire to get numerator
     self.assertAllEqual(tf3_result, expanded_nums)
     # Consistent with desire to get numerator
     self.assertAllEqual(tf_result, expanded_nums)
Example #3
0
 def testTruncateDivModIntEdges(self):
   for dtype in [np.int32, np.int64]:
     x, y = self.intEdgeTestData(dtype)
     tf_truncate_div = math_ops.truncatediv(x, y)
     np_truncate_div = self.numpySafeTruncateDivInt(x, y)
     self.assertAllEqual(tf_truncate_div, np_truncate_div)
     tf_truncate_mod = math_ops.truncatemod(x, y)
     np_truncate_mod = self.numpySafeTruncateModInt(x, y)
     self.assertAllEqual(tf_truncate_mod, np_truncate_mod)
     z = math_ops.add(math_ops.multiply(tf_truncate_div, y), tf_truncate_mod)
     # x = truncatediv(x, y) * y + truncatemod(x, y)
     self.assertAllEqual(z, np.broadcast_to(x, z.shape))
 def testTruncateModFloat(self):
   nums, divs = self.floatTestData()
   with self.test_session():
     tf_result = math_ops.truncatemod(nums, divs).eval()
     np_result = np.fmod(nums, divs)
     self.assertAllEqual(tf_result, np_result)
 def testTruncateModFloat(self):
     nums, divs = self.floatTestData()
     with self.cached_session():
         tf_result = math_ops.truncatemod(nums, divs).eval()
         np_result = np.fmod(nums, divs)
         self.assertAllEqual(tf_result, np_result)
Example #6
0
 def testTruncateModFloat(self):
     nums, divs = self.floatTestData()
     tf_result = math_ops.truncatemod(nums, divs)
     np_result = np.fmod(nums, divs)
     self.assertAllEqual(tf_result, np_result)