Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

patch: expose all engines #74

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

verpeteren
Copy link
Contributor

It seems that only the Scalar engine was exposed

It seems that only the Scalar engine was exposed
verpeteren added a commit to verpeteren/rust-simd-noise that referenced this pull request Nov 19, 2024
I finished the port to simdeez2 with the help of @valadaptive and @arduano 🎉 
This PR needs more engines in the simdeez library exposed. Hence [this PR](arduano/simdeez#74).

Because there were some bugfixes along the way, the output of the various noise generators might slightly differ.
There are probably things that are slightly broken and the _f64 variants were done on a best effort basis.

Let's merge this in and improve from there!
@arduano
Copy link
Owner

arduano commented Dec 5, 2024

Yeah so this one was difficult for me to decide on. The issue with exposing all engines is that the API is no longer safe. The reason the API was all unsafe before was specifically for this reason. I'm not sure what's the best way to go about this. Do you have any thoughts?

The requirement: If the programmer can explicitly specify the engine they're currently using for any given piece of code, the programmer must known the operation is going to be unsafe (should result in at least 1 unsafe block somewhere in their code). Manually choosing an engine is inherently unsafe because the CPU may not support it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants