# Function Class

> A function is a process.

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

```csharp
class Function : SystemIDisposable
```

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

**Inherits from:** `SystemIDisposable`

**Derived classes:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ExponentialFunction.md), [`NamedFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PostScriptCalculatorFunction.md)

## Description

A function is a process.

A function takes input values and manipulates them to create output values.

**Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/AxialShadingPattern.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/DeviceNColorSpace.md), [`ExponentialFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ExponentialFunction.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ExtendedGraphicState.md), [`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md), [`NamedFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PostScriptCalculatorFunction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/SeparationColorSpace.md)

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

## Properties

### 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.

### 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.Function.ToString()
```

**Returns:** `override string`

A string representation of the function.

Convert the function to a displayable string.

### 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.
