# Send a widthless bin index to the first bin natively too · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/380d3ab11c595ffa5ee641868961bd5a2411331e)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 380d3ab11c595ffa5ee641868961bd5a2411331e

Requested commit: 380d3ab11c595ffa5ee641868961bd5a2411331e

Commit: 380d3ab11c595ffa5ee641868961bd5a2411331e

Tree: e4299e9ed14d5ca02acec049f342b17835124b6d

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Send a widthless bin index to the first bin natively too

At an aperture of 5e-324 radians the bins have no width, and a corner a
hair off the cone's direction gave a 0/0 bin index. std::min and std::max
pass NaN through, so the native chain walk looped forever where the Dart
query, which compares explicitly, returned at once. Compare explicitly in
native too.

The exactness check also unwraps outline angles in ray order from the
cone's first edge: on a full circle the first point's angle could come
back as pi rather than -pi, and the check then probed nothing. A test now
hands it an outline with a wall left out and expects complaints, including
that full circle.

Found in review by Astra.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

- [ddc02a59ae9bd77edbf3f0881bdb90c9df011f75](https://git.cafe/dara/icarus/commit/ddc02a59ae9bd77edbf3f0881bdb90c9df011f75?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/380d3ab11c595ffa5ee641868961bd5a2411331e?format=markdown)
