<s> from __future__ import print_function <EOL> from __future__ import unicode_literals <EOL> from __future__ import absolute_import <EOL> import sys , os <EOL> if os . path . join ( sys . path [ <NUM_LIT:0> ] [ : sys . path [ <NUM_LIT:0> ] . rfind ( os . sep ) ] , '<STR_LIT:..>' ) not in sys . path : <EOL> sys . path . append ( os . path . join ( sys . path [ <NUM_LIT:0> ] [ : sys . path [ <NUM_LIT:0> ] . rfind ( os . sep ) ] , '<STR_LIT:..>' ) ) <EOL> import pyeq2 <EOL> import numpy <EOL> numpy . seterr ( all = '<STR_LIT:ignore>' ) <EOL> import pyeq2 . Model_2D_BaseClass <EOL> def cppCodeGeneratorForLegendrePolynomials ( n , cosineFlag ) : <EOL> if cosineFlag : <EOL> x = '<STR_LIT>' <EOL> else : <EOL> x = '<STR_LIT>' <EOL> if n == <NUM_LIT:0> : <EOL> return "<STR_LIT:1.0>" <EOL> elif n == <NUM_LIT:1> : <EOL> return "<STR_LIT>" <EOL> elif n == <NUM_LIT:2> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" <EOL> elif n == <NUM_LIT:3> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT:)>" <EOL> elif n == <NUM_LIT:4> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" <EOL> elif n == <NUM_LIT:5> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT:)>" <EOL> elif n == <NUM_LIT:6> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" <EOL> elif n == <NUM_LIT:7> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT:)>" <EOL> elif n == <NUM_LIT:8> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" <EOL> elif n == <NUM_LIT:9> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT:)>" <EOL> elif n == <NUM_LIT:10> : <EOL> return "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" + x + "<STR_LIT>" <EOL> else : <EOL> raise Exception ( "<STR_LIT>" + str ( n ) + "<STR_LIT>" ) <EOL> class EighthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' , '<STR_LIT:i>' , '<STR_LIT>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:6> , <NUM_LIT:0> ] ) , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:7> , <NUM_LIT:0> ] ) , [ <NUM_LIT:7> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:8> , <NUM_LIT:0> ] ) , [ <NUM_LIT:8> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_6 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_7 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_8 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> h = inCoeffs [ <NUM_LIT:6> ] <EOL> i = inCoeffs [ <NUM_LIT:7> ] <EOL> j = inCoeffs [ <NUM_LIT:8> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> temp += h * LegendreX_6 <EOL> temp += i * LegendreX_7 <EOL> temp += j * LegendreX_8 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:6> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:7> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:8> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class FifthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class FourthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class GammaRayAngularDistributionDegreesA ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineDegreesX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:2> ] ) , [ <NUM_LIT:2> , <NUM_LIT:2> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> LegendreCosineDegreesX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> A0 = inCoeffs [ <NUM_LIT:0> ] <EOL> A2 = inCoeffs [ <NUM_LIT:1> ] <EOL> try : <EOL> temp = A0 + A2 * LegendreCosineDegreesX_2 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:2> ) + "<STR_LIT>" <EOL> return s <EOL> class GammaRayAngularDistributionDegreesB ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineDegreesX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:2> ] ) , [ <NUM_LIT:2> , <NUM_LIT:2> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineDegreesX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:2> ] ) , [ <NUM_LIT:4> , <NUM_LIT:2> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> LegendreCosineDegreesX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreCosineDegreesX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> A0 = inCoeffs [ <NUM_LIT:0> ] <EOL> A2 = inCoeffs [ <NUM_LIT:1> ] <EOL> A4 = inCoeffs [ <NUM_LIT:2> ] <EOL> try : <EOL> temp = A0 + A2 * LegendreCosineDegreesX_2 + A4 * LegendreCosineDegreesX_4 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:2> ) + "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:2> ) + "<STR_LIT>" <EOL> return s <EOL> class GammaRayAngularDistributionRadiansA ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineRadiansX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:1> ] ) , [ <NUM_LIT:2> , <NUM_LIT:1> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> LegendreCosineRadiansX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> A0 = inCoeffs [ <NUM_LIT:0> ] <EOL> A2 = inCoeffs [ <NUM_LIT:1> ] <EOL> try : <EOL> temp = A0 + A2 * LegendreCosineRadiansX_2 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:1> ) + "<STR_LIT>" <EOL> return s <EOL> class GammaRayAngularDistributionRadiansB ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineRadiansX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:1> ] ) , [ <NUM_LIT:2> , <NUM_LIT:1> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreCosineRadiansX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:1> ] ) , [ <NUM_LIT:4> , <NUM_LIT:1> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> LegendreCosineRadiansX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreCosineRadiansX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> A0 = inCoeffs [ <NUM_LIT:0> ] <EOL> A2 = inCoeffs [ <NUM_LIT:1> ] <EOL> A4 = inCoeffs [ <NUM_LIT:2> ] <EOL> try : <EOL> temp = A0 + A2 * LegendreCosineRadiansX_2 + A4 * LegendreCosineRadiansX_4 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:1> ) + "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:1> ) + "<STR_LIT>" <EOL> return s <EOL> class NinthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' , '<STR_LIT:i>' , '<STR_LIT>' , '<STR_LIT:k>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:6> , <NUM_LIT:0> ] ) , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:7> , <NUM_LIT:0> ] ) , [ <NUM_LIT:7> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:8> , <NUM_LIT:0> ] ) , [ <NUM_LIT:8> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:9> , <NUM_LIT:0> ] ) , [ <NUM_LIT:9> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_6 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_7 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_8 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_9 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> h = inCoeffs [ <NUM_LIT:6> ] <EOL> i = inCoeffs [ <NUM_LIT:7> ] <EOL> j = inCoeffs [ <NUM_LIT:8> ] <EOL> k = inCoeffs [ <NUM_LIT:9> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> temp += h * LegendreX_6 <EOL> temp += i * LegendreX_7 <EOL> temp += j * LegendreX_8 <EOL> temp += k * LegendreX_9 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:6> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:7> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:8> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:9> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class SecondDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class SeventhDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' , '<STR_LIT:i>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:6> , <NUM_LIT:0> ] ) , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:7> , <NUM_LIT:0> ] ) , [ <NUM_LIT:7> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_6 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_7 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> h = inCoeffs [ <NUM_LIT:6> ] <EOL> i = inCoeffs [ <NUM_LIT:7> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> temp += h * LegendreX_6 <EOL> temp += i * LegendreX_7 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:6> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:7> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class SixthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:6> , <NUM_LIT:0> ] ) , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_6 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> h = inCoeffs [ <NUM_LIT:6> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> temp += h * LegendreX_6 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:6> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class TenthDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' , '<STR_LIT:i>' , '<STR_LIT>' , '<STR_LIT:k>' , '<STR_LIT:m>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:4> , <NUM_LIT:0> ] ) , [ <NUM_LIT:4> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:5> , <NUM_LIT:0> ] ) , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:6> , <NUM_LIT:0> ] ) , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:7> , <NUM_LIT:0> ] ) , [ <NUM_LIT:7> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:8> , <NUM_LIT:0> ] ) , [ <NUM_LIT:8> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:9> , <NUM_LIT:0> ] ) , [ <NUM_LIT:9> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:10> , <NUM_LIT:0> ] ) , [ <NUM_LIT:10> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_4 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_5 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_6 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_7 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_8 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_9 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_10 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> f = inCoeffs [ <NUM_LIT:4> ] <EOL> g = inCoeffs [ <NUM_LIT:5> ] <EOL> h = inCoeffs [ <NUM_LIT:6> ] <EOL> i = inCoeffs [ <NUM_LIT:7> ] <EOL> j = inCoeffs [ <NUM_LIT:8> ] <EOL> k = inCoeffs [ <NUM_LIT:9> ] <EOL> m = inCoeffs [ <NUM_LIT:10> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> temp += f * LegendreX_4 <EOL> temp += g * LegendreX_5 <EOL> temp += h * LegendreX_6 <EOL> temp += i * LegendreX_7 <EOL> temp += j * LegendreX_8 <EOL> temp += k * LegendreX_9 <EOL> temp += m * LegendreX_10 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:4> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:5> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:6> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:7> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:8> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:9> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:10> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s <EOL> class ThirdDegreeLegendrePolynomial ( pyeq2 . Model_2D_BaseClass . Model_2D_BaseClass ) : <EOL> _baseName = "<STR_LIT>" <EOL> _HTML = '<STR_LIT>' <EOL> _leftSideHTML = '<STR_LIT:y>' <EOL> _coefficientDesignators = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:c>' , '<STR_LIT:d>' ] <EOL> _canLinearSolverBeUsedForSSQABS = True <EOL> webReferenceURL = '<STR_LIT>' <EOL> baseEquationHasGlobalMultiplierOrDivisor_UsedInExtendedVersions = False <EOL> autoGenerateOffsetForm = False <EOL> autoGenerateReciprocalForm = False <EOL> autoGenerateInverseForms = False <EOL> autoGenerateGrowthAndDecayForms = False <EOL> independentData1CannotContainZeroFlag = False <EOL> independentData1CannotContainPositiveFlag = False <EOL> independentData1CannotContainNegativeFlag = False <EOL> independentData2CannotContainZeroFlag = False <EOL> independentData2CannotContainPositiveFlag = False <EOL> independentData2CannotContainNegativeFlag = False <EOL> def GetDataCacheFunctions ( self ) : <EOL> functionList = [ ] <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . Ones ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . X ( NameOrValueFlag = <NUM_LIT:1> ) , [ ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:2> , <NUM_LIT:0> ] ) , [ <NUM_LIT:2> , <NUM_LIT:0> ] ] ) <EOL> functionList . append ( [ pyeq2 . DataCache . DataCacheFunctions . LegendreX ( NameOrValueFlag = <NUM_LIT:1> , args = [ <NUM_LIT:3> , <NUM_LIT:0> ] ) , [ <NUM_LIT:3> , <NUM_LIT:0> ] ] ) <EOL> return self . extendedVersionHandler . GetAdditionalDataCacheFunctions ( self , functionList ) <EOL> def CalculateModelPredictions ( self , inCoeffs , inDataCacheDictionary ) : <EOL> x_in = inDataCacheDictionary [ '<STR_LIT:X>' ] <EOL> LegendreX_2 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> LegendreX_3 = inDataCacheDictionary [ '<STR_LIT>' ] <EOL> a = inCoeffs [ <NUM_LIT:0> ] <EOL> b = inCoeffs [ <NUM_LIT:1> ] <EOL> c = inCoeffs [ <NUM_LIT:2> ] <EOL> d = inCoeffs [ <NUM_LIT:3> ] <EOL> try : <EOL> temp = a + b * x_in <EOL> temp += c * LegendreX_2 <EOL> temp += d * LegendreX_3 <EOL> return self . extendedVersionHandler . GetAdditionalModelPredictions ( temp , inCoeffs , inDataCacheDictionary , self ) <EOL> except : <EOL> return numpy . ones ( len ( inDataCacheDictionary [ '<STR_LIT>' ] ) ) * <NUM_LIT> <EOL> def SpecificCodeCPP ( self ) : <EOL> s = "<STR_LIT>" <EOL> s += "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:2> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> s += "<STR_LIT>" + cppCodeGeneratorForLegendrePolynomials ( <NUM_LIT:3> , <NUM_LIT:0> ) + "<STR_LIT>" <EOL> return s </s>
