summaryrefslogtreecommitdiff
path: root/src/Persistent_cohomology/concept/CoefficientField.h
blob: 916f49e2aa9e99b7c1e7a61018e7c4a1cddf78e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*    This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
 *    See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
 *    Author(s):       Clément Maria
 *
 *    Copyright (C) 2014 Inria
 *
 *    Modification(s):
 *      - YYYY/MM Author: Description of the modification
 */

/** \brief Concept describing the requirements for a class to represent 
  * a field of coefficients to compute persistent homology.
  */
struct CoefficientField {

/** \brief Type of element of the field.
  *
  * Must be Assignable. */
  typedef unspecified Element;

/** Default constructible. */
  CoefficientField();
  
  void init(Element charac);
  void init(Element charac_min, Element charac_max);

/** Return the characteristic of the field. */
  Element characteristic();
/** Return the element 1 of the field. */
  Element multiplicative_identity();
/** Return the element 0 of the field. */
  Element additive_identity();

/** Assign: x <- x + y */
  void plus_equal(Element x, Element y);

/** */
//... inverse()

  };