/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Netscape Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/NPL/
 *
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 *
 * The Original Code is mozilla.org code.
 *
 * The Initial Developer of the Original Code is Netscape
 * Communications Corporation.  Portions created by Netscape are
 * Copyright (C) 1998 Netscape Communications Corporation. All
 * Rights Reserved.
 *
 * Contributor(s):
 */

package org.mozilla.intl.chardet ;

import java.lang.* ;

public class EUCTWStatistics extends nsEUCStatistics {


     static float[] mFirstByteFreq ;
     static float   mFirstByteStdDev;
     static float   mFirstByteMean;
     static float   mFirstByteWeight;
     static float[] mSecondByteFreq;
     static float   mSecondByteStdDev;
     static float   mSecondByteMean;
     static float   mSecondByteWeight;

     public float[] mFirstByteFreq() { return mFirstByteFreq; }  
     public float   mFirstByteStdDev()  { return mFirstByteStdDev; }  
     public float   mFirstByteMean()  { return mFirstByteMean; }  
     public float   mFirstByteWeight()  { return mFirstByteWeight; }  
     public float[] mSecondByteFreq()  { return mSecondByteFreq; }  
     public float   mSecondByteStdDev()  { return mSecondByteStdDev; }  
     public float   mSecondByteMean()  { return mSecondByteMean; }  
     public float   mSecondByteWeight()  { return mSecondByteWeight; }  

	public EUCTWStatistics() {

	    mFirstByteFreq = new float[] {
                0.000000f, // FreqH[a1]
                0.000000f, // FreqH[a2]
                0.000000f, // FreqH[a3]
                0.000000f, // FreqH[a4]
                0.000000f, // FreqH[a5]
                0.000000f, // FreqH[a6]
                0.000000f, // FreqH[a7]
                0.000000f, // FreqH[a8]
                0.000000f, // FreqH[a9]
                0.000000f, // FreqH[aa]
                0.000000f, // FreqH[ab]
                0.000000f, // FreqH[ac]
                0.000000f, // FreqH[ad]
                0.000000f, // FreqH[ae]
                0.000000f, // FreqH[af]
                0.000000f, // FreqH[b0]
                0.000000f, // FreqH[b1]
                0.000000f, // FreqH[b2]
                0.000000f, // FreqH[b3]
                0.000000f, // FreqH[b4]
                0.000000f, // FreqH[b5]
                0.000000f, // FreqH[b6]
                0.000000f, // FreqH[b7]
                0.000000f, // FreqH[b8]
                0.000000f, // FreqH[b9]
                0.000000f, // FreqH[ba]
                0.000000f, // FreqH[bb]
                0.000000f, // FreqH[bc]
                0.000000f, // FreqH[bd]
                0.000000f, // FreqH[be]
                0.000000f, // FreqH[bf]
                0.000000f, // FreqH[c0]
                0.000000f, // FreqH[c1]
                0.000000f, // FreqH[c2]
                0.000000f, // FreqH[c3]
                0.119286f, // FreqH[c4]
                0.052233f, // FreqH[c5]
                0.044126f, // FreqH[c6]
                0.052494f, // FreqH[c7]
                0.045906f, // FreqH[c8]
                0.019038f, // FreqH[c9]
                0.032465f, // FreqH[ca]
                0.026252f, // FreqH[cb]
                0.025502f, // FreqH[cc]
                0.015963f, // FreqH[cd]
                0.052493f, // FreqH[ce]
                0.019256f, // FreqH[cf]
                0.015137f, // FreqH[d0]
                0.031782f, // FreqH[d1]
                0.017370f, // FreqH[d2]
                0.018494f, // FreqH[d3]
                0.015575f, // FreqH[d4]
                0.016621f, // FreqH[d5]
                0.007444f, // FreqH[d6]
                0.011642f, // FreqH[d7]
                0.013916f, // FreqH[d8]
                0.019159f, // FreqH[d9]
                0.016445f, // FreqH[da]
                0.007851f, // FreqH[db]
                0.011079f, // FreqH[dc]
                0.022842f, // FreqH[dd]
                0.015513f, // FreqH[de]
                0.010033f, // FreqH[df]
                0.009950f, // FreqH[e0]
                0.010347f, // FreqH[e1]
                0.013103f, // FreqH[e2]
                0.015371f, // FreqH[e3]
                0.012502f, // FreqH[e4]
                0.007436f, // FreqH[e5]
                0.018253f, // FreqH[e6]
                0.014134f, // FreqH[e7]
                0.008907f, // FreqH[e8]
                0.005411f, // FreqH[e9]
                0.009570f, // FreqH[ea]
                0.013598f, // FreqH[eb]
                0.006092f, // FreqH[ec]
                0.007409f, // FreqH[ed]
                0.008432f, // FreqH[ee]
                0.005816f, // FreqH[ef]
                0.009349f, // FreqH[f0]
                0.005472f, // FreqH[f1]
                0.007170f, // FreqH[f2]
                0.007420f, // FreqH[f3]
                0.003681f, // FreqH[f4]
                0.007523f, // FreqH[f5]
                0.004610f, // FreqH[f6]
                0.006154f, // FreqH[f7]
                0.003348f, // FreqH[f8]
                0.005074f, // FreqH[f9]
                0.005922f, // FreqH[fa]
                0.005254f, // FreqH[fb]
                0.004682f, // FreqH[fc]
                0.002093f, // FreqH[fd]
                0.000000f  // FreqH[fe]
	};

	mFirstByteStdDev = 0.016681f; // Lead Byte StdDev
	mFirstByteMean = 0.010638f; // Lead Byte Mean
	mFirstByteWeight = 0.715599f; // Lead Byte Weight

	mSecondByteFreq = new float[] {
                 0.028933f, // FreqL[a1]
                 0.011371f, // FreqL[a2]
                 0.011053f, // FreqL[a3]
                 0.007232f, // FreqL[a4]
                 0.010192f, // FreqL[a5]
                 0.004093f, // FreqL[a6]
                 0.015043f, // FreqL[a7]
                 0.011752f, // FreqL[a8]
                 0.022387f, // FreqL[a9]
                 0.008410f, // FreqL[aa]
                 0.012448f, // FreqL[ab]
                 0.007473f, // FreqL[ac]
                 0.003594f, // FreqL[ad]
                 0.007139f, // FreqL[ae]
                 0.018912f, // FreqL[af]
                 0.006083f, // FreqL[b0]
                 0.003302f, // FreqL[b1]
                 0.010215f, // FreqL[b2]
                 0.008791f, // FreqL[b3]
                 0.024236f, // FreqL[b4]
                 0.014107f, // FreqL[b5]
                 0.014108f, // FreqL[b6]
                 0.010303f, // FreqL[b7]
                 0.009728f, // FreqL[b8]
                 0.007877f, // FreqL[b9]
                 0.009719f, // FreqL[ba]
                 0.007952f, // FreqL[bb]
                 0.021028f, // FreqL[bc]
                 0.005764f, // FreqL[bd]
                 0.009341f, // FreqL[be]
                 0.006591f, // FreqL[bf]
                 0.012517f, // FreqL[c0]
                 0.005921f, // FreqL[c1]
                 0.008982f, // FreqL[c2]
                 0.008771f, // FreqL[c3]
                 0.012802f, // FreqL[c4]
                 0.005926f, // FreqL[c5]
                 0.008342f, // FreqL[c6]
                 0.003086f, // FreqL[c7]
                 0.006843f, // FreqL[c8]
                 0.007576f, // FreqL[c9]
                 0.004734f, // FreqL[ca]
                 0.016404f, // FreqL[cb]
                 0.008803f, // FreqL[cc]
                 0.008071f, // FreqL[cd]
                 0.005349f, // FreqL[ce]
                 0.008566f, // FreqL[cf]
                 0.010840f, // FreqL[d0]
                 0.015401f, // FreqL[d1]
                 0.031904f, // FreqL[d2]
                 0.008670f, // FreqL[d3]
                 0.011479f, // FreqL[d4]
                 0.010936f, // FreqL[d5]
                 0.007617f, // FreqL[d6]
                 0.008995f, // FreqL[d7]
                 0.008114f, // FreqL[d8]
                 0.008658f, // FreqL[d9]
                 0.005934f, // FreqL[da]
                 0.010452f, // FreqL[db]
                 0.009142f, // FreqL[dc]
                 0.004519f, // FreqL[dd]
                 0.008339f, // FreqL[de]
                 0.007476f, // FreqL[df]
                 0.007027f, // FreqL[e0]
                 0.006025f, // FreqL[e1]
                 0.021804f, // FreqL[e2]
                 0.024248f, // FreqL[e3]
                 0.015895f, // FreqL[e4]
                 0.003768f, // FreqL[e5]
                 0.010171f, // FreqL[e6]
                 0.010007f, // FreqL[e7]
                 0.010178f, // FreqL[e8]
                 0.008316f, // FreqL[e9]
                 0.006832f, // FreqL[ea]
                 0.006364f, // FreqL[eb]
                 0.009141f, // FreqL[ec]
                 0.009148f, // FreqL[ed]
                 0.012081f, // FreqL[ee]
                 0.011914f, // FreqL[ef]
                 0.004464f, // FreqL[f0]
                 0.014257f, // FreqL[f1]
                 0.006907f, // FreqL[f2]
                 0.011292f, // FreqL[f3]
                 0.018622f, // FreqL[f4]
                 0.008149f, // FreqL[f5]
                 0.004636f, // FreqL[f6]
                 0.006612f, // FreqL[f7]
                 0.013478f, // FreqL[f8]
                 0.012614f, // FreqL[f9]
                 0.005186f, // FreqL[fa]
                 0.048285f, // FreqL[fb]
                 0.006816f, // FreqL[fc]
                 0.006743f, // FreqL[fd]
                 0.008671f  // FreqL[fe]
	};

	mSecondByteStdDev = 0.006630f; // Trail Byte StdDev
	mSecondByteMean = 0.010638f; // Trail Byte Mean
	mSecondByteWeight = 0.284401f; // Trial Byte Weight
	}

}
