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

feat: Supporting Log2 Operator #27

Open
raphaelDkhn opened this issue Mar 3, 2025 · 0 comments
Open

feat: Supporting Log2 Operator #27

raphaelDkhn opened this issue Mar 3, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@raphaelDkhn
Copy link
Collaborator

raphaelDkhn commented Mar 3, 2025

This issue aims to add support for the Log2 operator in LuminAIR.

Implementation Requirements

1. PrimitiveCompiler Support

  • Add Log2 operator handling in the PrimitiveCompiler
  • Follow the pattern established for other operators like Add and Mul
  • Ensure proper connection with the AIR component

2. AIR Component Implementation

  • Implement the Log2 AIR component in air/src/components/mod.rs
  • Define appropriate trace generation and constraints for the Log2 operation

3. Value-Level Implementation

Implement fixed-point Log2 operation in the NumerAIR repository for:

  • FixedBaseField backend
  • FixedPackedBaseField backend

4. Testing

  • Add unit tests verifying the correctness of the Log2 operation in NumerAIR repository
  • Add integration tests demonstrating the full flow (build graph → compile → prove → verify) in graph/src/tests/ops.rs

5. Documentation

  • Update the operators documentation in docs/concepts/operators.mdx to change the status of Log2 from ⏳ to ✅
  • Add any specific notes about the implementation if necessary

References

Other operator implementations like Add and Mul can be used as references

Acceptance Criteria

  • The Log2 operator works correctly for all valid inputs
  • A proof can be generated and verified for computational graphs using the Log2 operator
  • All tests pass, including edge cases
  • Documentation is updated to reflect the new implementation status
  • The implementation follows the project's code style and architectural patterns
@raphaelDkhn raphaelDkhn added the enhancement New feature or request label Mar 3, 2025
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

No branches or pull requests

1 participant