### RRand.tcl 3.3.2 pQFrdM8L #REQUIREMENTS # PBinScr.tcl fMrtKqyq #LICENSE # Copyright © 2013 Alberto Dietze "DoctorD90" # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Full GPLv3 Text: http://www.gnu.org/licenses/gpl.txt #PATERNITY #Coder: DoctorD90 #Network: irc.OnlineGamesNet.net #Chan: #eHito #Mail: DoctorD90@EggTcl.tk # #Thanks to guys on #egghelp on irc.freenode.net #PURPOSE # With this proc, it'll be simplier randomize #a number in an interval between 2 of them # of your choice. #WARN: This script does not work as normal rand # command! Extreme will be incorporated in # numbers range. #USAGE #set var [rrand a ?b?] # a InferiorLimit # b SuperiorLimit #If b is not setted, it will be assumed as 0 ### DON'T EDIT ANYTHING BELOW ### proc rrand {inf {sup {}}} { if {![string is integer -strict $inf]} { error "\002$inf\002 Must Be A Number" } if {![string length $sup]} { set sup 0 } if {![string is integer -strict $sup]} { error "\002$sup\002 Must Be A Number" } if {$inf == $sup} { return $inf } if {$inf > $sup} { set infb $inf set inf $sup set sup $infb } set gap [expr {$sup - $inf + 1}] return [expr {int(rand() * $gap) + $inf}] } ### putlog "RRand.tcl LOADED"