OSDN Git Service

fix commands
[bytom/shuttle.git] / vendor / github.com / bytom / vendor / golang.org / x / text / feature / plural / common.go
diff --git a/vendor/github.com/bytom/vendor/golang.org/x/text/feature/plural/common.go b/vendor/github.com/bytom/vendor/golang.org/x/text/feature/plural/common.go
new file mode 100644 (file)
index 0000000..fdcb373
--- /dev/null
@@ -0,0 +1,70 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package plural
+
+// Form defines a plural form.
+//
+// Not all languages support all forms. Also, the meaning of each form varies
+// per language. It is important to note that the name of a form does not
+// necessarily correspond one-to-one with the set of numbers. For instance,
+// for Croation, One matches not only 1, but also 11, 21, etc.
+//
+// Each language must at least support the form "other".
+type Form byte
+
+const (
+       Other Form = iota
+       Zero
+       One
+       Two
+       Few
+       Many
+)
+
+var countMap = map[string]Form{
+       "other": Other,
+       "zero":  Zero,
+       "one":   One,
+       "two":   Two,
+       "few":   Few,
+       "many":  Many,
+}
+
+type pluralCheck struct {
+       // category:
+       // 3..7: opID
+       // 0..2: category
+       cat   byte
+       setID byte
+}
+
+// opID identifies the type of operand in the plural rule, being i, n or f.
+// (v, w, and t are treated as filters in our implementation.)
+type opID byte
+
+const (
+       opMod           opID = 0x1    // is '%' used?
+       opNotEqual      opID = 0x2    // using "!=" to compare
+       opI             opID = 0 << 2 // integers after taking the absolute value
+       opN             opID = 1 << 2 // full number (must be integer)
+       opF             opID = 2 << 2 // fraction
+       opV             opID = 3 << 2 // number of visible digits
+       opW             opID = 4 << 2 // number of visible digits without trailing zeros
+       opBretonM       opID = 5 << 2 // hard-wired rule for Breton
+       opItalian800    opID = 6 << 2 // hard-wired rule for Italian
+       opAzerbaijan00s opID = 7 << 2 // hard-wired rule for Azerbaijan
+)
+const (
+       // Use this plural form to indicate the next rule needs to match as well.
+       // The last condition in the list will have the correct plural form.
+       andNext  = 0x7
+       formMask = 0x7
+
+       opShift = 3
+
+       // numN indicates the maximum integer, or maximum mod value, for which we
+       // have inclusion masks.
+       numN = 100
+       // The common denominator of the modulo that is taken.
+       maxMod = 100
+)