// Copyright 2017 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#ifndef V8_BUILTINS_BUILTINS_MATH_GEN_H_#define V8_BUILTINS_BUILTINS_MATH_GEN_H_#include "src/code-stub-assembler.h"namespacev8{namespaceinternal{classMathBuiltinsAssembler:publicCodeStubAssembler{public:explicitMathBuiltinsAssembler(compiler::CodeAssemblerState*state):CodeStubAssembler(state){}Node*MathPow(Node*context,Node*base,Node*exponent);protected:voidMathRoundingOperation(Node*context,Node*x,TNode<Float64T>(CodeStubAssembler::*float64op)(SloppyTNode<Float64T>));voidMathUnaryOperation(Node*context,Node*x,TNode<Float64T>(CodeStubAssembler::*float64op)(SloppyTNode<Float64T>));voidMathMaxMin(Node*context,Node*argc,TNode<Float64T>(CodeStubAssembler::*float64op)(SloppyTNode<Float64T>,SloppyTNode<Float64T>),doubledefault_val);};}// namespace internal}// namespace v8#endif // V8_BUILTINS_BUILTINS_MATH_GEN_H_