�
|�e"i � �H � d Z ddlmZmZmZmZ ddlmZ dgZ G d� de� Z y)z�
pygments.lexers.freefem
~~~~~~~~~~~~~~~~~~~~~~~
Lexer for FreeFem++ language.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�Comment�Operator�Keyword�Name)�CppLexer�FreeFemLexerc �x � e Zd ZdZdZdZdgZdgZdgZh d�Z h d�Z
h d �Zh d
�Zh d�Z
h d�Zh d
�ZdhZh d�Zdd�Zy)r z�
For FreeFem++ source.
This is an extension of the CppLexer, as the FreeFem Language is a superset
of C++.
.. versionadded:: 2.4
�Freefemzhttps://freefem.org/�freefemz*.edpztext/x-freefem> �.*�./�^-1�*�%�'�+�-�/�:�^> �int�bool�func�mesh�real�varf�Pmmap�macro�mesh3�solve�border�matrix�string�complex�dmatrix�fespace�mpiComm�problem�EndMacro�NewMacro�ifstream�mpiGroup�ofstream� gslspline�
Psemaphore�
mpiRequest>* �P0�P1�P2�P3�P4�HCT�P1b�P2b�P2h�RT0�RT1�RT2�BDM1�FEQF�P03d�P13d�P1bl�P1dc�P1nc�P23d�P2BR�P2dc�P3dc�P4dc�P1b3d�P2pnc�RT03d�P0Edge�P1Edge�P1bl3d�P2Edge�P3Edge�P4Edge�P5Edge�Edge03d�Edge13d�Edge23d�P2Morley�RT0Ortho�RT1Ortho�RT2Ortho� BDM1Ortho> �load�IFMACRO�include�
ENDIFMACRO>p �N�P�m�n�x�y�z�CG�LU�be�im�l1�l2�nt�nv�pi�re�adj�cin�max�min�nbe�sum�ARGV�FILE�LINE�area�cout�diag�endl�find�good�imax�imin�ndof�qfV1�qfV2�qfV5�setw�true�Crout�GMRES�false�ffind�fixed�flush�label�ndofK�qf1pE�qf1pT�qf2pE�qf2pT�qf3pE�qf4pE�qf5pE�qf5pT�qf7pT�qf9pT�rfind�tellp�append�binary�length�linfty�mpiLOR�mpiMAX�mpiMIN�mpiSUM�nuEdge�qfnbpE�region�unused�volume�UMFPACK�default�lenEdge�measure�mpiBAND�mpiBXOR�mpiLAND�mpiLXOR�mpiPROD�mpirank�mpisize�showpos�version�Cholesky�nTonEdge�qf2pT4P1�qfV1lump�quantile�showbase� hTriangle� noshowpos� precision� qf1pElump� qf1pTlump� verbosity�
noshowbase�
notaregion�
nuTriangle�
scientific�BoundaryEdge�InternalEdge�mpiAnySource�mpiCommWorld�mpiUndefined�searchMethod�sparsesolver�whoinElement�
bordermeasure�edgeOrientation> �d�dd�dx�dy�dz�j0�j1�jn�on�y0�y1�yn�NaN�absrp �arg�chi�cos�dxx�dxy�dxz�dyx�dyy�dyz�dzx�dzy�dzz�erf�exp�logrr rs �pow�set�sin�tan�BFGS�NLCG�Post�Read�Recv�Sent�Wait�acos�asin�atan�atof�atoi�ceil�conj�cosh�cube�dfft�dist�erfc�exec�exit�fdim�fmax�fmin�fmod�imag�jump�mean�plot�rint�sign�sinh�sort�sqrt�swap�tanh�tetg�Irecv�Isend�Write�acosh�asinh�atan2�atanh�clock�cmaes�floor�int1d�int2d�int3d�isInf�isNaN�log10�lrint�medit�mmg3d�polar�round�seekg�tellg�trunc�assert�change�diffnp�lgamma�lround�mshmet�random�square�system�tgamma�convect�diffpos�getARGV�getline�gslsfCi�gslsfSi�invdiff�isoline�mpiRank�mpiSize�mpiWait�savesol�savevtk�signbit�srandom�AffineCG�LinearCG�copysign�freeyams�gmshload�gslsfChi�gslsfShi�gslsfcos�gslsferf�gslsfeta�gslsfexp�gslsflog�gslsfpsi�gslsfsin�movemesh�mpiWtick�mpiWtime�randinit�readmesh�savemesh� adaptmesh� broadcast� buildmesh� dimKrylov� dumptable� emptymesh� gmshload3� gslsfbeta� gslsferfQ� gslsferfZ� gslsferfc� gslsffact� gslsfpoch� gslsfpsi1� gslsfpsin� gslsfsinc� gslsfzeta� invdiffnp� mpiGather� mpiReduce� processor� randint31� randint32� randreal1� randreal2� randreal3� randres53� readmesh3� splitComm� splitmesh�
EigenValue�
gslranbeta�
gslranflat�
gslranlevy�
gslsfdilog�
gslsfexpm1�
gslsfgamma�
gslsfhypot�
gslsfhzeta�
invdiffpos�
movemesh23�
mpiBarrier�
mpiGatherv�
mpiScatter�
mpiWaitAny�
projection�
srandomdev�AffineGMRES�LinearGMRES�buildlayers�gslcdfbetaP�gslcdfbetaQ�gslcdfflatP�gslcdfflatQ�gslranchisq�gslranfdist�gslrangamma�gslrantdist�gslsfairyAi�gslsfairyBi�gslsfchoose�gslsfdawson�gslsfdebye1�gslsfdebye2�gslsfdebye3�gslsfdebye4�gslsfdebye5�gslsfdebye6�gslsfetaint�gslsfexprel�gslsfhazard�gslsflnbeta�gslsflncosh�gslsflnfact�gslsflnpoch�gslsflnsinh�gslsflogabs�gslsfpowint�gslsfpsiint�gslsfzetam1�intalledges�intallfaces�interpolate�mpiAlltoall�mpiScatterv�tetgtransfo�triangulate�gslcdfchisqP�gslcdfchisqQ�gslcdffdistP�gslcdffdistQ�gslcdfgammaP�gslcdfgammaQ�gslcdftdistP�gslcdftdistQ�gslrancauchy�gslranerlang�gslranexppow�gslranlandau�gslranpareto�gslsfatanint�gslsfbetainc�gslsfclausen�gslsfellintE�gslsfellintF�gslsfexpint3�gslsfexpmult�gslsfexprel2�gslsfexpreln�gslsfhypergU�gslsflngamma�gslsflogerfc�gslsfpochrel�gslsfpsi1int�gslsfpsi1piy�gslsfzetaint�mpiAllReduce�mpiAllgather�mpiAlltoallv�
checkmovemesh�
gslcdfcauchyP�
gslcdfcauchyQ�
gslcdfexppowP�
gslcdfexppowQ�
gslcdfparetoP�
gslcdfparetoQ�
gslcdfpascalP�
gslcdfpascalQ�
gslranbetapdf�
gslranflatpdf�
gslrangammamt�
gslrangumbel1�
gslrangumbel2�
gslranlaplace�
gslranweibull�
gslsfbesselI0�
gslsfbesselI1�
gslsfbesselIn�
gslsfbesselJ0�
gslsfbesselJ1�
gslsfbesselJn�
gslsfbesselK0�
gslsfbesselK1�
gslsfbesselKn�
gslsfbesselY0�
gslsfbesselY1�
gslsfbesselYn�
gslsfbesselj0�
gslsfbesselj1�
gslsfbesselj2�
gslsfbesseljl�
gslsfbessely0�
gslsfbessely1�
gslsfbessely2�
gslsfbesselyl�
gslsfellintRC�
gslsfexpintE1�
gslsfexpintE2�
gslsfexpintEi�
gslsfexpintEn�
gslsfgammainc�
gslsfgammainv�
gslsflnchoose�
gslsfmultiply�
mpiAllgatherv�gslcdfbetaPinv�gslcdfbetaQinv�gslcdfflatPinv�gslcdfflatQinv�gslcdfgumbel1P�gslcdfgumbel1Q�gslcdfgumbel2P�gslcdfgumbel2Q�gslcdflaplaceP�gslcdflaplaceQ�gslcdfpoissonP�gslcdfpoissonQ�gslcdfweibullP�gslcdfweibullQ�gslinterpakima�gslranchisqpdf�gslranfdistpdf�gslrangammaint�gslrangammapdf�gslrangaussian�gslranlogistic�gslranrayleigh�gslrantdistpdf�gslsfbesselInu�gslsfbesselJnu�gslsfbesselKnu�gslsfbesselYnu�gslsfconicalP0�gslsfconicalP1�gslsfgammaincP�gslsfgammaincQ�gslsfgammastar�gslsfhyperg0F1�gslsfhyperg1F1�gslsfhyperg2F0�gslsflaguerre1�gslsflaguerre2�gslsflaguerre3�gslsflaguerren�gslsflambertW0�gslsflog1plusx�gslsfzetam1int�processorblock�tetgconvexhull�Stringification�gslcdfbinomialP�gslcdfbinomialQ�gslcdfchisqPinv�gslcdfchisqQinv�gslcdffdistPinv�gslcdffdistQinv�gslcdfgammaPinv�gslcdfgammaQinv�gslcdfgaussianP�gslcdfgaussianQ�gslcdflogisticP�gslcdflogisticQ�gslcdfrayleighP�gslcdfrayleighQ�gslcdftdistPinv�gslcdftdistQinv�gslinterplinear�gslrancauchypdf�gslranerlangpdf�gslranexppowpdf�gslranlandaupdf�gslranlognormal�gslranparetopdf�gslranpascalpdf�gslranugaussian�gslsfairyzeroAi�gslsfairyzeroBi�gslsfdoublefact�gslsfgegenpoly1�gslsfgegenpoly2�gslsfgegenpoly3�gslsfgegenpolyn�gslsfhypergUint�gslsflambertWm1�gslsflegendreP1�gslsflegendreP2�gslsflegendreP3�gslsflegendrePl�gslsflegendreQ0�gslsflegendreQ1�gslsflegendreQl�gslsftransport2�gslsftransport3�gslsftransport4�gslsftransport5�gslcdfcauchyPinv�gslcdfcauchyQinv�gslcdfgeometricP�gslcdfgeometricQ�gslcdflognormalP�gslcdflognormalQ�gslcdfparetoPinv�gslcdfparetoQinv�gslcdfugaussianP�gslcdfugaussianQ�gslinterpcspline�gslinterpsteffen�gslrangammaknuth�gslrangumbel1pdf�gslrangumbel2pdf�gslranlaplacepdf�gslranpoissonpdf�gslranweibullpdf�gslsfairyAideriv�gslsfairyBideriv�gslsfbessellnKnu�gslsfellintDcomp�gslsfellintEcomp�gslsfellintKcomp�gslsfellintPcomp�gslsffermidirac0�gslsffermidirac1�gslsffermidirac2�gslsflegendreH3d�gslsflegendrePlm�gslsflog1plusxmx�gslsftaylorcoeff�complexEigenValue�gslcdfgumbel1Pinv�gslcdfgumbel1Qinv�gslcdfgumbel2Pinv�gslcdfgumbel2Qinv�gslcdflaplacePinv�gslcdflaplaceQinv�gslcdfweibullPinv�gslcdfweibullQinv�gslranbinomialpdf�gslranexponential�gslrangaussianpdf�gslranlogisticpdf�gslranrayleighpdf�gslsfairyAiscaled�gslsfairyBiscaled�gslsfbesselzeroJ0�gslsfbesselzeroJ1�gslsfconicalPhalf�gslsffermidiracm1�gslsfhydrogenicR1�gslsfhyperg1F1int�gslsflegendreH3d0�gslsflegendreH3d1�gslsflndoublefact�gslsfsynchrotron1�gslsfsynchrotron2�gslcdfexponentialP�gslcdfexponentialQ�gslcdfgaussianPinv�gslcdfgaussianQinv�gslcdflogisticPinv�gslcdflogisticQinv�gslcdfrayleighPinv�gslcdfrayleighQinv�gslranbernoullipdf�gslrangaussiantail�gslrangeometricpdf�gslranlognormalpdf�gslranrayleightail�gslranugaussianpdf�gslsfbesselzeroJnu�gslsfconicalPmhalf�gslsffermidiracint�tetgreconstruction�gslcdflognormalPinv�gslcdflognormalQinv�gslcdfugaussianPinv�gslcdfugaussianQinv�gslinterppolynomial�gslranugaussiantail�gslsfbesselI0scaled�gslsfbesselI1scaled�gslsfbesselInscaled�gslsfbesselK0scaled�gslsfbesselK1scaled�gslsfbesselKnscaled�gslsfbesseli0scaled�gslsfbesseli1scaled�gslsfbesseli2scaled�gslsfbesselilscaled�gslsfbesselk0scaled�gslsfbesselk1scaled�gslsfbesselk2scaled�gslsfbesselklscaled�gslsfconicalPcylreg�gslsfconicalPsphreg�gslsfexpintE1scaled�gslsfexpintE2scaled�gslsfexpintEiscaled�gslsfexpintEnscaled�gslsffermidirachalf�gslsffermidiracinc0�gslsflegendresphPlm�gslranexponentialpdf�gslranlogarithmicpdf�gslsfairyzeroAideriv�gslsfairyzeroBideriv�gslsfbesselInuscaled�gslsfbesselKnuscaled�gslsffermidirac3half�gslsffermidiracmhalf�gslcdfexponentialPinv�gslcdfexponentialQinv�gslrangaussiantailpdf�gslranrayleightailpdf�gslsfanglerestrictpos�gslinterpakimaperiodic�gslrangaussianziggurat�gslranugaussiantailpdf�gslsfairyAiderivscaled�gslsfairyBiderivscaled�gslsfanglerestrictsymm�gslsflegendrearraysize�gslcdfnegativebinomialP�gslcdfnegativebinomialQ�gslinterpcsplineperiodic�gslrangaussianratiomethod�gslrannegativebinomialpdf�gslranugaussianratiomethod>� �A�B�t�A1�B1�bb�bw�op�ps�bin�cmm�dim�eps�err�hsv�iso�mem�ncv�nev�qfV�qfe�qft�sym�tgv�tol�U2Vc�coef�errg�file�fill�grey�hmax�hmin�init�mode�nbvx�prev�save�stopr �veps�viso�wait�aniso�close�flagsr� �maxit�nbiso�omega�order�power�ratio�sigma�split�value�which�width�cutoff�flabel�inside�ivalue�memory�metric�nbiter�option�precon�refnum�reftet�reftrir� �renumv�solver�switch�varrow�vector�zbound�distmax�dparams�facetcl�fregion�inquire�labelup�lparams�meditff�nbarrow�nbregul�options�ptmerge�qforder�sparams�transfo�IsMetric�abserror�absolute�beginend�boundary�dataname�doptions�floatsol�holelist�labelmid�levelset�loptions�nbjacoby�nbsmooth�optimize�periodic�splitin2�strategy�thetamax�tolpivot� facemerge� factorize� floatmesh� gradation� labeldown� maxsubdiv� nbofholes� rawvector� reffaceup� rescaling� smoothing�
composante�
reffacelow�
reffacemid�
regionlist�
ridgeangle�WindowIndex�aspectratio�fixedborder�nboffacetcl�nbofregions�orientation�splitpbedge�tolpivotsym�datafilename�displacement�sizeofvolume�
normalization�withsurfacemesh�keepbackvertices�nomeshgeneration�
fixeborder> �asm�div�grad�this�using�double�typeid�alignof�mutable�decltype�noexcept�restrict�template�typename� constexpr� namespace�thread_local�
static_assertc # �x K � t j | ||� D �] \ }}}|| j v r|t |f�� �"|| j v r|t
j |f�� �F|| j v r|t j |f�� �j|| j v r|t j |f�� ��|| j v r|t
j |f�� ��|| j v r|t j |f�� ��|| j" |