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 005package edu.wpi.first.math; 006 007//CHECKSTYLE.OFF: ImportOrder 008 009import edu.wpi.first.math.numbers.N0; 010import edu.wpi.first.math.numbers.N1; 011import edu.wpi.first.math.numbers.N2; 012import edu.wpi.first.math.numbers.N3; 013import edu.wpi.first.math.numbers.N4; 014import edu.wpi.first.math.numbers.N5; 015import edu.wpi.first.math.numbers.N6; 016import edu.wpi.first.math.numbers.N7; 017import edu.wpi.first.math.numbers.N8; 018import edu.wpi.first.math.numbers.N9; 019import edu.wpi.first.math.numbers.N10; 020import edu.wpi.first.math.numbers.N11; 021import edu.wpi.first.math.numbers.N12; 022import edu.wpi.first.math.numbers.N13; 023import edu.wpi.first.math.numbers.N14; 024import edu.wpi.first.math.numbers.N15; 025import edu.wpi.first.math.numbers.N16; 026import edu.wpi.first.math.numbers.N17; 027import edu.wpi.first.math.numbers.N18; 028import edu.wpi.first.math.numbers.N19; 029import edu.wpi.first.math.numbers.N20; 030//CHECKSTYLE.ON 031 032/** 033 * A natural number expressed as a java class. 034 * The counterpart to {@link Num} that should be used as a concrete value. 035 * 036 * @param <T> The {@link Num} this represents. 037 */ 038@SuppressWarnings({"MethodName", "unused"}) 039public interface Nat<T extends Num> { 040 /** 041 * The number this interface represents. 042 * 043 * @return The number backing this value. 044 */ 045 int getNum(); 046 047 static Nat<N0> N0() { 048 return N0.instance; 049 } 050 051 static Nat<N1> N1() { 052 return N1.instance; 053 } 054 055 static Nat<N2> N2() { 056 return N2.instance; 057 } 058 059 static Nat<N3> N3() { 060 return N3.instance; 061 } 062 063 static Nat<N4> N4() { 064 return N4.instance; 065 } 066 067 static Nat<N5> N5() { 068 return N5.instance; 069 } 070 071 static Nat<N6> N6() { 072 return N6.instance; 073 } 074 075 static Nat<N7> N7() { 076 return N7.instance; 077 } 078 079 static Nat<N8> N8() { 080 return N8.instance; 081 } 082 083 static Nat<N9> N9() { 084 return N9.instance; 085 } 086 087 static Nat<N10> N10() { 088 return N10.instance; 089 } 090 091 static Nat<N11> N11() { 092 return N11.instance; 093 } 094 095 static Nat<N12> N12() { 096 return N12.instance; 097 } 098 099 static Nat<N13> N13() { 100 return N13.instance; 101 } 102 103 static Nat<N14> N14() { 104 return N14.instance; 105 } 106 107 static Nat<N15> N15() { 108 return N15.instance; 109 } 110 111 static Nat<N16> N16() { 112 return N16.instance; 113 } 114 115 static Nat<N17> N17() { 116 return N17.instance; 117 } 118 119 static Nat<N18> N18() { 120 return N18.instance; 121 } 122 123 static Nat<N19> N19() { 124 return N19.instance; 125 } 126 127 static Nat<N20> N20() { 128 return N20.instance; 129 } 130 131}