Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import StraightLinePrograms package #125

Merged
merged 219 commits into from
Jul 9, 2020
Merged

Commits on May 9, 2020

  1. add Project.toml

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    d001085 View commit details
    Browse the repository at this point in the history
  2. add LazyPolyRing

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    23637bc View commit details
    Browse the repository at this point in the history
  3. add Const <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    7a5cc24 View commit details
    Browse the repository at this point in the history
  4. add Gen <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    8d2c68a View commit details
    Browse the repository at this point in the history
  5. add PlusPoly <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    f7a0aac View commit details
    Browse the repository at this point in the history
  6. add MinusPoly <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    954a372 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3f3bd0f View commit details
    Browse the repository at this point in the history
  8. add TimesPoly <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    ae04e0b View commit details
    Browse the repository at this point in the history
  9. add ExpPoly <: RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    451ba17 View commit details
    Browse the repository at this point in the history
  10. add + for RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    bfb41fc View commit details
    Browse the repository at this point in the history
  11. add - for RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    7ca4aee View commit details
    Browse the repository at this point in the history
  12. add * for RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    35c0eba View commit details
    Browse the repository at this point in the history
  13. add ^ for RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    603dc7c View commit details
    Browse the repository at this point in the history
  14. add adhoc * for RecPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    c70909e View commit details
    Browse the repository at this point in the history
  15. add LazyPoly <: MPolyElem

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    901c6f3 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e5a10a8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    2f6e6be View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    ad71caf View commit details
    Browse the repository at this point in the history
  19. re-indent to 4 spaces

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    76dbf85 View commit details
    Browse the repository at this point in the history
  20. add SLPolyRing

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    e2c2a63 View commit details
    Browse the repository at this point in the history
  21. add SLPoly <: MPolyElem

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    87d3268 View commit details
    Browse the repository at this point in the history
  22. add (::SLPolyRing)()

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    fd5ade6 View commit details
    Browse the repository at this point in the history
  23. SLPoly: add copy

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    6040601 View commit details
    Browse the repository at this point in the history
  24. add SL constants

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    c170700 View commit details
    Browse the repository at this point in the history
  25. add pushconst!

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    e40499a View commit details
    Browse the repository at this point in the history
  26. add pack

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    80a9b0b View commit details
    Browse the repository at this point in the history
  27. add pushop!

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    9efc1d1 View commit details
    Browse the repository at this point in the history
  28. add instructions constants

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    155b91d View commit details
    Browse the repository at this point in the history
  29. add unpack

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    5fdb366 View commit details
    Browse the repository at this point in the history
  30. add SL.input

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    76f3b43 View commit details
    Browse the repository at this point in the history
  31. add pushfinalize!

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    e710269 View commit details
    Browse the repository at this point in the history
  32. add isinput

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    9d15917 View commit details
    Browse the repository at this point in the history
  33. add isunary & isquasiunary

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    ea2c505 View commit details
    Browse the repository at this point in the history
  34. add pushinit!

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    1a08f5b View commit details
    Browse the repository at this point in the history
  35. add evaluate! for SLPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    71df4ce View commit details
    Browse the repository at this point in the history
  36. add 3-arg show for SLPoly

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    1a186e4 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    3778d8b View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    da8fc0c View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    f053055 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    ba52a11 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    3ea2419 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    f2c16c5 View commit details
    Browse the repository at this point in the history
  43. add evaluate(::SLPoly, v)

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    bf49c8f View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    66b1b5c View commit details
    Browse the repository at this point in the history
  45. add README.md

    rfourquet committed May 9, 2020
    Configuration menu
    Copy the full SHA
    d964c58 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2020

  1. Configuration menu
    Copy the full SHA
    4a23809 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    60ea842 View commit details
    Browse the repository at this point in the history
  3. add 2-arg show for SLPoly

    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    886a420 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9d1fb7a View commit details
    Browse the repository at this point in the history
  5. add gens(::SLPolyRing)

    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    e621042 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b32003d View commit details
    Browse the repository at this point in the history
  7. SLPoly: add adhoc ops

    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    b8a37a5 View commit details
    Browse the repository at this point in the history
  8. add an explicit uniplus (== return) to SLP with empty lines

    For constants or generators for example, `.lines` was empty
    which was causing problems e.g. for printing. We now add
    an explicit "return", via `uniplus`, to all programs,
    so that `.lines` is never empty for valid SLPs.
    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    aa96bb3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    df81f32 View commit details
    Browse the repository at this point in the history
  10. add explicit return (uniplus) only for trivial programs

    Or for non-trivial return (e.g. return not the result
    of the last instruction, but this is not tested yet).
    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    6cf74e9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    10f7464 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c39ca94 View commit details
    Browse the repository at this point in the history
  13. update README.md

    rfourquet committed May 10, 2020
    Configuration menu
    Copy the full SHA
    4776948 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2020

  1. conversion MPoly -> SLPoly: add option to limit exponentiations

    Instead of computing all x_i^k brutely, but use recursively
    x^k == (x^(k/2))^2 or x*(x^(k/2))^2.
    rfourquet committed May 11, 2020
    Configuration menu
    Copy the full SHA
    814fbf2 View commit details
    Browse the repository at this point in the history
  2. fix bug in conversion MPoly -> SLPoly

    Was due to unexpected garbage in some inner MPoly arrays.
    rfourquet committed May 11, 2020
    Configuration menu
    Copy the full SHA
    9c8477c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    be147ff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ac1346a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e312f6a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9fa4d5c View commit details
    Browse the repository at this point in the history
  7. update README.md

    rfourquet committed May 11, 2020
    Configuration menu
    Copy the full SHA
    d7d156d View commit details
    Browse the repository at this point in the history

Commits on May 20, 2020

  1. Configuration menu
    Copy the full SHA
    9e198b7 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2020

  1. simplify SLP representation: constants get a bit flag

    So the tmpmark flag is no longer necessary, which simplifies
    `pushinit!` and `pushfinalize!`
    rfourquet committed May 22, 2020
    Configuration menu
    Copy the full SHA
    d9a2304 View commit details
    Browse the repository at this point in the history
  2. add show for Line, Op, Arg

    rfourquet committed May 22, 2020
    Configuration menu
    Copy the full SHA
    d4f3bb6 View commit details
    Browse the repository at this point in the history
  3. introduce basic SLProgram type

    Preliminary step to untie SLPs from a Polynomial
    representation.
    rfourquet committed May 22, 2020
    Configuration menu
    Copy the full SHA
    5ac1543 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    327fa2f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fafcd0f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a2354d6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7e1a04a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a59c9ff View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    504ee88 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2020

  1. Configuration menu
    Copy the full SHA
    519ab97 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4534659 View commit details
    Browse the repository at this point in the history
  3. Lazy: remove type parameter

    rfourquet committed May 23, 2020
    Configuration menu
    Copy the full SHA
    564d8f9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    705a511 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    92d189f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c473ddb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7d87cea View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    829190c View commit details
    Browse the repository at this point in the history
  9. add gens(::Lazy)

    rfourquet committed May 23, 2020
    Configuration menu
    Copy the full SHA
    b512c2a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2eea16d View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d37318f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b968b00 View commit details
    Browse the repository at this point in the history
  13. add ninputs(::SLProgram)

    rfourquet committed May 23, 2020
    Configuration menu
    Copy the full SHA
    d1e6dd3 View commit details
    Browse the repository at this point in the history
  14. Lazy: add adhoc - and +

    rfourquet committed May 23, 2020
    Configuration menu
    Copy the full SHA
    df34a18 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2020

  1. Configuration menu
    Copy the full SHA
    c34b3ab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9a35a9 View commit details
    Browse the repository at this point in the history
  3. SLProgram: add *, -, +, ^

    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    82ba3b4 View commit details
    Browse the repository at this point in the history
  4. add ==(::Lazy, ::Lazy)

    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    117c8ac View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0865cad View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fb94437 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    30e52df View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a61a784 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    34da820 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6cf21fd View commit details
    Browse the repository at this point in the history
  11. rename uniplus -> assign

    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    9b12657 View commit details
    Browse the repository at this point in the history
  12. add copy! for SLProgram

    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    8f325dd View commit details
    Browse the repository at this point in the history
  13. SLProgram: move return info out of lines, into .ret field

    This brings some simplifications, and will allow two SLProgram
    to share the same lines but return different values.
    The alternative is to store the return info together with
    the upcoming `.ptr` field packed in the final `Line`,
    but then this has special status and the invariant that
    this must appear only at the end must be checked/enforced.
    Better to store separately.
    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    6b9d2d6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ad9dd5f View commit details
    Browse the repository at this point in the history
  15. SLProgram: add a .ptr field, to keep track of next store location

    We want to support GAP's overwrite feature: the assign op will
    allow to overwrite a previous result, which means that we don't
    always increase the size of `res` during evaluation, which means
    that the current length of `.lines` during SLProgram building
    is _not_ necessarily matching the corresponding position in `res`
    which will be written. `.ptr` indicates the next write location.
    
    This will also support "deleting" (trailing) positions in `res`,
    to erase intermediate calculations and make it easier to
    convert from GAP's SLPs.
    rfourquet committed May 24, 2020
    Configuration menu
    Copy the full SHA
    09ed57c View commit details
    Browse the repository at this point in the history

Commits on May 25, 2020

  1. Configuration menu
    Copy the full SHA
    b6b3486 View commit details
    Browse the repository at this point in the history
  2. add full support for assign

    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    c43b845 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e4c6cd3 View commit details
    Browse the repository at this point in the history
  4. SLProgram: rename .ptr -> .len and decrease by one

    `.len` now refers to the length of the result vector.
    It means in particular that we won't allow setting the
    "pointer" to a random place in the result, while keeping
    the values stored after it.
    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    98eb2b6 View commit details
    Browse the repository at this point in the history
  5. enable multiple return from evaluate (was only in evaluates)

    This involves type-instability which might be OK.
    Alternatives:
    1. set the return type in SLProgram's type
    2. have a third function, e.g. evaluate1 (1),
       evaluate (1 or many) and evaluates (many)
    3. don't enable this, but do it in specialized types,
       e.g. in an GAPSLP's evaluate method.
    
    For now, this offers nice flexibility without clear drawback.
    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    1180ed7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    405d3c2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    df959fc View commit details
    Browse the repository at this point in the history
  8. split runtest.jl file

    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    22c69dc View commit details
    Browse the repository at this point in the history
  9. add GAPSLProgram basics

    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    3dca323 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0803c8e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    805373c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4fd8f4f View commit details
    Browse the repository at this point in the history
  13. GAPSLProgram: check for undef slots when ngens is passed

    This tries to match the validation done in GAP.
    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    fb4d283 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    47df4a1 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d64909e View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a078286 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    c995937 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    f18d665 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    e152555 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d4eef7a View commit details
    Browse the repository at this point in the history
  21. GAPSLProgram: add show

    rfourquet committed May 25, 2020
    Configuration menu
    Copy the full SHA
    7b09e4d View commit details
    Browse the repository at this point in the history

Commits on May 30, 2020

  1. Configuration menu
    Copy the full SHA
    d5fc44f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    543a57f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d1cca80 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7731532 View commit details
    Browse the repository at this point in the history
  5. SLProgram: support assign doing a push!

    I.e. the destination can be anywhere in the result
    array (as before), or correspond to the length of
    this array plus 1.
    rfourquet committed May 30, 2020
    Configuration menu
    Copy the full SHA
    47dc292 View commit details
    Browse the repository at this point in the history
  6. AtlasSLProgram: add show

    rfourquet committed May 30, 2020
    Configuration menu
    Copy the full SHA
    05b064b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7aeb1d8 View commit details
    Browse the repository at this point in the history
  8. Lazy: define trivially literal_pow

    Without, `x^-2` doesn't work because `inv(x)` is not defined.
    Even if we defined `inv(x)` eventually, we don't want
    `x^-2` to be defined as `inv(x)^2`, which in this lazy setting
    means two operations instead of one.
    rfourquet committed May 30, 2020
    Configuration menu
    Copy the full SHA
    30347af View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7f9b445 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    98678e8 View commit details
    Browse the repository at this point in the history
  11. AtlasSLProgram: add compilation -> GAPSLProgram

    Mostly for consistency checks.
    rfourquet committed May 30, 2020
    Configuration menu
    Copy the full SHA
    f5faf18 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2020

  1. SLProgram: add support for storing integers

    Can be used for exponents (not yet adjusted) or for returning integers or
    anything which can be constructed from an Int, via the `conv` function
    used in evaluate! to return the result (in particular booleans,
    for straight-line decisions in GAP).
    rfourquet committed May 31, 2020
    Configuration menu
    Copy the full SHA
    ca63051 View commit details
    Browse the repository at this point in the history
  2. SLProgram show: use Any instead of Lazy for res

    Indeed, an SLProgram can return anything, e.g. any
    "constant" or any "integer". In show we must be as general
    as possible to not error out, so Any is a safe choice
    (an `Union` could probably do it too).
    rfourquet committed May 31, 2020
    Configuration menu
    Copy the full SHA
    5870ecc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    50d1747 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8a4aae3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f077c20 View commit details
    Browse the repository at this point in the history
  6. GAPSLProgram/Decision: more tolerant constructors

    So that they can accept the same syntax as in GAP, i.e.
    the exact types don't matter.
    rfourquet committed May 31, 2020
    Configuration menu
    Copy the full SHA
    b1c6d26 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bb4b40a View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2020

  1. add AtlasSLDecision

    rfourquet committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    af792f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2020

  1. Configuration menu
    Copy the full SHA
    a8f1cd3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b38624c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ea9d968 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cd082de View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a590b52 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7723951 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f5685bd View commit details
    Browse the repository at this point in the history
  8. GAPSLProgram: fix return value in show

    If the last line was an "assign" line, we didn't
    update properly the "running" index for return value.
    rfourquet committed Jun 7, 2020
    Configuration menu
    Copy the full SHA
    5795a78 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    872446f View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2020

  1. add evaluate for Lazy

    rfourquet committed Jun 8, 2020
    Configuration menu
    Copy the full SHA
    06eed51 View commit details
    Browse the repository at this point in the history
  2. rename a couple of files

    rfourquet committed Jun 8, 2020
    Configuration menu
    Copy the full SHA
    a5bcb8a View commit details
    Browse the repository at this point in the history
  3. add .travis.yml file

    rfourquet committed Jun 8, 2020
    Configuration menu
    Copy the full SHA
    06b2aa5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    40fbe80 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d432e67 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ecb04d7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9278149 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    bc81ffc View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6960faf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3a33358 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2020

  1. add Free SLPs (and demote Lazy as an SLP)

    One reason is that when `Lazy <: AbstractSLProgram`,
    then concrete subtype of `Lazy` are also
    `<: AbstractSLProgram`, which doesn't work well.
    Also, combining two Lazy's can change the meaning
    of the `Gen`s (i.e. evaluate doesn't know the
    index corresponding to a specific `Gen` unless
    a list of symbols is passed.
    rfourquet committed Jun 9, 2020
    Configuration menu
    Copy the full SHA
    b19bb16 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c37ff7a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    476e2de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b3cb326 View commit details
    Browse the repository at this point in the history
  5. Free: support decisions

    rfourquet committed Jun 9, 2020
    Configuration menu
    Copy the full SHA
    830aa9b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    24b28f0 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2020

  1. Configuration menu
    Copy the full SHA
    93fb2ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    96bcebd View commit details
    Browse the repository at this point in the history
  3. gens(::Type{Free}, n): return a Free array

    Returning Any[] was useful for the Lazy type because the evaluations
    would not always give a Gen but more generally a Lazy.
    rfourquet committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    69bc935 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c4eea7 View commit details
    Browse the repository at this point in the history
  5. update README

    rfourquet committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    1ccecca View commit details
    Browse the repository at this point in the history
  6. Atlas: support "echo" lines

    rfourquet committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    e4d3de6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ad4d5a0 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2020

  1. add ngens(::SLPolyRing)

    rfourquet committed Jun 15, 2020
    Configuration menu
    Copy the full SHA
    463bff0 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2020

  1. add nvars(::SLPolyRing)

    rfourquet committed Jun 16, 2020
    Configuration menu
    Copy the full SHA
    0b3447d View commit details
    Browse the repository at this point in the history
  2. SLPolyRing: add show

    rfourquet committed Jun 16, 2020
    Configuration menu
    Copy the full SHA
    237c8c6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6c1398e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    84cc810 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f6960e3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    82f31c2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    315ca62 View commit details
    Browse the repository at this point in the history
  8. SLPoly: add ==

    rfourquet committed Jun 16, 2020
    Configuration menu
    Copy the full SHA
    47dda9e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e097957 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bc021d7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    fb5ebdd View commit details
    Browse the repository at this point in the history
  12. SLProgram: remove conv argument from evaluate[!]

    It was vestigial and was only converting the last result,
    which can be done by the caller instead.
    It will be repurposed to convert constants.
    rfourquet committed Jun 16, 2020
    Configuration menu
    Copy the full SHA
    345d84e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f091ee6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f6411dd View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    98a8b16 View commit details
    Browse the repository at this point in the history
  16. SLPoly: evaluate: don't convert result using inputs array

    We were converting the result via `parent(xs[1])` where
    `xs` is the inputs array, but this doesn't work when `xs` is
    empty.
    This conversion is probably not needed anymore, as we
    can pass a `conv` converter which converts all constants.
    rfourquet committed Jun 16, 2020
    Configuration menu
    Copy the full SHA
    f41de79 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2020

  1. SLPolyRing: add zero & one

    rfourquet committed Jun 17, 2020
    Configuration menu
    Copy the full SHA
    f3400c9 View commit details
    Browse the repository at this point in the history
  2. SLPoly: add zero & one

    rfourquet committed Jun 17, 2020
    Configuration menu
    Copy the full SHA
    671e9ef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ae4e1c2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    794894e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    db9b909 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1956de0 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2020

  1. show: use explicit '*' for multiplication

    Otherwise, we were getting stuff like "11x" actually meaning
    "1*1*x", which is too confusing.
    rfourquet committed Jun 18, 2020
    Configuration menu
    Copy the full SHA
    88cdfdc View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2020

  1. SLProgram: create "list": "integrate" multiple SLPs and return their …

    …list
    
    Similar to GAP's `IntegratedStraightLineProgram`.
    rfourquet committed Jun 19, 2020
    Configuration menu
    Copy the full SHA
    824a6e7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f63bf7 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2020

  1. Free: add tests for lists

    rfourquet committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    666fa46 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2020

  1. Free: add compose

    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    a22790a View commit details
    Browse the repository at this point in the history
  2. SLProgram: add compose

    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    29ccbeb View commit details
    Browse the repository at this point in the history
  3. Free: compose: add "flatten-mode" to avoid getting a Compose object

    I.e. we use evalutate to get the result of compose directly,
    instead of using a "lazy" Compose structure.
    There is currently no "lazy" mode for SLProgram and it's unclear
    whether such a mode is useful, so let's have a non-lazy mode for
    `Free` to keep 1-1 correspondence with SLProgram (better for
    tests among other things).
    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    6aafb3f View commit details
    Browse the repository at this point in the history
  4. Free: add getindex

    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    babeef7 View commit details
    Browse the repository at this point in the history
  5. SLProgram: add getindex

    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    6d2a681 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fb0c6ad View commit details
    Browse the repository at this point in the history
  7. Free: add adhoc getindex

    rfourquet committed Jun 22, 2020
    Configuration menu
    Copy the full SHA
    a5db8bc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    664ea8f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b80b8dc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    39b16e9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2b3d6c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2020

  1. Configuration menu
    Copy the full SHA
    5e5289d View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2020

  1. Configuration menu
    Copy the full SHA
    8222869 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b59c059 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2020

  1. Add 'StraightLinePrograms/' from commit 'b59c059300aa5ba070fff9232ad6…

    …53b96d5f6181'
    
    git-subtree-dir: StraightLinePrograms
    git-subtree-mainline: 90b6064
    git-subtree-split: b59c059
    rfourquet committed Jul 8, 2020
    Configuration menu
    Copy the full SHA
    00a878f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a5ef5ea View commit details
    Browse the repository at this point in the history