libSBML C# API  libSBML 5.8.0 C# API
 All Classes Namespaces Files Functions Variables Properties Pages
libsbmlcs.libsbml Class Reference

Static Public Member Functions

static XMLNode deleteLayoutAnnotation (XMLNode pAnnotation)
 
static XMLNode deleteLayoutIdAnnotation (XMLNode pAnnotation)
 
static SBMLExtension DowncastExtension (IntPtr cPtr, bool owner)
 
static SBase DowncastSBase (IntPtr cPtr, bool owner)
 
static SBasePlugin DowncastSBasePlugin (IntPtr cPtr, bool owner)
 
static SBMLNamespaces DowncastSBMLNamespaces (IntPtr cPtr, bool owner)
 
static string formulaToString (ASTNode tree)
 Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1. More...
 
static L3ParserSettings getDefaultL3ParserSettings ()
 Returns a copy of the default parser settings used bySBML_parseL3Formula(). More...
 
static string getLastParseL3Error ()
 Returns the last error reported by the parser. More...
 
static string getLibSBMLDottedVersion ()
 Returns the version number of this copy of libSBML as a string. More...
 
static int getLibSBMLVersion ()
 Returns the version number of this copy of libSBML as an integer. More...
 
static string getLibSBMLVersionString ()
 Returns the version number of this copy of libSBML as a string without periods. More...
 
static ASTNode parseFormula (string formula)
 Parses the given SBML formula and returns a representation of it as an Abstract Syntax Tree (AST). More...
 
static ASTNode parseL3Formula (string formula)
 Parses the given mathematical formula and returns a representation of it as an Abstract Syntax Tree (AST). More...
 
static ASTNode parseL3FormulaWithModel (string formula, Model model)
 Parses the given mathematical formula using specific a specific Model to resolve symbols, and returns an Abstract Syntax Tree (AST) representation of the result. More...
 
static ASTNode parseL3FormulaWithSettings (string formula, L3ParserSettings settings)
 Parses the given mathematical formula using specific parser settings and returns an Abstract Syntax Tree (AST) representation of the result. More...
 
static void parseLayoutAnnotation (XMLNode annotation, ListOfLayouts layouts)
 
static XMLNode parseLayoutId (SimpleSpeciesReference sr)
 
static XMLNode parseLayouts (Model pModel)
 
static void parseSpeciesReferenceAnnotation (XMLNode annotation, SimpleSpeciesReference sr)
 
static ASTNode readMathMLFromString (string xml)
 Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree. More...
 
static SBMLDocument readSBML (string filename)
 Reads an SBML document from the given file filename. More...
 
static SBMLDocument readSBMLFromFile (string filename)
 Reads an SBML document from the given file filename. More...
 
static SBMLDocument readSBMLFromString (string xml)
 Reads an SBML document from a string assumed to be in XML format. More...
 
static string SBMLTypeCode_toString (int tc, string pkgName)
 This method takes an SBML type code and returns a string representing the code. More...
 
static int UnitKind_equals (int uk1, int uk2)
 Tests for logical equality between two given UNIT_KIND_ code values. More...
 
static int UnitKind_forName (string name)
 Converts a text string naming a kind of unit to its corresponding libSBML UNIT_KIND_ constant/enumeration value. More...
 
static int UnitKind_isValidUnitKindString (string str, long level, long version)
 Predicate for testing whether a given string corresponds to a predefined libSBML unit code. More...
 
static string UnitKind_toString (int uk)
 Converts a unit code to a text string equivalent. More...
 
static string writeMathMLToString (ASTNode node)
 Writes the given ASTNode (and its children) to a string as MathML, and returns the string. More...
 
static int writeSBML (SBMLDocument d, string filename)
 Writes the given SBML document d to the file named by filename. More...
 
static int writeSBMLToFile (SBMLDocument d, string filename)
 Writes the given SBML document d to the file filename. More...
 
static string writeSBMLToString (SBMLDocument d)
 Writes the given SBML document d to an in-memory string and returns the string. More...
 

Public Attributes

const int AllChecksON = 0x7f
 
const int AllowedAttributesOnAlgRule = 20910
 
const int AllowedAttributesOnAssignRule = 20908
 
const int AllowedAttributesOnCompartment = 20517
 
const int AllowedAttributesOnConstraint = 21009
 
const int AllowedAttributesOnDelay = 21227
 
const int AllowedAttributesOnEvent = 21225
 
const int AllowedAttributesOnEventAssignment = 21214
 
const int AllowedAttributesOnFunc = 20307
 
const int AllowedAttributesOnInitialAssign = 20805
 
const int AllowedAttributesOnKineticLaw = 21132
 
const int AllowedAttributesOnListOfComps = 20225
 
const int AllowedAttributesOnListOfConstraints = 20230
 
const int AllowedAttributesOnListOfEventAssign = 21224
 
const int AllowedAttributesOnListOfEvents = 20232
 
const int AllowedAttributesOnListOfFuncs = 20223
 
const int AllowedAttributesOnListOfInitAssign = 20228
 
const int AllowedAttributesOnListOfLocalParam = 21129
 
const int AllowedAttributesOnListOfMods = 21151
 
const int AllowedAttributesOnListOfParams = 20227
 
const int AllowedAttributesOnListOfReactions = 20231
 
const int AllowedAttributesOnListOfRules = 20229
 
const int AllowedAttributesOnListOfSpecies = 20226
 
const int AllowedAttributesOnListOfSpeciesRef = 21150
 
const int AllowedAttributesOnListOfUnitDefs = 20224
 
const int AllowedAttributesOnListOfUnits = 20420
 
const int AllowedAttributesOnLocalParameter = 21172
 
const int AllowedAttributesOnModel = 20222
 
const int AllowedAttributesOnModifier = 21117
 
const int AllowedAttributesOnParameter = 20706
 
const int AllowedAttributesOnPriority = 21232
 
const int AllowedAttributesOnRateRule = 20909
 
const int AllowedAttributesOnReaction = 21110
 
const int AllowedAttributesOnSBML = 20108
 
const int AllowedAttributesOnSpecies = 20623
 
const int AllowedAttributesOnSpeciesReference = 21116
 
const int AllowedAttributesOnTrigger = 21226
 
const int AllowedAttributesOnUnit = 20421
 
const int AllowedAttributesOnUnitDefinition = 20419
 
const int AND_ASSOCIATION = 1
 
const int AnnotationNotElement = 99406
 
const int AnnotationNotesNotAllowedLevel1 = 99104
 
const int ApplyCiMustBeModelComponent = 10215
 
const int ApplyCiMustBeUserFunction = 10214
 
const int ArgsToEqNeedSameType = 10211
 
const int AssignmentToConstantEntity = 20903
 
const int AssignRuleCompartmentMismatch = 10511
 
const int AssignRuleParameterMismatch = 10513
 
const int AssignRuleSpeciesMismatch = 10512
 
const int AssignRuleStoichiometryMismatch = 10514
 
const int AST_CONSTANT_E = AST_NAME_TIME + 1
 
const int AST_CONSTANT_FALSE = AST_CONSTANT_E + 1
 
const int AST_CONSTANT_PI = AST_CONSTANT_FALSE + 1
 
const int AST_CONSTANT_TRUE = AST_CONSTANT_PI + 1
 
const int AST_DIVIDE = '/'
 
const int AST_FUNCTION = AST_LAMBDA + 1
 
const int AST_FUNCTION_ABS = AST_FUNCTION + 1
 
const int AST_FUNCTION_ARCCOS = AST_FUNCTION_ABS + 1
 
const int AST_FUNCTION_ARCCOSH = AST_FUNCTION_ARCCOS + 1
 
const int AST_FUNCTION_ARCCOT = AST_FUNCTION_ARCCOSH + 1
 
const int AST_FUNCTION_ARCCOTH = AST_FUNCTION_ARCCOT + 1
 
const int AST_FUNCTION_ARCCSC = AST_FUNCTION_ARCCOTH + 1
 
const int AST_FUNCTION_ARCCSCH = AST_FUNCTION_ARCCSC + 1
 
const int AST_FUNCTION_ARCSEC = AST_FUNCTION_ARCCSCH + 1
 
const int AST_FUNCTION_ARCSECH = AST_FUNCTION_ARCSEC + 1
 
const int AST_FUNCTION_ARCSIN = AST_FUNCTION_ARCSECH + 1
 
const int AST_FUNCTION_ARCSINH = AST_FUNCTION_ARCSIN + 1
 
const int AST_FUNCTION_ARCTAN = AST_FUNCTION_ARCSINH + 1
 
const int AST_FUNCTION_ARCTANH = AST_FUNCTION_ARCTAN + 1
 
const int AST_FUNCTION_CEILING = AST_FUNCTION_ARCTANH + 1
 
const int AST_FUNCTION_COS = AST_FUNCTION_CEILING + 1
 
const int AST_FUNCTION_COSH = AST_FUNCTION_COS + 1
 
const int AST_FUNCTION_COT = AST_FUNCTION_COSH + 1
 
const int AST_FUNCTION_COTH = AST_FUNCTION_COT + 1
 
const int AST_FUNCTION_CSC = AST_FUNCTION_COTH + 1
 
const int AST_FUNCTION_CSCH = AST_FUNCTION_CSC + 1
 
const int AST_FUNCTION_DELAY = AST_FUNCTION_CSCH + 1
 
const int AST_FUNCTION_EXP = AST_FUNCTION_DELAY + 1
 
const int AST_FUNCTION_FACTORIAL = AST_FUNCTION_EXP + 1
 
const int AST_FUNCTION_FLOOR = AST_FUNCTION_FACTORIAL + 1
 
const int AST_FUNCTION_LN = AST_FUNCTION_FLOOR + 1
 
const int AST_FUNCTION_LOG = AST_FUNCTION_LN + 1
 
const int AST_FUNCTION_PIECEWISE = AST_FUNCTION_LOG + 1
 
const int AST_FUNCTION_POWER = AST_FUNCTION_PIECEWISE + 1
 
const int AST_FUNCTION_ROOT = AST_FUNCTION_POWER + 1
 
const int AST_FUNCTION_SEC = AST_FUNCTION_ROOT + 1
 
const int AST_FUNCTION_SECH = AST_FUNCTION_SEC + 1
 
const int AST_FUNCTION_SIN = AST_FUNCTION_SECH + 1
 
const int AST_FUNCTION_SINH = AST_FUNCTION_SIN + 1
 
const int AST_FUNCTION_TAN = AST_FUNCTION_SINH + 1
 
const int AST_FUNCTION_TANH = AST_FUNCTION_TAN + 1
 
const int AST_INTEGER = 256
 
const int AST_LAMBDA = AST_CONSTANT_TRUE + 1
 
const int AST_LOGICAL_AND = AST_FUNCTION_TANH + 1
 
const int AST_LOGICAL_NOT = AST_LOGICAL_AND + 1
 
const int AST_LOGICAL_OR = AST_LOGICAL_NOT + 1
 
const int AST_LOGICAL_XOR = AST_LOGICAL_OR + 1
 
const int AST_MINUS = '-'
 
const int AST_NAME = AST_RATIONAL + 1
 
const int AST_NAME_AVOGADRO = AST_NAME + 1
 
const int AST_NAME_TIME = AST_NAME_AVOGADRO + 1
 
const int AST_PLUS = '+'
 
const int AST_POWER = '^'
 
const int AST_RATIONAL = AST_REAL_E + 1
 
const int AST_REAL = AST_INTEGER + 1
 
const int AST_REAL_E = AST_REAL + 1
 
const int AST_RELATIONAL_EQ = AST_LOGICAL_XOR + 1
 
const int AST_RELATIONAL_GEQ = AST_RELATIONAL_EQ + 1
 
const int AST_RELATIONAL_GT = AST_RELATIONAL_GEQ + 1
 
const int AST_RELATIONAL_LEQ = AST_RELATIONAL_GT + 1
 
const int AST_RELATIONAL_LT = AST_RELATIONAL_LEQ + 1
 
const int AST_RELATIONAL_NEQ = AST_RELATIONAL_LT + 1
 
const int AST_TIMES = '*'
 
const int AST_UNKNOWN = AST_RELATIONAL_NEQ + 1
 
const int AvogadroNotSupported = 91020
 
const int BadCsymbolDefinitionURLValue = 10205
 
const int BadlyFormedXML = 1006
 
const int BadMathML = 99219
 
const int BadMathMLNodeType = 99224
 
const int BadProcessingInstruction = 1012
 
const int BadXMLAttribute = 1020
 
const int BadXMLAttributeValue = 1019
 
const int BadXMLComment = 1022
 
const int BadXMLDecl = 1003
 
const int BadXMLDeclLocation = 1023
 
const int BadXMLDOCTYPE = 1004
 
const int BadXMLDocumentStructure = 1028
 
const int BadXMLIDRef = 1026
 
const int BadXMLIDValue = 1025
 
const int BadXMLPrefix = 1013
 
const int BadXMLPrefixValue = 1014
 
const int BIOLOGICAL_QUALIFIER = MODEL_QUALIFIER + 1
 
const int BooleanOpsNeedBooleanArgs = 10209
 
const int BothAmountAndConcentrationSet = 20609
 
const int BothStoichiometryAndMath = 21113
 
const int BQB_ENCODES = BQB_IS_ENCODED_BY + 1
 
const int BQB_HAS_PART = BQB_IS + 1
 
const int BQB_HAS_PROPERTY = BQB_OCCURS_IN + 1
 
const int BQB_HAS_VERSION = BQB_IS_VERSION_OF + 1
 
const int BQB_IS = 0
 
const int BQB_IS_DESCRIBED_BY = BQB_IS_HOMOLOG_TO + 1
 
const int BQB_IS_ENCODED_BY = BQB_IS_DESCRIBED_BY + 1
 
const int BQB_IS_HOMOLOG_TO = BQB_HAS_VERSION + 1
 
const int BQB_IS_PART_OF = BQB_HAS_PART + 1
 
const int BQB_IS_PROPERTY_OF = BQB_HAS_PROPERTY + 1
 
const int BQB_IS_VERSION_OF = BQB_IS_PART_OF + 1
 
const int BQB_OCCURS_IN = BQB_ENCODES + 1
 
const int BQB_UNKNOWN = BQB_IS_PROPERTY_OF + 1
 
const int BQM_IS = 0
 
const int BQM_IS_DERIVED_FROM = BQM_IS_DESCRIBED_BY + 1
 
const int BQM_IS_DESCRIBED_BY = BQM_IS + 1
 
const int BQM_UNKNOWN = BQM_IS_DERIVED_FROM + 1
 
const int CannotConvertToL1V1 = 90001
 
const int CelsiusNoLongerValid = 20412
 
const int CircularRuleDependency = 20906
 
const int CNV_TYPE_BOOL = 0
 
const int CNV_TYPE_DOUBLE = CNV_TYPE_BOOL + 1
 
const int CNV_TYPE_INT = CNV_TYPE_DOUBLE + 1
 
const int CNV_TYPE_SINGLE = CNV_TYPE_INT + 1
 
const int CNV_TYPE_STRING = CNV_TYPE_SINGLE + 1
 
const int CompartmentNotOnL1Reaction = 91016
 
const int CompartmentOnReaction = 21107
 
const int CompartmentShouldHaveSize = 80501
 
const int CompartmentTypeNotValidAttribute = 99902
 
const int CompartmentTypeNotValidComponent = 99908
 
const int ConstantNotValidAttribute = 99903
 
const int ConstantSpeciesNotValidAttribute = 99916
 
const int ConstraintContainsDOCTYPE = 21005
 
const int ConstraintContainsXMLDecl = 21004
 
const int ConstraintMathNotBoolean = 21001
 
const int ConstraintNotInXHTMLNamespace = 21003
 
const int ConstraintNotValidComponent = 99909
 
const int ConversionFactorMustConstant = 20705
 
const int ConversionFactorNotInL1 = 91015
 
const int ConversionFactorOnSpecies = 20617
 
const int DanglingUnitSIdRef = 99303
 
const int DelayNeedsValuesFromTriggerTime = 21207
 
const int DelayUnitsNotTime = 10551
 
const int DisallowedDefinitionURLUse = 10204
 
const int DisallowedMathMLEncodingUse = 10203
 
const int DisallowedMathMLSymbol = 10202
 
const int DisallowedMathTypeAttributeUse = 10206
 
const int DisallowedMathTypeAttributeValue = 10207
 
const int DisallowedMathUnitsUse = 10220
 
const int DuplicateAnnotationInvalidInL2v2 = 93009
 
const int DuplicateAnnotationInvalidInL2v3 = 94010
 
const int DuplicateAnnotationInvalidInL2v4 = 95007
 
const int DuplicateAnnotationInvalidInL3v1 = 96009
 
const int DuplicateAnnotationNamespaces = 10402
 
const int DuplicateComponentId = 10301
 
const int DuplicateLocalParameterId = 10303
 
const int DuplicateMetaId = 10307
 
const int DuplicateUnitDefinitionId = 10302
 
const int DuplicateXMLAttribute = 1010
 
const int EmptyListElement = 20203
 
const int EmptyListInKineticLaw = 21123
 
const int EmptyListInReaction = 21103
 
const int EmptyListOfUnits = 20409
 
const int EmptyUnitListElement = 20413
 
const int EventAndAssignmentRuleForId = 10306
 
const int EventAssignCompartmentMismatch = 10561
 
const int EventAssignmentForConstantEntity = 21212
 
const int EventAssignParameterMismatch = 10563
 
const int EventAssignSpeciesMismatch = 10562
 
const int EventAssignStoichiometryMismatch = 10564
 
const int EventNotValidComponent = 99910
 
const int ExtentUnitsNotSubstance = 91017
 
const int FailedMathMLReadOfDouble = 99220
 
const int FailedMathMLReadOfExponential = 99222
 
const int FailedMathMLReadOfInteger = 99221
 
const int FailedMathMLReadOfRational = 99223
 
const int FLUXBOUND_OPERATION_EQUAL = FLUXBOUND_OPERATION_GREATER + 1
 
const int FLUXBOUND_OPERATION_GREATER = FLUXBOUND_OPERATION_LESS + 1
 
const int FLUXBOUND_OPERATION_GREATER_EQUAL = FLUXBOUND_OPERATION_LESS_EQUAL + 1
 
const int FLUXBOUND_OPERATION_LESS = FLUXBOUND_OPERATION_GREATER_EQUAL + 1
 
const int FLUXBOUND_OPERATION_LESS_EQUAL = 0
 
const int FLUXBOUND_OPERATION_UNKNOWN = FLUXBOUND_OPERATION_EQUAL + 1
 
const int FormulaInLevel1KL = 99129
 
const int FuncDefNotValidComponent = 99912
 
const int FunctionDefMathNotLambda = 20301
 
const int GENE_ASSOCIATION = 0
 
const int GeneralWarningNotSpecified = 29999
 
const int GlobalUnitsNotDeclared = 91018
 
const int HasOnlySubsNoSpatialUnits = 20602
 
const int HasOnlySubstanceUnitsNotinL1 = 91019
 
const int HasOnlySubsUnitsNotValidAttribute = 99919
 
const int IdCheckOFF = 0xfe
 
const int IdCheckON = 0x01
 
const int IdNotValidAttribute = 99920
 
const int InconsistentArgUnits = 10501
 
const int InconsistentArgUnitsWarnings = 99502
 
const int InconsistentExponUnitsWarnings = 99504
 
const int InconsistentKineticLawUnitsL3 = 10503
 
const int InconsistentPowerUnitsWarnings = 99503
 
const int IncorrectCompartmentSpatialDimensions = 99901
 
const int IncorrectOrderInConstraint = 21002
 
const int IncorrectOrderInEvent = 21205
 
const int IncorrectOrderInKineticLaw = 21122
 
const int IncorrectOrderInModel = 20202
 
const int IncorrectOrderInReaction = 21102
 
const int InitAssignCompartmenMismatch = 10521
 
const int InitAssignmentAndRuleForSameId = 20803
 
const int InitAssignParameterMismatch = 10523
 
const int InitAssignSpeciesMismatch = 10522
 
const int InitAssignStoichiometryMismatch = 10524
 
const int InitialAssignNotValidComponent = 99913
 
const int InitialValueFalseEventNotSupported = 92013
 
const int InitialValueNotBoolean = 21229
 
const int IntegerSpatialDimensions = 92009
 
const int InternalXMLParserError = 101
 
const int Invalid1DCompartmentUnits = 20507
 
const int Invalid2DCompartmentUnits = 20508
 
const int Invalid3DCompartmentUnits = 20509
 
const int InvalidAfterXMLContent = 1029
 
const int InvalidApplyCiInLambda = 20302
 
const int InvalidAreaRedefinition = 20404
 
const int InvalidAssignRuleVariable = 20901
 
const int InvalidCharInXML = 1005
 
const int InvalidCiInLambda = 20304
 
const int InvalidCompartmentSBOTerm = 10712
 
const int InvalidCompartmentTypeRef = 20510
 
const int InvalidCompartmentTypeSBOTerm = 10714
 
const int InvalidConstraintContent = 21006
 
const int InvalidConstraintSBOTerm = 10706
 
const int InvalidDelaySBOTerm = 10717
 
const int InvalidEventAssignmentSBOTerm = 10711
 
const int InvalidEventAssignmentVariable = 21211
 
const int InvalidEventSBOTerm = 10710
 
const int InvalidFunctionDefReturnType = 20305
 
const int InvalidFunctionDefSBOTerm = 10702
 
const int InvalidIdSyntax = 10310
 
const int InvalidInitAssignSBOTerm = 10704
 
const int InvalidInitAssignSymbol = 20801
 
const int InvalidKineticLawSBOTerm = 10709
 
const int InvalidL1CompartmentUnits = 99906
 
const int InvalidLengthRedefinition = 20403
 
const int InvalidMathElement = 10201
 
const int InvalidMetaidSyntax = 10309
 
const int InvalidModelSBOTerm = 10701
 
const int InvalidModifiersList = 21105
 
const int InvalidNamespaceOnSBML = 20101
 
const int InvalidNameSyntax = 10312
 
const int InvalidNoArgsPassedToFunctionDef = 10219
 
const int InvalidNotesContent = 10804
 
const int InvalidParameterSBOTerm = 10703
 
const int InvalidParameterUnits = 20701
 
const int InvalidRateRuleVariable = 20902
 
const int InvalidReactantsProductsList = 21104
 
const int InvalidReactionSBOTerm = 10707
 
const int InvalidRuleOrdering = 99106
 
const int InvalidRuleSBOTerm = 10705
 
const int InvalidSBMLLevelVersion = 99101
 
const int InvalidSBOTermSyntax = 10308
 
const int InvalidSpeciesCompartmentRef = 20601
 
const int InvalidSpeciesReference = 21111
 
const int InvalidSpeciesReferenceSBOTerm = 10708
 
const int InvalidSpeciesSBOTerm = 10713
 
const int InvalidSpeciesSusbstanceUnits = 20608
 
const int InvalidSpeciesTypeRef = 20612
 
const int InvalidSpeciesTypeSBOTerm = 10715
 
const int InvalidSubstanceRedefinition = 20402
 
const int InvalidTargetLevelVersion = 99997
 
const int InvalidTimeRedefinition = 20405
 
const int InvalidTriggerSBOTerm = 10716
 
const int InvalidUnitDefId = 20401
 
const int InvalidUnitIdSyntax = 10311
 
const int InvalidUnitKind = 20410
 
const int InvalidUnitsValue = 10221
 
const int InvalidVolumeRedefinition = 20406
 
const int InvalidXMLConstruct = 1008
 
const int KineticLawNotSubstancePerTime = 10541
 
const int KineticLawParametersAreLocalOnly = 10216
 
const int L1V1CompartmentVolumeReqd = 99907
 
const int L3AreaUnitsOnModel = 20219
 
const int L3ConversionFactorOnModel = 20216
 
const int L3ExtentUnitsOnModel = 20221
 
const int L3LengthUnitsOnModel = 20220
 
const int L3NotSchemaConformant = 10104
 
const int L3NotSupported = 99998
 
const bool L3P_AVOGADRO_IS_CSYMBOL = true
 
const bool L3P_AVOGADRO_IS_NAME = false
 
const bool L3P_COLLAPSE_UNARY_MINUS = true
 
const bool L3P_EXPAND_UNARY_MINUS = false
 
const bool L3P_NO_UNITS = false
 
const int L3P_PARSE_LOG_AS_ERROR = 2
 
const int L3P_PARSE_LOG_AS_LN = 1
 
const int L3P_PARSE_LOG_AS_LOG10 = 0
 
const bool L3P_PARSE_UNITS = true
 
const int L3PackageOnLowerSBML = 20109
 
const int L3SpatialDimensionsUnset = 99926
 
const int L3SubstanceUnitsOnModel = 99130
 
const int L3TimeUnitsOnModel = 20217
 
const int L3VolumeUnitsOnModel = 20218
 
const int LambdaOnlyAllowedInFunctionDef = 10208
 
const int LevelPositiveInteger = 20105
 
const int LIBSBML_ANNOTATION_NAME_NOT_FOUND = -12
 
const int LIBSBML_ANNOTATION_NS_NOT_FOUND = -13
 
const int LIBSBML_CAT_GENERAL_CONSISTENCY = LIBSBML_CAT_SBML_L2V2_COMPAT + 1
 
const int LIBSBML_CAT_IDENTIFIER_CONSISTENCY = LIBSBML_CAT_GENERAL_CONSISTENCY + 1
 
const int LIBSBML_CAT_INTERNAL = 0
 
const int LIBSBML_CAT_INTERNAL_CONSISTENCY = LIBSBML_CAT_MODELING_PRACTICE + 1
 
const int LIBSBML_CAT_MATHML_CONSISTENCY = LIBSBML_CAT_UNITS_CONSISTENCY + 1
 
const int LIBSBML_CAT_MODELING_PRACTICE = LIBSBML_CAT_SBML_L2V3_COMPAT + 1
 
const int LIBSBML_CAT_OVERDETERMINED_MODEL = LIBSBML_CAT_SBO_CONSISTENCY + 1
 
const int LIBSBML_CAT_SBML = (LIBSBML_CAT_XML+1)
 
const int LIBSBML_CAT_SBML_L1_COMPAT = LIBSBML_CAT_SBML + 1
 
const int LIBSBML_CAT_SBML_L2V1_COMPAT = LIBSBML_CAT_SBML_L1_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L2V2_COMPAT = LIBSBML_CAT_SBML_L2V1_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L2V3_COMPAT = LIBSBML_CAT_OVERDETERMINED_MODEL + 1
 
const int LIBSBML_CAT_SBML_L2V4_COMPAT = LIBSBML_CAT_INTERNAL_CONSISTENCY + 1
 
const int LIBSBML_CAT_SBML_L3V1_COMPAT = LIBSBML_CAT_SBML_L2V4_COMPAT + 1
 
const int LIBSBML_CAT_SBO_CONSISTENCY = LIBSBML_CAT_MATHML_CONSISTENCY + 1
 
const int LIBSBML_CAT_SYSTEM = LIBSBML_CAT_INTERNAL + 1
 
const int LIBSBML_CAT_UNITS_CONSISTENCY = LIBSBML_CAT_IDENTIFIER_CONSISTENCY + 1
 
const int LIBSBML_CAT_XML = LIBSBML_CAT_SYSTEM + 1
 
const int LIBSBML_CONV_CONVERSION_NOT_AVAILABLE = -33
 
const int LIBSBML_CONV_INVALID_SRC_DOCUMENT = -32
 
const int LIBSBML_CONV_INVALID_TARGET_NAMESPACE = -30
 
const int LIBSBML_CONV_PKG_CONSIDERED_UNKNOWN = -34
 
const int LIBSBML_CONV_PKG_CONVERSION_NOT_AVAILABLE = -31
 
const string LIBSBML_DOTTED_VERSION = "5.8.0"
 
const int LIBSBML_DUPLICATE_ANNOTATION_NS = -11
 
const int LIBSBML_DUPLICATE_OBJECT_ID = -6
 
const int LIBSBML_INDEX_EXCEEDS_SIZE = -1
 
const int LIBSBML_INVALID_ATTRIBUTE_VALUE = -4
 
const int LIBSBML_INVALID_OBJECT = -5
 
const int LIBSBML_INVALID_XML_OPERATION = -9
 
const int LIBSBML_LEVEL_MISMATCH = -7
 
const int LIBSBML_NAMESPACES_MISMATCH = -10
 
const int LIBSBML_OPERATION_FAILED = -3
 
const int LIBSBML_OPERATION_SUCCESS = 0
 
const int LIBSBML_PKG_CONFLICT = -25
 
const int LIBSBML_PKG_CONFLICTED_VERSION = -24
 
const int LIBSBML_PKG_DISABLED = -23
 
const int LIBSBML_PKG_UNKNOWN = -21
 
const int LIBSBML_PKG_UNKNOWN_VERSION = -22
 
const int LIBSBML_PKG_VERSION_MISMATCH = -20
 
const int LIBSBML_SEV_ERROR = LIBSBML_SEV_WARNING + 1
 
const int LIBSBML_SEV_FATAL = LIBSBML_SEV_ERROR + 1
 
const int LIBSBML_SEV_GENERAL_WARNING = LIBSBML_SEV_SCHEMA_ERROR + 1
 
const int LIBSBML_SEV_INFO = 0
 
const int LIBSBML_SEV_NOT_APPLICABLE = LIBSBML_SEV_GENERAL_WARNING + 1
 
const int LIBSBML_SEV_SCHEMA_ERROR = (LIBSBML_SEV_FATAL+1)
 
const int LIBSBML_SEV_WARNING = LIBSBML_SEV_INFO + 1
 
const int LIBSBML_UNEXPECTED_ATTRIBUTE = -2
 
const int LIBSBML_VERSION = 50800
 
const int LIBSBML_VERSION_MISMATCH = -8
 
const string LIBSBML_VERSION_STRING = "50800"
 
const int LibSBMLAdditionalCodesLowerBound = 90000
 
const int LocalParameterShadowsId = 81121
 
const int MathCheckOFF = 0xf7
 
const int MathCheckON = 0x08
 
const int MathResultMustBeNumeric = 10217
 
const int MetaIdNotValidAttribute = 99904
 
const int MissingAnnotationNamespace = 10401
 
const int MissingEventAssignment = 21203
 
const int MissingModel = 20201
 
const int MissingOrInconsistentLevel = 20102
 
const int MissingOrInconsistentVersion = 20103
 
const int MissingSpeciesCompartment = 20614
 
const int MissingTriggerInEvent = 21201
 
const int MissingXMLAttributeValue = 1018
 
const int MissingXMLDecl = 1001
 
const int MissingXMLElements = 1034
 
const int MissingXMLEncoding = 1002
 
const int MissingXMLRequiredAttribute = 1015
 
const int MODEL_QUALIFIER = 0
 
const int ModelSBOBranchChangedBeyondL2v2 = 93006
 
const int ModelSBOBranchChangedBeyondL2v3 = 94007
 
const int ModelSBOBranchChangedInL2v4 = 95006
 
const int ModelSBOBranchChangedInL3v1 = 96008
 
const int MultipleAnnotations = 10404
 
const int MultipleAssignmentOrRateRules = 10304
 
const int MultipleEventAssignmentsForId = 10305
 
const int MultipleInitAssignments = 20802
 
const int MultiplierNotValidAttribute = 99924
 
const int MultSpeciesSameTypeInCompartment = 20613
 
const int NameNotValidAttribute = 99921
 
const int NeedCompartmentIfHaveSpecies = 20204
 
const int NoBodyInFunctionDef = 99302
 
const int NoCompartmentOutsideInL3v1 = 96010
 
const int NoCompartmentTypeInL1 = 91006
 
const int NoCompartmentTypeInL2v1 = 92004
 
const int NoCompartmentTypeInL3v1 = 96002
 
const int NoConcentrationInZeroD = 20604
 
const int NoConstraintsInL1 = 91003
 
const int NoConstraintsInL2v1 = 92001
 
const int NoDelayedEventAssignmentInL2v1 = 92007
 
const int NoDelayedEventAssignmentInL2v2 = 93005
 
const int NoDelayedEventAssignmentInL2v3 = 94006
 
const int NoEventsInL1 = 91001
 
const int NoEventTimeUnitsInL2v3 = 94005
 
const int NoEventTimeUnitsInL2v4 = 95005
 
const int NoEventTimeUnitsInL3v1 = 96007
 
const int NoFancyStoichiometryMathInL1 = 91008
 
const int NoFunctionDefinitionsInL1 = 91002
 
const int NoIdOnSpeciesReferenceInL2v1 = 92006
 
const int NoInitialAssignmentsInL1 = 91004
 
const int NoInitialAssignmentsInL2v1 = 92002
 
const int NoKineticLawSubstanceUnitsInL2v2 = 93004
 
const int NoKineticLawSubstanceUnitsInL2v3 = 94003
 
const int NoKineticLawSubstanceUnitsInL2v4 = 95003
 
const int NoKineticLawSubstanceUnitsInL3v1 = 96005
 
const int NoKineticLawTimeUnitsInL2v2 = 93003
 
const int NoKineticLawTimeUnitsInL2v3 = 94002
 
const int NoKineticLawTimeUnitsInL2v4 = 95002
 
const int NoKineticLawTimeUnitsInL3v1 = 96004
 
const int NonBoundarySpeciesAssignedAndUsed = 20610
 
const int NonConstantLocalParameter = 21124
 
const int NonConstantSpeciesUsed = 20611
 
const int NoNon3DCompartmentsInL1 = 91007
 
const int NoNonIntegerStoichiometryInL1 = 91009
 
const int NonPersistentNotSupported = 92012
 
const int NoReactantsOrProducts = 21101
 
const int NoSBOTermsInL1 = 91013
 
const int NoSBOTermsInL2v1 = 92005
 
const int NoSpatialUnitsInZeroD = 20603
 
const int NoSpeciesSpatialSizeUnitsInL1 = 91012
 
const int NoSpeciesSpatialSizeUnitsInL2v3 = 94004
 
const int NoSpeciesSpatialSizeUnitsInL2v4 = 95004
 
const int NoSpeciesSpatialSizeUnitsInL3v1 = 96006
 
const int NoSpeciesTypeInL2v1 = 92003
 
const int NoSpeciesTypeInL3v1 = 96001
 
const int NoSpeciesTypesInL1 = 91005
 
const int NoStoichiometryMathInL3v1 = 96011
 
const int NotesContainsDOCTYPE = 10803
 
const int NotesContainsXMLDecl = 10802
 
const int NotesNotInXHTMLNamespace = 10801
 
const int NoTimeSymbolInFunctionDef = 99301
 
const int NotSchemaConformant = 10103
 
const int NotUTF8 = 10101
 
const int NoUnitMultipliersOrOffsetsInL1 = 91010
 
const int NoUnitOffsetInL2v2 = 93002
 
const int NoUnitOffsetInL2v3 = 94001
 
const int NoUnitOffsetInL2v4 = 95001
 
const int NoUnitOffsetInL3v1 = 96003
 
const int NoUnitsOnCompartment = 20518
 
const int NumericOpsNeedNumericArgs = 10210
 
const int OBJECTIVE_TYPE_MAXIMIZE = 0
 
const int OBJECTIVE_TYPE_MINIMIZE = OBJECTIVE_TYPE_MAXIMIZE + 1
 
const int OBJECTIVE_TYPE_UNKNOWN = OBJECTIVE_TYPE_MINIMIZE + 1
 
const int ObseleteSBOTerm = 99702
 
const int OffsetNoLongerValid = 20411
 
const int OffsetNotValidAttribute = 99925
 
const int OneDimensionalCompartmentUnits = 20511
 
const int OneListOfEventAssignmentsPerEvent = 21222
 
const int OneListOfPerKineticLaw = 21127
 
const int OneListOfUnitsPerUnitDef = 20414
 
const int OneMathElementPerConstraint = 21007
 
const int OneMathElementPerFunc = 20306
 
const int OneMathElementPerInitialAssign = 20804
 
const int OneMathElementPerRule = 20907
 
const int OneMathPerDelay = 21210
 
const int OneMathPerEventAssignment = 21213
 
const int OneMathPerKineticLaw = 21130
 
const int OneMathPerPriority = 21231
 
const int OneMathPerTrigger = 21209
 
const int OneMessageElementPerConstraint = 21008
 
const int OneOfEachListOf = 20205
 
const int OneSubElementPerReaction = 21106
 
const int OnlyCompartmentsInListOfCompartments = 20208
 
const int OnlyConstraintsInListOfConstraints = 20213
 
const int OnlyEventAssignInListOfEventAssign = 21223
 
const int OnlyEventsInListOfEvents = 20215
 
const int OnlyFuncDefsInListOfFuncDefs = 20206
 
const int OnlyInitAssignsInListOfInitAssigns = 20211
 
const int OnlyLocalParamsInListOfLocalParams = 21128
 
const int OnlyOneDelayPerEvent = 21221
 
const int OnlyOneNotesElementAllowed = 10805
 
const int OnlyOnePriorityPerEvent = 21230
 
const int OnlyParametersInListOfParameters = 20210
 
const int OnlyReactionsInListOfReactions = 20214
 
const int OnlyRulesInListOfRules = 20212
 
const int OnlySpeciesInListOfSpecies = 20209
 
const int OnlyUnitDefsInListOfUnitDefs = 20207
 
const int OnlyUnitsInListOfUnits = 20415
 
const int OpsNeedCorrectNumberOfArgs = 10218
 
const int OR_ASSOCIATION = 2
 
const int OverdeterCheckOFF = 0xdf
 
const int OverdeterCheckON = 0x20
 
const int OverdeterminedSystem = 10601
 
const int PackageConversionNotSupported = 99996
 
const int PackageNSMustMatch = 20104
 
const int PackageRequiredShouldBeFalse = 99109
 
const int ParameterShouldHaveUnits = 80701
 
const int ParameterUnits = 20702
 
const int PersistentNotBoolean = 21228
 
const int PieceNeedsBoolean = 10213
 
const int PiecewiseNeedsConsistentTypes = 10212
 
const int PracticeCheckOFF = 0xbf
 
const int PracticeCheckON = 0x40
 
const int PriorityLostFromL3 = 92011
 
const int PriorityUnitsNotDimensionless = 10565
 
const int RateRuleCompartmentMismatch = 10531
 
const int RateRuleForConstantEntity = 20904
 
const int RateRuleParameterMismatch = 10533
 
const int RateRuleSpeciesMismatch = 10532
 
const int RateRuleStoichiometryMismatch = 10534
 
const int RDFAboutTagNotMetaid = 99403
 
const int RDFEmptyAboutTag = 99402
 
const int RDFMissingAboutTag = 99401
 
const int RDFNotCompleteModelHistory = 99404
 
const int RDFNotModelHistory = 99405
 
const int RecursiveCompartmentContainment = 20505
 
const int RecursiveFunctionDefinition = 20303
 
const int RepeatedRule10304 = 20905
 
const int RepeatedRule20611 = 21112
 
const int RequiredPackagePresent = 99107
 
const int RULE_TYPE_INVALID = RULE_TYPE_SCALAR + 1
 
const int RULE_TYPE_RATE = 0
 
const int RULE_TYPE_SCALAR = RULE_TYPE_RATE + 1
 
const int SBML_ALGEBRAIC_RULE = 21
 
const int SBML_ASSIGNMENT_RULE = 22
 
const int SBML_COMP_DELETION = 254
 
const int SBML_COMP_EXTERNALMODELDEFINITION = 252
 
const int SBML_COMP_MODELDEFINITION = 251
 
const int SBML_COMP_PORT = 257
 
const int SBML_COMP_REPLACEDBY = 256
 
const int SBML_COMP_REPLACEDELEMENT = 255
 
const int SBML_COMP_SBASEREF = 253
 
const int SBML_COMP_SUBMODEL = 250
 
const int SBML_COMPARTMENT = 1
 
const int SBML_COMPARTMENT_TYPE = 2
 
const int SBML_COMPARTMENT_VOLUME_RULE = 25
 
const int SBML_CONSTRAINT = 3
 
const int SBML_DELAY = 28
 
const int SBML_DOCUMENT = 4
 
const int SBML_EVENT = 5
 
const int SBML_EVENT_ASSIGNMENT = 6
 
const int SBML_FBC_ASSOCIATION = 800
 
const int SBML_FBC_FLUXBOUND = 801
 
const int SBML_FBC_FLUXOBJECTIVE = 802
 
const int SBML_FBC_GENEASSOCIATION = 803
 
const int SBML_FBC_OBJECTIVE = 804
 
const int SBML_FUNCTION_DEFINITION = 7
 
const int SBML_INITIAL_ASSIGNMENT = 8
 
const int SBML_KINETIC_LAW = 9
 
const int SBML_LAYOUT_BOUNDINGBOX = 100
 
const int SBML_LAYOUT_COMPARTMENTGLYPH = 101
 
const int SBML_LAYOUT_CUBICBEZIER = 102
 
const int SBML_LAYOUT_CURVE = 103
 
const int SBML_LAYOUT_DIMENSIONS = 104
 
const int SBML_LAYOUT_GENERALGLYPH = 114
 
const int SBML_LAYOUT_GRAPHICALOBJECT = 105
 
const int SBML_LAYOUT_LAYOUT = 106
 
const int SBML_LAYOUT_LINESEGMENT = 107
 
const int SBML_LAYOUT_POINT = 108
 
const int SBML_LAYOUT_REACTIONGLYPH = 109
 
const int SBML_LAYOUT_REFERENCEGLYPH = 113
 
const int SBML_LAYOUT_SPECIESGLYPH = 110
 
const int SBML_LAYOUT_SPECIESREFERENCEGLYPH = 111
 
const int SBML_LAYOUT_TEXTGLYPH = 112
 
const int SBML_LIST_OF = 10
 
const int SBML_LOCAL_PARAMETER = 30
 
const int SBML_MODEL = 11
 
const int SBML_MODIFIER_SPECIES_REFERENCE = 18
 
const int SBML_PARAMETER = 12
 
const int SBML_PARAMETER_RULE = 26
 
const int SBML_PRIORITY = 31
 
const int SBML_RATE_RULE = 23
 
const int SBML_REACTION = 13
 
const int SBML_RULE = 14
 
const int SBML_SPECIES = 15
 
const int SBML_SPECIES_CONCENTRATION_RULE = 24
 
const int SBML_SPECIES_REFERENCE = 16
 
const int SBML_SPECIES_TYPE = 17
 
const int SBML_STOICHIOMETRY_MATH = 29
 
const int SBML_TRIGGER = 27
 
const int SBML_UNIT = 20
 
const int SBML_UNIT_DEFINITION = 19
 
const int SBML_UNKNOWN = 0
 
const int SBMLCheckOFF = 0xfd
 
const int SBMLCheckON = 0x02
 
const int SBMLCodesUpperBound = 99999
 
const int SBMLNamespaceInAnnotation = 10403
 
const int SBOCheckOFF = 0xfb
 
const int SBOCheckON = 0x04
 
const int SBOTermNotUniversalInL2v2 = 93001
 
const int SBOTermNotValidAttributeBeforeL2V2 = 99911
 
const int SBOTermNotValidAttributeBeforeL2V3 = 99905
 
const int SpatialSizeUnitsNotValidAttribute = 99917
 
const int SpatialSizeUnitsRemoved = 20615
 
const int SpatialUnitsInOneD = 20605
 
const int SpatialUnitsInThreeD = 20607
 
const int SpatialUnitsInTwoD = 20606
 
const int SPECIES_ROLE_ACTIVATOR = SPECIES_ROLE_MODIFIER + 1
 
const int SPECIES_ROLE_INHIBITOR = SPECIES_ROLE_ACTIVATOR + 1
 
const int SPECIES_ROLE_MODIFIER = SPECIES_ROLE_SIDEPRODUCT + 1
 
const int SPECIES_ROLE_PRODUCT = SPECIES_ROLE_SUBSTRATE + 1
 
const int SPECIES_ROLE_SIDEPRODUCT = SPECIES_ROLE_SIDESUBSTRATE + 1
 
const int SPECIES_ROLE_SIDESUBSTRATE = SPECIES_ROLE_PRODUCT + 1
 
const int SPECIES_ROLE_SUBSTRATE = SPECIES_ROLE_UNDEFINED + 1
 
const int SPECIES_ROLE_UNDEFINED = 0
 
const int SpeciesCompartmentRequiredInL1 = 91011
 
const int SpeciesInvalidExtentUnits = 10542
 
const int SpeciesShouldHaveValue = 80601
 
const int SpeciesTypeNotValidAttribute = 99918
 
const int SpeciesTypeNotValidComponent = 99922
 
const int StoichiometryMathNotValidComponent = 99923
 
const int StoichiometryMathNotYetSupported = 92010
 
const int StrictSBORequiredInL2v2 = 93008
 
const int StrictSBORequiredInL2v3 = 94009
 
const int StrictUnitsRequiredInL1 = 91014
 
const int StrictUnitsRequiredInL2v1 = 92008
 
const int StrictUnitsRequiredInL2v2 = 93007
 
const int StrictUnitsRequiredInL2v3 = 94008
 
const int SubstanceUnitsOnSpecies = 20616
 
const int SubsUnitsAllowedInKL = 99127
 
const int SubsUnitsNoLongerValid = 21125
 
const int ThreeDimensionalCompartmentUnits = 20513
 
const int TimeUnitsAllowedInKL = 99128
 
const int TimeUnitsEvent = 21204
 
const int TimeUnitsNoLongerValid = 21126
 
const int TimeUnitsRemoved = 99206
 
const int TriggerMathNotBoolean = 21202
 
const int TwoDimensionalCompartmentUnits = 20512
 
const int UnclosedXMLToken = 1007
 
const int UndeclaredExtentUnitsL3 = 99507
 
const int UndeclaredObjectUnitsL3 = 99508
 
const int UndeclaredSpeciesInStoichMath = 21131
 
const int UndeclaredSpeciesRef = 21121
 
const int UndeclaredTimeUnitsL3 = 99506
 
const int UndeclaredUnits = 99505
 
const int UndefinedOutsideCompartment = 20504
 
const int UndefinedXMLEntity = 1011
 
const int UninterpretableXMLContent = 1027
 
const int UNIT_KIND_AMPERE = 0
 
const int UNIT_KIND_AVOGADRO = UNIT_KIND_AMPERE + 1
 
const int UNIT_KIND_BECQUEREL = UNIT_KIND_AVOGADRO + 1
 
const int UNIT_KIND_CANDELA = UNIT_KIND_BECQUEREL + 1
 
const int UNIT_KIND_CELSIUS = UNIT_KIND_CANDELA + 1
 
const int UNIT_KIND_COULOMB = UNIT_KIND_CELSIUS + 1
 
const int UNIT_KIND_DIMENSIONLESS = UNIT_KIND_COULOMB + 1
 
const int UNIT_KIND_FARAD = UNIT_KIND_DIMENSIONLESS + 1
 
const int UNIT_KIND_GRAM = UNIT_KIND_FARAD + 1
 
const int UNIT_KIND_GRAY = UNIT_KIND_GRAM + 1
 
const int UNIT_KIND_HENRY = UNIT_KIND_GRAY + 1
 
const int UNIT_KIND_HERTZ = UNIT_KIND_HENRY + 1
 
const int UNIT_KIND_INVALID = UNIT_KIND_WEBER + 1
 
const int UNIT_KIND_ITEM = UNIT_KIND_HERTZ + 1
 
const int UNIT_KIND_JOULE = UNIT_KIND_ITEM + 1
 
const int UNIT_KIND_KATAL = UNIT_KIND_JOULE + 1
 
const int UNIT_KIND_KELVIN = UNIT_KIND_KATAL + 1
 
const int UNIT_KIND_KILOGRAM = UNIT_KIND_KELVIN + 1
 
const int UNIT_KIND_LITER = UNIT_KIND_KILOGRAM + 1
 
const int UNIT_KIND_LITRE = UNIT_KIND_LITER + 1
 
const int UNIT_KIND_LUMEN = UNIT_KIND_LITRE + 1
 
const int UNIT_KIND_LUX = UNIT_KIND_LUMEN + 1
 
const int UNIT_KIND_METER = UNIT_KIND_LUX + 1
 
const int UNIT_KIND_METRE = UNIT_KIND_METER + 1
 
const int UNIT_KIND_MOLE = UNIT_KIND_METRE + 1
 
const int UNIT_KIND_NEWTON = UNIT_KIND_MOLE + 1
 
const int UNIT_KIND_OHM = UNIT_KIND_NEWTON + 1
 
const int UNIT_KIND_PASCAL = UNIT_KIND_OHM + 1
 
const int UNIT_KIND_RADIAN = UNIT_KIND_PASCAL + 1
 
const int UNIT_KIND_SECOND = UNIT_KIND_RADIAN + 1
 
const int UNIT_KIND_SIEMENS = UNIT_KIND_SECOND + 1
 
const int UNIT_KIND_SIEVERT = UNIT_KIND_SIEMENS + 1
 
const int UNIT_KIND_STERADIAN = UNIT_KIND_SIEVERT + 1
 
const int UNIT_KIND_TESLA = UNIT_KIND_STERADIAN + 1
 
const int UNIT_KIND_VOLT = UNIT_KIND_TESLA + 1
 
const int UNIT_KIND_WATT = UNIT_KIND_VOLT + 1
 
const int UNIT_KIND_WEBER = UNIT_KIND_WATT + 1
 
const int UnitsCheckOFF = 0xef
 
const int UnitsCheckON = 0x10
 
const int UnitsNotValidAttribute = 99915
 
const int UNKNOWN_ASSOCIATION = 3
 
const int UNKNOWN_QUALIFIER = BIOLOGICAL_QUALIFIER + 1
 
const int UnknownCoreAttribute = 99994
 
const int UnknownError = 10000
 
const int UnknownPackageAttribute = 99995
 
const int UnrecognisedSBOTerm = 99701
 
const int UnrecognizedElement = 10102
 
const int UnrecognizedXMLElement = 1021
 
const int UnrecognizedXMLParserCode = 102
 
const int UnrequiredPackagePresent = 99108
 
const int UpperUnitBound = 10599
 
const int ValuesFromTriggerTimeNeedDelay = 21206
 
const int VariableNotValidAttribute = 99914
 
const int VersionPositiveInteger = 20106
 
const int VolumeLitreDefExponentNotOne = 20407
 
const int VolumeMetreDefExponentNot3 = 20408
 
const int XMLAttributeTypeMismatch = 1016
 
const int XMLBadColon = 1033
 
const int XMLBadNumber = 1032
 
const int XMLBadUTF8Content = 1017
 
const int XMLContentEmpty = 1035
 
const int XMLEmptyValueNotPermitted = 1031
 
const int XMLErrorCodesUpperBound = 9999
 
const int XMLExpectedQuotedString = 1030
 
const int XMLFileOperationError = 4
 
const int XMLFileUnreadable = 2
 
const int XMLFileUnwritable = 3
 
const int XMLNetworkAccessError = 5
 
const int XMLOutOfMemory = 1
 
const int XMLTagMismatch = 1009
 
const int XMLTranscoderError = 103
 
const int XMLUnexpectedEOF = 1024
 
const int XMLUnknownError = 0
 
const int ZeroDCompartmentContainment = 20506
 
const int ZeroDimensionalCompartmentConst = 20503
 
const int ZeroDimensionalCompartmentSize = 20501
 
const int ZeroDimensionalCompartmentUnits = 20502
 

Static Public Attributes

static readonly OStream cerr = new OStream(OStream.CERR)
 
static readonly OStream clog = new OStream(OStream.CLOG)
 
static readonly OStream cout = new OStream(OStream.COUT)
 

Member Function Documentation

static XMLNode libsbmlcs.libsbml.deleteLayoutAnnotation ( XMLNode  pAnnotation)
static
static XMLNode libsbmlcs.libsbml.deleteLayoutIdAnnotation ( XMLNode  pAnnotation)
static
static SBMLExtension libsbmlcs.libsbml.DowncastExtension ( IntPtr  cPtr,
bool  owner 
)
static
static SBase libsbmlcs.libsbml.DowncastSBase ( IntPtr  cPtr,
bool  owner 
)
static
static SBasePlugin libsbmlcs.libsbml.DowncastSBasePlugin ( IntPtr  cPtr,
bool  owner 
)
static
static SBMLNamespaces libsbmlcs.libsbml.DowncastSBMLNamespaces ( IntPtr  cPtr,
bool  owner 
)
static
static string libsbmlcs.libsbml.formulaToString ( ASTNode  tree)
static

Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1.

The text-string form of mathematical formulas produced by libsbmlcs.libsbml.formulaToString() and read bylibsbmlcs.libsbml.parseFormula() use a simple C-inspired infix notation taken from SBML Level 1. A formula in this text-string form therefore can be handed to a program that understands SBML Level 1 mathematical expressions, or used as part of a formula translation system. The syntax is described in detail in the documentation for ASTNode.

Note that this facility is provided as a convenience by libSBML—the MathML standard does not actually define a 'string-form' equivalent to MathML expression trees, so the choice of formula syntax is somewhat arbitrary. The approach taken by libSBML is to use the syntax defined by SBML Level 1 (which in fact used a text-string representation of formulas and not MathML). This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Precedence Associates
namesymbol referenceoperand6n/a
(expression)expression groupingoperand6n/a
f(...)function callprefix6left
-negationunary5right
^powerbinary4left
*multiplicationbinary3left
/divisonbinary3left
+additionbinary2left
-subtractionbinary2left
,argument delimiterbinary1left
A table of the expression operators and their precedence in the text-string format for mathematical expressions used by SBML_parseFormula().

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a * b + c is evaluated as (a * b) + c because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a - b + c is evaluated as (a - b) + c because the + and - operators are left-associative.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters, followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification:

Name Args Formula or meaning Argument Constraints Result constraints
absxabsolute value of x
acosxarc cosine of x in radians-1.0 ≤ x ≤ 1.00 ≤ acos(x) ≤ π
asinxarc sine of x in radians-1.0 ≤ x ≤ 1.00 ≤ asin(x) ≤ π
atanxarc tangent of x in radians0 ≤ atan(x) ≤ π
ceilxsmallest number not less than x whose value is an exact integer
cosxcosine of x
expxe x, where e is the base of the natural logarithm
floorxthe largest number not greater than x whose value is an exact integer
logxnatural logarithm of xx > 0
log10xbase 10 logarithm of xx > 0
powx, yx y
sqrxx2
sqrtxxx > 0sqrt(x) ≥ 0
sinxsine of x
tanxtangent of xx ≠ n*π/2, for odd integer n
The names of mathematical functions defined in the SBML Level 1 Version 2 text-string formula syntax.
Warning
There are differences between the symbols used to represent the common mathematical functions and the corresponding MathML token names. This is a potential source of incompatibilities. Note in particular that in this text-string syntax, log(x) represents the natural logarithm, whereas in MathML, the natural logarithm is <ln/>. Application writers are urged to be careful when translating between text forms and MathML forms, especially if they provide a direct text-string input facility to users of their software systems.

We urge developers to keep in mind that the text-string formula syntax is specific to SBML Level 1's C-like mathematical formula syntax. In particular, it is not a general-purpose mathematical expression syntax. LibSBML provides methods for parsing and transforming text-string math formulas back and forth from AST structures, but it is important to keep the system's limitations in mind.
Parameters
treethe AST to be converted.
Returns
the formula from the given AST as an SBML Level 1 text-string mathematical formula. The caller owns the returned string and is responsible for freeing it when it is no longer needed.
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static L3ParserSettings libsbmlcs.libsbml.getDefaultL3ParserSettings ( )
static

Returns a copy of the default parser settings used bySBML_parseL3Formula().

The settings structure allows callers to change the following parsing behaviors:

  • Use a specific Model object against which identifiers to compare identifiers. This causes the parser to search the Model for identifiers that the parser encounters in the formula. If a given symbol in the formula matches the identifier of a Species, Compartment, Parameter, Reaction, SpeciesReference or FunctionDefinition in the Model, then the symbol is assumed to refer to that model entity instead of any possible mathematical terms with the same symbol. For example, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.
  • Whether to parse "log(x)" with a single argument as the base 10 logarithm of x, the natural logarithm of x, or treat the case as an error.
  • Whether to parse "number id" by interpreting id as the identifier of a unit of measurement associated with the number, or whether to treat the case as an error.
  • Whether to parse "avogadro" as an ASTNode of type AST_NAME_AVOGADRO or as type AST_NAME.
  • Whether to always create explicit ASTNodes of type AST_MINUS for all unary minuses, or collapse and remove minuses where possible.

For more details about the parser, please see the definition of L3ParserSettings and SBML_parseL3Formula().

See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
static string libsbmlcs.libsbml.getLastParseL3Error ( )
static

Returns the last error reported by the parser.

IfSBML_parseL3Formula(), SBML_parseL3FormulaWithSettings(), or SBML_parseL3FormulaWithModel() return null, an error is set internally which is accessible via this function.

Returns
a string describing the error that occurred. This will contain the string the parser was trying to parse, which character it had parsed when it encountered the error, and a description of the error.
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getDefaultL3ParserSettings()
static string libsbmlcs.libsbml.getLibSBMLDottedVersion ( )
static

Returns the version number of this copy of libSBML as a string.

Returns
the libSBML version as a string; version 1.2.3 becomes '1.2.3'.
See Also
getLibSBMLVersionString()
static int libsbmlcs.libsbml.getLibSBMLVersion ( )
static

Returns the version number of this copy of libSBML as an integer.

Returns
the libSBML version as an integer; version 1.2.3 becomes 10203.
static string libsbmlcs.libsbml.getLibSBMLVersionString ( )
static

Returns the version number of this copy of libSBML as a string without periods.

Returns
the libSBML version as a string: version 1.2.3 becomes '10203'.
See Also
getLibSBMLDottedVersion()
static ASTNode libsbmlcs.libsbml.parseFormula ( string  formula)
static

Parses the given SBML formula and returns a representation of it as an Abstract Syntax Tree (AST).

The text-string form of mathematical formulas produced by libsbmlcs.libsbml.formulaToString() and read bylibsbmlcs.libsbml.parseFormula() and SBML_parseL3Formula() use a simple C-inspired infix notation. A formula in this text-string form therefore can be handed to a program that understands SBML mathematical expressions, or used as part of a formula translation system. The syntax is described in detail in the documentation for ASTNode.

This returns the root node of the AST corresponding to the formula. If the formula contains a syntax error, null is returned instead.

Note that this facility is provided as a convenience by libSBML—the MathML standard does not actually define a 'string-form' equivalent to MathML expression trees, so the choice of formula syntax is somewhat arbitrary. The approach taken by libSBML is to use the syntax defined by SBML Level 1 (which in fact used a text-string representation of formulas and not MathML). This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Precedence Associates
namesymbol referenceoperand6n/a
(expression)expression groupingoperand6n/a
f(...)function callprefix6left
-negationunary5right
^powerbinary4left
*multiplicationbinary3left
/divisonbinary3left
+additionbinary2left
-subtractionbinary2left
,argument delimiterbinary1left
A table of the expression operators and their precedence in the text-string format for mathematical expressions used by SBML_parseFormula().

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a * b + c is evaluated as (a * b) + c because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a - b + c is evaluated as (a - b) + c because the + and - operators are left-associative.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters, followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification:

Name Args Formula or meaning Argument Constraints Result constraints
absxabsolute value of x
acosxarc cosine of x in radians-1.0 ≤ x ≤ 1.00 ≤ acos(x) ≤ π
asinxarc sine of x in radians-1.0 ≤ x ≤ 1.00 ≤ asin(x) ≤ π
atanxarc tangent of x in radians0 ≤ atan(x) ≤ π
ceilxsmallest number not less than x whose value is an exact integer
cosxcosine of x
expxe x, where e is the base of the natural logarithm
floorxthe largest number not greater than x whose value is an exact integer
logxnatural logarithm of xx > 0
log10xbase 10 logarithm of xx > 0
powx, yx y
sqrxx2
sqrtxxx > 0sqrt(x) ≥ 0
sinxsine of x
tanxtangent of xx ≠ n*π/2, for odd integer n
The names of mathematical functions defined in the SBML Level 1 Version 2 text-string formula syntax.
Warning
There are differences between the symbols used to represent the common mathematical functions and the corresponding MathML token names. This is a potential source of incompatibilities. Note in particular that in this text-string syntax, log(x) represents the natural logarithm, whereas in MathML, the natural logarithm is <ln/>. Application writers are urged to be careful when translating between text forms and MathML forms, especially if they provide a direct text-string input facility to users of their software systems.

We urge developers to keep in mind that the text-string formula syntax is specific to SBML Level 1's C-like mathematical formula syntax. In particular, it is not a general-purpose mathematical expression syntax. LibSBML provides methods for parsing and transforming text-string math formulas back and forth from AST structures, but it is important to keep the system's limitations in mind.
Parameters
formulathe text-string formula expression to be parsed
Returns
the root node of the AST, or null if an error occurred in parsing the formula
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static ASTNode libsbmlcs.libsbml.parseL3Formula ( string  formula)
static

Parses the given mathematical formula and returns a representation of it as an Abstract Syntax Tree (AST).

The text-string form of mathematical formulas read by this function are expanded versions of the formats produced and read bylibsbmlcs.libsbml.formulaToString() and libsbmlcs.libsbml.parseFormula(), respectively. The latter two libSBML functions were originally developed to support conversion between SBML Levels 1 and 2, and were focused on the syntax of mathematical formulas used in SBML Level 1. With time, and the use of MathML in SBML Levels 2 and 3, it became clear that supporting Level 2 and 3's expanded mathematical syntax would be useful for software developers. To maintain backwards compatibility, the original libsbmlcs.libsbml.formulaToString() and libsbmlcs.libsbml.parseFormula() have been left untouched, and instead, the new functionality is provided in the form of SBML_parseL3Formula().

The following are the differences in the formula syntax supported by this function, compared to what is supported bylibsbmlcs.libsbml.parseFormula():

  • Units may be asociated with bare numbers, using the following syntax:
    number unit
    The number may be in any form (an integer, real, or rational number), and the unit must conform to the syntax of an SBML identifier (technically, the type defined as SId in the SBML specifications). The whitespace between number and unit is optional.
  • The Boolean function symbols &&, ||, !, and != may be used.
  • The modulo operation is allowed as the symbol % and will produce a piecewise function in the MathML.
  • All inverse trigonometric functions may be defined in the infix either using arc as a prefix or simply a; in other words, both arccsc and acsc are interpreted as the operator arccosecant defined in MathML. (Many functions in the SBML Level 1 infix-notation parser implemented bylibsbmlcs.libsbml.parseFormula() are defined this way as well, but not all.)
  • The following expression is parsed as a rational number instead of as a numerical division:
    (integer/integer)
    No spaces are allowed in this construct; in other words, "(3 / 4)" will be parsed into the MathML <divide> construct rather than a rational number. The general number syntax allows you to assign units to a rational number, e.g., "(3/4) ml". (If the string is a division, units are not interpreted in this way.)
  • Various settings may be altered by using an L3ParserSettings object in conjunction with the alternative function call SBML_parseL3FormulaWithSettings(), including the following:
    • The function log with a single argument ("log(x)") can be parsed as log10(x), ln(x), or treated as an error, as desired.
    • Unary minus signs can be collapsed or preserved; that is, sequential pairs of unary minuses (e.g., "- -3") can be removed from the input entirely and single unary minuses can be incorporated into the number node, or all minuses can be preserved in the AST node structure.
    • Parsing of units embedded in the input string can be turned on and off.
    • The string avogadro can be parsed as a MathML csymbol or as an identifier.
    • A Model object may optionally be provided to the parser using the variant function callSBML_parseL3FormulaWithModel(). or stored in a L3ParserSettings object passed to the variant function SBML_parseL3FormulaWithSettings(). When a Model object is provided, identifiers (values of type SId) from that model are used in preference to pre-defined MathML definitions. More precisely, the Model entities whose identifiers will shadow identical symbols in the mathematical formula are: Species, Compartment, Parameter, Reaction, and SpeciesReference. For instance, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.
    • Similarly, when a Model object is provided, SId values of user-defined functions present in the model will be used preferentially over pre-defined MathML functions. For example, if the passed-in Model contains a FunctionDefinition with the identifier "sin", that function will be used instead of the predefined MathML function <sin/>.
    These configuration settings cannot be changed using this function (i.e.,SBML_parseL3Formula()), but they can be change on a per-call basis by using the alternative function SBML_parseL3FormulaWithSettings()

This function returns the root node of the AST corresponding to the formula given as the argument. If the formula contains a syntax error, this function will return null instead. When null is returned, an error is set; information about the error can be retrieved using SBML_getLastParseL3Error().

Note that this facility and the SBML Level 1-basedlibsbmlcs.libsbml.parseFormula() are provided as a convenience by libSBML—the MathML standard does not actually define a 'string-form' equivalent to MathML expressions, so the choice of formula syntax is arbitrary. The approach taken by libSBML is to start with the syntax defined by SBML Level 1 (which in fact used a text-string representation of formulas, and not MathML), and expand it to include the above functionality. This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Precedence Associates
namesymbol referenceoperand10n/a
(expression)expression groupingoperand10n/a
f(...)function callprefix9left
-negationunary8right
^powerbinary7left
*, /, %multiplication, division, and modulobinary6left
+, -addition and subtractionbinary5left
!boolean 'not'unary4right
==, <, >, <=, >=, !=boolean equality, inequality, and comparisonbinary3left
&&, ||boolean 'and' and 'or'binary2left
,argument delimiterbinary1left
A table of the expression operators and their precedence in the text-string format for mathematical expressions used by SBML_parseL3Formula().

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a + b * c is evaluated as a + (b * c) because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a && b || c is evaluated as (a && b) || c because the && and || operators are left-associative and have the same precedence.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters), followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification with additions based on the functions added in SBML Level 2 and Level 3:

Name Argument(s) Formula or meaning Argument Constraints Result constraints
abs x Absolute value of x.
acos, arccos x Arccosine of x in radians. -1.0 ≤ x ≤ 1.0 0 ≤ acos(x) ≤ π
acosh, arccosh x Hyperbolic arccosine of x in radians.
acot, arccot x Arccotangent of x in radians.
acoth, arccoth x Hyperbolic arccotangent of x in radians.
acsc, arccsc x Arccosecant of x in radians.
acsch, arccsch x Hyperbolic arccosecant of x in radians.
asec, arcsec x Arcsecant of x in radians.
asech, arcsech x Hyperbolic arcsecant of x in radians.
asin, arcsin xArcsine of x in radians. -1.0 ≤ x ≤ 1.0 0 ≤ asin(x) ≤ π
atan, arctan x Arctangent of x in radians. 0 ≤ atan(x) ≤ π
atanh, arctanh x Hyperbolic arctangent of x in radians.
ceil, ceiling x Smallest number not less than x whose value is an exact integer.
cos x Cosine of x
cosh x Hyperbolic cosine of x.
cot x Cotangent of x.
coth x Hyperbolic cotangent of x.
csc x Cosecant of x.
csch x Hyperbolic cosecant of x.
delay x, y The value of x at y time units in the past.
factorial n The factorial of n. Factorials are defined by n! = n*(n-1)* ... * 1. n must be an integer.
exp x e x, where e is the base of the natural logarithm.
floor x The largest number not greater than x whose value is an exact integer.
ln x Natural logarithm of x. x > 0
log x By default, the base 10 logarithm of x, but can be set to be the natural logarithm of x, or to be an illegal construct. x > 0
log x, y The base x logarithm of y. y > 0
log10 x Base 10 logarithm of x. x > 0
piecewise x1, y1, [x2, y2,] [...] [z] A piecewise function: if (y1), x1. Otherwise, if (y2), x2, etc. Otherwise, z. y1, y2, y3 [etc] must be boolean
pow, power x, y x y.
root b, x The root base b of x.
sec x Secant of x.
sech x Hyperbolic secant of x.
sqr x x2.
sqrt x x. x > 0 sqrt(x) ≥ 0
sin x Sine of x.
sinh x Hyperbolic sine of x.
tan x Tangent of x. x ≠ n*π/2, for odd integer n
tanh x Hyperbolic tangent of x.
and x, y, z... Boolean and(x, y, z...): returns true if all of its arguments are true. Note that 'and' is an n-ary function, taking 0 or more arguments, and that and() returns 'true'. All arguments must be boolean
not x Boolean not(x) x must be boolean
or x, y, z... Boolean or(x, y, z...): returns true if at least one of its arguments is true. Note that 'or' is an n-ary function, taking 0 or more arguments, and that or() returns 'false'. All arguments must be boolean
xor x, y, z... Boolean xor(x, y, z...): returns true if an odd number of its arguments is true. Note that 'xor' is an n-ary function, taking 0 or more arguments, and that xor() returns 'false'. All arguments must be boolean
eq x, y, z... Boolean eq(x, y, z...): returns true if all arguments are equal. Note that 'eq' is an n-ary function, but must take 2 or more arguments.
geq x, y, z... Boolean geq(x, y, z...): returns true if each argument is greater than or equal to the argument following it. Note that 'geq' is an n-ary function, but must take 2 or more arguments.
gt x, y, z... Boolean gt(x, y, z...): returns true if each argument is greater than the argument following it. Note that 'gt' is an n-ary function, but must take 2 or more arguments.
leq x, y, z... Boolean leq(x, y, z...): returns true if each argument is less than or equal to the argument following it. Note that 'leq' is an n-ary function, but must take 2 or more arguments.
lt x, y, z... Boolean lt(x, y, z...): returns true if each argument is less than the argument following it. Note that 'lt' is an n-ary function, but must take 2 or more arguments.
neq x, y Boolean x != y: returns true unless x and y are equal.
plus x, y, z... x + y + z + ...: The sum of the arguments of the function. Note that 'plus' is an n-ary function taking 0 or more arguments, and that 'plus()' returns 0.
times x, y, z... x * y * z * ...: The product of the arguments of the function. Note that 'times' is an n-ary function taking 0 or more arguments, and that 'times()' returns 1.
minus x, y x - y.
divide x, y x / y.
The names of mathematical functions defined in the text-string formula syntax understood by SBML_parseL3Formula() and related functions.

Note that this function's interpretation of the string "log" as a function with a single argument can be changed; use the functionSBML_parseL3FormulaWithSettings() instead of this function and pass it an appropriate L3ParserSettings object. By default, unlike the SBML Level 1 parser implemented by libsbmlcs.libsbml.parseFormula(), the string "log" is interpreted as the base 10 logarithm, and not as the natural logarithm. However, you can change the interpretation to be base-10 log, natural log, or as an error; since the name 'log' by itself is ambiguous, you require that the parser uses log10 or ln instead, which are more clear. Please refer to SBML_parseL3FormulaWithSettings().

In addition, the following symbols will be translated to their MathML equivalents, if no symbol with the same SId identifier string exists in the Model object provided:

Name Meaning MathML
true The boolean value true <true/>
false The boolean value false <false/>
pi The mathematical constant pi <pi/>
avogadro The numerical value of Avogadro's constant, as defined in the SBML specification <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol/>
time Simulation time as defined in SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol/>
inf or infinity The mathematical constant "infinity" <infinity/>
nan or notanumber The mathematical concept "not a number" <notanumber/>
The names of mathematical symbols defined in the text-string formula syntax understood by SBML_parseL3Formula() and related functions.

Note that whether the string "avogadro" is parsed as an AST node of type AST_NAME_AVOGADRO or AST_NAME is configurable; use the alternate version of this function, called SBML_parseL3FormulaWithSettings(). This functionality is provided because SBML Level 2 models may not use AST_NAME_AVOGADRO AST nodes.

Parameters
formulathe text-string formula expression to be parsed
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static ASTNode libsbmlcs.libsbml.parseL3FormulaWithModel ( string  formula,
Model  model 
)
static

Parses the given mathematical formula using specific a specific Model to resolve symbols, and returns an Abstract Syntax Tree (AST) representation of the result.

This is identical to SBML_parseL3Formula(), except that this function uses the given model in the argument model to check against identifiers that appear in the formula.

For more details about the parser, please see the definition of the functionSBML_parseL3Formula().

Parameters
formulathe mathematical formula expression to be parsed
modelthe Model object to use for checking identifiers
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static ASTNode libsbmlcs.libsbml.parseL3FormulaWithSettings ( string  formula,
L3ParserSettings  settings 
)
static

Parses the given mathematical formula using specific parser settings and returns an Abstract Syntax Tree (AST) representation of the result.

This is identical to SBML_parseL3Formula(), except that this function uses the parser settings given in the argument settings. The settings override the default parsing behavior.

The parameter settings allows callers to change the following parsing behaviors:

  • Use a specific Model object against which identifiers to compare identifiers. This causes the parser to search the Model for identifiers that the parser encounters in the formula. If a given symbol in the formula matches the identifier of a Species, Compartment, Parameter, Reaction, SpeciesReference or FunctionDefinition in the Model, then the symbol is assumed to refer to that model entity instead of any possible mathematical terms with the same symbol. For example, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.
  • Whether to parse "log(x)" with a single argument as the base 10 logarithm of x, the natural logarithm of x, or treat the case as an error.
  • Whether to parse "number id" by interpreting id as the identifier of a unit of measurement associated with the number, or whether to treat the case as an error.
  • Whether to parse "avogadro" as an ASTNode of type AST_NAME_AVOGADRO or as type AST_NAME.
  • Whether to always create explicit ASTNodes of type AST_MINUS for all unary minuses, or collapse and remove minuses where possible.

For more details about the parser, please see the definition of L3ParserSettings and SBML_parseL3Formula().

Parameters
formulathe mathematical formula expression to be parsed
settingsthe settings to be used for this parser invocation
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See Also
libsbmlcs.libsbml.formulaToString()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static void libsbmlcs.libsbml.parseLayoutAnnotation ( XMLNode  annotation,
ListOfLayouts  layouts 
)
static
static XMLNode libsbmlcs.libsbml.parseLayoutId ( SimpleSpeciesReference  sr)
static
static XMLNode libsbmlcs.libsbml.parseLayouts ( Model  pModel)
static
static void libsbmlcs.libsbml.parseSpeciesReferenceAnnotation ( XMLNode  annotation,
SimpleSpeciesReference  sr 
)
static
static ASTNode libsbmlcs.libsbml.readMathMLFromString ( string  xml)
static

Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree.

Parameters
xmla string containing a full MathML expression
Returns
the root of an AST corresponding to the given mathematical expression, otherwise null is returned if the given string is null or invalid.
static SBMLDocument libsbmlcs.libsbml.readSBML ( string  filename)
static

Reads an SBML document from the given file filename.

If filename does not exist, or it is not an SBML file, an error will be logged in the error log of the SBMLDocument object returned by this method. Calling programs can inspect this error log to determine the nature of the problem. Please refer to the definition of SBMLDocument for more information about the error reporting mechanism.

Returns
a pointer to the SBMLDocument read.
static SBMLDocument libsbmlcs.libsbml.readSBMLFromFile ( string  filename)
static

Reads an SBML document from the given file filename.

If filename does not exist, or it is not an SBML file, an error will be logged in the error log of the SBMLDocument object returned by this method. Calling programs can inspect this error log to determine the nature of the problem. Please refer to the definition of SBMLDocument for more information about the error reporting mechanism.

Returns
a pointer to the SBMLDocument read.
static SBMLDocument libsbmlcs.libsbml.readSBMLFromString ( string  xml)
static

Reads an SBML document from a string assumed to be in XML format.

If the string does not begin with XML declaration, <?xml version='1.0' encoding='UTF-8'?>

an XML declaration string will be prepended.

This method will report an error if the given string xml is not SBML. The error will be logged in the error log of the SBMLDocument object returned by this method. Calling programs can inspect this error log to determine the nature of the problem. Please refer to the definition of SBMLDocument for more information about the error reporting mechanism.

Returns
a pointer to the SBMLDocument read.
static string libsbmlcs.libsbml.SBMLTypeCode_toString ( int  tc,
string  pkgName 
)
static

This method takes an SBML type code and returns a string representing the code.

LibSBML attaches an identifying code to every kind of SBML object. These are known as SBML type codes. In the C# language interface for libSBML, the type codes are defined as static integer constants in the interface class libsbml. The names of the type codes all begin with the characters SBML_.

Returns
a human readable name for the given SBML type code.
Note
The caller does not own the returned string and is therefore not allowed to modify it.
static int libsbmlcs.libsbml.UnitKind_equals ( int  uk1,
int  uk2 
)
static

Tests for logical equality between two given UNIT_KIND_ code values.

This function behaves exactly like C's == operator, except for the following two cases:

In the two cases above, C equality comparison would yield false (because each of the above is a distinct enumeration value), but this function returns true.

Parameters
uk1a UNIT_KIND_ value
uk2a second UNIT_KIND_ value to compare to uk1
Returns
nonzero (for true) if uk1 is logically equivalent to uk2, zero (for false) otherwise.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static int libsbmlcs.libsbml.UnitKind_forName ( string  name)
static

Converts a text string naming a kind of unit to its corresponding libSBML UNIT_KIND_ constant/enumeration value.

Parameters
namea string, the name of a predefined base unit in SBML
Returns
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static int libsbmlcs.libsbml.UnitKind_isValidUnitKindString ( string  str,
long  level,
long  version 
)
static

Predicate for testing whether a given string corresponds to a predefined libSBML unit code.

Parameters
stra text string naming a base unit defined by SBML
levelthe Level of SBML
versionthe Version within the Level of SBML
Returns
nonzero (for true) if string is the name of a valid UNIT_KIND_ value, zero (for false) otherwise.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static string libsbmlcs.libsbml.UnitKind_toString ( int  uk)
static

Converts a unit code to a text string equivalent.

Parameters
uk
Returns
the name corresponding to the given unit code.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
Warning
The string returned is a static data value. The caller does not own the returned string and is therefore not allowed to modify it.
static string libsbmlcs.libsbml.writeMathMLToString ( ASTNode  node)
static

Writes the given ASTNode (and its children) to a string as MathML, and returns the string.

Parameters
nodethe root of an AST to write out to the stream.
Returns
a string containing the written-out MathML representation of the given AST.
Note
The string is owned by the caller and should be freed (with free()) when no longer needed. null is returned if the given argument is null.
static int libsbmlcs.libsbml.writeSBML ( SBMLDocument  d,
string  filename 
)
static

Writes the given SBML document d to the file named by filename.

This function is identical to.

If the given filename ends with the suffix ".gz" (for example, "myfile.xml.gz"), libSBML assumes the caller wants the file to be written compressed in gzip format. Similarly, if the given filename ends with ".zip" or ".bz2", libSBML assumes the caller wants the file to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be written uncompressed. Special considerations for the zip format: If the given filename ends with ".zip", the file placed in the zip archive will have the suffix ".xml" or ".sbml". For example, the file in the zip archive will be named "test.xml" if the given filename is "test.xml.zip" or "test.zip". Similarly, the filename in the archive will be "test.sbml" if the given filename is "test.sbml.zip".
Parameters
dthe SBMLDocument object to be written out in XML format
filenamea string giving the path to a file where the XML content is to be written.
Returns
1 on success and 0 (zero) if filename could not be written. Some possible reasons for failure include (a) being unable to open the file, and (b) using a filename that indicates a compressed SBML file (i.e., a filename ending in ".zip" or similar) when the compression functionality has not been enabled in the underlying copy of libSBML.
See Also
SBMLWriter::hasZlib()
SBMLWriter::hasBzip2()
static int libsbmlcs.libsbml.writeSBMLToFile ( SBMLDocument  d,
string  filename 
)
static

Writes the given SBML document d to the file filename.

This is a convenience function that uses the SBMLWriter::writeSBMLToFile(SBMLDocument d, string filename) method internally, yet does not require the caller to create an SBMLWriter object first.

If the given filename ends with the suffix ".gz" (for example, "myfile.xml.gz"), libSBML assumes the caller wants the file to be written compressed in gzip format. Similarly, if the given filename ends with ".zip" or ".bz2", libSBML assumes the caller wants the file to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be written uncompressed. Special considerations for the zip format: If the given filename ends with ".zip", the file placed in the zip archive will have the suffix ".xml" or ".sbml". For example, the file in the zip archive will be named "test.xml" if the given filename is "test.xml.zip" or "test.zip". Similarly, the filename in the archive will be "test.sbml" if the given filename is "test.sbml.zip".
Parameters
dan SBMLDocument object to be written out in XML format
filenamea string giving the path to a file where the XML content is to be written.
Returns
1 on success and 0 (zero) if filename could not be written. Some possible reasons for failure include (a) being unable to open the file, and (b) using a filename that indicates a compressed SBML file (i.e., a filename ending in ".zip" or similar) when the compression functionality has not been enabled in the underlying copy of libSBML.
See Also
SBMLWriter::hasZlib()
SBMLWriter::hasBzip2()
static string libsbmlcs.libsbml.writeSBMLToString ( SBMLDocument  d)
static

Writes the given SBML document d to an in-memory string and returns the string.

This is a convenience function that uses the SBMLWriter::writeSBMLToString(SBMLDocument d) method internally, yet does not require the caller to create an SBMLWriter object first.

Parameters
dan SBMLDocument object to be written out in XML format
Returns
the string on success and null if one of the underlying parser components fail.

Member Data Documentation

const int libsbmlcs.libsbml.AllChecksON = 0x7f
const int libsbmlcs.libsbml.AllowedAttributesOnAlgRule = 20910
const int libsbmlcs.libsbml.AllowedAttributesOnAssignRule = 20908
const int libsbmlcs.libsbml.AllowedAttributesOnCompartment = 20517
const int libsbmlcs.libsbml.AllowedAttributesOnConstraint = 21009
const int libsbmlcs.libsbml.AllowedAttributesOnDelay = 21227
const int libsbmlcs.libsbml.AllowedAttributesOnEvent = 21225
const int libsbmlcs.libsbml.AllowedAttributesOnEventAssignment = 21214
const int libsbmlcs.libsbml.AllowedAttributesOnFunc = 20307
const int libsbmlcs.libsbml.AllowedAttributesOnInitialAssign = 20805
const int libsbmlcs.libsbml.AllowedAttributesOnKineticLaw = 21132
const int libsbmlcs.libsbml.AllowedAttributesOnListOfComps = 20225
const int libsbmlcs.libsbml.AllowedAttributesOnListOfConstraints = 20230
const int libsbmlcs.libsbml.AllowedAttributesOnListOfEventAssign = 21224
const int libsbmlcs.libsbml.AllowedAttributesOnListOfEvents = 20232
const int libsbmlcs.libsbml.AllowedAttributesOnListOfFuncs = 20223
const int libsbmlcs.libsbml.AllowedAttributesOnListOfInitAssign = 20228
const int libsbmlcs.libsbml.AllowedAttributesOnListOfLocalParam = 21129
const int libsbmlcs.libsbml.AllowedAttributesOnListOfMods = 21151
const int libsbmlcs.libsbml.AllowedAttributesOnListOfParams = 20227
const int libsbmlcs.libsbml.AllowedAttributesOnListOfReactions = 20231
const int libsbmlcs.libsbml.AllowedAttributesOnListOfRules = 20229
const int libsbmlcs.libsbml.AllowedAttributesOnListOfSpecies = 20226
const int libsbmlcs.libsbml.AllowedAttributesOnListOfSpeciesRef = 21150
const int libsbmlcs.libsbml.AllowedAttributesOnListOfUnitDefs = 20224
const int libsbmlcs.libsbml.AllowedAttributesOnListOfUnits = 20420
const int libsbmlcs.libsbml.AllowedAttributesOnLocalParameter = 21172
const int libsbmlcs.libsbml.AllowedAttributesOnModel = 20222
const int libsbmlcs.libsbml.AllowedAttributesOnModifier = 21117
const int libsbmlcs.libsbml.AllowedAttributesOnParameter = 20706
const int libsbmlcs.libsbml.AllowedAttributesOnPriority = 21232
const int libsbmlcs.libsbml.AllowedAttributesOnRateRule = 20909
const int libsbmlcs.libsbml.AllowedAttributesOnReaction = 21110
const int libsbmlcs.libsbml.AllowedAttributesOnSBML = 20108
const int libsbmlcs.libsbml.AllowedAttributesOnSpecies = 20623
const int libsbmlcs.libsbml.AllowedAttributesOnSpeciesReference = 21116
const int libsbmlcs.libsbml.AllowedAttributesOnTrigger = 21226
const int libsbmlcs.libsbml.AllowedAttributesOnUnit = 20421
const int libsbmlcs.libsbml.AllowedAttributesOnUnitDefinition = 20419
const int libsbmlcs.libsbml.AND_ASSOCIATION = 1
const int libsbmlcs.libsbml.AnnotationNotElement = 99406
const int libsbmlcs.libsbml.AnnotationNotesNotAllowedLevel1 = 99104
const int libsbmlcs.libsbml.ApplyCiMustBeModelComponent = 10215
const int libsbmlcs.libsbml.ApplyCiMustBeUserFunction = 10214
const int libsbmlcs.libsbml.ArgsToEqNeedSameType = 10211
const int libsbmlcs.libsbml.AssignmentToConstantEntity = 20903
const int libsbmlcs.libsbml.AssignRuleCompartmentMismatch = 10511
const int libsbmlcs.libsbml.AssignRuleParameterMismatch = 10513
const int libsbmlcs.libsbml.AssignRuleSpeciesMismatch = 10512
const int libsbmlcs.libsbml.AssignRuleStoichiometryMismatch = 10514
const int libsbmlcs.libsbml.AST_CONSTANT_E = AST_NAME_TIME + 1
const int libsbmlcs.libsbml.AST_CONSTANT_FALSE = AST_CONSTANT_E + 1
const int libsbmlcs.libsbml.AST_CONSTANT_PI = AST_CONSTANT_FALSE + 1
const int libsbmlcs.libsbml.AST_CONSTANT_TRUE = AST_CONSTANT_PI + 1
const int libsbmlcs.libsbml.AST_DIVIDE = '/'
const int libsbmlcs.libsbml.AST_FUNCTION = AST_LAMBDA + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ABS = AST_FUNCTION + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOS = AST_FUNCTION_ABS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOSH = AST_FUNCTION_ARCCOS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOT = AST_FUNCTION_ARCCOSH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOTH = AST_FUNCTION_ARCCOT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCSC = AST_FUNCTION_ARCCOTH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCSCH = AST_FUNCTION_ARCCSC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSEC = AST_FUNCTION_ARCCSCH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSECH = AST_FUNCTION_ARCSEC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSIN = AST_FUNCTION_ARCSECH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSINH = AST_FUNCTION_ARCSIN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCTAN = AST_FUNCTION_ARCSINH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCTANH = AST_FUNCTION_ARCTAN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CEILING = AST_FUNCTION_ARCTANH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COS = AST_FUNCTION_CEILING + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COSH = AST_FUNCTION_COS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COT = AST_FUNCTION_COSH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COTH = AST_FUNCTION_COT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CSC = AST_FUNCTION_COTH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CSCH = AST_FUNCTION_CSC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_DELAY = AST_FUNCTION_CSCH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_EXP = AST_FUNCTION_DELAY + 1
const int libsbmlcs.libsbml.AST_FUNCTION_FACTORIAL = AST_FUNCTION_EXP + 1
const int libsbmlcs.libsbml.AST_FUNCTION_FLOOR = AST_FUNCTION_FACTORIAL + 1
const int libsbmlcs.libsbml.AST_FUNCTION_LN = AST_FUNCTION_FLOOR + 1
const int libsbmlcs.libsbml.AST_FUNCTION_LOG = AST_FUNCTION_LN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_PIECEWISE = AST_FUNCTION_LOG + 1
const int libsbmlcs.libsbml.AST_FUNCTION_POWER = AST_FUNCTION_PIECEWISE + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ROOT = AST_FUNCTION_POWER + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SEC = AST_FUNCTION_ROOT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SECH = AST_FUNCTION_SEC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SIN = AST_FUNCTION_SECH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SINH = AST_FUNCTION_SIN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_TAN = AST_FUNCTION_SINH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_TANH = AST_FUNCTION_TAN + 1
const int libsbmlcs.libsbml.AST_INTEGER = 256
const int libsbmlcs.libsbml.AST_LAMBDA = AST_CONSTANT_TRUE + 1
const int libsbmlcs.libsbml.AST_LOGICAL_AND = AST_FUNCTION_TANH + 1
const int libsbmlcs.libsbml.AST_LOGICAL_NOT = AST_LOGICAL_AND + 1
const int libsbmlcs.libsbml.AST_LOGICAL_OR = AST_LOGICAL_NOT + 1
const int libsbmlcs.libsbml.AST_LOGICAL_XOR = AST_LOGICAL_OR + 1
const int libsbmlcs.libsbml.AST_MINUS = '-'
const int libsbmlcs.libsbml.AST_NAME = AST_RATIONAL + 1
const int libsbmlcs.libsbml.AST_NAME_AVOGADRO = AST_NAME + 1
const int libsbmlcs.libsbml.AST_NAME_TIME = AST_NAME_AVOGADRO + 1
const int libsbmlcs.libsbml.AST_PLUS = '+'
const int libsbmlcs.libsbml.AST_POWER = '^'
const int libsbmlcs.libsbml.AST_RATIONAL = AST_REAL_E + 1
const int libsbmlcs.libsbml.AST_REAL = AST_INTEGER + 1
const int libsbmlcs.libsbml.AST_REAL_E = AST_REAL + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_EQ = AST_LOGICAL_XOR + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_GEQ = AST_RELATIONAL_EQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_GT = AST_RELATIONAL_GEQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_LEQ = AST_RELATIONAL_GT + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_LT = AST_RELATIONAL_LEQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_NEQ = AST_RELATIONAL_LT + 1
const int libsbmlcs.libsbml.AST_TIMES = '*'
const int libsbmlcs.libsbml.AST_UNKNOWN = AST_RELATIONAL_NEQ + 1
const int libsbmlcs.libsbml.AvogadroNotSupported = 91020
const int libsbmlcs.libsbml.BadCsymbolDefinitionURLValue = 10205
const int libsbmlcs.libsbml.BadlyFormedXML = 1006
const int libsbmlcs.libsbml.BadMathML = 99219
const int libsbmlcs.libsbml.BadMathMLNodeType = 99224
const int libsbmlcs.libsbml.BadProcessingInstruction = 1012
const int libsbmlcs.libsbml.BadXMLAttribute = 1020
const int libsbmlcs.libsbml.BadXMLAttributeValue = 1019
const int libsbmlcs.libsbml.BadXMLComment = 1022
const int libsbmlcs.libsbml.BadXMLDecl = 1003
const int libsbmlcs.libsbml.BadXMLDeclLocation = 1023
const int libsbmlcs.libsbml.BadXMLDOCTYPE = 1004
const int libsbmlcs.libsbml.BadXMLDocumentStructure = 1028
const int libsbmlcs.libsbml.BadXMLIDRef = 1026
const int libsbmlcs.libsbml.BadXMLIDValue = 1025
const int libsbmlcs.libsbml.BadXMLPrefix = 1013
const int libsbmlcs.libsbml.BadXMLPrefixValue = 1014
const int libsbmlcs.libsbml.BIOLOGICAL_QUALIFIER = MODEL_QUALIFIER + 1
const int libsbmlcs.libsbml.BooleanOpsNeedBooleanArgs = 10209
const int libsbmlcs.libsbml.BothAmountAndConcentrationSet = 20609
const int libsbmlcs.libsbml.BothStoichiometryAndMath = 21113
const int libsbmlcs.libsbml.BQB_ENCODES = BQB_IS_ENCODED_BY + 1
const int libsbmlcs.libsbml.BQB_HAS_PART = BQB_IS + 1
const int libsbmlcs.libsbml.BQB_HAS_PROPERTY = BQB_OCCURS_IN + 1
const int libsbmlcs.libsbml.BQB_HAS_VERSION = BQB_IS_VERSION_OF + 1
const int libsbmlcs.libsbml.BQB_IS = 0
const int libsbmlcs.libsbml.BQB_IS_DESCRIBED_BY = BQB_IS_HOMOLOG_TO + 1
const int libsbmlcs.libsbml.BQB_IS_ENCODED_BY = BQB_IS_DESCRIBED_BY + 1
const int libsbmlcs.libsbml.BQB_IS_HOMOLOG_TO = BQB_HAS_VERSION + 1
const int libsbmlcs.libsbml.BQB_IS_PART_OF = BQB_HAS_PART + 1
const int libsbmlcs.libsbml.BQB_IS_PROPERTY_OF = BQB_HAS_PROPERTY + 1
const int libsbmlcs.libsbml.BQB_IS_VERSION_OF = BQB_IS_PART_OF + 1
const int libsbmlcs.libsbml.BQB_OCCURS_IN = BQB_ENCODES + 1
const int libsbmlcs.libsbml.BQB_UNKNOWN = BQB_IS_PROPERTY_OF + 1
const int libsbmlcs.libsbml.BQM_IS = 0
const int libsbmlcs.libsbml.BQM_IS_DERIVED_FROM = BQM_IS_DESCRIBED_BY + 1
const int libsbmlcs.libsbml.BQM_IS_DESCRIBED_BY = BQM_IS + 1
const int libsbmlcs.libsbml.BQM_UNKNOWN = BQM_IS_DERIVED_FROM + 1
const int libsbmlcs.libsbml.CannotConvertToL1V1 = 90001
const int libsbmlcs.libsbml.CelsiusNoLongerValid = 20412
readonly OStream libsbmlcs.libsbml.cerr = new OStream(OStream.CERR)
static
const int libsbmlcs.libsbml.CircularRuleDependency = 20906
readonly OStream libsbmlcs.libsbml.clog = new OStream(OStream.CLOG)
static
const int libsbmlcs.libsbml.CNV_TYPE_BOOL = 0
const int libsbmlcs.libsbml.CNV_TYPE_DOUBLE = CNV_TYPE_BOOL + 1
const int libsbmlcs.libsbml.CNV_TYPE_INT = CNV_TYPE_DOUBLE + 1
const int libsbmlcs.libsbml.CNV_TYPE_SINGLE = CNV_TYPE_INT + 1
const int libsbmlcs.libsbml.CNV_TYPE_STRING = CNV_TYPE_SINGLE + 1
const int libsbmlcs.libsbml.CompartmentNotOnL1Reaction = 91016
const int libsbmlcs.libsbml.CompartmentOnReaction = 21107
const int libsbmlcs.libsbml.CompartmentShouldHaveSize = 80501
const int libsbmlcs.libsbml.CompartmentTypeNotValidAttribute = 99902
const int libsbmlcs.libsbml.CompartmentTypeNotValidComponent = 99908
const int libsbmlcs.libsbml.ConstantNotValidAttribute = 99903
const int libsbmlcs.libsbml.ConstantSpeciesNotValidAttribute = 99916
const int libsbmlcs.libsbml.ConstraintContainsDOCTYPE = 21005
const int libsbmlcs.libsbml.ConstraintContainsXMLDecl = 21004
const int libsbmlcs.libsbml.ConstraintMathNotBoolean = 21001
const int libsbmlcs.libsbml.ConstraintNotInXHTMLNamespace = 21003
const int libsbmlcs.libsbml.ConstraintNotValidComponent = 99909
const int libsbmlcs.libsbml.ConversionFactorMustConstant = 20705
const int libsbmlcs.libsbml.ConversionFactorNotInL1 = 91015
const int libsbmlcs.libsbml.ConversionFactorOnSpecies = 20617
readonly OStream libsbmlcs.libsbml.cout = new OStream(OStream.COUT)
static
const int libsbmlcs.libsbml.DanglingUnitSIdRef = 99303
const int libsbmlcs.libsbml.DelayNeedsValuesFromTriggerTime = 21207
const int libsbmlcs.libsbml.DelayUnitsNotTime = 10551
const int libsbmlcs.libsbml.DisallowedDefinitionURLUse = 10204
const int libsbmlcs.libsbml.DisallowedMathMLEncodingUse = 10203
const int libsbmlcs.libsbml.DisallowedMathMLSymbol = 10202
const int libsbmlcs.libsbml.DisallowedMathTypeAttributeUse = 10206
const int libsbmlcs.libsbml.DisallowedMathTypeAttributeValue = 10207
const int libsbmlcs.libsbml.DisallowedMathUnitsUse = 10220
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v2 = 93009
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v3 = 94010
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v4 = 95007
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL3v1 = 96009
const int libsbmlcs.libsbml.DuplicateAnnotationNamespaces = 10402
const int libsbmlcs.libsbml.DuplicateComponentId = 10301
const int libsbmlcs.libsbml.DuplicateLocalParameterId = 10303
const int libsbmlcs.libsbml.DuplicateMetaId = 10307
const int libsbmlcs.libsbml.DuplicateUnitDefinitionId = 10302
const int libsbmlcs.libsbml.DuplicateXMLAttribute = 1010
const int libsbmlcs.libsbml.EmptyListElement = 20203
const int libsbmlcs.libsbml.EmptyListInKineticLaw = 21123
const int libsbmlcs.libsbml.EmptyListInReaction = 21103
const int libsbmlcs.libsbml.EmptyListOfUnits = 20409
const int libsbmlcs.libsbml.EmptyUnitListElement = 20413
const int libsbmlcs.libsbml.EventAndAssignmentRuleForId = 10306
const int libsbmlcs.libsbml.EventAssignCompartmentMismatch = 10561
const int libsbmlcs.libsbml.EventAssignmentForConstantEntity = 21212
const int libsbmlcs.libsbml.EventAssignParameterMismatch = 10563
const int libsbmlcs.libsbml.EventAssignSpeciesMismatch = 10562
const int libsbmlcs.libsbml.EventAssignStoichiometryMismatch = 10564
const int libsbmlcs.libsbml.EventNotValidComponent = 99910
const int libsbmlcs.libsbml.ExtentUnitsNotSubstance = 91017
const int libsbmlcs.libsbml.FailedMathMLReadOfDouble = 99220
const int libsbmlcs.libsbml.FailedMathMLReadOfExponential = 99222
const int libsbmlcs.libsbml.FailedMathMLReadOfInteger = 99221
const int libsbmlcs.libsbml.FailedMathMLReadOfRational = 99223
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_EQUAL = FLUXBOUND_OPERATION_GREATER + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_GREATER = FLUXBOUND_OPERATION_LESS + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_GREATER_EQUAL = FLUXBOUND_OPERATION_LESS_EQUAL + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_LESS = FLUXBOUND_OPERATION_GREATER_EQUAL + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_LESS_EQUAL = 0
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_UNKNOWN = FLUXBOUND_OPERATION_EQUAL + 1
const int libsbmlcs.libsbml.FormulaInLevel1KL = 99129
const int libsbmlcs.libsbml.FuncDefNotValidComponent = 99912
const int libsbmlcs.libsbml.FunctionDefMathNotLambda = 20301
const int libsbmlcs.libsbml.GENE_ASSOCIATION = 0
const int libsbmlcs.libsbml.GeneralWarningNotSpecified = 29999
const int libsbmlcs.libsbml.GlobalUnitsNotDeclared = 91018
const int libsbmlcs.libsbml.HasOnlySubsNoSpatialUnits = 20602
const int libsbmlcs.libsbml.HasOnlySubstanceUnitsNotinL1 = 91019
const int libsbmlcs.libsbml.HasOnlySubsUnitsNotValidAttribute = 99919
const int libsbmlcs.libsbml.IdCheckOFF = 0xfe
const int libsbmlcs.libsbml.IdCheckON = 0x01
const int libsbmlcs.libsbml.IdNotValidAttribute = 99920
const int libsbmlcs.libsbml.InconsistentArgUnits = 10501
const int libsbmlcs.libsbml.InconsistentArgUnitsWarnings = 99502
const int libsbmlcs.libsbml.InconsistentExponUnitsWarnings = 99504
const int libsbmlcs.libsbml.InconsistentKineticLawUnitsL3 = 10503
const int libsbmlcs.libsbml.InconsistentPowerUnitsWarnings = 99503
const int libsbmlcs.libsbml.IncorrectCompartmentSpatialDimensions = 99901
const int libsbmlcs.libsbml.IncorrectOrderInConstraint = 21002
const int libsbmlcs.libsbml.IncorrectOrderInEvent = 21205
const int libsbmlcs.libsbml.IncorrectOrderInKineticLaw = 21122
const int libsbmlcs.libsbml.IncorrectOrderInModel = 20202
const int libsbmlcs.libsbml.IncorrectOrderInReaction = 21102
const int libsbmlcs.libsbml.InitAssignCompartmenMismatch = 10521
const int libsbmlcs.libsbml.InitAssignmentAndRuleForSameId = 20803
const int libsbmlcs.libsbml.InitAssignParameterMismatch = 10523
const int libsbmlcs.libsbml.InitAssignSpeciesMismatch = 10522
const int libsbmlcs.libsbml.InitAssignStoichiometryMismatch = 10524
const int libsbmlcs.libsbml.InitialAssignNotValidComponent = 99913
const int libsbmlcs.libsbml.InitialValueFalseEventNotSupported = 92013
const int libsbmlcs.libsbml.InitialValueNotBoolean = 21229
const int libsbmlcs.libsbml.IntegerSpatialDimensions = 92009
const int libsbmlcs.libsbml.InternalXMLParserError = 101
const int libsbmlcs.libsbml.Invalid1DCompartmentUnits = 20507
const int libsbmlcs.libsbml.Invalid2DCompartmentUnits = 20508
const int libsbmlcs.libsbml.Invalid3DCompartmentUnits = 20509
const int libsbmlcs.libsbml.InvalidAfterXMLContent = 1029
const int libsbmlcs.libsbml.InvalidApplyCiInLambda = 20302
const int libsbmlcs.libsbml.InvalidAreaRedefinition = 20404
const int libsbmlcs.libsbml.InvalidAssignRuleVariable = 20901
const int libsbmlcs.libsbml.InvalidCharInXML = 1005
const int libsbmlcs.libsbml.InvalidCiInLambda = 20304
const int libsbmlcs.libsbml.InvalidCompartmentSBOTerm = 10712
const int libsbmlcs.libsbml.InvalidCompartmentTypeRef = 20510
const int libsbmlcs.libsbml.InvalidCompartmentTypeSBOTerm = 10714
const int libsbmlcs.libsbml.InvalidConstraintContent = 21006
const int libsbmlcs.libsbml.InvalidConstraintSBOTerm = 10706
const int libsbmlcs.libsbml.InvalidDelaySBOTerm = 10717
const int libsbmlcs.libsbml.InvalidEventAssignmentSBOTerm = 10711
const int libsbmlcs.libsbml.InvalidEventAssignmentVariable = 21211
const int libsbmlcs.libsbml.InvalidEventSBOTerm = 10710
const int libsbmlcs.libsbml.InvalidFunctionDefReturnType = 20305
const int libsbmlcs.libsbml.InvalidFunctionDefSBOTerm = 10702
const int libsbmlcs.libsbml.InvalidIdSyntax = 10310
const int libsbmlcs.libsbml.InvalidInitAssignSBOTerm = 10704
const int libsbmlcs.libsbml.InvalidInitAssignSymbol = 20801
const int libsbmlcs.libsbml.InvalidKineticLawSBOTerm = 10709
const int libsbmlcs.libsbml.InvalidL1CompartmentUnits = 99906
const int libsbmlcs.libsbml.InvalidLengthRedefinition = 20403
const int libsbmlcs.libsbml.InvalidMathElement = 10201
const int libsbmlcs.libsbml.InvalidMetaidSyntax = 10309
const int libsbmlcs.libsbml.InvalidModelSBOTerm = 10701
const int libsbmlcs.libsbml.InvalidModifiersList = 21105
const int libsbmlcs.libsbml.InvalidNamespaceOnSBML = 20101
const int libsbmlcs.libsbml.InvalidNameSyntax = 10312
const int libsbmlcs.libsbml.InvalidNoArgsPassedToFunctionDef = 10219
const int libsbmlcs.libsbml.InvalidNotesContent = 10804
const int libsbmlcs.libsbml.InvalidParameterSBOTerm = 10703
const int libsbmlcs.libsbml.InvalidParameterUnits = 20701
const int libsbmlcs.libsbml.InvalidRateRuleVariable = 20902
const int libsbmlcs.libsbml.InvalidReactantsProductsList = 21104
const int libsbmlcs.libsbml.InvalidReactionSBOTerm = 10707
const int libsbmlcs.libsbml.InvalidRuleOrdering = 99106
const int libsbmlcs.libsbml.InvalidRuleSBOTerm = 10705
const int libsbmlcs.libsbml.InvalidSBMLLevelVersion = 99101
const int libsbmlcs.libsbml.InvalidSBOTermSyntax = 10308
const int libsbmlcs.libsbml.InvalidSpeciesCompartmentRef = 20601
const int libsbmlcs.libsbml.InvalidSpeciesReference = 21111
const int libsbmlcs.libsbml.InvalidSpeciesReferenceSBOTerm = 10708
const int libsbmlcs.libsbml.InvalidSpeciesSBOTerm = 10713
const int libsbmlcs.libsbml.InvalidSpeciesSusbstanceUnits = 20608
const int libsbmlcs.libsbml.InvalidSpeciesTypeRef = 20612
const int libsbmlcs.libsbml.InvalidSpeciesTypeSBOTerm = 10715
const int libsbmlcs.libsbml.InvalidSubstanceRedefinition = 20402
const int libsbmlcs.libsbml.InvalidTargetLevelVersion = 99997
const int libsbmlcs.libsbml.InvalidTimeRedefinition = 20405
const int libsbmlcs.libsbml.InvalidTriggerSBOTerm = 10716
const int libsbmlcs.libsbml.InvalidUnitDefId = 20401
const int libsbmlcs.libsbml.InvalidUnitIdSyntax = 10311
const int libsbmlcs.libsbml.InvalidUnitKind = 20410
const int libsbmlcs.libsbml.InvalidUnitsValue = 10221
const int libsbmlcs.libsbml.InvalidVolumeRedefinition = 20406
const int libsbmlcs.libsbml.InvalidXMLConstruct = 1008
const int libsbmlcs.libsbml.KineticLawNotSubstancePerTime = 10541
const int libsbmlcs.libsbml.KineticLawParametersAreLocalOnly = 10216
const int libsbmlcs.libsbml.L1V1CompartmentVolumeReqd = 99907
const int libsbmlcs.libsbml.L3AreaUnitsOnModel = 20219
const int libsbmlcs.libsbml.L3ConversionFactorOnModel = 20216
const int libsbmlcs.libsbml.L3ExtentUnitsOnModel = 20221
const int libsbmlcs.libsbml.L3LengthUnitsOnModel = 20220
const int libsbmlcs.libsbml.L3NotSchemaConformant = 10104
const int libsbmlcs.libsbml.L3NotSupported = 99998
const bool libsbmlcs.libsbml.L3P_AVOGADRO_IS_CSYMBOL = true
const bool libsbmlcs.libsbml.L3P_AVOGADRO_IS_NAME = false
const bool libsbmlcs.libsbml.L3P_COLLAPSE_UNARY_MINUS = true
const bool libsbmlcs.libsbml.L3P_EXPAND_UNARY_MINUS = false
const bool libsbmlcs.libsbml.L3P_NO_UNITS = false
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_ERROR = 2
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_LN = 1
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_LOG10 = 0
const bool libsbmlcs.libsbml.L3P_PARSE_UNITS = true
const int libsbmlcs.libsbml.L3PackageOnLowerSBML = 20109
const int libsbmlcs.libsbml.L3SpatialDimensionsUnset = 99926
const int libsbmlcs.libsbml.L3SubstanceUnitsOnModel = 99130
const int libsbmlcs.libsbml.L3TimeUnitsOnModel = 20217
const int libsbmlcs.libsbml.L3VolumeUnitsOnModel = 20218
const int libsbmlcs.libsbml.LambdaOnlyAllowedInFunctionDef = 10208
const int libsbmlcs.libsbml.LevelPositiveInteger = 20105
const int libsbmlcs.libsbml.LIBSBML_ANNOTATION_NAME_NOT_FOUND = -12
const int libsbmlcs.libsbml.LIBSBML_ANNOTATION_NS_NOT_FOUND = -13
const int libsbmlcs.libsbml.LIBSBML_CAT_GENERAL_CONSISTENCY = LIBSBML_CAT_SBML_L2V2_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_IDENTIFIER_CONSISTENCY = LIBSBML_CAT_GENERAL_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_INTERNAL = 0
const int libsbmlcs.libsbml.LIBSBML_CAT_INTERNAL_CONSISTENCY = LIBSBML_CAT_MODELING_PRACTICE + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_MATHML_CONSISTENCY = LIBSBML_CAT_UNITS_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_MODELING_PRACTICE = LIBSBML_CAT_SBML_L2V3_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_OVERDETERMINED_MODEL = LIBSBML_CAT_SBO_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML = (LIBSBML_CAT_XML+1)
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L1_COMPAT = LIBSBML_CAT_SBML + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V1_COMPAT = LIBSBML_CAT_SBML_L1_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V2_COMPAT = LIBSBML_CAT_SBML_L2V1_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V3_COMPAT = LIBSBML_CAT_OVERDETERMINED_MODEL + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V4_COMPAT = LIBSBML_CAT_INTERNAL_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L3V1_COMPAT = LIBSBML_CAT_SBML_L2V4_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBO_CONSISTENCY = LIBSBML_CAT_MATHML_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SYSTEM = LIBSBML_CAT_INTERNAL + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_UNITS_CONSISTENCY = LIBSBML_CAT_IDENTIFIER_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_XML = LIBSBML_CAT_SYSTEM + 1
const int libsbmlcs.libsbml.LIBSBML_CONV_CONVERSION_NOT_AVAILABLE = -33
const int libsbmlcs.libsbml.LIBSBML_CONV_INVALID_SRC_DOCUMENT = -32
const int libsbmlcs.libsbml.LIBSBML_CONV_INVALID_TARGET_NAMESPACE = -30
const int libsbmlcs.libsbml.LIBSBML_CONV_PKG_CONSIDERED_UNKNOWN = -34
const int libsbmlcs.libsbml.LIBSBML_CONV_PKG_CONVERSION_NOT_AVAILABLE = -31
const string libsbmlcs.libsbml.LIBSBML_DOTTED_VERSION = "5.8.0"
const int libsbmlcs.libsbml.LIBSBML_DUPLICATE_ANNOTATION_NS = -11
const int libsbmlcs.libsbml.LIBSBML_DUPLICATE_OBJECT_ID = -6
const int libsbmlcs.libsbml.LIBSBML_INDEX_EXCEEDS_SIZE = -1
const int libsbmlcs.libsbml.LIBSBML_INVALID_ATTRIBUTE_VALUE = -4
const int libsbmlcs.libsbml.LIBSBML_INVALID_OBJECT = -5
const int libsbmlcs.libsbml.LIBSBML_INVALID_XML_OPERATION = -9
const int libsbmlcs.libsbml.LIBSBML_LEVEL_MISMATCH = -7
const int libsbmlcs.libsbml.LIBSBML_NAMESPACES_MISMATCH = -10
const int libsbmlcs.libsbml.LIBSBML_OPERATION_FAILED = -3
const int libsbmlcs.libsbml.LIBSBML_OPERATION_SUCCESS = 0
const int libsbmlcs.libsbml.LIBSBML_PKG_CONFLICT = -25
const int libsbmlcs.libsbml.LIBSBML_PKG_CONFLICTED_VERSION = -24
const int libsbmlcs.libsbml.LIBSBML_PKG_DISABLED = -23
const int libsbmlcs.libsbml.LIBSBML_PKG_UNKNOWN = -21
const int libsbmlcs.libsbml.LIBSBML_PKG_UNKNOWN_VERSION = -22
const int libsbmlcs.libsbml.LIBSBML_PKG_VERSION_MISMATCH = -20
const int libsbmlcs.libsbml.LIBSBML_SEV_ERROR = LIBSBML_SEV_WARNING + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_FATAL = LIBSBML_SEV_ERROR + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_GENERAL_WARNING = LIBSBML_SEV_SCHEMA_ERROR + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_INFO = 0
const int libsbmlcs.libsbml.LIBSBML_SEV_NOT_APPLICABLE = LIBSBML_SEV_GENERAL_WARNING + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_SCHEMA_ERROR = (LIBSBML_SEV_FATAL+1)
const int libsbmlcs.libsbml.LIBSBML_SEV_WARNING = LIBSBML_SEV_INFO + 1
const int libsbmlcs.libsbml.LIBSBML_UNEXPECTED_ATTRIBUTE = -2
const int libsbmlcs.libsbml.LIBSBML_VERSION = 50800
const int libsbmlcs.libsbml.LIBSBML_VERSION_MISMATCH = -8
const string libsbmlcs.libsbml.LIBSBML_VERSION_STRING = "50800"
const int libsbmlcs.libsbml.LibSBMLAdditionalCodesLowerBound = 90000
const int libsbmlcs.libsbml.LocalParameterShadowsId = 81121
const int libsbmlcs.libsbml.MathCheckOFF = 0xf7
const int libsbmlcs.libsbml.MathCheckON = 0x08
const int libsbmlcs.libsbml.MathResultMustBeNumeric = 10217
const int libsbmlcs.libsbml.MetaIdNotValidAttribute = 99904
const int libsbmlcs.libsbml.MissingAnnotationNamespace = 10401
const int libsbmlcs.libsbml.MissingEventAssignment = 21203
const int libsbmlcs.libsbml.MissingModel = 20201
const int libsbmlcs.libsbml.MissingOrInconsistentLevel = 20102
const int libsbmlcs.libsbml.MissingOrInconsistentVersion = 20103
const int libsbmlcs.libsbml.MissingSpeciesCompartment = 20614
const int libsbmlcs.libsbml.MissingTriggerInEvent = 21201
const int libsbmlcs.libsbml.MissingXMLAttributeValue = 1018
const int libsbmlcs.libsbml.MissingXMLDecl = 1001
const int libsbmlcs.libsbml.MissingXMLElements = 1034
const int libsbmlcs.libsbml.MissingXMLEncoding = 1002
const int libsbmlcs.libsbml.MissingXMLRequiredAttribute = 1015
const int libsbmlcs.libsbml.MODEL_QUALIFIER = 0
const int libsbmlcs.libsbml.ModelSBOBranchChangedBeyondL2v2 = 93006
const int libsbmlcs.libsbml.ModelSBOBranchChangedBeyondL2v3 = 94007
const int libsbmlcs.libsbml.ModelSBOBranchChangedInL2v4 = 95006
const int libsbmlcs.libsbml.ModelSBOBranchChangedInL3v1 = 96008
const int libsbmlcs.libsbml.MultipleAnnotations = 10404
const int libsbmlcs.libsbml.MultipleAssignmentOrRateRules = 10304
const int libsbmlcs.libsbml.MultipleEventAssignmentsForId = 10305
const int libsbmlcs.libsbml.MultipleInitAssignments = 20802
const int libsbmlcs.libsbml.MultiplierNotValidAttribute = 99924
const int libsbmlcs.libsbml.MultSpeciesSameTypeInCompartment = 20613
const int libsbmlcs.libsbml.NameNotValidAttribute = 99921
const int libsbmlcs.libsbml.NeedCompartmentIfHaveSpecies = 20204
const int libsbmlcs.libsbml.NoBodyInFunctionDef = 99302
const int libsbmlcs.libsbml.NoCompartmentOutsideInL3v1 = 96010
const int libsbmlcs.libsbml.NoCompartmentTypeInL1 = 91006
const int libsbmlcs.libsbml.NoCompartmentTypeInL2v1 = 92004
const int libsbmlcs.libsbml.NoCompartmentTypeInL3v1 = 96002
const int libsbmlcs.libsbml.NoConcentrationInZeroD = 20604
const int libsbmlcs.libsbml.NoConstraintsInL1 = 91003
const int libsbmlcs.libsbml.NoConstraintsInL2v1 = 92001
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v1 = 92007
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v2 = 93005
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v3 = 94006
const int libsbmlcs.libsbml.NoEventsInL1 = 91001
const int libsbmlcs.libsbml.NoEventTimeUnitsInL2v3 = 94005
const int libsbmlcs.libsbml.NoEventTimeUnitsInL2v4 = 95005
const int libsbmlcs.libsbml.NoEventTimeUnitsInL3v1 = 96007
const int libsbmlcs.libsbml.NoFancyStoichiometryMathInL1 = 91008
const int libsbmlcs.libsbml.NoFunctionDefinitionsInL1 = 91002
const int libsbmlcs.libsbml.NoIdOnSpeciesReferenceInL2v1 = 92006
const int libsbmlcs.libsbml.NoInitialAssignmentsInL1 = 91004
const int libsbmlcs.libsbml.NoInitialAssignmentsInL2v1 = 92002
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v2 = 93004
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v3 = 94003
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v4 = 95003
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL3v1 = 96005
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v2 = 93003
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v3 = 94002
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v4 = 95002
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL3v1 = 96004
const int libsbmlcs.libsbml.NonBoundarySpeciesAssignedAndUsed = 20610
const int libsbmlcs.libsbml.NonConstantLocalParameter = 21124
const int libsbmlcs.libsbml.NonConstantSpeciesUsed = 20611
const int libsbmlcs.libsbml.NoNon3DCompartmentsInL1 = 91007
const int libsbmlcs.libsbml.NoNonIntegerStoichiometryInL1 = 91009
const int libsbmlcs.libsbml.NonPersistentNotSupported = 92012
const int libsbmlcs.libsbml.NoReactantsOrProducts = 21101
const int libsbmlcs.libsbml.NoSBOTermsInL1 = 91013
const int libsbmlcs.libsbml.NoSBOTermsInL2v1 = 92005
const int libsbmlcs.libsbml.NoSpatialUnitsInZeroD = 20603
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL1 = 91012
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL2v3 = 94004
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL2v4 = 95004
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL3v1 = 96006
const int libsbmlcs.libsbml.NoSpeciesTypeInL2v1 = 92003
const int libsbmlcs.libsbml.NoSpeciesTypeInL3v1 = 96001
const int libsbmlcs.libsbml.NoSpeciesTypesInL1 = 91005
const int libsbmlcs.libsbml.NoStoichiometryMathInL3v1 = 96011
const int libsbmlcs.libsbml.NotesContainsDOCTYPE = 10803
const int libsbmlcs.libsbml.NotesContainsXMLDecl = 10802
const int libsbmlcs.libsbml.NotesNotInXHTMLNamespace = 10801
const int libsbmlcs.libsbml.NoTimeSymbolInFunctionDef = 99301
const int libsbmlcs.libsbml.NotSchemaConformant = 10103
const int libsbmlcs.libsbml.NotUTF8 = 10101
const int libsbmlcs.libsbml.NoUnitMultipliersOrOffsetsInL1 = 91010
const int libsbmlcs.libsbml.NoUnitOffsetInL2v2 = 93002
const int libsbmlcs.libsbml.NoUnitOffsetInL2v3 = 94001
const int libsbmlcs.libsbml.NoUnitOffsetInL2v4 = 95001
const int libsbmlcs.libsbml.NoUnitOffsetInL3v1 = 96003
const int libsbmlcs.libsbml.NoUnitsOnCompartment = 20518
const int libsbmlcs.libsbml.NumericOpsNeedNumericArgs = 10210
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_MAXIMIZE = 0
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_MINIMIZE = OBJECTIVE_TYPE_MAXIMIZE + 1
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_UNKNOWN = OBJECTIVE_TYPE_MINIMIZE + 1
const int libsbmlcs.libsbml.ObseleteSBOTerm = 99702
const int libsbmlcs.libsbml.OffsetNoLongerValid = 20411
const int libsbmlcs.libsbml.OffsetNotValidAttribute = 99925
const int libsbmlcs.libsbml.OneDimensionalCompartmentUnits = 20511
const int libsbmlcs.libsbml.OneListOfEventAssignmentsPerEvent = 21222
const int libsbmlcs.libsbml.OneListOfPerKineticLaw = 21127
const int libsbmlcs.libsbml.OneListOfUnitsPerUnitDef = 20414
const int libsbmlcs.libsbml.OneMathElementPerConstraint = 21007
const int libsbmlcs.libsbml.OneMathElementPerFunc = 20306
const int libsbmlcs.libsbml.OneMathElementPerInitialAssign = 20804
const int libsbmlcs.libsbml.OneMathElementPerRule = 20907
const int libsbmlcs.libsbml.OneMathPerDelay = 21210
const int libsbmlcs.libsbml.OneMathPerEventAssignment = 21213
const int libsbmlcs.libsbml.OneMathPerKineticLaw = 21130
const int libsbmlcs.libsbml.OneMathPerPriority = 21231
const int libsbmlcs.libsbml.OneMathPerTrigger = 21209
const int libsbmlcs.libsbml.OneMessageElementPerConstraint = 21008
const int libsbmlcs.libsbml.OneOfEachListOf = 20205
const int libsbmlcs.libsbml.OneSubElementPerReaction = 21106
const int libsbmlcs.libsbml.OnlyCompartmentsInListOfCompartments = 20208
const int libsbmlcs.libsbml.OnlyConstraintsInListOfConstraints = 20213
const int libsbmlcs.libsbml.OnlyEventAssignInListOfEventAssign = 21223
const int libsbmlcs.libsbml.OnlyEventsInListOfEvents = 20215
const int libsbmlcs.libsbml.OnlyFuncDefsInListOfFuncDefs = 20206
const int libsbmlcs.libsbml.OnlyInitAssignsInListOfInitAssigns = 20211
const int libsbmlcs.libsbml.OnlyLocalParamsInListOfLocalParams = 21128
const int libsbmlcs.libsbml.OnlyOneDelayPerEvent = 21221
const int libsbmlcs.libsbml.OnlyOneNotesElementAllowed = 10805
const int libsbmlcs.libsbml.OnlyOnePriorityPerEvent = 21230
const int libsbmlcs.libsbml.OnlyParametersInListOfParameters = 20210
const int libsbmlcs.libsbml.OnlyReactionsInListOfReactions = 20214
const int libsbmlcs.libsbml.OnlyRulesInListOfRules = 20212
const int libsbmlcs.libsbml.OnlySpeciesInListOfSpecies = 20209
const int libsbmlcs.libsbml.OnlyUnitDefsInListOfUnitDefs = 20207
const int libsbmlcs.libsbml.OnlyUnitsInListOfUnits = 20415
const int libsbmlcs.libsbml.OpsNeedCorrectNumberOfArgs = 10218
const int libsbmlcs.libsbml.OR_ASSOCIATION = 2
const int libsbmlcs.libsbml.OverdeterCheckOFF = 0xdf
const int libsbmlcs.libsbml.OverdeterCheckON = 0x20
const int libsbmlcs.libsbml.OverdeterminedSystem = 10601
const int libsbmlcs.libsbml.PackageConversionNotSupported = 99996
const int libsbmlcs.libsbml.PackageNSMustMatch = 20104
const int libsbmlcs.libsbml.PackageRequiredShouldBeFalse = 99109
const int libsbmlcs.libsbml.ParameterShouldHaveUnits = 80701
const int libsbmlcs.libsbml.ParameterUnits = 20702
const int libsbmlcs.libsbml.PersistentNotBoolean = 21228
const int libsbmlcs.libsbml.PieceNeedsBoolean = 10213
const int libsbmlcs.libsbml.PiecewiseNeedsConsistentTypes = 10212
const int libsbmlcs.libsbml.PracticeCheckOFF = 0xbf
const int libsbmlcs.libsbml.PracticeCheckON = 0x40
const int libsbmlcs.libsbml.PriorityLostFromL3 = 92011
const int libsbmlcs.libsbml.PriorityUnitsNotDimensionless = 10565
const int libsbmlcs.libsbml.RateRuleCompartmentMismatch = 10531
const int libsbmlcs.libsbml.RateRuleForConstantEntity = 20904
const int libsbmlcs.libsbml.RateRuleParameterMismatch = 10533
const int libsbmlcs.libsbml.RateRuleSpeciesMismatch = 10532
const int libsbmlcs.libsbml.RateRuleStoichiometryMismatch = 10534
const int libsbmlcs.libsbml.RDFAboutTagNotMetaid = 99403
const int libsbmlcs.libsbml.RDFEmptyAboutTag = 99402
const int libsbmlcs.libsbml.RDFMissingAboutTag = 99401
const int libsbmlcs.libsbml.RDFNotCompleteModelHistory = 99404
const int libsbmlcs.libsbml.RDFNotModelHistory = 99405
const int libsbmlcs.libsbml.RecursiveCompartmentContainment = 20505
const int libsbmlcs.libsbml.RecursiveFunctionDefinition = 20303
const int libsbmlcs.libsbml.RepeatedRule10304 = 20905
const int libsbmlcs.libsbml.RepeatedRule20611 = 21112
const int libsbmlcs.libsbml.RequiredPackagePresent = 99107
const int libsbmlcs.libsbml.RULE_TYPE_INVALID = RULE_TYPE_SCALAR + 1
const int libsbmlcs.libsbml.RULE_TYPE_RATE = 0
const int libsbmlcs.libsbml.RULE_TYPE_SCALAR = RULE_TYPE_RATE + 1
const int libsbmlcs.libsbml.SBML_ALGEBRAIC_RULE = 21
const int libsbmlcs.libsbml.SBML_ASSIGNMENT_RULE = 22
const int libsbmlcs.libsbml.SBML_COMP_DELETION = 254
const int libsbmlcs.libsbml.SBML_COMP_EXTERNALMODELDEFINITION = 252
const int libsbmlcs.libsbml.SBML_COMP_MODELDEFINITION = 251
const int libsbmlcs.libsbml.SBML_COMP_PORT = 257
const int libsbmlcs.libsbml.SBML_COMP_REPLACEDBY = 256
const int libsbmlcs.libsbml.SBML_COMP_REPLACEDELEMENT = 255
const int libsbmlcs.libsbml.SBML_COMP_SBASEREF = 253
const int libsbmlcs.libsbml.SBML_COMP_SUBMODEL = 250
const int libsbmlcs.libsbml.SBML_COMPARTMENT = 1
const int libsbmlcs.libsbml.SBML_COMPARTMENT_TYPE = 2
const int libsbmlcs.libsbml.SBML_COMPARTMENT_VOLUME_RULE = 25
const int libsbmlcs.libsbml.SBML_CONSTRAINT = 3
const int libsbmlcs.libsbml.SBML_DELAY = 28
const int libsbmlcs.libsbml.SBML_DOCUMENT = 4
const int libsbmlcs.libsbml.SBML_EVENT = 5
const int libsbmlcs.libsbml.SBML_EVENT_ASSIGNMENT = 6
const int libsbmlcs.libsbml.SBML_FBC_ASSOCIATION = 800
const int libsbmlcs.libsbml.SBML_FBC_FLUXBOUND = 801
const int libsbmlcs.libsbml.SBML_FBC_FLUXOBJECTIVE = 802
const int libsbmlcs.libsbml.SBML_FBC_GENEASSOCIATION = 803
const int libsbmlcs.libsbml.SBML_FBC_OBJECTIVE = 804
const int libsbmlcs.libsbml.SBML_FUNCTION_DEFINITION = 7
const int libsbmlcs.libsbml.SBML_INITIAL_ASSIGNMENT = 8
const int libsbmlcs.libsbml.SBML_KINETIC_LAW = 9
const int libsbmlcs.libsbml.SBML_LAYOUT_BOUNDINGBOX = 100
const int libsbmlcs.libsbml.SBML_LAYOUT_COMPARTMENTGLYPH = 101
const int libsbmlcs.libsbml.SBML_LAYOUT_CUBICBEZIER = 102
const int libsbmlcs.libsbml.SBML_LAYOUT_CURVE = 103
const int libsbmlcs.libsbml.SBML_LAYOUT_DIMENSIONS = 104
const int libsbmlcs.libsbml.SBML_LAYOUT_GENERALGLYPH = 114
const int libsbmlcs.libsbml.SBML_LAYOUT_GRAPHICALOBJECT = 105
const int libsbmlcs.libsbml.SBML_LAYOUT_LAYOUT = 106
const int libsbmlcs.libsbml.SBML_LAYOUT_LINESEGMENT = 107
const int libsbmlcs.libsbml.SBML_LAYOUT_POINT = 108
const int libsbmlcs.libsbml.SBML_LAYOUT_REACTIONGLYPH = 109
const int libsbmlcs.libsbml.SBML_LAYOUT_REFERENCEGLYPH = 113
const int libsbmlcs.libsbml.SBML_LAYOUT_SPECIESGLYPH = 110
const int libsbmlcs.libsbml.SBML_LAYOUT_SPECIESREFERENCEGLYPH = 111
const int libsbmlcs.libsbml.SBML_LAYOUT_TEXTGLYPH = 112
const int libsbmlcs.libsbml.SBML_LIST_OF = 10
const int libsbmlcs.libsbml.SBML_LOCAL_PARAMETER = 30
const int libsbmlcs.libsbml.SBML_MODEL = 11
const int libsbmlcs.libsbml.SBML_MODIFIER_SPECIES_REFERENCE = 18
const int libsbmlcs.libsbml.SBML_PARAMETER = 12
const int libsbmlcs.libsbml.SBML_PARAMETER_RULE = 26
const int libsbmlcs.libsbml.SBML_PRIORITY = 31
const int libsbmlcs.libsbml.SBML_RATE_RULE = 23
const int libsbmlcs.libsbml.SBML_REACTION = 13
const int libsbmlcs.libsbml.SBML_RULE = 14
const int libsbmlcs.libsbml.SBML_SPECIES = 15
const int libsbmlcs.libsbml.SBML_SPECIES_CONCENTRATION_RULE = 24
const int libsbmlcs.libsbml.SBML_SPECIES_REFERENCE = 16
const int libsbmlcs.libsbml.SBML_SPECIES_TYPE = 17
const int libsbmlcs.libsbml.SBML_STOICHIOMETRY_MATH = 29
const int libsbmlcs.libsbml.SBML_TRIGGER = 27
const int libsbmlcs.libsbml.SBML_UNIT = 20
const int libsbmlcs.libsbml.SBML_UNIT_DEFINITION = 19
const int libsbmlcs.libsbml.SBML_UNKNOWN = 0
const int libsbmlcs.libsbml.SBMLCheckOFF = 0xfd
const int libsbmlcs.libsbml.SBMLCheckON = 0x02
const int libsbmlcs.libsbml.SBMLCodesUpperBound = 99999
const int libsbmlcs.libsbml.SBMLNamespaceInAnnotation = 10403
const int libsbmlcs.libsbml.SBOCheckOFF = 0xfb
const int libsbmlcs.libsbml.SBOCheckON = 0x04
const int libsbmlcs.libsbml.SBOTermNotUniversalInL2v2 = 93001
const int libsbmlcs.libsbml.SBOTermNotValidAttributeBeforeL2V2 = 99911
const int libsbmlcs.libsbml.SBOTermNotValidAttributeBeforeL2V3 = 99905
const int libsbmlcs.libsbml.SpatialSizeUnitsNotValidAttribute = 99917
const int libsbmlcs.libsbml.SpatialSizeUnitsRemoved = 20615
const int libsbmlcs.libsbml.SpatialUnitsInOneD = 20605
const int libsbmlcs.libsbml.SpatialUnitsInThreeD = 20607
const int libsbmlcs.libsbml.SpatialUnitsInTwoD = 20606
const int libsbmlcs.libsbml.SPECIES_ROLE_ACTIVATOR = SPECIES_ROLE_MODIFIER + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_INHIBITOR = SPECIES_ROLE_ACTIVATOR + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_MODIFIER = SPECIES_ROLE_SIDEPRODUCT + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_PRODUCT = SPECIES_ROLE_SUBSTRATE + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SIDEPRODUCT = SPECIES_ROLE_SIDESUBSTRATE + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SIDESUBSTRATE = SPECIES_ROLE_PRODUCT + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SUBSTRATE = SPECIES_ROLE_UNDEFINED + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_UNDEFINED = 0
const int libsbmlcs.libsbml.SpeciesCompartmentRequiredInL1 = 91011
const int libsbmlcs.libsbml.SpeciesInvalidExtentUnits = 10542
const int libsbmlcs.libsbml.SpeciesShouldHaveValue = 80601
const int libsbmlcs.libsbml.SpeciesTypeNotValidAttribute = 99918
const int libsbmlcs.libsbml.SpeciesTypeNotValidComponent = 99922
const int libsbmlcs.libsbml.StoichiometryMathNotValidComponent = 99923
const int libsbmlcs.libsbml.StoichiometryMathNotYetSupported = 92010
const int libsbmlcs.libsbml.StrictSBORequiredInL2v2 = 93008
const int libsbmlcs.libsbml.StrictSBORequiredInL2v3 = 94009
const int libsbmlcs.libsbml.StrictUnitsRequiredInL1 = 91014
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v1 = 92008
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v2 = 93007
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v3 = 94008
const int libsbmlcs.libsbml.SubstanceUnitsOnSpecies = 20616
const int libsbmlcs.libsbml.SubsUnitsAllowedInKL = 99127
const int libsbmlcs.libsbml.SubsUnitsNoLongerValid = 21125
const int libsbmlcs.libsbml.ThreeDimensionalCompartmentUnits = 20513
const int libsbmlcs.libsbml.TimeUnitsAllowedInKL = 99128
const int libsbmlcs.libsbml.TimeUnitsEvent = 21204
const int libsbmlcs.libsbml.TimeUnitsNoLongerValid = 21126
const int libsbmlcs.libsbml.TimeUnitsRemoved = 99206
const int libsbmlcs.libsbml.TriggerMathNotBoolean = 21202
const int libsbmlcs.libsbml.TwoDimensionalCompartmentUnits = 20512
const int libsbmlcs.libsbml.UnclosedXMLToken = 1007
const int libsbmlcs.libsbml.UndeclaredExtentUnitsL3 = 99507
const int libsbmlcs.libsbml.UndeclaredObjectUnitsL3 = 99508
const int libsbmlcs.libsbml.UndeclaredSpeciesInStoichMath = 21131
const int libsbmlcs.libsbml.UndeclaredSpeciesRef = 21121
const int libsbmlcs.libsbml.UndeclaredTimeUnitsL3 = 99506
const int libsbmlcs.libsbml.UndeclaredUnits = 99505
const int libsbmlcs.libsbml.UndefinedOutsideCompartment = 20504
const int libsbmlcs.libsbml.UndefinedXMLEntity = 1011
const int libsbmlcs.libsbml.UninterpretableXMLContent = 1027
const int libsbmlcs.libsbml.UNIT_KIND_AMPERE = 0
const int libsbmlcs.libsbml.UNIT_KIND_AVOGADRO = UNIT_KIND_AMPERE + 1
const int libsbmlcs.libsbml.UNIT_KIND_BECQUEREL = UNIT_KIND_AVOGADRO + 1
const int libsbmlcs.libsbml.UNIT_KIND_CANDELA = UNIT_KIND_BECQUEREL + 1
const int libsbmlcs.libsbml.UNIT_KIND_CELSIUS = UNIT_KIND_CANDELA + 1
const int libsbmlcs.libsbml.UNIT_KIND_COULOMB = UNIT_KIND_CELSIUS + 1
const int libsbmlcs.libsbml.UNIT_KIND_DIMENSIONLESS = UNIT_KIND_COULOMB + 1
const int libsbmlcs.libsbml.UNIT_KIND_FARAD = UNIT_KIND_DIMENSIONLESS + 1
const int libsbmlcs.libsbml.UNIT_KIND_GRAM = UNIT_KIND_FARAD + 1
const int libsbmlcs.libsbml.UNIT_KIND_GRAY = UNIT_KIND_GRAM + 1
const int libsbmlcs.libsbml.UNIT_KIND_HENRY = UNIT_KIND_GRAY + 1
const int libsbmlcs.libsbml.UNIT_KIND_HERTZ = UNIT_KIND_HENRY + 1
const int libsbmlcs.libsbml.UNIT_KIND_INVALID = UNIT_KIND_WEBER + 1
const int libsbmlcs.libsbml.UNIT_KIND_ITEM = UNIT_KIND_HERTZ + 1
const int libsbmlcs.libsbml.UNIT_KIND_JOULE = UNIT_KIND_ITEM + 1
const int libsbmlcs.libsbml.UNIT_KIND_KATAL = UNIT_KIND_JOULE + 1
const int libsbmlcs.libsbml.UNIT_KIND_KELVIN = UNIT_KIND_KATAL + 1
const int libsbmlcs.libsbml.UNIT_KIND_KILOGRAM = UNIT_KIND_KELVIN + 1
const int libsbmlcs.libsbml.UNIT_KIND_LITER = UNIT_KIND_KILOGRAM + 1
const int libsbmlcs.libsbml.UNIT_KIND_LITRE = UNIT_KIND_LITER + 1
const int libsbmlcs.libsbml.UNIT_KIND_LUMEN = UNIT_KIND_LITRE + 1
const int libsbmlcs.libsbml.UNIT_KIND_LUX = UNIT_KIND_LUMEN + 1
const int libsbmlcs.libsbml.UNIT_KIND_METER = UNIT_KIND_LUX + 1
const int libsbmlcs.libsbml.UNIT_KIND_METRE = UNIT_KIND_METER + 1
const int libsbmlcs.libsbml.UNIT_KIND_MOLE = UNIT_KIND_METRE + 1
const int libsbmlcs.libsbml.UNIT_KIND_NEWTON = UNIT_KIND_MOLE + 1
const int libsbmlcs.libsbml.UNIT_KIND_OHM = UNIT_KIND_NEWTON + 1
const int libsbmlcs.libsbml.UNIT_KIND_PASCAL = UNIT_KIND_OHM + 1
const int libsbmlcs.libsbml.UNIT_KIND_RADIAN = UNIT_KIND_PASCAL + 1
const int libsbmlcs.libsbml.UNIT_KIND_SECOND = UNIT_KIND_RADIAN + 1
const int libsbmlcs.libsbml.UNIT_KIND_SIEMENS = UNIT_KIND_SECOND + 1
const int libsbmlcs.libsbml.UNIT_KIND_SIEVERT = UNIT_KIND_SIEMENS + 1
const int libsbmlcs.libsbml.UNIT_KIND_STERADIAN = UNIT_KIND_SIEVERT + 1
const int libsbmlcs.libsbml.UNIT_KIND_TESLA = UNIT_KIND_STERADIAN + 1
const int libsbmlcs.libsbml.UNIT_KIND_VOLT = UNIT_KIND_TESLA + 1
const int libsbmlcs.libsbml.UNIT_KIND_WATT = UNIT_KIND_VOLT + 1
const int libsbmlcs.libsbml.UNIT_KIND_WEBER = UNIT_KIND_WATT + 1
const int libsbmlcs.libsbml.UnitsCheckOFF = 0xef
const int libsbmlcs.libsbml.UnitsCheckON = 0x10
const int libsbmlcs.libsbml.UnitsNotValidAttribute = 99915
const int libsbmlcs.libsbml.UNKNOWN_ASSOCIATION = 3
const int libsbmlcs.libsbml.UNKNOWN_QUALIFIER = BIOLOGICAL_QUALIFIER + 1
const int libsbmlcs.libsbml.UnknownCoreAttribute = 99994
const int libsbmlcs.libsbml.UnknownError = 10000
const int libsbmlcs.libsbml.UnknownPackageAttribute = 99995
const int libsbmlcs.libsbml.UnrecognisedSBOTerm = 99701
const int libsbmlcs.libsbml.UnrecognizedElement = 10102
const int libsbmlcs.libsbml.UnrecognizedXMLElement = 1021
const int libsbmlcs.libsbml.UnrecognizedXMLParserCode = 102
const int libsbmlcs.libsbml.UnrequiredPackagePresent = 99108
const int libsbmlcs.libsbml.UpperUnitBound = 10599
const int libsbmlcs.libsbml.ValuesFromTriggerTimeNeedDelay = 21206
const int libsbmlcs.libsbml.VariableNotValidAttribute = 99914
const int libsbmlcs.libsbml.VersionPositiveInteger = 20106
const int libsbmlcs.libsbml.VolumeLitreDefExponentNotOne = 20407
const int libsbmlcs.libsbml.VolumeMetreDefExponentNot3 = 20408
const int libsbmlcs.libsbml.XMLAttributeTypeMismatch = 1016
const int libsbmlcs.libsbml.XMLBadColon = 1033
const int libsbmlcs.libsbml.XMLBadNumber = 1032
const int libsbmlcs.libsbml.XMLBadUTF8Content = 1017
const int libsbmlcs.libsbml.XMLContentEmpty = 1035
const int libsbmlcs.libsbml.XMLEmptyValueNotPermitted = 1031
const int libsbmlcs.libsbml.XMLErrorCodesUpperBound = 9999
const int libsbmlcs.libsbml.XMLExpectedQuotedString = 1030
const int libsbmlcs.libsbml.XMLFileOperationError = 4
const int libsbmlcs.libsbml.XMLFileUnreadable = 2
const int libsbmlcs.libsbml.XMLFileUnwritable = 3
const int libsbmlcs.libsbml.XMLNetworkAccessError = 5
const int libsbmlcs.libsbml.XMLOutOfMemory = 1
const int libsbmlcs.libsbml.XMLTagMismatch = 1009
const int libsbmlcs.libsbml.XMLTranscoderError = 103
const int libsbmlcs.libsbml.XMLUnexpectedEOF = 1024
const int libsbmlcs.libsbml.XMLUnknownError = 0
const int libsbmlcs.libsbml.ZeroDCompartmentContainment = 20506
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentConst = 20503
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentSize = 20501
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentUnits = 20502