/* -*- 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 Big5Statistics 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 Big5Statistics() {

         mFirstByteFreq = new float[] { 
                    0.000000f, // FreqH[a1]
                    0.000000f, // FreqH[a2]
                    0.000000f, // FreqH[a3]
                    0.114427f, // FreqH[a4]
                    0.061058f, // FreqH[a5]
                    0.075598f, // FreqH[a6]
                    0.048386f, // FreqH[a7]
                    0.063966f, // FreqH[a8]
                    0.027094f, // FreqH[a9]
                    0.095787f, // FreqH[aa]
                    0.029525f, // FreqH[ab]
                    0.031331f, // FreqH[ac]
                    0.036915f, // FreqH[ad]
                    0.021805f, // FreqH[ae]
                    0.019349f, // FreqH[af]
                    0.037496f, // FreqH[b0]
                    0.018068f, // FreqH[b1]
                    0.012760f, // FreqH[b2]
                    0.030053f, // FreqH[b3]
                    0.017339f, // FreqH[b4]
                    0.016731f, // FreqH[b5]
                    0.019501f, // FreqH[b6]
                    0.011240f, // FreqH[b7]
                    0.032973f, // FreqH[b8]
                    0.016658f, // FreqH[b9]
                    0.015872f, // FreqH[ba]
                    0.021458f, // FreqH[bb]
                    0.012378f, // FreqH[bc]
                    0.017003f, // FreqH[bd]
                    0.020802f, // FreqH[be]
                    0.012454f, // FreqH[bf]
                    0.009239f, // FreqH[c0]
                    0.012829f, // FreqH[c1]
                    0.007922f, // FreqH[c2]
                    0.010079f, // FreqH[c3]
                    0.009815f, // FreqH[c4]
                    0.010104f, // FreqH[c5]
                    0.000000f, // FreqH[c6]
                    0.000000f, // FreqH[c7]
                    0.000000f, // FreqH[c8]
                    0.000053f, // FreqH[c9]
                    0.000035f, // FreqH[ca]
                    0.000105f, // FreqH[cb]
                    0.000031f, // FreqH[cc]
                    0.000088f, // FreqH[cd]
                    0.000027f, // FreqH[ce]
                    0.000027f, // FreqH[cf]
                    0.000026f, // FreqH[d0]
                    0.000035f, // FreqH[d1]
                    0.000024f, // FreqH[d2]
                    0.000034f, // FreqH[d3]
                    0.000375f, // FreqH[d4]
                    0.000025f, // FreqH[d5]
                    0.000028f, // FreqH[d6]
                    0.000020f, // FreqH[d7]
                    0.000024f, // FreqH[d8]
                    0.000028f, // FreqH[d9]
                    0.000031f, // FreqH[da]
                    0.000059f, // FreqH[db]
                    0.000040f, // FreqH[dc]
                    0.000030f, // FreqH[dd]
                    0.000079f, // FreqH[de]
                    0.000037f, // FreqH[df]
                    0.000040f, // FreqH[e0]
                    0.000023f, // FreqH[e1]
                    0.000030f, // FreqH[e2]
                    0.000027f, // FreqH[e3]
                    0.000064f, // FreqH[e4]
                    0.000020f, // FreqH[e5]
                    0.000027f, // FreqH[e6]
                    0.000025f, // FreqH[e7]
                    0.000074f, // FreqH[e8]
                    0.000019f, // FreqH[e9]
                    0.000023f, // FreqH[ea]
                    0.000021f, // FreqH[eb]
                    0.000018f, // FreqH[ec]
                    0.000017f, // FreqH[ed]
                    0.000035f, // FreqH[ee]
                    0.000021f, // FreqH[ef]
                    0.000019f, // FreqH[f0]
                    0.000025f, // FreqH[f1]
                    0.000017f, // FreqH[f2]
                    0.000037f, // FreqH[f3]
                    0.000018f, // FreqH[f4]
                    0.000018f, // FreqH[f5]
                    0.000019f, // FreqH[f6]
                    0.000022f, // FreqH[f7]
                    0.000033f, // FreqH[f8]
                    0.000032f, // FreqH[f9]
                    0.000000f, // FreqH[fa]
                    0.000000f, // FreqH[fb]
                    0.000000f, // FreqH[fc]
                    0.000000f, // FreqH[fd]
                    0.000000f  // FreqH[fe]
	};
                 
	mFirstByteStdDev = 0.020606f; // Lead Byte StdDev
	mFirstByteMean = 0.010638f; // Lead Byte Mean
 	mFirstByteWeight = 0.675261f; // Lead Byte Weight

	mSecondByteFreq = new float[] {
                     0.020256f, // FreqL[a1]
                     0.003293f, // FreqL[a2]
                     0.045811f, // FreqL[a3]
                     0.016650f, // FreqL[a4]
                     0.007066f, // FreqL[a5]
                     0.004146f, // FreqL[a6]
                     0.009229f, // FreqL[a7]
                     0.007333f, // FreqL[a8]
                     0.003296f, // FreqL[a9]
                     0.005239f, // FreqL[aa]
                     0.008282f, // FreqL[ab]
                     0.003791f, // FreqL[ac]
                     0.006116f, // FreqL[ad]
                     0.003536f, // FreqL[ae]
                     0.004024f, // FreqL[af]
                     0.016654f, // FreqL[b0]
                     0.009334f, // FreqL[b1]
                     0.005429f, // FreqL[b2]
                     0.033392f, // FreqL[b3]
                     0.006121f, // FreqL[b4]
                     0.008983f, // FreqL[b5]
                     0.002801f, // FreqL[b6]
                     0.004221f, // FreqL[b7]
                     0.010357f, // FreqL[b8]
                     0.014695f, // FreqL[b9]
                     0.077937f, // FreqL[ba]
                     0.006314f, // FreqL[bb]
                     0.004020f, // FreqL[bc]
                     0.007331f, // FreqL[bd]
                     0.007150f, // FreqL[be]
                     0.005341f, // FreqL[bf]
                     0.009195f, // FreqL[c0]
                     0.005350f, // FreqL[c1]
                     0.005698f, // FreqL[c2]
                     0.004472f, // FreqL[c3]
                     0.007242f, // FreqL[c4]
                     0.004039f, // FreqL[c5]
                     0.011154f, // FreqL[c6]
                     0.016184f, // FreqL[c7]
                     0.004741f, // FreqL[c8]
                     0.012814f, // FreqL[c9]
                     0.007679f, // FreqL[ca]
                     0.008045f, // FreqL[cb]
                     0.016631f, // FreqL[cc]
                     0.009451f, // FreqL[cd]
                     0.016487f, // FreqL[ce]
                     0.007287f, // FreqL[cf]
                     0.012688f, // FreqL[d0]
                     0.017421f, // FreqL[d1]
                     0.013205f, // FreqL[d2]
                     0.031480f, // FreqL[d3]
                     0.003404f, // FreqL[d4]
                     0.009149f, // FreqL[d5]
                     0.008921f, // FreqL[d6]
                     0.007514f, // FreqL[d7]
                     0.008683f, // FreqL[d8]
                     0.008203f, // FreqL[d9]
                     0.031403f, // FreqL[da]
                     0.011733f, // FreqL[db]
                     0.015617f, // FreqL[dc]
                     0.015306f, // FreqL[dd]
                     0.004004f, // FreqL[de]
                     0.010899f, // FreqL[df]
                     0.009961f, // FreqL[e0]
                     0.008388f, // FreqL[e1]
                     0.010920f, // FreqL[e2]
                     0.003925f, // FreqL[e3]
                     0.008585f, // FreqL[e4]
                     0.009108f, // FreqL[e5]
                     0.015546f, // FreqL[e6]
                     0.004659f, // FreqL[e7]
                     0.006934f, // FreqL[e8]
                     0.007023f, // FreqL[e9]
                     0.020252f, // FreqL[ea]
                     0.005387f, // FreqL[eb]
                     0.024704f, // FreqL[ec]
                     0.006963f, // FreqL[ed]
                     0.002625f, // FreqL[ee]
                     0.009512f, // FreqL[ef]
                     0.002971f, // FreqL[f0]
                     0.008233f, // FreqL[f1]
                     0.010000f, // FreqL[f2]
                     0.011973f, // FreqL[f3]
                     0.010553f, // FreqL[f4]
                     0.005945f, // FreqL[f5]
                     0.006349f, // FreqL[f6]
                     0.009401f, // FreqL[f7]
                     0.008577f, // FreqL[f8]
                     0.008186f, // FreqL[f9]
                     0.008159f, // FreqL[fa]
                     0.005033f, // FreqL[fb]
                     0.008714f, // FreqL[fc]
                     0.010614f, // FreqL[fd]
                     0.006554f  // FreqL[fe]
	};

	mSecondByteStdDev = 0.009909f; // Trail Byte StdDev
	mSecondByteMean = 0.010638f; // Trail Byte Mean
	mSecondByteWeight = 0.324739f ;  // Trial Byte Weight

	}
}

