> (signum samp) returns 0.0 for values between -1.0 and 1.0 inside > run-loop > > (clm-print "~A" (signum (* amp (- (random 1.0) 1.0))))))) I forgot to support float args in signum in the CLM run macro. (Also, your code will always return a negative number -- perhaps you want (- (random 1.0) 0.5)?)