# FunctionFG<T1, T2> class

Namespace: [Grasshopper2.Types.Functions](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.types.functions.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class FunctionFG<T1, T2> : FunctionF<T1>
```

Abstract base function for binary operations. That is, functions which require two other functions as operands.

**Type parameters:**

- `T1` (where Function)
- `T2` (where Function)

**Derived types:** [AbsoluteFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.absolutefunction.md), [AdditionFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.additionfunction.md), [AverageFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.averagefunction.md), [ChainFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction.md), [DivisionFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.divisionfunction.md), [ExponentiationFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.exponentiationfunction.md), [FunctionFGH<T1, T2, T3>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfgh-3.md), [MaximumFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.maximumfunction.md), [MinimumFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.minimumfunction.md), [MultipleFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.multiplefunction.md), [MultiplicationFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.multiplicationfunction.md), [RoundingFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.roundingfunction.md), [SubtractionFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.subtractionfunction.md)

## Constructors

- [FunctionFG<T1, T2>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/ctor.md): (2 overloads)

## Properties

- [G](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/g.md): Second operand.

## Methods

- [DomainEstimate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/domainestimate.md)
- [Holes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/holes.md): A binary operation is undefined wherever either operand is, and blows up wherever either operand does. Overridden because the unary base relays F alone, which would drop G's features silently.
- [Poles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/poles.md): A binary operation is undefined wherever either operand is, and blows up wherever either operand does. Overridden because the unary base relays F alone, which would drop G's features silently.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/store.md)

## Inherited Members

- From [FunctionF<T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionf-1.md): [F](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionf-1/f.md)
- From [FunctionWithCaching](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching.md): [Derivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/derivative.md), [Integral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/integral.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/nomen.md), [Notation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/notation.md), [EmitDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/emitderivative.md), [EmitIntegral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/emitintegral.md)
- From [Function](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function.md): [Ui](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/ui.md), [Asymptotes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/asymptotes.md), [AutoCoDomain](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/autocodomain.md), [Integrate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/integrate.md), [Y](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/y.md), [YYYY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/yyyy.md)
