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