a
    ;@bi                     @   s   d Z ddlmZmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ ddlmZmZ ddlmZ dgZG dd deZdS )	z
    pygments.lexers.freefem
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for FreeFem++ language.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludebygroupsinheritwordsdefault)TextCommentOperatorKeywordNameStringNumberPunctuation)CLexerCppLexer)_mql_builtinsFreeFemLexerc                   @   st   e Zd ZdZdZdgZdgZdgZh dZh dZ	h dZ
h d	Zh d
Zh dZh dZdhZh dZdd ZdS )r   z
    For `FreeFem++ <https://freefem.org/>`_ source.

    This is an extension of the CppLexer, as the FreeFem Language is a superset
    of C++.

    .. versionadded:: 2.4
    ZFreefemZfreefemz*.edpztext/x-freefem>   +':z^-1z.//^*-%z.*>   Z	gslsplineboolZEndMacroZmacroZdmatrixZborderZmpiCommZmesh3funcZmeshcomplexZmatrixrealZsolveZvarfZfespaceZPmmapZmpiGroupZ
mpiRequestZNewMacroZifstreamZproblemstringZofstreamintZ
Psemaphore>*   ZEdge23dZBDM1ZP2BRZP1bl3dZP3ZFEQFZRT1ZEdge13dZ	BDM1OrthoZP1ZP03dZP5EdgeZP4EdgeZRT2OrthoZP1EdgeZP2hZP13dZP1bZP3dcZRT2ZRT0ZRT1OrthoZRT03dZP1b3dZP0ZP23dZP4dcZP1dcZHCTZP0EdgeZP3EdgeZP1blZP4ZEdge03dZP2ZP2EdgeZRT0OrthoZP2bZP2MorleyZP2pncZP1ncZP2dc>   r   ZIFMACROloadZ
ENDIFMACRO>p   ZedgeOrientationZBoundaryEdgeZbinaryZCGZqf5pEZqf9pTZGMRESZlinftyZInternalEdgeZCroutZcoutZqf1pEregionZmpiSUMreZndofKZbordermeasuretrueZmpirankZmpiLXORZqfV5ZqfnbpEZvolumeflushZimaxZqf1pTZpiZmpiMAXZLUzfixedZgoodZmpiLORlengthmZwhoinElementZsparsesolverfindZ	noshowposxZsearchMethodZqf3pEl2NyZshowbaseZARGVZshowposZendlZmeasureZqfV2ZlenEdgenminZiminZqf2pElabelZ	qf1pElumpZ
scientificZnTonEdgeZmpiMINPr   Z
nuTriangleappendZmpiBANDZqf2pT4P1ZmpiLANDZnuEdgeZ
notaregionZ	hTriangleZmpiUndefinedZqfV1lumpZareaZqf7pTadjZimZmpiAnySourceZ	qf1pTlumpZffindZsetwZmpiCommWorldZunusedbeZdiagZ
noshowbaseZmpiBXORZtellp	verbosityZLINEmaxZmpiPRODZmpisizeZndofZqf4pErfindZUMFPACKZcinZqf5pTZqfV1nvl1ZCholeskyntFILEZqf2pTZquantilesumZnbeZfalseZ	precisionversion>  ZgslranlandaupdfZtetgreconstructionZgslrangammaknuthZgslcdfgumbel2QZtellgZdxyZgslcdfgaussianPZgslsflegendreQlZmpiAlltoallvZsignbitZacoshZgslcdfgumbel2PinvZgslcdfparetoQZgslsfbesselJ1ZgslinterplinearZgslsfbesselKnusystemZgslrangammaintZgslsfexpintE2ZgslranlognormalZgslsfhyperg1F1ZdxZgslsfconicalP0ZgslsfbesselzeroJ0ZgslcdfcauchyPZj1ZgslranparetoZgslcdfchisqPinvZgslrancauchypdfZgslsfdebye4ZgslsfairyzeroBiderivZgslsfbesselklscaledZgslsfbesselKnZdxzZgslsfhazardZ	splitmeshZacosZgslsfconicalP1ZgslsfairyBiZmeanZmpiRankZgslsffermidiracm1ZgslsfanglerestrictsymmZfmaxZintallfacesZjnsortZgslsfbesselKnscaledZ
gslranlevyZgslsfbesselk2scaledZAffineGMRESZgslrangaussianzigguratabsZdzyZgslsflaguerre1ZgslinterpakimaperiodicZgslsfbessely2Zgslsftransport5ZgslsfatanintZgslsfbesseljlZBFGSZgslranpascalpdfZasinhZgslsfellintFatoiZgslcdfweibullQinvZdistZerfcZfminZdxxZgslrancauchyZy0Z
invdiffposZgslsflegendrePlZprocessorblockZgslsfbesselKnuscaledZgslsfhyperg1F1intZgslranchisqZseekgZgslranexponentialZgslranexponentialpdfZmpiWtimeZgslcdftdistPZgslcdfgeometricQZgslranrayleighpdfZgslsfetaZ	processorZgslsfbesselj0ZgslsfellintEZgslsfbesselI0scaledZgslsffermidiracintZgslcdflognormalQinvZsqrtZchiZ	buildmeshZgslsffermidirac0Zgslsfdebye2Zgslsfhyperg2F0ZgslsflegendreH3dZgslsfconicalPhalfZgslrangaussianratiomethodZgslsfhypergUZgslsfexpintE1scaledZgslinterpcsplineperiodicZ
EigenValueZgslcdfbinomialQZgslrangeometricpdfZ
mpiWaitAnyZconvectZgslrantdistpdfZgslsflambertW0ZgslcdfrayleighPZgslsfgegenpoly1ZgslranrayleightailZ	gslsferfZZgslsfexpintE2scaledZmpiWaitZgslcdfugaussianPZreadmeshZtetgconvexhullZ	gslsffactZchangeZgslsffermidirac3halfZgslsfexpintE1ZgslrantdistZ
gslsfdilogZgslcdfbetaPZgslcdflaplacePZgslsferfZLinearGMRESZ
gslranbetaZgslsfhydrogenicR1ZgslsfbesselI1scaledZ	gslsfzetaZgslcdfexponentialQZgslsfdebye5Zgslsflaguerre3ZgslcdfbetaPinvZgslsfchooseZcheckmovemeshZgslcdfgaussianQZgslsfellintKcompZgslsfconicalPmhalfZgslranugaussiantailZplotZgslsfairyBiderivscaledZ	mpiGatherZgslsfpowintZgslsfCiZdzxZgslsfbessely1ZgslsfdawsonZfmodZinvdiffZfreeyamsZgslranugaussianpdfZgslinterpcsplineZgetARGVdZgslsfairyzeroAiderivZgslsfgammaincQZ	gslsfbetaZgslranparetopdfZNLCGZ
mpiGathervZgslsflogabsZgslsfgammaincPZgslranugaussianZgslcdfweibullPZgslranweibullpdfZgslsfellintEcompZ	randreal3Z
gslsfgammaZgslcdflognormalPZgslcdfexponentialQinvZ	gslsfpsi1ZgslranexppowZgslcdfchisqQinvZWriteZcmaesZgslcdflogisticPinvZtgammaZgslsfdebye6ZgslsflnpochZ	broadcastZgslsfexprel2ZgslcdflogisticQZgslrangaussiantailpdfZgslranlognormalpdfZgslcdfpascalPZdyyZgslcdfparetoPZgmshloadZgslcdfcauchyQinvZ
mpiScatterZisInfr1   ZgslranlandauZgslsfbesselK0ZgslsfChiZint2dlogZgslsfclausenZdzzZgslranbetapdfZ	gmshload3ZgslsfexpintEnscaledZgslsfgegenpolynZgslcdfflatPZgslsftaylorcoeffZgslsfbesselInuZgslsfexpintEiscaledZgslsfsynchrotron1ZgslcdflogisticPZgslcdfrayleighQinvZPostZinterpolateZ	invdiffnpZgslranfdistpdfZgslsfbesselzeroJnuZgslsfbesselInuscaledZ	randint31Zgslrangumbel2ZgslsflegendreP3ZgslsfbesselK1ZgslcdffdistQinvZgslsflogZgslsfbesselzeroJ1ZsinZtanhsignZgslsfairyBiscaledZmpiWtickZcubeZ	gslsfpsinZgslsfbetaincZj0ZjumpZgslsfsinZgslsflegendreQ1Zgslrangumbel1pdfZgslsfairyAiderivscaledZfdimZexpZgslcdfexponentialPinvZint1dZgslrangaussianZgslsfpsi1piyZlog10ZgslsfpsiintZgslrangumbel1ZgslcdflaplaceQinvZgslcdfweibullPinvZgslsfconicalPcylregZgslcdfpoissonPZgslranlogarithmicpdfZmpiAllgathervZ
srandomdevZgslsfellintRCZgslsfexpZgslsfbesselk1scaledZisNaNZgslcdfgumbel2PZynZgslranerlangpdfZgslsfSiZgslcdfexppowPZgslranpoissonpdfZgslsfgegenpoly3Zgslsfzetam1ZtruncZint3dZgslsflegendrePlmZAffineCGZgslcdfpoissonQZtetgZgslcdflogisticQinvZonZgslsfbesselJnuZIrecvgetlineZgslcdftdistQexecZ	randreal1ZgslcdflaplacePinvZcopysignZgslsflogerfcatofZ	adaptmeshZconjZgslranchisqpdfZgslcdfgammaQZcoshZsinhZIsendZfloorZgslsfbesselJ0ZsrandomZgslcdfchisqPZgslsfsynchrotron2setZatan2ZdzZgslsflngammaZgslranrayleightailpdfZgslcdfrayleighPinvZgslcdfexppowQZatanddZerfZtetgtransfoZdyZdyxZgslsfgegenpoly2Zgslsfzetam1intZgslsfbessellnKnuZgslcdfgumbel1QargZgslsfbesselilscaledZgslsfellintDcompZgslsfpsi1intZSentZgslrangaussiantailZgslinterpakimaZgslsftransport2ZgslsfairyBiderivZgslsfmultiplyZgslrangumbel2pdfZ
gslsfhzetaZgslsfbesselI0ZrandinitZ	gslsfsincZgslranbernoullipdfZ	randres53Zgslsffermidirac1Zgslsfbessely0ZgslranexppowpdfZ
gslranflatZgslcdffdistQZgslsfdebye1ZclockZlgammaZsavemeshZ	dumptableZlroundZgslsftransport4ZmpiAllReduceZgslsfgammainvZgslranweibullZgslsfexprelnZsquareZrandomZgslsfairyAiscaledZgslcdfgumbel2QinvZgslsflncoshZgslcdfugaussianQZgslsflegendreQ0Z	gslsferfQZgslsfexpmultZgslcdfcauchyPinvZgslsffermidirac2Z
projectionZgslcdffdistPinvZgslsfhypergUintZbuildlayersZgslsfbesselY1ZintalledgesZgslcdfgammaQinvZgslsflndoublefactZgslsfdebye3ZgslsfbesselI1Zgslinterpsteffenexitr8   ZgslsflegendrearraysizeZgslcdfpascalQroundimagZgslcdfrayleighQZgslranugaussiantailpdfZgslranlaplacepdfZgslranerlangZgslcdfchisqQZgslsfellintPcompZReadassertZgslrangammapdfZgslcdfnegativebinomialPZgslsfbesselK1scaledZgslrangammamtZgslsflaguerre2Z	gslsfpochZgslsflnfactZgslranlogisticZdyzZ	gslsferfcZgslsfpsiZgslsfairyAiZgslsfbesselY0ZgslcdfbinomialPZgslsflnbetaZgslsfbesselInscaledZWaitZgslcdftdistQinvZ
gslsfhypotZgslsfconicalPsphregZrintZgslsftransport3ZgslranflatpdfZgslcdfflatQinvZgslcdfgaussianPinvZgslsfexprelZgslranugaussianratiomethodZ	randreal2ZdiffnpZ	randint32ZgslsfgammaincZgslsfpochrelZdfftZgslranrayleighZgslcdfflatPinvZgslsfzetaintZy1ZdiffposZgslcdfnegativebinomialQZtriangulateZ	emptymeshZLinearCGZgslsfbesselJnZgslsfexpintEiZgslsflambertWm1ZgslrangaussianpdfZgslsflog1plusxZceilZgslsffermidiracinc0Zgslsfbesselj2ZgslcdfugaussianPinvZ	dimKrylovZgslcdflognormalPinvZgslsffermidirachalfZgslcdfgammaPZgslsfexpintEnZgslsfcosZsavesolZgslcdflognormalQZtanZgslsflnchooseZgslcdftdistPinvZgslsflegendreH3d1ZgslcdfbetaQinvZ	readmesh3Zgslsfexpint3ZgslcdfgammaPinvZmpiAlltoallZNaNZmpiAllgatherZcomplexEigenValueZ
mpiBarrierZgslsfairyzeroBiZgslcdfgumbel1QinvZgslcdffdistPZgslcdfgeometricPZgslsfbesseli1scaledZgslsfbesselInZgslsflnsinhZsavevtkZmeditZgslsfetaintZgslsfdoublefactZgslinterppolynomialZgslsfbesselK0scaledZgslsfShiZgslrangammaZgslsflegendresphPlmZRecvZmovemeshZgslcdfgumbel1PZgslsfairyAiderivZStringificationZ	splitCommZgslsfhyperg0F1ZgslcdfparetoPinvZgslcdfflatQZgslranbinomialpdfZgslcdfgumbel1PinvZgslsfbesselYnuZmpiSizeZasinZmshmetZgslranlaplaceZgslsffermidiracmhalfZ
movemesh23ZgslrannegativebinomialpdfZpolarZgslsfanglerestrictposswapZgslcdflaplaceQZatanhZgslcdfweibullQr5   ZgslcdfcauchyQZgslsflegendreP2ZgslcdfparetoQinvZlrintZ
gslsfexpm1ZgslsfbesselYnZgslranlogisticpdfZisolineZgslsflegendreH3d0ZcosZgslcdfbetaQZgslsfbesseli2scaledZgslranfdistZgslsflog1plusxmxZmmg3dZgslsflegendreP1Zgslsfbesselj1Zgslsfbesselk0scaledZgslsfbesseli0scaledZ	mpiReduceZgslsfbesselylpowZgslsfgammastarZgslsflaguerrenZgslcdfgaussianQinvZgslsfairyzeroAiZmpiScattervZgslcdfugaussianQinvZgslcdfexponentialP>   ZholelistwidthcloseZnbregulZ
composanteZ	facemergeAZvepsabsoluteZfregionZ	rescalingboundaryZcmmZnormalizationr#   ZinquireZdistmaxZsplitpbedgecutoffZsigmaZhminZqftZabserrorZ	gradationZnbofregionsZ	smoothingZisoZnbisoZpsZratioZnbjacobyZmaxitZtransfosplitZlevelsetZcoefZ	factorizeZfixedborderZlabelupZanisoZswitchstopZ	nbofholesZWindowIndexprevZsparamsZthetamaxZdimoptionsZqforderZqfVZivalueZdoptionswaitZreftetZmeditffZdatanameZdisplacementZ
reffacelowZ
ridgeangleZtolpivotsymZdatafilenameZrefnumZstrategyopZaspectratioZvisoZomegaZorientationr2   whichZerrgZ	rawvectorvalueBZhmaxZnomeshgenerationZfacetclerrZvarrowZnbvxZsizeofvolumeZdparamsflagsbinZtolpivottZlabelmidZ
reffacemidZtgvinitZnbarrowZqferQ   ZsymZ	labeldownZfloatsolZmemmodeZB1ZlparamsZbwZ	reffaceupZreftriZzboundZhsvZnbsmoothZptmergeZtolZ	floatmeshorderZkeepbackverticesfileZU2VcZbeginendZflabelZloptionsZnbiterZA1ZvectorZgreyZIsMetricZsolverZmemoryZpreconoptionZepsZperiodicZsaveZrenumvZnevoptimizeZbbZinsideZnboffacetclfillZ
regionlistZwithsurfacemeshZpowerZsplitin2ZncvZmetricZ	maxsubdivZ
fixeborder>   ZgradZasmZnoexceptZusingZrestrictZdecltypeZdoubleZ	constexprZmutableZalignoftypenamethisZdivZthread_local	namespaceZstatic_assertZtypeidtemplatec                 c   s   t | |D ]\}}}|| jv r.|t|fV  q|| jv rH|tj|fV  q|| jv rb|tj	|fV  q|| j
v r||tj|fV  q|| jv r|tj|fV  q|| jv r|tj|fV  q|| jv r|tj|fV  q|| jv r|t|fV  q|||fV  qd S )N)r   get_tokens_unprocessed	operatorsr
   typesr   Typefespacesr   ZClasspreprocessorr	   ZPreprockeywordsZReserved	functionsZFunction
parametersZPseudosuppress_highlight)selftextindextokenr`    r   6lib/python3.9/site-packages/pygments/lexers/freefem.pyrq   n  s$    







z#FreeFemLexer.get_tokens_unprocessedN)__name__
__module____qualname____doc__namealiases	filenamesZ	mimetypesrr   rs   ru   rv   rw   rx   ry   Z
deprecatedrz   rq   r   r   r   r   r      s(   	t     N)r   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   Zpygments.lexers.c_cppr   r   Zpygments.lexersr   __all__r   r   r   r   r   <module>   s   
 (