Repository navigation
v1.3.1: Fix Sum operations parentheses and wrapped value definitions
π What's New in v1.3.1
π§ Bug Fixes
Sum Operations Parentheses
- Fixed missing parentheses for Sum operations when used in multiplication/division contexts
- Sum operations now properly wrapped with parentheses for mathematical clarity
- Example:
(Sum(items)) Γ multiplierinstead ofSum(items) Γ multiplier
Wrapped Value Definitions in FinalCalculationSteps
- Enhanced calculation step display to include wrapped value definitions when used in complex expressions
- Intelligent complexity detection determines when to show multi-line format
- Wrapped values now properly show their definitions in calculation steps
π§ͺ Test Results
- Fixed 7 originally failing tests related to missing parentheses and definitions
- Resolved 2 additional side-effect failures from over-aggressive formatting
- All 168 tests now passing β
π§ Technical Changes
Core Improvements
- FormatOperand method: Enhanced Sum operation detection and parentheses logic
- FinalCalculationSteps property: Improved wrapped value definition inclusion
- CountOperators helper: New method for expression complexity analysis
Code Examples
Sum Parentheses Detection:
// Only add parentheses for actual Sum operations, not multiplications containing sums
var isTopLevelSum = operand._caption.StartsWith("Sum(") ||
(operand._caption.Contains(" + ") &&
\!operand._caption.Contains(" Γ ") &&
\!operand._caption.Contains(" Γ· "));Wrapped Value Multi-line Logic:
// Only show multi-line format for multiplication expressions with wrapped values
var operatorCount = CountOperators(_caption);
var isSimpleMultiplication = operatorCount == 1 && _caption.Contains(" Γ ") &&
_caption.Contains(wrappedName + "[");
shouldShowMultiLine = hasComplexDefinition && isSimpleMultiplication;π Files Modified
HumanReadableCalculationSteps/ValueWithCaption.cs- Core formatting logic- Test files - Updated expectations for improved formatting behavior
π Related
π€ Contributors
This release includes improvements to mathematical notation accuracy and calculation step visibility, ensuring better user experience when working with complex expressions.
Full Changelog: v1.3.0...v1.3.1