-
Notifications
You must be signed in to change notification settings - Fork 84
dev: optimize bitshifts by using a lookup table for powers of two #905
Comments
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedHi, I am Cairo dev with lots of experience contributing to Cairo projects, my OD profile is a witness to this. This feat is right within my comfort zone. I have had experience working on projects were bitshift operations were implemented I can use those as a reference for implementing this. How I plan on tackling this issueAfter implementing this, I will write a robust unit test and ensure all test case are covered and the feat behaves as expected. |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedHello, I am Manuel, a process engineer and web3 developer. I have participated in Starknet Bootcamps, ETHGlobal and am an Elite winner of Speedrunstark. I have a high capacity to solve problems. I am a member of the DojoCoding community. How I plan on tackling this issueTo address the requirements of the issue, I will:
|
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI have been a rust and zk dev before and i have implemented lookup tables for zk cryptography . I think that will help me in this issue How I plan on tackling this issue
|
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI am a newcomer in the blockchain dev world, and I'd really like to be given a chance to complete my first OnlyDust contribution. I have experience with Node Guardians's brainfvck VM in Cairo, where I used bitshift operations a lot, as well as the cairo-profiler. Thank you How I plan on tackling this issueI would create a look up cable to store powers of two from w |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI have some experience in Cairo, mostly porting Solidity ERCs to Cairo: How I plan on tackling this issueI will carefully implement the required optimization by leveraging a lookup table for powers of 2 <= 255. |
The maintainer enitrat has assigned augustin-v to this issue via OnlyDust Platform. |
for the powers of two up to 256, we can define a lookup table and use that lookup table to execute bitshift operations, instead of calling the expensive cairo function
pow
.POW_2
pow
.Hint: In a generic context, you can get the value
255
of type T by doingBitSize::<u256>::bits() - One::<T>::one()
- make sure you're using the right types for that.kakarot-ssj/crates/utils/src/math.cairo
Lines 195 to 212 in b1f7f8c
kakarot-ssj/crates/utils/src/math.cairo
Lines 242 to 255 in b1f7f8c
The text was updated successfully, but these errors were encountered: