@@ -800,77 +800,77 @@ bool FunctionParserADBase<Value_t>::JITCodeGen(std::ostream & ccout, const std::
800800 case cDiv:
801801 --sp; ccout << " s[" << sp << " ] /= s[" << (sp+1 ) << " ];\n " ; break ;
802802 case cMod:
803- --sp; ccout << " s[" << sp << " ] = std:: fmod(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
803+ --sp; ccout << " using std::fmod; s[" << sp << " ] = fmod(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
804804 case cRDiv:
805805 --sp; ccout << " s[" << sp << " ] = s[" << (sp+1 ) << " ] / s[" << sp << " ];\n " ; break ;
806806
807807 case cSin:
808- ccout << " s[" << sp << " ] = std:: sin(s[" << sp << " ]);\n " ; break ;
808+ ccout << " using std::sin; s[" << sp << " ] = sin(s[" << sp << " ]);\n " ; break ;
809809 case cCos:
810- ccout << " s[" << sp << " ] = std:: cos(s[" << sp << " ]);\n " ; break ;
810+ ccout << " using std::cos; s[" << sp << " ] = cos(s[" << sp << " ]);\n " ; break ;
811811 case cTan:
812- ccout << " s[" << sp << " ] = std:: tan(s[" << sp << " ]);\n " ; break ;
812+ ccout << " using std::tan; s[" << sp << " ] = tan(s[" << sp << " ]);\n " ; break ;
813813 case cSinh:
814- ccout << " s[" << sp << " ] = std:: sinh(s[" << sp << " ]);\n " ; break ;
814+ ccout << " using std::sinh; s[" << sp << " ] = sinh(s[" << sp << " ]);\n " ; break ;
815815 case cCosh:
816- ccout << " s[" << sp << " ] = std:: cosh(s[" << sp << " ]);\n " ; break ;
816+ ccout << " using std::cosh; s[" << sp << " ] = cosh(s[" << sp << " ]);\n " ; break ;
817817 case cTanh:
818- ccout << " s[" << sp << " ] = std:: tanh(s[" << sp << " ]);\n " ; break ;
818+ ccout << " using std::tanh; s[" << sp << " ] = tanh(s[" << sp << " ]);\n " ; break ;
819819 // TODO: div by zero -> this->mData->mEvalErrorType=1; return Value_t(0);
820820 case cCsc:
821- ccout << " s[" << sp << " ] = 1.0/std:: sin(s[" << sp << " ]);\n " ; break ;
821+ ccout << " using std::sin; s[" << sp << " ] = 1.0/sin(s[" << sp << " ]);\n " ; break ;
822822 case cSec:
823- ccout << " s[" << sp << " ] = 1.0/std:: cos(s[" << sp << " ]);\n " ; break ;
823+ ccout << " using std::cos; s[" << sp << " ] = 1.0/cos(s[" << sp << " ]);\n " ; break ;
824824 case cCot:
825- ccout << " s[" << sp << " ] = 1.0/std:: tan(s[" << sp << " ]);\n " ; break ;
825+ ccout << " using std::tan; s[" << sp << " ] = 1.0/tan(s[" << sp << " ]);\n " ; break ;
826826 case cSinCos:
827- ccout << " s[" << (sp+1 ) << " ] = std:: cos(s[" << sp << " ]);\n " ;
828- ccout << " s[" << sp << " ] = std:: sin(s[" << sp << " ]);\n " ;
827+ ccout << " using std::cos; s[" << (sp+1 ) << " ] = cos(s[" << sp << " ]);\n " ;
828+ ccout << " using std::sin; s[" << sp << " ] = sin(s[" << sp << " ]);\n " ;
829829 ++sp;
830830 break ;
831831 case cSinhCosh:
832- ccout << " s[" << (sp+1 ) << " ] = std:: cosh(s[" << sp << " ]);\n " ;
833- ccout << " s[" << sp << " ] = std:: sinh(s[" << sp << " ]);\n " ;
832+ ccout << " using std::cosh; s[" << (sp+1 ) << " ] = cosh(s[" << sp << " ]);\n " ;
833+ ccout << " using std::sinh; s[" << sp << " ] = sinh(s[" << sp << " ]);\n " ;
834834 ++sp;
835835 break ;
836836 case cAsin:
837- ccout << " s[" << sp << " ] = std:: asin(s[" << sp << " ]);\n " ; break ;
837+ ccout << " using std::asin; s[" << sp << " ] = asin(s[" << sp << " ]);\n " ; break ;
838838 case cAcos:
839- ccout << " s[" << sp << " ] = std:: acos(s[" << sp << " ]);\n " ; break ;
839+ ccout << " using std::acos; s[" << sp << " ] = acos(s[" << sp << " ]);\n " ; break ;
840840 case cAsinh:
841- ccout << " s[" << sp << " ] = std:: asinh(s[" << sp << " ]);\n " ; break ;
841+ ccout << " using std::asinh; s[" << sp << " ] = asinh(s[" << sp << " ]);\n " ; break ;
842842 case cAcosh:
843- ccout << " s[" << sp << " ] = std:: acosh(s[" << sp << " ]);\n " ; break ;
843+ ccout << " using std::acosh; s[" << sp << " ] = acosh(s[" << sp << " ]);\n " ; break ;
844844 case cAtan:
845- ccout << " s[" << sp << " ] = std:: atan(s[" << sp << " ]);\n " ; break ;
845+ ccout << " using std::atan; s[" << sp << " ] = atan(s[" << sp << " ]);\n " ; break ;
846846 case cAtanh:
847- ccout << " s[" << sp << " ] = std:: atanh(s[" << sp << " ]);\n " ; break ;
847+ ccout << " using std::atanh; s[" << sp << " ] = atanh(s[" << sp << " ]);\n " ; break ;
848848 case cAtan2:
849- --sp; ccout << " s[" << sp << " ] = std:: atan2(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
849+ --sp; ccout << " using std::atan2; s[" << sp << " ] = atan2(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
850850 case cHypot:
851- --sp; ccout << " s[" << sp << " ] = std:: sqrt(s[" << sp << " ]*s[" << sp << " ] + s[" << (sp+1 ) << " ]*s[" << (sp+1 ) << " ]);\n " ; break ;
851+ --sp; ccout << " using std::sqrt; s[" << sp << " ] = sqrt(s[" << sp << " ]*s[" << sp << " ] + s[" << (sp+1 ) << " ]*s[" << (sp+1 ) << " ]);\n " ; break ;
852852
853853 case cAbs:
854- ccout << " s[" << sp << " ] = std:: abs(s[" << sp << " ]);\n " ; break ;
854+ ccout << " using std::abs; s[" << sp << " ] = abs(s[" << sp << " ]);\n " ; break ;
855855 case cMax:
856856 --sp; ccout << " s[" << sp << " ] = s[" << sp << " ] > s[" << (sp+1 ) << " ] ? s[" << sp << " ] : s[" << (sp+1 ) << " ];\n " ; break ;
857857 case cMin:
858858 --sp; ccout << " s[" << sp << " ] = s[" << sp << " ] < s[" << (sp+1 ) << " ] ? s[" << sp << " ] : s[" << (sp+1 ) << " ];\n " ; break ;
859859 case cTrunc:
860- ccout << " s[" << sp << " ] = s[" << sp << " ] < 0 ? std:: ceil(s[" << sp << " ]) : std:: floor(s[" << sp << " ]);\n " ; break ;
860+ ccout << " using std::ceil, std::floor; s[" << sp << " ] = s[" << sp << " ] < 0 ? ceil(s[" << sp << " ]) : floor(s[" << sp << " ]);\n " ; break ;
861861 case cCeil:
862- ccout << " s[" << sp << " ] = std:: ceil(s[" << sp << " ]);\n " ; break ;
862+ ccout << " using std::ceil; s[" << sp << " ] = ceil(s[" << sp << " ]);\n " ; break ;
863863 case cFloor:
864- ccout << " s[" << sp << " ] = std:: floor(s[" << sp << " ]);\n " ; break ;
864+ ccout << " using std::floor; s[" << sp << " ] = floor(s[" << sp << " ]);\n " ; break ;
865865 case cInt:
866- ccout << " s[" << sp << " ] = s[" << sp << " ] < 0 ? std:: ceil(s[" << sp << " ] - 0.5) : std:: floor(s[" << sp << " ] + 0.5);\n " ; break ;
866+ ccout << " using std::ceil, std::floor; s[" << sp << " ] = s[" << sp << " ] < 0 ? ceil(s[" << sp << " ] - 0.5) : floor(s[" << sp << " ] + 0.5);\n " ; break ;
867867
868868 case cEqual:
869869 // --sp; ccout << "s[" << sp << "] = s[" << sp << "] == s[" << (sp+1) << "];\n"; break;
870- --sp; ccout << " s[" << sp << " ] = std:: abs(s[" << sp << " ] - s[" << (sp+1 ) << " ]) <= eps;\n " ; break ;
870+ --sp; ccout << " using std::abs; s[" << sp << " ] = abs(s[" << sp << " ] - s[" << (sp+1 ) << " ]) <= eps;\n " ; break ;
871871 case cNEqual:
872872 // --sp; ccout << "s[" << sp << "] = s[" << sp << "] != s[" << (sp+1) << "];\n"; break;
873- --sp; ccout << " s[" << sp << " ] = std:: abs(s[" << sp << " ] - s[" << (sp+1 ) << " ]) > eps;\n " ; break ;
873+ --sp; ccout << " using std::abs; s[" << sp << " ] = abs(s[" << sp << " ] - s[" << (sp+1 ) << " ]) > eps;\n " ; break ;
874874 case cLess:
875875 --sp; ccout << " s[" << sp << " ] = s[" << sp << " ] < (s[" << (sp+1 ) << " ] - eps);\n " ; break ;
876876 case cLessOrEq:
@@ -880,33 +880,33 @@ bool FunctionParserADBase<Value_t>::JITCodeGen(std::ostream & ccout, const std::
880880 case cGreaterOrEq:
881881 --sp; ccout << " s[" << sp << " ] = (s[" << sp << " ] + eps) >= s[" << (sp+1 ) << " ];\n " ; break ;
882882 case cNot:
883- ccout << " s[" << sp << " ] = std:: abs(s[" << sp << " ]) < 0.5;\n " ; break ;
883+ ccout << " using std::abs; s[" << sp << " ] = abs(s[" << sp << " ]) < 0.5;\n " ; break ;
884884 case cNotNot:
885- ccout << " s[" << sp << " ] = std:: abs(s[" << sp << " ]) >= 0.5;\n " ; break ;
885+ ccout << " using std::abs; s[" << sp << " ] = abs(s[" << sp << " ]) >= 0.5;\n " ; break ;
886886 case cAbsNot:
887887 ccout << " s[" << sp << " ] = s[" << sp << " ] < 0.5;\n " ; break ;
888888 case cAbsNotNot:
889889 ccout << " s[" << sp << " ] = s[" << sp << " ] >= 0.5;\n " ; break ;
890890 case cOr:
891- --sp; ccout << " s[" << sp << " ] = (std:: abs(s[" << sp << " ]) >= 0.5) || (std:: abs(s[" << (sp+1 ) << " ]) >= 0.5);\n " ; break ;
891+ --sp; ccout << " using std::abs; s[" << sp << " ] = (abs(s[" << sp << " ]) >= 0.5) || (abs(s[" << (sp+1 ) << " ]) >= 0.5);\n " ; break ;
892892 case cAbsOr:
893893 --sp; ccout << " s[" << sp << " ] = (s[" << sp << " ] >= 0.5) || (s[" << (sp+1 ) << " ] >= 0.5);\n " ; break ;
894894 case cAnd:
895- --sp; ccout << " s[" << sp << " ] = (std:: abs(s[" << sp << " ]) >= 0.5) && (std:: abs(s[" << (sp+1 ) << " ]) >= 0.5);\n " ; break ;
895+ --sp; ccout << " using std::abs; s[" << sp << " ] = (abs(s[" << sp << " ]) >= 0.5) && (abs(s[" << (sp+1 ) << " ]) >= 0.5);\n " ; break ;
896896 case cAbsAnd:
897897 --sp; ccout << " s[" << sp << " ] = (s[" << sp << " ] >= 0.5) && (s[" << (sp+1 ) << " ] >= 0.5);\n " ; break ;
898898
899899 case cLog:
900- ccout << " s[" << sp << " ] = std:: log(s[" << sp << " ]);\n " ; break ;
900+ ccout << " using std::log; s[" << sp << " ] = log(s[" << sp << " ]);\n " ; break ;
901901 case cLog2:
902902#ifdef FP_SUPPORT_CPLUSPLUS11_MATH_FUNCS
903- ccout << " s[" << (sp-1 ) << " ] = std:: log2(s[" << (sp-1 ) << " ]);\n " ;
903+ ccout << " using std::log2; s[" << (sp-1 ) << " ] = log2(s[" << (sp-1 ) << " ]);\n " ;
904904#else
905- ccout << " s[" << sp << " ] = std:: log(s[" << sp << " ])/log(2.0);\n " ;
905+ ccout << " using std::log; s[" << sp << " ] = log(s[" << sp << " ])/log(2.0);\n " ;
906906#endif
907907 break ;
908908 case cLog10:
909- ccout << " s[" << sp << " ] = std:: log10(s[" << sp << " ]);\n " ; break ;
909+ ccout << " using std::log10; s[" << sp << " ] = log10(s[" << sp << " ]);\n " ; break ;
910910
911911 case cNeg:
912912 ccout << " s[" << sp << " ] = -s[" << sp << " ];\n " ; break ;
@@ -929,14 +929,14 @@ bool FunctionParserADBase<Value_t>::JITCodeGen(std::ostream & ccout, const std::
929929 {
930930 // --sp; ccout << "s[" << sp << "] = s[" << sp << "] < s[" << (sp+1) << "] ? std::log(s[" << (sp+1) << "]) + (s[" << sp << "] - s[" << (sp+1) << "]) / s[" << (sp+1) << "] : std::log(s[" << sp << "]);\n";
931931 // --sp; ccout << "s[" << sp << "] = s[" << sp << "] < s[" << (sp+1) << "] ? std::log(s[" << (sp+1) << "]) - 1.5 + 2.0/s[" << (sp+1) << "] * s[" << sp << "] - 0.5/(s[" << (sp+1) << "]*s[" << (sp+1) << "]) * s[" << sp << "]*s[" << sp << "] : std::log(s[" << sp << "]);\n";
932- --sp; ccout << " s[" << sp << " ] = s[" << sp << " ] < s[" << (sp+1 ) << " ] ? std:: log(s[" << (sp+1 ) << " ]) + (s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ] - std:: pow((s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ],2.0)/2.0 + std:: pow((s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ],3.0)/3.0 : std:: log(s[" << sp << " ]);\n " ;
932+ --sp; ccout << " using std::log, std::pow; s[" << sp << " ] = s[" << sp << " ] < s[" << (sp+1 ) << " ] ? log(s[" << (sp+1 ) << " ]) + (s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ] - pow((s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ],2.0)/2.0 + pow((s[" << sp << " ]-s[" << (sp+1 ) << " ])/s[" << (sp+1 ) << " ],3.0)/3.0 : log(s[" << sp << " ]);\n " ;
933933 }
934934 else if (function == mFErf )
935935 {
936936#if LIBMESH_HAVE_CXX11_ERF
937- ccout << " s[" << sp << " ] = std:: erf(s[" << sp << " ]);\n " ;
937+ ccout << " using std::erf; s[" << sp << " ] = erf(s[" << sp << " ]);\n " ;
938938#else
939- std::cerr << " Libmesh is not compiled with c++11 so std:: erf is not supported by JIT.\n " ;
939+ std::cerr << " Libmesh is not compiled with c++11 so erf is not supported by JIT.\n " ;
940940 return false ;
941941#endif
942942 }
@@ -958,28 +958,28 @@ bool FunctionParserADBase<Value_t>::JITCodeGen(std::ostream & ccout, const std::
958958 break ;
959959 }
960960 case cLog2by:
961- --sp; ccout << " s[" << sp << " ] = std:: log(s[" << sp << " ])/log(2.0) * s[" << (sp+1 ) << " ];\n " ; break ;
961+ --sp; ccout << " using std::log; s[" << sp << " ] = log(s[" << sp << " ])/log(2.0) * s[" << (sp+1 ) << " ];\n " ; break ;
962962 case cNop:
963963 break ;
964964#endif
965965
966966 case cSqr:
967967 ccout << " s[" << sp << " ] *= s[" << sp << " ];\n " ; break ;
968968 case cSqrt:
969- ccout << " s[" << sp << " ] = std:: sqrt(s[" << sp << " ]);\n " ; break ;
969+ ccout << " using std::sqrt; s[" << sp << " ] = sqrt(s[" << sp << " ]);\n " ; break ;
970970 case cRSqrt:
971- ccout << " s[" << sp << " ] = std:: pow(s[" << sp << " ], (-0.5));\n " ; break ;
971+ ccout << " using std::pow; s[" << sp << " ] = pow(s[" << sp << " ], (-0.5));\n " ; break ;
972972 case cPow:
973- --sp; ccout << " s[" << sp << " ] = std:: pow(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
973+ --sp; ccout << " using std::pow; s[" << sp << " ] = pow(s[" << sp << " ], s[" << (sp+1 ) << " ]);\n " ; break ;
974974 case cExp:
975- ccout << " s[" << sp << " ] = std:: exp(s[" << sp << " ]);\n " ; break ;
975+ ccout << " using std::exp; s[" << sp << " ] = exp(s[" << sp << " ]);\n " ; break ;
976976 case cExp2:
977- ccout << " s[" << sp << " ] = std:: pow(2.0, s[" << sp << " ]);\n " ; break ;
977+ ccout << " using std::pow; s[" << sp << " ] = pow(2.0, s[" << sp << " ]);\n " ; break ;
978978 case cCbrt:
979979#ifdef FP_SUPPORT_CPLUSPLUS11_MATH_FUNCS
980- ccout << " s[" << sp << " ] = std:: cbrt(s[" << sp << " ]);\n " ; break ;
980+ ccout << " using std::cbrt; s[" << sp << " ] = cbrt(s[" << sp << " ]);\n " ; break ;
981981#else
982- ccout << " s[" << sp << " ] = s[" << sp << " ] == 0 ? 0 : (s[" << sp << " ] > 0 ? std:: exp(std:: log(s[" << sp << " ])/3.0) : -std:: exp(std:: log(-s[" << sp << " ])/3.0));\n " ; break ;
982+ ccout << " using std::exp, std::log; s[" << sp << " ] = s[" << sp << " ] == 0 ? 0 : (s[" << sp << " ] > 0 ? exp(log(s[" << sp << " ])/3.0) : -exp(log(-s[" << sp << " ])/3.0));\n " ; break ;
983983#endif
984984
985985 case cJump:
@@ -991,7 +991,7 @@ bool FunctionParserADBase<Value_t>::JITCodeGen(std::ostream & ccout, const std::
991991 if (op == cIf)
992992 ccout << " if (s[" << sp-- << " ] < 0.5) " ;
993993 if (op == cAbsIf)
994- ccout << " if ( std::abs(s[" << sp-- << " ]) < 0.5) " ;
994+ ccout << " using std::abs; if ( abs(s[" << sp-- << " ]) < 0.5) " ;
995995
996996 if (ip >= ByteCode.size ())
997997 ccout << " *ret = s[" << sp << " ]; return;\n " ;
0 commit comments