Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 10, 2015
  1. fix #32

Commits on Oct 19, 2014
  1. update Changes

Commits on Oct 15, 2014
  1. update function calls for PERL_NO_GET_CONTEXT

    Following directions in perlguts
    update AM.xs to properly pass around the interpreter context on
    multi-threaded Perls. This is required because of the addition of
    `#define PERL_NO_GET_CONTEXT` in 5313ef8. AM.xs now compiles
    without error now.
  2. fix version in

  3. @ugexe

    Updated Makefile.PL with new version

    ugexe authored committed
    The version was wrong because of some incomplete release cycles
    resulting in missing version tags.
    Closes #26.
  4. @ugexe

    C89 compatability for activeperl

    ugexe authored committed
    Work on #27.
    This diff is mostly whitespace. Add brackets to lines 785 and 1028,
    and indent the code in between.
    Add the headers at the top for slightly better efficiency.
    NO_XSLOCKS seems to fix problems on ActiveState Perl/Windows with
    memory freeing problems. For one example see:
    PERL_NO_GET_CONTEXT will allow correctly written code to work better
    with multithreaded perls. If it's not a multithreaded per,l the macro
    does nothing. I generally include them as a result of some crazy cpan
    smoke test combination failure.
Commits on Oct 11, 2014
  1. New CPAN release of Algorithm-AM - v3.04

        Add random_outcome method, and improve documentation.
  2. fix link syntax

  3. change outcome method to random_outcome

    Add documentation and a single test for it. Also update the Changes
    file in preparation for a release.
Commits on Sep 25, 2014
  1. update documentation, including background/terms

    Add an explanation for the terms used in the software and what
    the more correct terms mean in AM. The `outcome` method does not
    yet exist, and needs to be implemented in a future commit.
    Generally update to make documentation clearer. Rename variables
    for clarity, as well.
Commits on Sep 24, 2014
  1. add scores_normalized method

    The probability distribution over different class labels is probably
    the most basic piece of information needed from the classifier,
    so add a new method to return it.
  2. remove duplication for class names

    Reference `$self` instead of hardcoding class names (`Algorithm::AM`,
Commits on Sep 23, 2014
  1. New CPAN release of Algorithm-AM - v3.03

        Update to API of Test::Class 1.00000
  2. removed incompatible InstallGuide plugin

    I filed a ticket about the incompatibility between InstallGuide
    and CopyFilesFromBuild here:
  3. fix failures caused by Class::Tiny 1.0

    The newest release of CT changed the behavior of `BUILD`, filtering
    unknown arguments from it and calling it after the constructor, and
    it changed the handling of unknownn arguments from failing to ignoring.
    Fix the tests which broke as a result of this change.
Commits on May 20, 2014
  1. replace magic number with macro NUM_LATTICES

    We currently always split lattices into four sublattices, and the
    number 4 is used throughout the XS code for this reason. Replace this
    use of 4 with a macro to indicate that it is the number of sublattices.
Commits on May 19, 2014
  1. linear_flag should actually be a linear flag

    The usage of `linear_flag` confused me into thinking that it was a
    flag for linear counting, when it actually signalled quadratic
    counting. Change it so that it does signal linear counting, and update to treat it this way. `true ? 1 : 0` is way less confusing than
    `true ? 0 : 1`.
  2. combine most code in linear/quadratic blocks

    Eliminate a massive amount of code duplication. The code for combining
    sublattices and for counting occurrences was completely duplicated by
    an if/else block check for the quadratic/linear setting. There are
    about 25 lines that are needed only for quadratic counting, but the rest
    are exactly the same for both blocks. Partitioning off 25 special lines
    and then combine the rest. About 120 lines eliminated, and the program
    is now much easier to follow.
  3. factor out supracontext intersection code

    Supracontext instersection is written out 4 times, and the finalizing
    intersection is written out twice. Make a separate function for each,
    reducing the size and confusion of the file. This will also make it
    easier to generalize to a variable number of sublattices. Add comments
    anywhere the opportunity presents itself.
Commits on May 17, 2014
  1. refactor active_feats

    `active_feats` is a bad name, since it implies that it contains a list
    of the features that are active. Change it to `lattice_sizes`, because
    it contains the size in features of each lattice.
    Change this variable so that it is passed into `_fillandcount`, instead
    of being saved in `$self` and needing to be edited in place instead of
    being assigned to.
  2. re-indent AM.xs

    The indenting of some very nested, very long loop structures was
    reduced by a significant amount, and in some places indent was not
    done, or done strangely. Reindent the entire file with 2 spaces.
    Note that the comment on line 341 must not be un-indented; leaving
    no indent prevents the file from compiling because of the XS
    pre-processor misinterpreting it as a function declaration.
  3. New CPAN release of Algorithm-AM - v3.02

        test_in_data in Result changed to test_in_train
        'vars' in gang_effects return structure changed to 'features'
  4. scrub code of 'variables'

    The use of `variable` has been replaced everywhere with `feature`,
    and `var` similarly with `feat`. This has one public-facing change,
    which is that gang effect structures now have a `features` key instead
    of a `vars` key. Update `Changes`.
  5. use accessors within Result

    Much of the code in `Result` was referring directly to `$self->{state}`
    instead of using the appropriate accessor, so fix this.
  6. fix use of 'data' throughout

    `Data` was originally used throughout the code base to mean training
    items. Remove this usage entirely, (especially) including
    This required the change of one public facing method: `test_in_data`,
    was changed to `test_in_train`.
    Update `Changes`.
  7. remove unneeded variable

    I was going to rename `datatocontext` to something more descriptive,
    but in the process I found that it wasn't accessed anywhere. Since
    there is no current use of it, remove it.
  8. little cleanups

    Whenever `$am` is used for a `Batch` object, change it to `$batch`.
    Remove the usage of `unknown => '='` or other options that are passing
    what is already the default value.
Commits on May 15, 2014
  1. New CPAN release of Algorithm-AM - v3.01

        Gang and analogical set structures changed to contain Item objects
        Unique id field added to Item
        analogical set structure changed to index on Item id for easy searching
  2. scrub code of 'spec'

    `spec` is no longer used, in favor of `comment`, which I find clearer
    and less misleading, since `spec` seems to suggest an ID, which it is
Something went wrong with that request. Please try again.