2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF 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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 package org.apache.lucene.analysis.cn.smart.hhmm;
20 import java.util.Arrays;
23 * A pair of tokens in {@link SegGraph}
24 * @lucene.experimental
28 public char[] charArray;
31 * index of the first token in {@link SegGraph}
36 * index of the second token in {@link SegGraph}
42 public SegTokenPair(char[] idArray, int from, int to, double weight) {
43 this.charArray = idArray;
50 * @see java.lang.Object#hashCode()
53 public int hashCode() {
56 for(int i=0;i<charArray.length;i++) {
57 result = prime * result + charArray[i];
59 result = prime * result + from;
60 result = prime * result + to;
62 temp = Double.doubleToLongBits(weight);
63 result = prime * result + (int) (temp ^ (temp >>> 32));
68 * @see java.lang.Object#equals(java.lang.Object)
71 public boolean equals(Object obj) {
76 if (getClass() != obj.getClass())
78 SegTokenPair other = (SegTokenPair) obj;
79 if (!Arrays.equals(charArray, other.charArray))
81 if (from != other.from)
85 if (Double.doubleToLongBits(weight) != Double
86 .doubleToLongBits(other.weight))