1 /* Copyright 2002-2022 CS GROUP 2 * Licensed to CS GROUP (CS) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * CS licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.orekit.utils.units; 18 19 /** Multiplicative prefixes. 20 * @author Luc Maisonobe 21 * @since 11.0 22 */ 23 enum Prefix { 24 25 /** Septillion. */ 26 YOTTA("Y", 1.0e24), 27 28 /** Sextillion. */ 29 ZETTA("Z", 1.0e21), 30 31 /** Quintillion. */ 32 EXA("E", 1.0e18), 33 34 /** Quadrillion. */ 35 PETA("P", 1.0e15), 36 37 /** Trillion. */ 38 TERA("T", 1.0e12), 39 40 /** Billion. */ 41 GIGA("G", 1.0e9), 42 43 /** Million. */ 44 MEGA("M", 1.0e6), 45 46 /** Thousand. */ 47 KILO("k", 1.0e3), 48 49 /** Hundred. */ 50 HECTO("h", 1.0e2), 51 52 /** Ten. */ 53 DECA("da", 1.0e1), 54 55 /** Tenth. */ 56 DECI("d", 1.0e-1), 57 58 /** Hundredth. */ 59 CENTI("c", 1.0e-2), 60 61 /** Thousandth. */ 62 MILLI("m", 1.0e-3), 63 64 /** Millionth. 65 * <p> 66 * The symbol used here is the standard SI one: µ (U+00B5, MICRO SIGN) 67 * </p> 68 */ 69 MICRO("µ", 1.0e-6), 70 71 /** Millionth. 72 * <p> 73 * The symbol used here is an alternate one: μ (U+03BC, GREEK SMALL LETTER MU) 74 * </p> 75 */ 76 MICRO_ALTERNATE("μ", 1.0e-6), 77 78 /** Billionth. */ 79 NANO("n", 1.0e-9), 80 81 /** Trillionth. */ 82 PICO("p", 1.0e-12), 83 84 /** Quadrillionth. */ 85 FEMTO("f", 1.0e-15), 86 87 /** Quintillionth. */ 88 ATTO("a", 1.0e-18), 89 90 /** Sextillionth. */ 91 ZEPTO("z", 1.0e-21), 92 93 /** Septillionth. */ 94 YOCTO("y", 1.0e-24); 95 96 /** Symbol. */ 97 private String symbol; 98 99 /** Multiplication factor. */ 100 private double factor; 101 102 /** Simple constructor. 103 * @param symbol symbol 104 * @param factor multiplication factor 105 */ 106 Prefix(final String symbol, final double factor) { 107 this.symbol = symbol; 108 this.factor = factor; 109 } 110 111 /** Get the prefix symbol. 112 * @return prefix symbol 113 */ 114 public String getSymbol() { 115 return symbol; 116 } 117 118 /** Get the prefix multiplication factor. 119 * @return prefix multiplication factor 120 */ 121 public double getFactor() { 122 return factor; 123 } 124 125 }