Re: Max() and Min(), procedure and macro variants.
Posted: Fri Apr 25, 2025 10:10 am
The macro won't do the job here as it'll return 0 for a 255 input, I think you need: '(Bool(a <= 255) ...'
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
EnableExplicit
Macro min(_a_,_b_,_c_)
!((v_#_a_) < (v_#_b_) ? (v_#_c_ = v_#_a_) : (v_#_c_ = v_#_b_));
EndMacro
Macro max(_a_,_b_,_c_)
!((v_#_a_) > (v_#_b_) ? (v_#_c_ = v_#_a_) : (v_#_c_ = v_#_b_));
EndMacro
Procedure.i main()
Protected.i a,b,c
a = 1
b = 2
min(a,b,c)
Debug c
max(a,b,c)
Debug c
ProcedureReturn #Null
EndProcedure
End main()