Skip to content

Conversation

@lillianrubyrose
Copy link
Collaborator

Wife and I want Zfh & Zfhmin support in whisker so here this is~

I'm making this as a draft PR before I'm done for a few reasons. so I don't forget about it but also to ask a few questions:

  1. What do you think about getting this uploaded to crates.io? Is there any specific reason you haven't done so already?

  2. What do you think about splitting the wrapper into a feature or separate crate?
    For me it's just a preference thing as I plan to write my own thin wrapper sometime for whisker and the wrapper uses num-traits which I would prefer not to pull in if I'm not actively using it.

(note: Before I mark for review I'll squash everything down to a single commit and force-push, it's just easier for me to track things this way for now 💜)

@HarryR HarryR added the enhancement New feature or request label Oct 5, 2025
@HarryR
Copy link
Owner

HarryR commented Oct 5, 2025

Hey this is super cool!

What do you think about getting this uploaded to crates.io? Is there any specific reason you haven't done so already?

  • Yup will get this on crates.io with proper versioning, only reason was that only I was using it.

What do you think about splitting the wrapper into a feature or separate crate?

  • Hmm, num-traits and dependencies, you have a good point. I can separate the crates.

I have time this week to get more testing setup, the CI at the moment is only testing f32, but I need to manually run the full conformance suite to verify it matches testfloat (not sure if you're doing that or not). Then dig out some of my simulator code where I had some minor edge cases with RISCOF.

So my TODO would be:

  • Split crates so wrapper is separate, or... use a feature for the wrapper (making num-traits optional?)
  • Test stuff
  • Publish on crates.io
  • Check RISCOF and update my projects

Then I'm happy to add you as a collaborator on this repo if it will make your life easier in future.

Copy link
Collaborator Author

@lillianrubyrose lillianrubyrose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All comments besides the one regarding linting are just reminders for myself as I'm taking a break now.

num-traits = { version = "0.2", default-features = false }

[lints.rust]
warnings = "deny"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I commented these out because a lot of code that wasn't added in this PR (I'm sure tons of what I added here does as well though!) violates various lints in these groups and my editor was screaming lol.

I could fix them in this PR if you'd like, @HarryR , although I think it would be more appropriate for me to do as a follow-up PR.

@lillianrubyrose
Copy link
Collaborator Author

lillianrubyrose commented Oct 5, 2025

Hey this is super cool!

I have time this week to get more testing setup, the CI at the moment is only testing f32, but I need to manually run the full conformance suite to verify it matches testfloat (not sure if you're doing that or not).

I haven't ran any of this code against testfloat, no. I could probably get it running pretty easy on my NixOS machine but I'm currently under Windows for a little bit and that'd be rough :p.

I think I've got everything implemented relating to F16s now though, just have to figure out if it's correct or not

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants