# FunctionFGHJ<T1, T2, T3, T4> 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 FunctionFGHJ<T1, T2, T3, T4> : FunctionFGH<T1, T2, T3>
```

Abstract base function for quarternary operations. That is, function which require 4 other functions as inputs.

**Type parameters:**

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

**Derived types:** [CrossRatioFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.crossratiofunction.md)

## Constructors

- [FunctionFGHJ<T1, T2, T3, T4>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/ctor.md): (2 overloads)

## Properties

- [J](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/j.md): Fourth operand.

## Methods

- [DomainEstimate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/domainestimate.md)
- [Holes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/holes.md): A quaternary operation is undefined wherever any operand is, and blows up wherever any operand does.
- [Poles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/poles.md): A quaternary operation is undefined wherever any operand is, and blows up wherever any operand does.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfghj-4/store.md)

## Inherited Members

- From [FunctionFGH<T1, T2, T3>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfgh-3.md): [H](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfgh-3/h.md)
- From [FunctionFG<T1, T2>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2.md): [G](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/g.md)
- 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)
