# stage2: implement \`@reduce\` · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/7233a3324aaa5b3995606f24b2b961149219986b)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 7233a3324aaa5b3995606f24b2b961149219986b

Requested commit: 7233a3324aaa5b3995606f24b2b961149219986b

Commit: 7233a3324aaa5b3995606f24b2b961149219986b

Tree: 009a83fa10f489f0d6da4f77f07a4d0c8ca4e388

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
stage2: implement `@reduce`

Notably, Value.eql and Value.hash are improved to treat NaN as equal to
itself, so that Type/Value can be hash map keys. Likewise float hashing
normalizes the float value before computing the hash.

```

## Parents

- [76e103057ea6037d3bb3e44cd33880a9a91609fb](https://git.cafe/gitcafe/zig/commit/76e103057ea6037d3bb3e44cd33880a9a91609fb?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/7233a3324aaa5b3995606f24b2b961149219986b?format=markdown)
