001// Copyright (c) FIRST and other WPILib contributors.
002// Open Source Software; you can modify and/or share it under the terms of
003// the WPILib BSD license file in the root directory of this project.
004
005// THIS FILE WAS AUTO-GENERATED BY ./wpimath/generate_numbers.py. DO NOT MODIFY
006
007package edu.wpi.first.math;
008
009// CHECKSTYLE.OFF: ImportOrder
010
011import edu.wpi.first.math.numbers.N0;
012import edu.wpi.first.math.numbers.N1;
013import edu.wpi.first.math.numbers.N2;
014import edu.wpi.first.math.numbers.N3;
015import edu.wpi.first.math.numbers.N4;
016import edu.wpi.first.math.numbers.N5;
017import edu.wpi.first.math.numbers.N6;
018import edu.wpi.first.math.numbers.N7;
019import edu.wpi.first.math.numbers.N8;
020import edu.wpi.first.math.numbers.N9;
021import edu.wpi.first.math.numbers.N10;
022import edu.wpi.first.math.numbers.N11;
023import edu.wpi.first.math.numbers.N12;
024import edu.wpi.first.math.numbers.N13;
025import edu.wpi.first.math.numbers.N14;
026import edu.wpi.first.math.numbers.N15;
027import edu.wpi.first.math.numbers.N16;
028import edu.wpi.first.math.numbers.N17;
029import edu.wpi.first.math.numbers.N18;
030import edu.wpi.first.math.numbers.N19;
031import edu.wpi.first.math.numbers.N20;
032// CHECKSTYLE.ON
033
034/**
035 * A natural number expressed as a java class.
036 * The counterpart to {@link Num} that should be used as a concrete value.
037 *
038 * @param <T> The {@link Num} this represents.
039 */
040public interface Nat<T extends Num> {
041  /**
042   * The number this interface represents.
043   *
044   * @return The number backing this value.
045   */
046  int getNum();
047
048  static Nat<N0> N0() {
049    return N0.instance;
050  }
051
052  static Nat<N1> N1() {
053    return N1.instance;
054  }
055
056  static Nat<N2> N2() {
057    return N2.instance;
058  }
059
060  static Nat<N3> N3() {
061    return N3.instance;
062  }
063
064  static Nat<N4> N4() {
065    return N4.instance;
066  }
067
068  static Nat<N5> N5() {
069    return N5.instance;
070  }
071
072  static Nat<N6> N6() {
073    return N6.instance;
074  }
075
076  static Nat<N7> N7() {
077    return N7.instance;
078  }
079
080  static Nat<N8> N8() {
081    return N8.instance;
082  }
083
084  static Nat<N9> N9() {
085    return N9.instance;
086  }
087
088  static Nat<N10> N10() {
089    return N10.instance;
090  }
091
092  static Nat<N11> N11() {
093    return N11.instance;
094  }
095
096  static Nat<N12> N12() {
097    return N12.instance;
098  }
099
100  static Nat<N13> N13() {
101    return N13.instance;
102  }
103
104  static Nat<N14> N14() {
105    return N14.instance;
106  }
107
108  static Nat<N15> N15() {
109    return N15.instance;
110  }
111
112  static Nat<N16> N16() {
113    return N16.instance;
114  }
115
116  static Nat<N17> N17() {
117    return N17.instance;
118  }
119
120  static Nat<N18> N18() {
121    return N18.instance;
122  }
123
124  static Nat<N19> N19() {
125    return N19.instance;
126  }
127
128  static Nat<N20> N20() {
129    return N20.instance;
130  }
131}