Conversation
The setter wrote its flag to kvaTheirCvaRiskWeight instead of creditMigration, so credit migration was never enabled from the API and the bool left under the risk weight key made the XVA parameter loading throw a bad_any_cast. Add an InputParameters test for the setter. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q5n2ExoAFe9qtbybzMxnsQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #361.
InputParameters::setCreditMigrationAnalytic(bool)wrote its argument to thekvaTheirCvaRiskWeightkey instead ofcreditMigration, so the flag never reachedXvaAnalytic, and theboolleft under the risk-weight key madeloadParameter<Real>fall through toloadParameterString(), whoseany_cast<string>then threw out of the XVA parameter loading. The setter now writes tocreditMigration.The added
InputParametersTestcalls the setter and checks that("xva", "creditMigration")loads astrueand that loading("xva", "kvaTheirCvaRiskWeight")neither throws nor changes the value. Before the fix the first check fails and the second throwsbad_any_cast; after the fix both pass (built and run on macOS arm64, release preset).The setter is reachable from Python through
orea_app.i; the call inExamples/ORE-API/oreApi.pyis inside a commented-out block, so no shipped example changes.