Public Sub IIF(c As Boolean, TrueRes As Object, FalseRes As Object) As Object
If c Then Return TrueRes Else Return FalseRes
End Sub
width = width * pct * IIF(width > height, 1, 0)
Sub Test
Dim width,height,pct As Float
width = 200
height =100
pct = 5
width = width*(pct*B(width>height))
Log(width)
End Sub
Sub B(truefalse As Boolean) As Float
If truefalse Then Return 1.0 Else Return 0.0
End Sub
if width > height then
width = width * pct
else
width = 0
end if
which I feel wins on simplicity, efficiency and brevity, but if you must have it as one statement (if we ignore the called function...) then LucaMs wins:
B4X:
width = IIF(width > height, width * pct, 0)
with Brandsum in a close but cryptic second place, assuming width and height are integers ;-)