fdo#70797 add Excel 2010 functions

CHISQ.DIST, CHISQ.INV, CHISQ.TEST, CHISQ.DIST.RT, CHISQ.INV.RT

Change-Id: If32530a82b2e5fa1aa30a8c80090742be5acf3eb
Reviewed-on: https://gerrit.libreoffice.org/6611
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
This commit is contained in:
Winfried Donkers
2013-11-07 17:27:20 +01:00
committed by Eike Rathke
parent c69ed33628
commit 75601529a8
9 changed files with 246 additions and 9 deletions

View File

@@ -285,6 +285,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_T_DIST { Text = "LEGACY.TDIST" ; };
String SC_OPCODE_F_DIST { Text = "LEGACY.FDIST" ; };
String SC_OPCODE_CHI_DIST { Text = "LEGACY.CHIDIST" ; };
String SC_OPCODE_CHI_DIST_MS { Text = "COM.MICROSOFT.CHISQ.DIST.RT" ; };
String SC_OPCODE_WEIBULL { Text = "WEIBULL" ; };
String SC_OPCODE_NEG_BINOM_VERT { Text = "NEGBINOMDIST" ; };
String SC_OPCODE_KRIT_BINOM { Text = "CRITBINOM" ; };
@@ -328,11 +329,13 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_RKP { Text = "LOGEST" ; };
String SC_OPCODE_FORECAST { Text = "FORECAST" ; };
String SC_OPCODE_CHI_INV { Text = "LEGACY.CHIINV" ; };
String SC_OPCODE_CHI_INV_MS { Text = "COM.MICROSOFT.CHISQ.INV.RT" ; };
String SC_OPCODE_GAMMA_DIST { Text = "GAMMADIST" ; };
String SC_OPCODE_GAMMA_INV { Text = "GAMMAINV" ; };
String SC_OPCODE_T_INV { Text = "TINV" ; };
String SC_OPCODE_F_INV { Text = "LEGACY.FINV" ; };
String SC_OPCODE_CHI_TEST { Text = "LEGACY.CHITEST" ; };
String SC_OPCODE_CHI_TEST_MS { Text = "COM.MICROSOFT.CHISQ.TEST" ; };
String SC_OPCODE_LOG_INV { Text = "LOGINV" ; };
String SC_OPCODE_TABLE_OP { Text = "MULTIPLE.OPERATIONS" ; };
String SC_OPCODE_BETA_DIST { Text = "BETADIST" ; };
@@ -358,7 +361,9 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
String SC_OPCODE_GAMMA { Text = "GAMMA" ; };
String SC_OPCODE_CHISQ_DIST { Text = "CHISQDIST" ; };
String SC_OPCODE_CHISQ_DIST_MS { Text = "COM.MICROSOFT.CHISQ.DIST" ; };
String SC_OPCODE_CHISQ_INV { Text = "CHISQINV" ;};
String SC_OPCODE_CHISQ_INV_MS { Text = "COM.MICROSOFT.CHISQ.INV" ;};
String SC_OPCODE_BITAND { Text = "BITAND" ;};
String SC_OPCODE_BITOR { Text = "BITOR" ;};
String SC_OPCODE_BITXOR { Text = "BITXOR" ;};
@@ -643,6 +648,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
String SC_OPCODE_T_DIST { Text = "TDIST" ; };
String SC_OPCODE_F_DIST { Text = "FDIST" ; };
String SC_OPCODE_CHI_DIST { Text = "CHIDIST" ; };
String SC_OPCODE_CHI_DIST_MS { Text = "CHISQ.DIST.RT" ; };
String SC_OPCODE_WEIBULL { Text = "WEIBULL" ; };
String SC_OPCODE_NEG_BINOM_VERT { Text = "NEGBINOMDIST" ; };
String SC_OPCODE_KRIT_BINOM { Text = "CRITBINOM" ; };
@@ -686,11 +692,13 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
String SC_OPCODE_RKP { Text = "LOGEST" ; };
String SC_OPCODE_FORECAST { Text = "FORECAST" ; };
String SC_OPCODE_CHI_INV { Text = "CHIINV" ; };
String SC_OPCODE_CHI_INV_MS { Text = "CHISQ.INV.RT" ; };
String SC_OPCODE_GAMMA_DIST { Text = "GAMMADIST" ; };
String SC_OPCODE_GAMMA_INV { Text = "GAMMAINV" ; };
String SC_OPCODE_T_INV { Text = "TINV" ; };
String SC_OPCODE_F_INV { Text = "FINV" ; };
String SC_OPCODE_CHI_TEST { Text = "CHITEST" ; };
String SC_OPCODE_CHI_TEST_MS { Text = "CHISQ.TEST" ; };
String SC_OPCODE_LOG_INV { Text = "LOGINV" ; };
String SC_OPCODE_TABLE_OP { Text = "TABLE" ; };
String SC_OPCODE_BETA_DIST { Text = "BETADIST" ; };
@@ -716,6 +724,8 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
String SC_OPCODE_GAMMA { Text = "GAMMA" ; };
String SC_OPCODE_CHISQ_DIST { Text = "CHISQDIST" ; };
String SC_OPCODE_CHISQ_DIST_MS { Text = "CHISQ.DIST" ; };
String SC_OPCODE_CHISQ_INV_MS { Text = "CHISQ.INV" ;};
String SC_OPCODE_CHISQ_INV { Text = "CHISQINV" ;};
String SC_OPCODE_BITAND { Text = "BITAND" ;};
String SC_OPCODE_BITOR { Text = "BITOR" ;};
@@ -1712,6 +1722,10 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "CHIDIST" ;
};
String SC_OPCODE_CHI_DIST_MS
{
Text [ en-US ] = "CHISQ.DIST.RT" ;
};
String SC_OPCODE_WEIBULL
{
Text [ en-US ] = "WEIBULL" ;
@@ -1884,6 +1898,10 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "CHIINV" ;
};
String SC_OPCODE_CHI_INV_MS
{
Text [ en-US ] = "CHISQ.INV.RT" ;
};
String SC_OPCODE_GAMMA_DIST
{
Text [ en-US ] = "GAMMADIST" ;
@@ -1904,6 +1922,10 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "CHITEST" ;
};
String SC_OPCODE_CHI_TEST_MS
{
Text [ en-US ] = "CHISQ.TEST" ;
};
String SC_OPCODE_LOG_INV
{
Text [ en-US ] = "LOGINV" ;
@@ -2000,10 +2022,18 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "CHISQDIST" ;
};
String SC_OPCODE_CHISQ_DIST_MS
{
Text [ en-US ] = "CHISQ.DIST" ;
};
String SC_OPCODE_CHISQ_INV
{
Text [ en-US ] = "CHISQINV" ;
};
String SC_OPCODE_CHISQ_INV_MS
{
Text [ en-US ] = "CHISQ.INV" ;
};
String SC_OPCODE_BITAND
{
Text [ en-US ] = "BITAND" ;

View File

@@ -418,8 +418,13 @@
#define SC_OPCODE_BETA_INV_MS 420
#define SC_OPCODE_BINOM_DIST_MS 421
#define SC_OPCODE_BINOM_INV 422
#define SC_OPCODE_CHI_DIST_MS 423
#define SC_OPCODE_CHI_INV_MS 424
#define SC_OPCODE_CHI_TEST_MS 425
#define SC_OPCODE_CHISQ_DIST_MS 426
#define SC_OPCODE_CHISQ_INV_MS 427
#define SC_OPCODE_STOP_2_PAR 423 /* last function with two or more parameters' OpCode + 1 */
#define SC_OPCODE_STOP_2_PAR 428 /* last function with two or more parameters' OpCode + 1 */
#define SC_OPCODE_STOP_FUNCTION SC_OPCODE_STOP_2_PAR /* last function's OpCode + 1 */
#define SC_OPCODE_LAST_OPCODE_ID (SC_OPCODE_STOP_FUNCTION - 1) /* last OpCode */

View File

@@ -327,8 +327,11 @@ enum OpCodeEnum
ocTDist = SC_OPCODE_T_DIST,
ocFDist = SC_OPCODE_F_DIST,
ocChiDist = SC_OPCODE_CHI_DIST,
ocChiDist_MS = SC_OPCODE_CHI_DIST_MS,
ocChiSqDist = SC_OPCODE_CHISQ_DIST,
ocChiSqDist_MS = SC_OPCODE_CHISQ_DIST_MS,
ocChiSqInv = SC_OPCODE_CHISQ_INV,
ocChiSqInv_MS = SC_OPCODE_CHISQ_INV_MS,
ocWeibull = SC_OPCODE_WEIBULL,
ocNegBinomVert = SC_OPCODE_NEG_BINOM_VERT,
ocKritBinom = SC_OPCODE_KRIT_BINOM,
@@ -371,11 +374,13 @@ enum OpCodeEnum
ocRKP = SC_OPCODE_RKP,
ocForecast = SC_OPCODE_FORECAST,
ocChiInv = SC_OPCODE_CHI_INV,
ocChiInv_MS = SC_OPCODE_CHI_INV_MS,
ocGammaDist = SC_OPCODE_GAMMA_DIST,
ocGammaInv = SC_OPCODE_GAMMA_INV,
ocTInv = SC_OPCODE_T_INV,
ocFInv = SC_OPCODE_F_INV,
ocChiTest = SC_OPCODE_CHI_TEST,
ocChiTest_MS = SC_OPCODE_CHI_TEST_MS,
ocLogInv = SC_OPCODE_LOG_INV,
ocTableOp = SC_OPCODE_TABLE_OP,
ocBetaDist = SC_OPCODE_BETA_DIST,

View File

@@ -688,5 +688,10 @@
#define HID_FUNC_BETAINV_MS "SC_HID_FUNC_BETAINV_MS"
#define HID_FUNC_BINOM_DIST_MS "SC_HID_FUNC_BINOM_DIST_MS"
#define HID_FUNC_BINOM_INV_MS "SC_HID_FUNC_BINOM_INV_MS"
#define HID_FUNC_CHIINV_MS "SC_HID_FUNC_CHIINV_MS"
#define HID_FUNC_CHIVERT_MS "SC_HID_FUNC_CHIVERT_MS"
#define HID_FUNC_CHITEST_MS "SC_HID_FUNC_CHITEST_MS"
#define HID_FUNC_CHISQDIST_MS "SC_HID_FUNC_CHISQDIST_MS"
#define HID_FUNC_CHISQINV_MS "SC_HID_FUNC_CHISQINV_MS"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -2366,6 +2366,11 @@ void Test::testFunctionLists()
"BINOMDIST",
"CHIDIST",
"CHIINV",
"CHISQ.DIST",
"CHISQ.DIST.RT",
"CHISQ.INV",
"CHISQ.INV.RT",
"CHISQ.TEST",
"CHISQDIST",
"CHISQINV",
"CHITEST",

View File

@@ -4111,8 +4111,10 @@ StackVar ScInterpreter::Interpret()
case ocLogNormDist : ScLogNormDist(); break;
case ocTDist : ScTDist(); break;
case ocFDist : ScFDist(); break;
case ocChiDist : ScChiDist(); break;
case ocChiSqDist : ScChiSqDist(); break;
case ocChiDist :
case ocChiDist_MS : ScChiDist(); break;
case ocChiSqDist :
case ocChiSqDist_MS : ScChiSqDist(); break;
case ocStandard : ScStandard(); break;
case ocAveDev : ScAveDev(); break;
case ocDevSq : ScDevSq(); break;
@@ -4162,9 +4164,12 @@ StackVar ScInterpreter::Interpret()
case ocGamma : ScGamma(); break;
case ocGammaDist : ScGammaDist(); break;
case ocGammaInv : ScGammaInv(); break;
case ocChiTest : ScChiTest(); break;
case ocChiInv : ScChiInv(); break;
case ocChiSqInv : ScChiSqInv(); break;
case ocChiTest :
case ocChiTest_MS : ScChiTest(); break;
case ocChiInv :
case ocChiInv_MS : ScChiInv(); break;
case ocChiSqInv :
case ocChiSqInv_MS : ScChiSqInv(); break;
case ocTInv : ScTInv(); break;
case ocFInv : ScFInv(); break;
case ocLogInv : ScLogNormInv(); break;

View File

@@ -438,7 +438,12 @@ static const XclFunctionInfo saFuncTable_2010[] =
EXC_FUNCENTRY_V_VR( ocBetaDist_MS, 4, 6, 0, "BETA.DIST" ),
EXC_FUNCENTRY_V_VR( ocBetaInv_MS, 3, 5, 0, "BETA.INV" ),
EXC_FUNCENTRY_V_VR( ocBinomDist_MS, 4, 4, 0, "BINOM.DIST" ),
EXC_FUNCENTRY_V_VR( ocBinomInv, 3, 3, 0, "BINOM.INV" )
EXC_FUNCENTRY_V_VR( ocBinomInv, 3, 3, 0, "BINOM.INV" ),
EXC_FUNCENTRY_V_VR( ocChiSqDist_MS, 3, 3, 0, "CHISQ.DIST" ),
EXC_FUNCENTRY_V_VR( ocChiSqInv_MS, 2, 2, 0, "CHISQ.INV" ),
EXC_FUNCENTRY_V_VR( ocChiDist_MS, 2, 2, 0, "CHISQ.DIST.RT" ),
EXC_FUNCENTRY_V_VR( ocChiInv_MS, 2, 2, 0, "CHISQ.INV.RT" ),
EXC_FUNCENTRY_V_VR( ocChiTest_MS, 2, 2, 0, "CHISQ.TEST" )
};
/** Functions new in Excel 2013.

View File

@@ -756,7 +756,12 @@ static const FunctionData saFuncTable2010[] =
{ "COM.MICROSOFT.BETA.DIST", "BETA.DIST" , NOID, NOID, 4, 6, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.BETA.INV", "BETA.INV", NOID, NOID, 3, 5, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.BINOM.DIST", "BINOM.DIST", NOID, NOID, 4, 4, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.BINOM.INV", "BINOM.INV", NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALL_NEW }
{ "COM.MICROSOFT.BINOM.INV", "BINOM.INV", NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CHISQ.DIST", "CHISQ.DIST", NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CHISQ.INV", "CHISQ.INV", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CHISQ.DIST.RT", "CHISQ.DIST.RT", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CHISQ.INV.RT", "CHISQ.INV.RT", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CHISQ.TEST", "CHISQ.TEST", NOID, NOID, 2, 2, V, { VA }, FUNCFLAG_MACROCALL_NEW }
};
/** Functions new in Excel 2013.

View File

@@ -7185,7 +7185,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
Text [ en-US ] = "The degrees of freedom in the denominator of the F distribution." ;
};
};
// -=*# Resource for function CHIVERT #*=-
// -=*# Resource for function CHIDIST #*=-
Resource SC_OPCODE_CHI_DIST
{
String 1 // Description
@@ -7217,6 +7217,39 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
Text [ en-US ] = "The degrees of freedom of the chi square distribution." ;
};
};
// -=*# Resource for function CHISQ.DIST.RT #*=-
Resource SC_OPCODE_CHI_DIST_MS
{
String 1 // Description
{
Text [ en-US ] = "Returns the right-tail probability of the chi-square distribution." ;
};
ExtraData =
{
0;
ID_FUNCTION_GRP_STATISTIC;
U2S( HID_FUNC_CHIVERT_MS );
2; 0; 0;
0;
};
String 2 // Name of Parameter 1
{
Text [ en-US ] = "Number" ;
};
String 3 // Description of Parameter 1
{
Text [ en-US ] = "The value for which the chi square distribution is to be calculated." ;
};
String 4 // Name of Parameter 2
{
Text [ en-US ] = "degrees_freedom" ;
};
String 5 // Description of Parameter 2
{
Text [ en-US ] = "The degrees of freedom of the chi square distribution." ;
};
};
// -=*# Resource for function CHISQDIST #*=-
Resource SC_OPCODE_CHISQ_DIST
@@ -7259,6 +7292,47 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
};
};
// -=*# Resource for function CHISQ.DIST #*=-
Resource SC_OPCODE_CHISQ_DIST_MS
{
String 1 // Description
{
Text [ en-US ] = "Returns left-tail probability of the cumulative distribution function or values of the probability density function of the chi-square distribution." ;
};
ExtraData =
{
0;
ID_FUNCTION_GRP_STATISTIC;
U2S( HID_FUNC_CHISQDIST_MS );
3; 0; 0; 0;
0;
};
String 2 // Name of Parameter 1
{
Text [ en-US ] = "Number" ;
};
String 3 // Description of Parameter 1
{
Text [ en-US ] = "The value for which the probability density function or cumulative distribution function is to be calculated." ;
};
String 4 // Name of Parameter 2
{
Text [ en-US ] = "Degrees of Freedom" ;
};
String 5 // Description of Parameter 2
{
Text [ en-US ] = "The degrees of freedom of the chi-square distribution." ;
};
String 6 // Name of Parameter 3
{
Text [ en-US ] = "Cumulative" ;
};
String 7 // Description of Parameter 3
{
Text [ en-US ] = "0 or FALSE calculates the probability density function. Any other value or TRUE or omitted calculates the cumulative distribution function." ;
};
};
// -=*# Resource for function CHIINV #*=-
Resource SC_OPCODE_CHI_INV
@@ -7293,6 +7367,39 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
};
};
// -=*# Resource for function CHISQ.INV.RT #*=-
Resource SC_OPCODE_CHI_INV_MS
{
String 1 // Description
{
Text [ en-US ] = "Values of the inverse of CHIDIST(x; DegreesOfFreedom)." ;
};
ExtraData =
{
0;
ID_FUNCTION_GRP_STATISTIC;
U2S( HID_FUNC_CHIINV_MS );
2; 0; 0;
0;
};
String 2 // Name of Parameter 1
{
Text [ en-US ] = "number" ;
};
String 3 // Description of Parameter 1
{
Text [ en-US ] = "The probability value for which the inverse chi square distribution is to be calculated." ;
};
String 4 // Name of Parameter 2
{
Text [ en-US ] = "degrees_freedom" ;
};
String 5 // Description of Parameter 2
{
Text [ en-US ] = "The degrees of freedom of the chi square distribution." ;
};
};
// -=*# Resource for function CHISQINV #*=-
Resource SC_OPCODE_CHISQ_INV
{
@@ -7326,6 +7433,39 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
};
};
// -=*# Resource for function CHISQ.INV #*=-
Resource SC_OPCODE_CHISQ_INV_MS
{
String 1 // Description
{
Text [ en-US ] = "Values of the inverse of CHISQ.DIST(x;DegreesOfFreedom;TRUE())." ;
};
ExtraData =
{
0;
ID_FUNCTION_GRP_STATISTIC;
U2S( HID_FUNC_CHISQINV_MS );
2; 0; 0;
0;
};
String 2 // Name of Parameter 1
{
Text [ en-US ] = "Probability" ;
};
String 3 // Description of Parameter 1
{
Text [ en-US ] = "The probability value for which the inverse of the chi square distribution is to be calculated." ;
};
String 4 // Name of Parameter 2
{
Text [ en-US ] = "Degrees of Freedom" ;
};
String 5 // Description of Parameter 2
{
Text [ en-US ] = "The degrees of freedom of the chi square distribution." ;
};
};
// -=*# Resource for function STANDARDISIERUNG #*=-
Resource SC_OPCODE_STANDARD
{
@@ -7541,6 +7681,38 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
{
Text [ en-US ] = "The expected data array." ;
};
};
// -=*# Resource for function CHISQ.TEST.RT #*=-
Resource SC_OPCODE_CHI_TEST_MS
{
String 1 // Description
{
Text [ en-US ] = "Returns the chi square independence test." ;
};
ExtraData =
{
0;
ID_FUNCTION_GRP_STATISTIC;
U2S( HID_FUNC_CHITEST_MS );
2; 0; 0;
0;
};
String 2 // Name of Parameter 1
{
Text [ en-US ] = "Data_B" ;
};
String 3 // Description of Parameter 1
{
Text [ en-US ] = "The observed data array." ;
};
String 4 // Name of Parameter 2
{
Text [ en-US ] = "data_E" ;
};
String 5 // Description of Parameter 2
{
Text [ en-US ] = "The expected data array." ;
};
};
// -=*# Resource for function FTEST #*=-
Resource SC_OPCODE_F_TEST