Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
style!: issue15 - cleaner polynomial interface #21
style!: issue15 - cleaner polynomial interface #21
Changes from 1 commit
5d3ec00
b07e0a0
339d309
e8ad64e
98139b4
d88faf5
f61a433
965fea8
5933b01
0ed4496
09444ff
464ac34
88eb5ff
c4c2e91
123578b
5ee952e
c3653a8
e61ddcf
194b32b
8ca7620
54626b1
5c8e0ac
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make sure to note that this blob is different from the blob defintion from the eigenda_client. I would get super confused by it
https://github.com/Layr-Labs/eigenda/blob/master/api/clients/eigenda_client.go#L167
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is too deep in the weeds. Nobody will know about this (for now). Let's just fix that name and not mention it here. Let's try to keep the docs here self-contained.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just say not to confuse with the others. Then once the interface update, we ca update here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But we will just forget to update here and then confuse people even more. Let's not confuse them with problems they don't have haha.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If im understanding this right, when we call
to_eval_form()
, the Fr field size is changed to the next power of 2 and then padded with the "0" field element right ?Thinking through, if someone calls
to_eval
orto_coeff
this might happen ?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not the Fr field size, but the size of the polynomial (number of evaluation points) is extended to the next power of 2 usings 0s yes. See the comment here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if i have [1, 2, 3] in coeff, it gets padded to [1,2,3,0] and when
to_eval()
is called, does it do [1, 2, 3, 0, 0, 0, 0, 0] ?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
correct because we use https://doc.rust-lang.org/std/primitive.usize.html#method.next_power_of_two
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added test: e61ddcf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. I'm thinking we shouldn't pad extra 0's when calling
to_eval()
orto_coeff()
right ? The fft or ifft will return the same amount of elements and we should be using only those after conversion ?Or is it the understanding that since it's 0's the commitment will remain the same and the caller will only parse the number of bytes as specified by the header byte, which contains the length, attached by the proxy ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, that is what we are doing in hokulea, we get the entire blob and just read the data based on the header that encodes how much is the user data
https://github.com/Layr-Labs/hokulea/blob/master/crates/eigenda/src/eigenda_data.rs#L41
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah I see. Then let's just add a comment in the code to capture this behaviour and be done ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it won't pad extra 0s, because the evals/coeffs are already a power of 2, so that won't change.
not sure I understand what you mean here