# How to Create Rounding and Comparison TensorFlow Operations

Most of the mathematical routines accept floating-point values as input and return floating-point values as output. But many applications need to convert floating-point values into integer values. For this reason, TensorFlow provides the rounding operations listed in the following table.

Rounding and Comparison Operations

Function | Description |

`round(x, name=None)` |
Rounds to the nearest integer, rounding up if there are two nearest integers |

`rint(x, name=None)` |
Rounds to the nearest integer, rounding to the nearest even integer if there are two nearest integers |

`ceil(x, name=None)` |
Returns the smallest integer greater than the value |

`floor(x, name=None)` |
Returns the greatest integer less than the value |

`maximum(x, y, name=None)` |
Returns a tensor containing the larger element of each input tensor |

`minimum(x, y, name=None)` |
Returns a tensor containing the smaller element of each input tensor |

`argmax(x, axis=None, name=None, dimension=None)` |
Returns the index of the greatest element in the tensor |

`argmin(x, axis=None, name=None, dimension=None)` |
Returns the index of the smallest element in the tensor |

The table also lists functions that perform comparisons. These functions return maximum and minimum values, both within a tensor and across two tensors.

The `round `

function examines each element of a tensor and returns the closest integer. If two closest integers are equally close, it returns the one further from zero. `rint `

is similar, but rounds to the nearest even value. The following code demonstrates how you can use `round`

, `rint`

, `ceil`

, and `floor`

:

t = tf.constant([-6.5, -3.5, 3.5, 6.5]) r1 = tf.round(t) # [-6. -4. 4. 6.] r2 = tf.rint(t) # [-6. -4. 4. 6.] r3 = tf.ceil(t) # [-6. -3. 4. 7.] r4 = tf.floor(t) # [-7. -4. 3. 6.]

The next two functions in the table, `maximum `

and `minimum`

, are easy to understand. `maximum `

returns a tensor containing the larger element of each input tensor, and `minimum `

returns a tensor containing the smaller element of each input tensor.

`argmax `

and `argmin `

return the index values of the largest and smallest elements of a tensor. The following code shows how you can use these functions:

t1 = tf.constant([0, -2, 4, 6]) t2 = tf.constant([[1, 3], [7, 2]]) r1 = tf.argmin(t1) # 1 r2 = tf.argmax(t2) # [ 1 0 ]

If a tensor has multiple maximum/minimum values, `argmax `

and `argmin `

will return the index values of the first occurring element.