Development/ODF Implementer Notes/List of LibreOffice OpenFormula Extensions

From The Document Foundation Wiki
Jump to: navigation, search

This page contains a list of all LibreOffice OpenFormula Extensions -- functions that we've added to LibreOffice to extend what's available in the OpenFormula specification. A list of known functions which are not implemented in LibreOffice can be access at Development/Calc/Spreadsheet Functions/not yet implemented.

LibreOffice OpenFormula extensions

The OpenFormula specification permits implementations to use namespaces in function names similar to how they're used in xml proper. This page lists the non-default extensions contained in LibreOffice.

Namespace: ORG.LIBREOFFICE

Commit Added to master Affects LO Versions Full Name

(with Namespace)

Function name in UI Code pointer Description Notes OASIS cross-reference Standardized in ODFF Standardized as...
OPCODE appears in core commit dd0f84 2014-05-19 4.4
ORG.LIBREOFFICE.COLOR
COLOR sc/source/core/tool/interpr7.cxx ScInterpreter::ScColor() Returns an ARGB value.
OPCODE appears in core commit db1e34 2015-12-16 5.2
ORG.LIBREOFFICE.RAWSUBTRACT
RAWSUBTRACT sc/source/core/tool/interpr6.cxx ScInterpreter::ScRawSubtract() Returns subtrahend(s) subtracted from minuend without cancelling roundoff errors.
OPCODE appears in core commit f336f6 2016-03-03 5.2
ORG.LIBREOFFICE.FORECAST.ETS.MULT
FORECAST.ETS.MULT sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts() Returns forecasted value(s) calculated with triple/double exponential smoothing algorithms, using the multiplicative method.
OPCODE appears in core commit f336f6 2016-03-03 5.2
ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT
FORECAST.ETS.PI.MULT sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts() Returns prediction interval(s) for forecasted value(s) calculated with triple/double exponential smoothing algorithms, using the multiplicative method, with the appropiate confidence levels passed as argument.
OPCODE appears in core commit f336f6 2016-03-03 5.2
ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT
FORECAST.ETS.STAT.MULT sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts() Returns statistical value(s) for forecast calculations with triple/double exponential smoothing algorithms, using the multiplicative method.
OPCODE appears in core commit 902c59 2016-01-05 5.1
ORG.LIBREOFFICE.WEEKNUM_OOO
WEEKNUM_OOO sc/source/core/tool/interpr2.cxx ScInterpreter::ScWeeknumOOo() compatibility function for old behaviour of WEEKNUM, which was not ODFF complaint, see tdf#50950
OPCODE appears in core commit 3ee1c4 2017-02-20 5.4
ORG.LIBREOFFICE.ROUNDSIG
ROUNDSIG sc/source/core/tool/interpr2.cxx ScInterpreter::ScRoundSignificant() Return value in specified number of significant digits, see tdf#105931

Namespace: ORG.OPENOFFICE

Commit Added to master Affects LO Versions Full Name

(with Namespace)

Function name in UI Code pointer Description Notes OASIS cross-reference Standardized in ODFF Standardized as...
OPCODE appears in core commit 2cb4c6 2009-01-08 All?
ORG.OPENOFFICE.CURRENT
CURRENT sc/source/core/tool/interpr2.cxx ScInterpreter::ScCurrent() Returns the expression's value at the current position.
Name fixed in core commit 18e758 2008-07-22 All?
ORG.OPENOFFICE.ERRORTYPE
ERRORTYPE sc/source/core/tool/interpr1.cxx ScInterpreter::ScErrorType() Returns the internal error number. This is not the ERROR.TYPE function as defined by ODFF.
OPCODE appears in core commit 2cb4c6 2009-01-08 All?
ORG.OPENOFFICE.MULTIRANGE
MULTIRANGE sc/source/core/tool/interpr1.cxx ScInterpreter::ScMultiArea() Legacy form of range list Deprecated legacy form of range list.
Not available in Function Wizard.
1.2 Replaced by ODFF Infix Operator Reference Concatenation ("~") (aka Union)
OPCODE appears in core commit 2cb4c6 2009-01-08 All?
ORG.OPENOFFICE.STYLE
STYLE sc/source/core/tool/interpr2.cxx ScInterpreter::ScStyle() Applies a style to the cell containing the formula expression.
OPCODE appears in core commit 2cb4c6

Clarified vs CONVERT_ADD in core commit 830249

2009-01-08

2013-12-02

All?
ORG.OPENOFFICE.CONVERT
CONVERT sc/source/core/tool/interpr2.cxx ScInterpreter::ScConvert() Returns the conversion of a value with a factor that is defined in the configuration This is not the CONVERT function as defined by ODFF (which in the UI is CONVERT_ADD for historical reasons).
OPCODE appears in core commit 2cb4c6

Write correct name core commit 3deb83

2009-01-08

2011-12-07

All?
ORG.OPENOFFICE.EASTERSUNDAY
EASTERSUNDAY sc/source/core/tool/interpr2.cxx ScInterpreter::ScEasterSunday() Calculates the date of Easter Sunday in a given year.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.WEEKS
WEEKS scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getDiffWeeks() Calculates the number of weeks in a specific period.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.MONTHS
MONTHS scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getDiffMonths() Calculates the number of months in a specific period.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.YEARS
YEARS scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getDiffYears() Calculates the number of years in a specific period.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.ISLEAPYEAR
ISLEAPYEAR scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getIsLeapYear() Returns 1 (TRUE) if the date is a day of a leap year, otherwise 0 (FALSE).
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.DAYSINMONTH
DAYSINMONTH scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getDaysInMonth() Returns the number of days of the month in which the date entered occurs.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.DAYSINYEAR
DAYSINYEAR scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getDaysInYear() Returns the number of days of the year in which the date entered occurs.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.WEEKSINYEAR
WEEKSINYEAR scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getWeeksInYear() Returns the number of weeks of the year in which the date entered occurs.
Name appears core commit b785f9

Func not in ODF or Excel core commit 27aeea

2008-01-10

2013-08-14

All?
ORG.OPENOFFICE.ROT13
ROT13 scaddins/source/datefunc/datefunc.cxx ScaDateAddIn::getRot13() "Encrypts" or decrypts a text using the ROT13 algorithm.

Namespace: COM.MICROSOFT

Commit Added to master Affects LO Versions Full Name

(with Namespace)

Function name in UI Code pointer Description Notes OASIS cross-reference Standardized in ODFF Standardized as...
OPCODE appears in core commit 3edfc3 2008-01-10 All?
COM.MICROSOFT.BAHTTEXT
BAHTTEXT sc/source/core/tool/interpr2.cxx ScInterpreter::ScBahtText() Returns the string representing a value in Thai Baht.
New Excel 2013 functions core commit 24bce4

Full name used core commit a21b79

2013-01-31

2013-08-14

COM.MICROSOFT.WEBSERVICE
WEBSERVICE
New Excel 2013 functions core commit 24bce4

Full name used core commit a21b79

2013-01-31

2013-08-14

COM.MICROSOFT.FILTERXML
FILTERXML
Add Excel 2010 Functions core commit 6d2f42 2013-10-31
COM.MICROSOFT.BETA.DIST
BETA.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScBetaDist_MS() Differs from BETADIST by different order of arguments and no default for cumulative
Add Excel 2010 Functions core commit 6d2f42 2013-10-31
COM.MICROSOFT.BETA.INV
BETA.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScBetaInv() Same as BETAINV
Add Excel 2010 Functions core commit e362bc 2013-11-04
COM.MICROSOFT.BINOM.DIST
BINOM.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScBinomDist() Same as BINOMDIST
Add Excel 2010 Functions core commit e362bc 2013-11-04
COM.MICROSOFT.BINOM.INV
BINOM.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScCritBinom() Same as BINOMINV and CRITBINOM
Add support for function core commit ccbebd 2013-10-18
COM.MICROSOFT.COVARIANCE.P
COVARIANCE.P sc/source/core/tool/interpr3.cxx ScInterpreter::ScCovarianceP() Same as COVAR
Add support for function core commit ccbebd 2013-10-18
COM.MICROSOFT.COVARIANCE.S
COVARIANCE.S sc/source/core/tool/interpr3.cxx ScInterpreter::ScCovarianceS() Returns the sample covariance
Add support for function core commit 4a122d 2013-10-25
COM.MICROSOFT.STDEV.P
STDEV.P sc/source/core/tool/interpr3.cxx ScInterpreter::ScStDevP() Same as STDEVP
Add support for function core commit 4a122d 2013-10-25
COM.MICROSOFT.STDEV.S
STDEV.S sc/source/core/tool/interpr3.cxx ScInterpreter::ScStDev() Same as STDEV
COM.MICROSOFT.VAR.P
VAR.P sc/source/core/tool/interpr3.cxx ScInterpreter::ScVarP() Same as VARP
COM.MICROSOFT.VAR.S
VAR.S sc/source/core/tool/interpr3.cxx ScInterpreter::ScVar() Same as VAR
COM.MICROSOFT.CHISQ.DIST
CHISQ.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScChiSqDist_MS() Differs from CHISQDIST: X must be positive or 0, deg_of_freedom must be less than 10E10, cumulative is required
COM.MICROSOFT.CHISQ.INV
CHISQ.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScChiSqInv() Same as CHISQINV
COM.MICROSOFT.CHISQ.TEST
CHISQ.TEST sc/source/core/tool/interpr3.cxx ScInterpreter::ScChiSqTest() Same as CHISQTEST
COM.MICROSOFT.CHISQ.DIST.RT
CHISQ.DIST.RT sc/source/core/tool/interpr3.cxx ScInterpreter::ScChiDist() Same as LEGACY.CHIDIST
COM.MICROSOFT.CHISQ.INV.RT
CHISQ.INV.RT sc/source/core/tool/interpr3.cxx ScInterpreter::ScChiInv() Same as LEGACY.CHIINV
COM.MICROSOFT.CONFIDENCE.NORM
CONFIDENCE.NORM sc/source/core/tool/interpr3.cxx ScInterpreter::ScConfidence() Same as CONFIDENCE
COM.MICROSOFT.CONFIDENCE.T
CONFIDENCE.T sc/source/core/tool/interpr3.cxx ScInterpreter::ScConfidenceT() Returns the confidence interval for a population mean, using a Student's t distribution.
COM.MICROSOFT.EXPON.DIST
EXPON.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScExpDist() Same as EXPONDIST
COM.MICROSOFT.F.DIST
F.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScFDist_LT() Returns the (left-tail) F probability distribution. Same as FDIST as defined by ODFF
COM.MICROSOFT.F.DIST.RT
F.DIST.RT sc/source/core/tool/interpr3.cxx ScInterpreter::ScFDist() Same as FDIST
COM.MICROSOFT.F.INV
F.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScFInv_LT() Returns the inverse of the (let-tailed) F probability distribution.
COM.MICROSOFT.F.INV.RT
F.INV.RT sc/source/core/tool/interpr3.cxx ScInterpreter::ScFInv() Same as FINV
COM.MICROSOFT.F.TEST
F.TEST sc/source/core/tool/interpr3.cxx ScInterpreter::ScFTest() Same as FTEST
COM.MICROSOFT.GAMMA.DIST
GAMMA.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScGammaDist() Differs from GAMMADIST: cumulative is required
COM.MICROSOFT.GAMMA.INV
GAMMA.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScGammaInv() Same as GAMMAINV
COM.MICROSOFT.GAMMALN.PRECISE
GAMMALN.PRECISE sc/source/core/tool/interpr3.cxx ScInterpreter::ScLogGamma() Same as GAMMALN
COM.MICROSOFT.HYPGEOM.DIST
HYPGEOM.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScHypGeomDist_MS() Differs from HYPGEOMDIST: extra argument cumulative (required)
COM.MICROSOFT.POISSON.DIST
POISSON.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScPoissonDist() Same as POISSONDIST
COM.MICROSOFT.WEIBULL.DIST
WEIBULL.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScWeibull() Same as WEIBULL
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.LOGNORM.DIST
LOGNORM.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScLogNormDist() Differs from LOGNORMDIST: all 4 arguments are required
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.LOGNORM.INV
LOGNORM.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScLogNormInv() Same as LOGNORMINV
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.NORM.DIST
NORM.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScNormDist() Differs from NORMDIST: all 4 arguments are required
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.NORM.INV
NORM.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScNormInv() Same as NORMINV
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.NORM.S.DIST
NORM.S.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScStdNormDist_MS() Differs from NORMSDIST: extra argument, cumulative
Add Excel 2010 function core commit 924f9d 2013-12-16
COM.MICROSOFT.NORM.S.INV
NORM.S.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScSNormInv() Same as NORMSINV
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.DIST
T.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScTDist_MS() Left-tailed Student's T-distribution (probability density or cumulative distribution function)
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.DIST.2T
T.DIST.2T sc/source/core/tool/interpr3.cxx ScInterpreter::ScTDist_T() Same as TDIST(number, deg_of_freedom, 2)
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.DIST.RT
T.DIST.RT sc/source/core/tool/interpr3.cxx ScInterpreter::ScTDist_T() Same as TDIST(number, deg_of_freedom, 1)
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.INV
T.INV sc/source/core/tool/interpr3.cxx ScInterpreter::ScTInv() Left-tailed inverse of Student's T-distribution
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.INV.2T
T.INV.2T sc/source/core/tool/interpr3.cxx ScInterpreter::ScTInv() Same as TINV
Add Excel 2010 function core commit 5b1e44 2014-01-27
COM.MICROSOFT.T.TEST
T.TEST sc/source/core/tool/interpr3.cxx ScInterpreter::ScTTest() Same as TTEST
COM.MICROSOFT.PERCENTILE.INC
PERCENTILE.INC sc/source/core/tool/interpr3.cxx ScInterpreter::ScPercentile() Same as PERCENTILE
COM.MICROSOFT.PERCENTRANK.INC
PERCENTRANK.INC sc/source/core/tool/interpr3.cxx ScInterpreter::ScPercentrank() Same as PERCENTRANK
COM.MICROSOFT.QUARTILE.INC
QUARTILE.INC sc/source/core/tool/interpr3.cxx ScInterpreter::ScQuartile() Same as QUARTILE
COM.MICROSOFT.RANK.EQ
RANK.EQ sc/source/core/tool/interpr3.cxx ScInterpreter::ScRank() Same as RANK
COM.MICROSOFT.PERCENTILE.EXC
PERCENTILE.EXC sc/source/core/tool/interpr3.cxx ScInterpreter::ScPercentile() Differs from PERCENTILE: percentile value is exclusive boundaries (0, 1)
COM.MICROSOFT.PERCENTRANK.EXC
PERCENTRANK.EXC sc/source/core/tool/interpr3.cxx ScInterpreter::ScPercentrank_MS() differs from PERCENTRANK: percentile value is exclusive boundaries (0, 1)
COM.MICROSOFT.QUARTILE.EXC
QUARTILE.EXC sc/source/core/tool/interpr3.cxx ScInterpreter::ScQuartile() Differs from QUARTILE: percentile value is exclusive boundaries (0, 1)
COM.MICROSOFT.RANK.AVG
RANK.AVG sc/source/core/tool/interpr3.cxx ScInterpreter::ScRank() Differs from RANK: if more than one value has the same rank, the average rank is returned.
COM.MICROSOFT.MODE.SNGL
MODE.SNGL sc/source/core/tool/interpr3.cxx ScInterpreter::ScModalValue() Same as MODE
COM.MICROSOFT.MODE.MULT
MODE.MULT sc/source/core/tool/interpr3.cxx ScInterpreter::ScModalValue_Multi() Differs from MODE, returns array of most frequently occurring values
COM.MICROSOFT.NEGBINOM.DIST
NEGBINOM.DIST sc/source/core/tool/interpr3.cxx ScInterpreter::ScNegBinomDist_MS() Differs from NEGBINOMDIST: 4th argument (probability density or cumulative distribution)
COM.MICROSOFT.Z.TEST
Z.TEST sc/source/core/tool/interpr3.cxx ScInterpreter::ScZTest() Same as ZTEST
COM.MICROSOFT.CEILING.PRECISE
CEILING.PRECISE sc/source/core/tool/interpr2.cxx ScInterpreter::ScCeiling_MS() Differs from CEILING: sign of 2nd argument (significance) does not matter, no 3rd argument (mode)
COM.MICROSOFT.ISO.CEILING
ISO.CEILING sc/source/core/tool/interpr2.cxx ScInterpreter::ScCeiling_MS() Same as CEILING.PRECISE
COM.MICROSOFT.FLOOR.PRECISE
FLOOR.PRECISE sc/source/core/tool/interpr2.cxx ScInterpreter::ScFloor_MS() Differs from FLOOR: sign of 2nd argument (significance) does not matter, no 3rd argument (mode)
Add support for function core commit 22dac2 2014-04-02
COM.MICROSOFT.NETWORKDAYS.INTL
NETWORKDAYS.INTL sc/source/core/tool/interpr2.cxx ScInterpreter::ScNetWorkdays_MS() Differs from NETWORKDAYS: 3rd and 4th argument are other way round and workdays are defined differently
Add support for function core commit 22dac2 2014-04-02
COM.MICROSOFT.WORKDAY.INTL
WORKDAY.INTL sc/source/core/tool/interpr2.cxx ScInterpreter::ScWorkday_MS() Differs from WORKDAY: 3rd and 4th argument are other way round and workdays are defined differently
Add Excel 2010 function core commit 56deaa 2014-04-11
COM.MICROSOFT.ERF.PRECISE
ERF.PRECISE sc/source/core/tool/interpr7.cxx ScInterpreter::ScErf_MS() Differs from ERF: only one argument (lower boundary)
Add Excel 2010 function core commit 56deaa 2014-04-11
COM.MICROSOFT.ERFC.PRECISE
ERFC.PRECISE sc/source/core/tool/interpr7.cxx ScInterpreter::ScErfc_MS() Same as ERFC
Add Excel 2010 function core commit 29c971 2014-04-25
COM.MICROSOFT.AGGREGATE
AGGREGATE sc/source/core/tool/interpr1.cxx ScInterpreter::ScAggregate() Extension of SUBTOTAL: more functions, more filter options
Add Excel 2010 function core commit 56deaa core commit 9266ab 2015-01-26
COM.MICROSOFT.ENCODEURL
ENCODEURL sc/source/core/tool/interpr7.cxx ScInterpreter::ScEncodeURL()
Add Excel 2016 function core commit f336f6 2016-03-03
COM.MICROSOFT.FORECAST.ETS
FORECAST.ETS.ADD sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts()
Add Excel 2016 function core commit f336f6 2016-03-03
COM.MICROSOFT.FORECAST.ETS.CONFINT
FORECAST.ETS.PI.ADD sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts()
Add Excel 2016 function core commit f336f6 2016-03-03
COM.MICROSOFT.FORECAST.ETS.SEASONALITY
FORECAST.ETS.SEASONALITY sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts()
Add Excel 2016 function core commit f336f6 2016-03-03
COM.MICROSOFT.FORECAST.ETS.STAT
FORECAST.ETS.STAT.ADD sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecastEts()
Add Excel 2016 function core commit f336f6 2016-03-03
COM.MICROSOFT.FORECAST.LINEAR
FORECAST.LINEAR sc/source/core/tool/interpr8.cxx ScInterpreter::ScForecast()
Add Excel 2016 function core commit a76c5e 2016-04-26
COM.MICROSOFT.CONCAT
CONCAT sc/source/core/tool/interpr8.cxx ScInterpreter::ScConcat_MS()
Add Excel 2016 function core commit a76c5e 2016-04-26
COM.MICROSOFT.TEXTJOIN
TEXTJOIN sc/source/core/tool/interpr8.cxx ScInterpreter::ScTextJoin_MS()
Add Excel 2016 function core commit 29433 2016-05-03
COM.MICROSOFT.IFS
IFS sc/source/core/tool/interpr8.cxx ScInterpreter::ScIfs_MS()
Add Excel 2016 function core commit 29433 2016-05-03
COM.MICROSOFT.SWITCH
SWITCH sc/source/core/tool/interpr1.cxx ScInterpreter::ScSwitch_MS()
Add Excel 2016 function core commit c5 2016-05-04
COM.MICROSOFT.MINIFS
MINIFS sc/source/core/tool/interpr1.cxx ScInterpreter::ScMinIfs_MS()
Add Excel 2016 function core commit c5 2016-05-04
COM.MICROSOFT.MAXIFS
MAXIFS sc/source/core/tool/interpr1.cxx ScInterpreter::ScMaxIfs_MS()