From a0146a1f91bc5eda91d1e98eb9e09f19ea28a24d Mon Sep 17 00:00:00 2001 From: dcbot <_> Date: Sat, 18 Jul 2026 22:29:04 +0100 Subject: [PATCH] fix: use if/else instead of ifn() in hash evaluation --- base/mp_rowhash.sas | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/base/mp_rowhash.sas b/base/mp_rowhash.sas index b4fb7b1..38c6e03 100644 --- a/base/mp_rowhash.sas +++ b/base/mp_rowhash.sas @@ -73,12 +73,10 @@ /* multiply-by-one for consistent cross-system precision. Ignore null to protect SAS special missing values. + Cannot use IFN() as it evaluates both sides */ - &normal = ifn( - missing(&nums[&i]), - &nums[&i], - &nums[&i] * 1 - ); + if missing(&nums[&i]) then &normal = &nums[&i]; + else &normal = &nums[&i] * 1; &numtext = put(&normal, binary64.); &digest = md5(trim(&numtext)); substr(&pair, 1, 16) = &state;