Skip to content

Phase 2: Complete dt-robust operators in standard library #249

@ztripez

Description

@ztripez

Phase 2: Complete DtRobust Operators in Standard Library

Part of Epic #247

Objective

Complete the standard library implementation of all dt-robust operators with both scalar and vectorized variants, making kernels/functions the authoritative source.

Tasks

Add Missing Operators

  • Implement accumulate function in dt_operators.rs
  • Implement advance_phase function in dt_operators.rs
  • Implement smooth function in dt_operators.rs
  • Implement damp function in dt_operators.rs (if design exists)

Add Vectorized Implementations

  • Port integrate vectorized logic from vectorized/mod.rs
  • Port decay vectorized logic from vectorized/mod.rs
  • Port relax vectorized logic from vectorized/mod.rs
  • Add vectorized implementations for new operators

Integration Method Support

  • Evaluate need for explicit integration method variants
  • Add integrate_rk4, integrate_verlet if needed
  • Or design single function with method parameter

Dependencies

  • Add wrap function to math.rs if not present (needed for advance_phase)
  • Ensure all math dependencies are available in stdlib

Testing

  • Add comprehensive tests for all new operators
  • Test vectorized implementations against current IR versions
  • Performance benchmarks vs current hardcoded implementations

Files to Modify

  • crates/kernels/functions/src/dt_operators.rs
  • crates/kernels/functions/src/math.rs (if wrap function needed)
  • crates/kernels/functions/src/lib.rs (module exports)

Success Criteria

  • All DtRobust operators available as stdlib functions
  • Vectorized variants registered and working
  • Performance parity with hardcoded implementations
  • All tests pass

Dependencies

  • Requires Phase 1 (enhanced kernel registry)

Estimated Time: 1 week

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphase-2Phase 2 of epic implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions