Macaulay2 / Macaulay2/M2

change class templates to function templates

Open
#9 0 comments 0 reactions 1 assignee View on GitHub

@mikestillman is already working on this.

Since May 17, 2013.

Engine Linear Algebra
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

We need to organize the linear algebra templates with mutable matrices better.

e.g. how best to handle routines like the following:
solve(A,b,x)

We need general functions to cover cases that have not been implemented
We need specializations to call ffpack/linbox code
We need specializations to call M2 code, for rings not considered in linbox.

The problem with template member functions is that their definition needs to be present when the class is instantiated. If it is in a cpp file, this might not be the case (i.e. it could grab the wrong version of the routine). If it is in a hpp file, we seem to get multiply defined functions, causing link error.

What is the best way to organize the code so that this is not a problem, and the code is clean and easy to maintain?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.