# FunctionAB 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
[EditorBrowsable(EditorBrowsableState.Never)]
public abstract class FunctionAB : FunctionA
```

Implementation of FunctionWithCaching which exposes two scalar arguments.

**Derived types:** [FunctionABC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionabc.md), [LinearFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.linearfunction.md)

## Constructors

- [FunctionAB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionab/ctor.md): (2 overloads)

## Properties

- [B](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionab/b.md): Second parameter.
- [IsUndefined](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionab/isundefined.md): True if any of the arguments are nan.

## Methods

- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionab/store.md)

## Inherited Members

- From [FunctionA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functiona.md): [A](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functiona/a.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), [DomainEstimate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/domainestimate.md), [Holes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/holes.md), [Integrate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/integrate.md), [Poles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/poles.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)
