# ExponentialFunction Class

> An interpolation between two output values as input values vary across a domain.

- Product: Adobe PDF Library 21
- Language: .NET Framework
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ExponentialFunction
- Version index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt

```csharp
class ExponentialFunction : Function
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** [`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)

## Description

An interpolation between two output values as input values vary across a domain.

For an Exponential Function, the curve between the two values is determined by the exponent N.

**Uses types:** [`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)

## Constructors

### ExponentialFunction

```csharp
Datalogics.PDFL.ExponentialFunction.ExponentialFunction(System.Collections.Generic.IList< System.Double > domain, int nOutputs, System.Collections.Generic.IList< System.Double > C0, System.Collections.Generic.IList< System.Double > C1, double N)
```

*constructor*

**Parameters**

- `domain` (`System.Collections.Generic.IList< System.Double >`): the domain of the function. 2 elements.
- `nOutputs` (`int`): the number of outputs of the function
- `C0` (`System.Collections.Generic.IList< System.Double >`): the output value when the input value is 0
- `C1` (`System.Collections.Generic.IList< System.Double >`): the output value when the input value is 1
- `N` (`double`): the exponential factor, which alters the curve of output values as the input values vary across the domain.

Create an Exponential Function, which is the exponential interpolation between two output values as the input values vary across the domain.

## Properties

### C0

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.ExponentialFunction.C0 { get; set; }
```

The values for the function when the input is 0.0. There must be the same number of values as the number of outputs in the function.

### C1

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.ExponentialFunction.C1 { get; set; }
```

The values for the function when the input is 1.0. There must be the same number of values as the number of outputs in the function.

### Default

```csharp
static Function Datalogics.PDFL.Function.Default { get; }
```

*static*

Gets the Default named function.

A Function representing the Default named function.

### Domain

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.Function.Domain { get; set; }
```

The domain of the function.

Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values.

### Identity

```csharp
static Function Datalogics.PDFL.Function.Identity { get; }
```

*static*

Gets the Identity named function.

A Function representing the Identity named function, which returns its input values unchanged.

### N

```csharp
double Datalogics.PDFL.ExponentialFunction.N { get; set; }
```

The exponential factor N.

### NInputs

```csharp
int Datalogics.PDFL.Function.NInputs { get; }
```

The number of inputs to the function.

### NOutputs

```csharp
int Datalogics.PDFL.Function.NOutputs { get; }
```

The number of outputs from the function.

### Range

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.Function.Range { get; set; }
```

The range of the function.

Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values.

## Methods

### Apply

```csharp
virtual System.Collections.Generic.IList< System.Double > Datalogics.PDFL.Function.Apply(System.Collections.Generic.IList< System.Double > args)
```

**Parameters**

- `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes.

**Returns:** `System.Collections.Generic.IList< System.Double >`

a list of the result values from the function

Apply the function to supplied input values

### Dispose

```csharp
void Datalogics.PDFL.Function.Dispose()
```

**Returns:** `void`

### ToString

```csharp
override string Datalogics.PDFL.ExponentialFunction.ToString()
```

**Returns:** `override string`

A string representation of the ExponentialFunction, including the number of inputs and outputs, domain, range, N, C0, and C1 values.

A string value describing the function.

### operator!=

```csharp
static bool Datalogics.PDFL.Function.operator!=(Function a, Function b)
```

*static*

**Parameters**

- `a` ([`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)): The first Function to compare.
- `b` ([`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)): The second Function to compare.

**Returns:** `bool`

true if the two Functions are not equal; otherwise, false.

Tests two Function objects for inequality.

### operator==

```csharp
static bool Datalogics.PDFL.Function.operator==(Function a, Function b)
```

*static*

**Parameters**

- `a` ([`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)): The first Function to compare.
- `b` ([`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)): The second Function to compare.

**Returns:** `bool`

true if the two Functions are equal; otherwise, false.

Tests two Function objects for equality.
