Class SymbolicTransformationResult
- Namespace
- Utils.Mathematics.Expressions
- Assembly
- Utils.Mathematics.dll
A structured, non-throwing result of a symbolic transformation (differentiation or integration). Lets callers distinguish "not differentiable/integrable", "approximately transformed", "invalid input", and "internal construction failure" without relying on exception types or null conventions (see TODO-2026-07-11-pass3.md item #42).
public sealed record SymbolicTransformationResult : IEquatable<SymbolicTransformationResult>
- Inheritance
-
SymbolicTransformationResult
- Implements
- Inherited Members
- Extension Methods
Constructors
SymbolicTransformationResult(SymbolicTransformationStatus, LambdaExpression?, bool, Expression?, string?, Exception?)
A structured, non-throwing result of a symbolic transformation (differentiation or integration). Lets callers distinguish "not differentiable/integrable", "approximately transformed", "invalid input", and "internal construction failure" without relying on exception types or null conventions (see TODO-2026-07-11-pass3.md item #42).
public SymbolicTransformationResult(SymbolicTransformationStatus Status, LambdaExpression? Expression, bool IsExact, Expression? UnsupportedNode, string? Diagnostic, Exception? InnerException)
Parameters
StatusSymbolicTransformationStatusThe outcome category.
ExpressionLambdaExpressionThe produced lambda expression when Status is Success; otherwise null.
IsExactbooltrue when the successful result is a fully symbolic (exact) transformation; false when a numeric finite-difference fallback was used for at least one sub-expression. Always false for non-success results.
UnsupportedNodeExpressionThe offending expression node when it can be identified (e.g. the unsupported conversion or the unknown method call); otherwise null.
DiagnosticstringA human-readable explanation, or null on success.
InnerExceptionExceptionThe originating exception, when the result was produced from a caught exception.
Properties
Diagnostic
A human-readable explanation, or null on success.
public string? Diagnostic { get; init; }
Property Value
Expression
public LambdaExpression? Expression { get; init; }
Property Value
InnerException
The originating exception, when the result was produced from a caught exception.
public Exception? InnerException { get; init; }
Property Value
IsExact
true when the successful result is a fully symbolic (exact) transformation; false when a numeric finite-difference fallback was used for at least one sub-expression. Always false for non-success results.
public bool IsExact { get; init; }
Property Value
Status
The outcome category.
public SymbolicTransformationStatus Status { get; init; }
Property Value
Success
Gets whether the transformation produced a valid expression.
public bool Success { get; }
Property Value
UnsupportedNode
The offending expression node when it can be identified (e.g. the unsupported conversion or the unknown method call); otherwise null.
public Expression? UnsupportedNode { get; init; }