Challenge

Alternatives To Challenge
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dequenet16
36 years ago3October 31, 20162apache-2.0C#
Mathperl9
3 months ago1otherPerl
Mathematics & Computer Algebra System (CAS) Algorithms & Applications In RPerl
Ccas8
8 years ago1bsd-2-clauseC
A simple CAS written in C.
Crisprpred6
5 years agoR
Nonblockingds3
11 years agoJava
Implementation of Non blocking data structures
Challenge3
9 years ago1C
CAS challenge
Alternatives To Challenge
Select To Compare


Alternative Project Comparisons
Readme

CAS Challenge

This is a mathematical coding challenge.

The idea is to implement mathematical operations following a strict set of rules:

  • No implementation of an algorithm may consume more than 30 lines (excluding comment and blank lines, which are not counted).

  • No two algorithms for computing the same mathematical operation may have the same complexity.

  • An additional top-level function which selects between various algorithms for a given operation may be present, but must also not exceed 30 lines.

  • All functions must implement recognised mathematical operations and be generally useful.

  • The implementations should not be unduly inefficient.

  • No line of code should contain more than one complete C statement.

  • No line of code may exceed 80 characters.

  • All code should be readable, commented and well spaced out (remember blank and comment lines are not counted in the total).

  • Macros of up to 7 lines are allowed, but must be generally useful.

  • All non-generic code must be implemented in pure C with no external libraries.

  • Each C module may have a C++ class and wrapper associated with it. There is no limit on the size of the class declaration.

  • All generic algorithms should be implemented in C++ and where an underlying C module exists, functions should be pushed down into it where practical, especially if they may be useful by other C algorithms in the module.

The challenge is to come up with any of the following:

  • Implementations of new mathematical operations not already in CAS Challenge

  • Algorithms with a better complexity than those already implemented

  • Substantially faster version of a function within the space limit

  • New implementation of an existing function in less space

If you develop such things, put them in and place your name as a comment above each function you implemented (in the .c or .cpp file).

If your implementation is better than what is there, replace the existing implementation with your own and add your name above it. We'll eventually have a script which keeps score.

Feel free to make minor improvements to existing implementations, but not at the expense of speed, clarity or visual appeal. Naturally, minor modifications don't earn points.

There's a Google Group called cas-challenge here:

https://groups.google.com/forum/#!forum/cas-challenge

Have fun!

William Hart 2013.

Popular Cas Projects
Popular Algorithms Projects
Popular Security Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C
Algorithms
Cas