Skip to content

[C++][Python] Remove integer compatibility for trunc, floor and ceil #36786

@js8544

Description

@js8544

Describe the enhancement requested

Follow-up of #36289 (comment). I am in favor of removing integer compatibility for trunc, floor and ceil for the following reasons:

  1. Mathematically they are no-ops for integers, so it doesn't make much sense to support them as a function.
  2. The current implementation casts ints to floats, which may yield unexpected results due to float precision issues.
  3. It's very simple to remove it, by just deleting several lines of code, as @jorisvandenbossche mentioned here, along with some small changes in tests and docs.
  4. The support for integers was probably unintentional, just like the case for round.

The downside is, all the SQL engines, along with Numpy and R, support floor(int), and the result type is double, which means our current implementation is consistent with them.

cc @pitrou @jorisvandenbossche @westonpace

Component(s)

C++

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions