Carrot2

Building of Carrot2.NET distribution

Details

  • Type: Sub-task Sub-task
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 3.4.0
  • Component/s: C# API
  • Labels:
    None

Description

  • include open source algorithms in the IKVMed assembly
  • add an example (examples) of using open source algorithms – Lingo, STC, synthetic partitioning
  • add documentation in Algorithms
  • add an aspect to remove NNI checks in NNIInterface
  • add full junit tests of open source algorithms

Issue Links

Activity

Hide
Stanisław Osiński added a comment -

I think the long-term strategy for testing the C# APIs should be based on two things:

  1. running the JUnit tests of the algorithms, just as we do now for Lingo3G,
  2. running a quick correctness check: clustering a few data sets with Java and C# versions and comparing the results (I'm not sure though if the results can be identical, e.g. due to some tiny differences in numerical computations).
Show
Stanisław Osiński added a comment - I think the long-term strategy for testing the C# APIs should be based on two things:
  1. running the JUnit tests of the algorithms, just as we do now for Lingo3G,
  2. running a quick correctness check: clustering a few data sets with Java and C# versions and comparing the results (I'm not sure though if the results can be identical, e.g. due to some tiny differences in numerical computations).
Hide
Dawid Weiss added a comment -

I will add JUnit tests of open-source algorithms, no problem with this. As for cross-check between Java and C#, it's a good idea and it was once implemented, but remember about numerical instability in Java (i.e. compiled native code can yield different results than pre-JITted code, for instance). The way we did it was run in interpreted mode, but this was very, very slow.

Show
Dawid Weiss added a comment - I will add JUnit tests of open-source algorithms, no problem with this. As for cross-check between Java and C#, it's a good idea and it was once implemented, but remember about numerical instability in Java (i.e. compiled native code can yield different results than pre-JITted code, for instance). The way we did it was run in interpreted mode, but this was very, very slow.
Hide
Dawid Weiss added a comment -

It's impossible to separate test classes from actual code they're mixed. A split of test/classes output folders is required (like it used to be, I don't remember why they haven been merged).

Show
Dawid Weiss added a comment - It's impossible to separate test classes from actual code they're mixed. A split of test/classes output folders is required (like it used to be, I don't remember why they haven been merged).

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: