Comments (4)
You’ve definitely spent more time considering this than I have, so I’ll need to look at it more to get a better feel for your list. What I should have said is that I would prefer to prioritize doing as many u256 as possible before doing u128.
from miden-vm.
I would rather skip u128
and aim for all u256
operations.
from miden-vm.
Agree on skipping u128
. Regarding u256
, supporting everything would be quite difficult. Here is my initial list with thoughts:
add
- [done]sub
- [done]mul
- [done], can probably be optimized.div
- oncemul
is working, shouldn't be too difficult.sdiv
- skip for now?smod
- skip for now?mod
- skip for now?addmod
- skip for now?mulmod
- skip for now?exp
- skip for now?signextend
- skip for now?lt
- [kind of done], there is an implementation, but it can be improved.gt
- similar tolt
.slt
- skip for now?sgt
- skip for now?eq
- [done]iszero
- [done]and
- [done]or
- [done]xor
- [done]not
- easy, we should do it.shl
- not sure how to do this yet, might require changes to the instruction set, but would be good to include it even now.shr
- same asshl
.sar
- skip for now?
from miden-vm.
For v0.1 release (which will accompany v0.2 release of the VM), we will include the following in the standard library:
math::u64
crypto::hashes::blake3
crypto::hashes::sha256
I'm closing this issue and will open another one for v0.2 stdlib content.
from miden-vm.
Related Issues (20)
- MASM arithmetic instructions should accept constants HOT 3
- u32and should accept err HOT 9
- u32 bitwise operations should accept immediate values
- allow odd number of characters in hex constants HOT 2
- Add recursive call limit HOT 4
- MASM test runner HOT 1
- Add procedures to initialize the hasher state HOT 2
- Add procedures to read and verify data from the advice stack HOT 3
- Test sha256_hash_memory is flaky
- Add mutation testing strategy HOT 3
- Create method to add list of values to advice provider
- Change `FailedSignatureGeneration`'s inner type to `String`
- Allow setting the kernel via the CLI
- Allow setting debug mode via CLI HOT 3
- Allow repeat opcode to be set programmatically HOT 1
- comparison instructions should accept immediate values HOT 1
- When both values are not u32 the error for instruction u32assert2 should carry both
- Add an inverse of u32split instruction HOT 1
- Allow changing constant values prior to execution
- Optimization of `sys::truncate_stack` procedure in `stdlib`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from miden-vm.