OpenCores
URL https://opencores.org/ocsvn/core_arm/core_arm/trunk

Subversion Repositories core_arm

[/] [core_arm/] [trunk/] [soft/] [cdef/] [cdef_lib_c1.el] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 tarookumic
; Konrad Eisele <eiselekd@web.de>
2
; cdef_lib_c1.el: Some hex to bitvector conversion functions
3
;-----------------------------------------------------------------------
4
 
5
(defun int-to-bitstring-rec (n m size)
6
  "Return a bitstring reverse order"
7
  (if (> size 0)
8
      (if (eq (logand n m) 0)
9
          (cons '0 (int-to-bitstring-rec n (lsh m 1) (- size 1)) )
10
          (cons '1 (int-to-bitstring-rec n (lsh m 1) (- size 1)) )
11
      )
12
      '()
13
    )
14
)
15
 
16
(defun int-to-bitstring (n m size)
17
  "Return a bitstring"
18
  (reverse (int-to-bitstring-rec n m size))
19
)
20
 
21
(defun hexchar-to-bitstring (hexchar)
22
  "Convert char to bit sequence"
23
  ( let ((n (downcase hexchar)))
24
    (if (and (>= n ?a) (<= n ?f))
25
      (int-to-bitstring (+ (- n ?a) 10) 1 4 )
26
      (if (and (>= n ?0) (<= n ?9))
27
        (int-to-bitstring (- n ?0) 1 4 )
28
      )
29
    )
30
  )
31
)
32
 
33
(defun hex-to-bitstring (hex)
34
  "Convert hex string into bitstring"
35
  (if (> (length hex) 0)
36
    ( append (hexchar-to-bitstring (elt hex 0)) (hex-to-bitstring (substring hex 1 (length hex))))
37
    '()
38
  )
39
)
40
 
41
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.