Skip to content
Snippets Groups Projects
  1. May 10, 2019
    • Alex Willmer's avatar
      Use byte literals in examples and unit tests · 59ba68ef
      Alex Willmer authored
      In Python 2.x an unprefixed string literal produces a byte string.
      In Python 3.x an unprefixed string literal produces a textual string.
      
      To produce a byte string in both a b prefix is needed, e.g. b'foo'.
      Since I believe Hammer works predominantly with byte strings I have used
      b prefixes throughout.
      59ba68ef
    • Alex Willmer's avatar
      Fix uses of retired builtins and builtin methods · 287f71d5
      Alex Willmer authored
      In Python 3.x
      
      - int and long types are unified. The unified type is called int.
      - the text string type (unicode) is renamed to str.
      - the byte string type (str) is renamed to bytes.
      - chr returns a text string (i.e. str)
      - xrange is renamed to range.
      - dict.has_key() is removed
      -
      287f71d5
    • Alex Willmer's avatar
      Enable absolute imports, true division, & print() · 0f3cadcc
      Alex Willmer authored
      These have no effect in Python 3.x, they are the default. Enabling them
      in Python 2.x, enabling them in Python 2.x allows single source
      compatiblity.
      0f3cadcc
  2. Jan 31, 2016
  3. Dec 04, 2015
    • Alex Willmer's avatar
      Added Python versions of base64 examples · c6280a98
      Alex Willmer authored
      These are transliterations of the existing C files.
      They're not particularly Pythonic or performant, but they're a start.
      
      Example of usage
      
      ```
      $ echo '  YW55IGNhcm5hbCBwbGVhcw==' | PYTHONPATH=../build/opt/src/bindings/python/ python base64.py
      inputsize=27
      input=  YW55IGNhcm5hbCBwbGVhcw==
      ((((89L, 87L, 53L, 53L), (73L, 71L, 78L, 104L), (99L, 109L, 53L, 104L), (98L, 67L, 66L, 119L), (98L, 71L, 86L, 104L)), (99L, 'w', '=', '=')),)
      $ echo '  YW55IGNhcm5hbCBwbGVhcw==' | PYTHONPATH=../build/opt/src/bindings/python/ python base64_sem1.py
      inputsize=27
      input=  YW55IGNhcm5hbCBwbGVhcw==
      (97L, 110L, 121L, 32L, 99L, 97L, 114L, 110L, 97L, 108L, 32L, 112L, 108L, 101L, 97L, 115L)
      $ echo '  YW55IGNhcm5hbCBwbGVhcw==' | PYTHONPATH=../build/opt/src/bindings/python/ python base64_sem2.py
      inputsize=27
      input=  YW55IGNhcm5hbCBwbGVhcw==
      (97L, 110L, 121L, 32L, 99L, 97L, 114L, 110L, 97L, 108L, 32L, 112L, 108L, 101L, 97L, 115L)
      ```
      c6280a98
  4. Apr 10, 2015
    • Mikael Vejdemo-Johansson's avatar
      Changed generating functions printouts to be copy-paste-able into SageMath. · d13657a4
      Mikael Vejdemo-Johansson authored
      Now we can do things like:
      
      # copy-paste from output
      ring.<t,L,tie,Cn,M,Ln,I,D,J,Rn,A,K,F,G> = QQ[]
      ID = ring.ideal(L - (1*Cn*t),tie - (1*Ln*t),Cn - (1*I + 1*J),M - (1*t^2),Ln - (1*D + 1*L + 1*M),I - (1*Rn*t),D - (1*Rn*t),J - (1*Ln*t),Rn - (1*F + 1*G + 1*K),A - (1*tie),K - (1*t^2),F - (1*Ln*t),G - (1*Cn*t))
      
      # we are interested in tie in terms of t; so we want to remove anything not these two:
      ID.elimination_ideal([L,Cn,M,Ln,I,D,J,Rn,A,K,F,G])
      
      # output from this SageMath command is
      # Ideal (t^3 + 2*t^2*tie + t*tie - tie) of Multivariate Polynomial Ring in t, L, tie, Cn, M, Ln, I, D, J, Rn, A, K, F, G over Rational Field
      # which we can solve for tie to get tie = t^3/(1-t-2*t^2) just as expected
      d13657a4
  5. Apr 08, 2015
  6. Apr 07, 2015
  7. Dec 07, 2014
  8. Dec 22, 2013
  9. Nov 23, 2013
  10. Nov 15, 2013
  11. Jun 24, 2013
  12. May 24, 2013
  13. Apr 14, 2013
  14. Apr 13, 2013
  15. Feb 17, 2013
  16. Feb 01, 2013
  17. Jan 25, 2013
Loading