<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipselabs.mscript.computation.computationmodel/src"
    editDirectory="/org.eclipselabs.mscript.computation.computationmodel.edit/src"
    editorDirectory="/org.eclipselabs.mscript.computation.computationmodel.ui/src"
    modelPluginID="org.eclipselabs.mscript.computation.computationmodel" templateDirectory=""
    modelName="ComputationModel" editPluginClass="org.eclipselabs.mscript.computation.computationmodel.edit.ComputationModelEditPlugin"
    editorPluginClass="org.eclipselabs.mscript.computation.computationmodel.ui.ComputationModelUIPlugin"
    importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
    editPluginID="org.eclipselabs.mscript.computation.computationmodel.edit" editorPluginID="org.eclipselabs.mscript.computation.computationmodel.ui"
    usedGenPackages="../../org.eclipselabs.mscript.typesystem/model/TypeSystem.genmodel#//typesystem">
  <foreignModel>ComputationModel.ecore</foreignModel>
  <genPackages prefix="ComputationModel" basePackage="org.eclipselabs.mscript.computation"
      disposableProviderFactory="true" providerPackageSuffix="edit.provider" presentationPackageSuffix="ui.editor.presentation"
      multipleEditorPages="false" generateModelWizard="false" contentTypeIdentifier=""
      ecorePackage="ComputationModel.ecore#/">
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="ComputationModel.ecore#//FloatingPointFormatKind">
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Binary16"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Binary32"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Binary64"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Binary128"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Decimal32"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Decimal64"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FloatingPointFormatKind/Decimal128"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="ComputationModel.ecore#//FixedPointOperationKind">
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Construct"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Cast"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Add"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Subtract"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Multiply"/>
      <genEnumLiterals ecoreEnumLiteral="ComputationModel.ecore#//FixedPointOperationKind/Divide"/>
    </genEnums>
    <genClasses ecoreClass="ComputationModel.ecore#//FloatingPointFormat">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FloatingPointFormat/kind"/>
    </genClasses>
    <genClasses image="false" ecoreClass="ComputationModel.ecore#//NumberFormat"/>
    <genClasses ecoreClass="ComputationModel.ecore#//FixedPointFormat">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointFormat/integerLength"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointFormat/fractionLength"/>
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointFormat/wordSize"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//FixedPointFormat/operations"/>
      <genOperations ecoreOperation="ComputationModel.ecore#//FixedPointFormat/getOperation">
        <genParameters ecoreParameter="ComputationModel.ecore#//FixedPointFormat/getOperation/kind"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ComputationModel.ecore#//FixedPointOperation">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointOperation/kind"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointOperation/intermediateWordSize"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ComputationModel.ecore#//FixedPointOperation/saturate"/>
    </genClasses>
    <genClasses ecoreClass="ComputationModel.ecore#//ComputationModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//ComputationModel/numberFormats"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//ComputationModel/numberFormatMappings"/>
      <genOperations ecoreOperation="ComputationModel.ecore#//ComputationModel/getNumberFormat">
        <genParameters ecoreParameter="ComputationModel.ecore#//ComputationModel/getNumberFormat/dataType"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ComputationModel.ecore#//NumberFormatMapping">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//NumberFormatMapping/ownedDataType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//NumberFormatMapping/dataType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ComputationModel.ecore#//NumberFormatMapping/numberFormat"/>
    </genClasses>
  </genPackages>
</genmodel:GenModel>
