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 */ 040@SuppressWarnings("PMD.ImplicitFunctionalInterface") 041public interface Nat<T extends Num> { 042 /** 043 * The number this interface represents. 044 * 045 * @return The number backing this value. 046 */ 047 int getNum(); 048 049 /** 050 * Returns the Nat instance for 0. 051 * 052 * @return The Nat instance for 0. 053 */ 054 static Nat<N0> N0() { 055 return N0.instance; 056 } 057 058 /** 059 * Returns the Nat instance for 1. 060 * 061 * @return The Nat instance for 1. 062 */ 063 static Nat<N1> N1() { 064 return N1.instance; 065 } 066 067 /** 068 * Returns the Nat instance for 2. 069 * 070 * @return The Nat instance for 2. 071 */ 072 static Nat<N2> N2() { 073 return N2.instance; 074 } 075 076 /** 077 * Returns the Nat instance for 3. 078 * 079 * @return The Nat instance for 3. 080 */ 081 static Nat<N3> N3() { 082 return N3.instance; 083 } 084 085 /** 086 * Returns the Nat instance for 4. 087 * 088 * @return The Nat instance for 4. 089 */ 090 static Nat<N4> N4() { 091 return N4.instance; 092 } 093 094 /** 095 * Returns the Nat instance for 5. 096 * 097 * @return The Nat instance for 5. 098 */ 099 static Nat<N5> N5() { 100 return N5.instance; 101 } 102 103 /** 104 * Returns the Nat instance for 6. 105 * 106 * @return The Nat instance for 6. 107 */ 108 static Nat<N6> N6() { 109 return N6.instance; 110 } 111 112 /** 113 * Returns the Nat instance for 7. 114 * 115 * @return The Nat instance for 7. 116 */ 117 static Nat<N7> N7() { 118 return N7.instance; 119 } 120 121 /** 122 * Returns the Nat instance for 8. 123 * 124 * @return The Nat instance for 8. 125 */ 126 static Nat<N8> N8() { 127 return N8.instance; 128 } 129 130 /** 131 * Returns the Nat instance for 9. 132 * 133 * @return The Nat instance for 9. 134 */ 135 static Nat<N9> N9() { 136 return N9.instance; 137 } 138 139 /** 140 * Returns the Nat instance for 10. 141 * 142 * @return The Nat instance for 10. 143 */ 144 static Nat<N10> N10() { 145 return N10.instance; 146 } 147 148 /** 149 * Returns the Nat instance for 11. 150 * 151 * @return The Nat instance for 11. 152 */ 153 static Nat<N11> N11() { 154 return N11.instance; 155 } 156 157 /** 158 * Returns the Nat instance for 12. 159 * 160 * @return The Nat instance for 12. 161 */ 162 static Nat<N12> N12() { 163 return N12.instance; 164 } 165 166 /** 167 * Returns the Nat instance for 13. 168 * 169 * @return The Nat instance for 13. 170 */ 171 static Nat<N13> N13() { 172 return N13.instance; 173 } 174 175 /** 176 * Returns the Nat instance for 14. 177 * 178 * @return The Nat instance for 14. 179 */ 180 static Nat<N14> N14() { 181 return N14.instance; 182 } 183 184 /** 185 * Returns the Nat instance for 15. 186 * 187 * @return The Nat instance for 15. 188 */ 189 static Nat<N15> N15() { 190 return N15.instance; 191 } 192 193 /** 194 * Returns the Nat instance for 16. 195 * 196 * @return The Nat instance for 16. 197 */ 198 static Nat<N16> N16() { 199 return N16.instance; 200 } 201 202 /** 203 * Returns the Nat instance for 17. 204 * 205 * @return The Nat instance for 17. 206 */ 207 static Nat<N17> N17() { 208 return N17.instance; 209 } 210 211 /** 212 * Returns the Nat instance for 18. 213 * 214 * @return The Nat instance for 18. 215 */ 216 static Nat<N18> N18() { 217 return N18.instance; 218 } 219 220 /** 221 * Returns the Nat instance for 19. 222 * 223 * @return The Nat instance for 19. 224 */ 225 static Nat<N19> N19() { 226 return N19.instance; 227 } 228 229 /** 230 * Returns the Nat instance for 20. 231 * 232 * @return The Nat instance for 20. 233 */ 234 static Nat<N20> N20() { 235 return N20.instance; 236 } 237}