Function: verilog-clog2
verilog-clog2 is a byte-compiled function defined in
verilog-mode.el.gz.
Signature
(verilog-clog2 VALUE)
Documentation
Compute $clog2 - ceiling log2 of VALUE.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/verilog-mode.el.gz
;;(verilog-simplify-range-expression "[1:3]") ; 1
;;(verilog-simplify-range-expression "[(1):3]") ; 1
;;(verilog-simplify-range-expression "[(((16)+1)+1+(1+1))]") ; 20
;;(verilog-simplify-range-expression "[(2*3+6*7)]") ; 48
;;(verilog-simplify-range-expression "[(FOO*4-1*2)]") ; FOO*4-2
;;(verilog-simplify-range-expression "[(FOO*4+1-1)]") ; FOO*4+0
;;(verilog-simplify-range-expression "[(func(BAR))]") ; func(BAR)
;;(verilog-simplify-range-expression "[FOO-1+1-1+1]") ; FOO-0
;;(verilog-simplify-range-expression "[$clog2(2)]") ; 1
;;(verilog-simplify-range-expression "[$clog2(7)]") ; 3
;;(verilog-simplify-range-expression "[(TEST[1])-1:0]")
;;(verilog-simplify-range-expression "[1<<2:8>>2]") ; [4:2]
;;(verilog-simplify-range-expression "[2*4/(4-2) +2+4 <<4 >>2]")
;;(verilog-simplify-range-expression "[WIDTH*2/8-1:0]")
(defun verilog-clog2 (value)
"Compute $clog2 - ceiling log2 of VALUE."
(if (< value 1)
0
(ceiling (/ (log value) (log 2)))))