# PostScriptCalculatorFunction Class

> A function represented as a stream containing code written in a small subset of the PostScript language.

- Product: Adobe PDF Library 18
- Language: Java
- Version: APDFL18.0.5PlusP2e
- HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction
- Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt

```java
class PostScriptCalculatorFunction : Function
```

**Namespace:** `com::datalogics::PDFL`

**Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)

## Description

A function represented as a stream containing code written in a small subset of the PostScript language.

**Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md)

## Constructors

### PostScriptCalculatorFunction

```java
com.datalogics.PDFL.PostScriptCalculatorFunction.PostScriptCalculatorFunction(java.util.List< Double > domain, java.util.List< Double > range, String code)
```

*constructor*

**Parameters**

- `domain` (`java.util.List< Double >`): an array of 2 * m numbers, where m is the number of input values
- `range` (`java.util.List< Double >`): an array of 2 * n numbers, where n is the number of output values
- `code` (`String`): the code of the function, written in a subset of the PostScript language

Create PostScript calculator function, represented as a stream containing code written in a small subset of the PostScript language.

## Fields

### DEFAULT

```java
static final Function com.datalogics.PDFL.Function.DEFAULT
```

*static*

The Default named function.

### IDENTITY

```java
static final Function com.datalogics.PDFL.Function.IDENTITY
```

*static*

The Identity named function, which returns its input values unchanged.

## Methods

### apply

```java
java.util.List< Double > com.datalogics.PDFL.Function.apply(java.util.List< Double > args)
```

**Parameters**

- `args` (`java.util.List< Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes.

**Returns:** `java.util.List< Double >`

a list of the result values from the function

Apply the function to supplied input values

### delete

```java
synchronized void com.datalogics.PDFL.PostScriptCalculatorFunction.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

```java
synchronized void com.datalogics.PDFL.PostScriptCalculatorFunction.delete()
```

**Returns:** `synchronized void`

### finalize

```java
void com.datalogics.PDFL.PostScriptCalculatorFunction.finalize()
```

*protected*

**Returns:** `void`

### getCode

```java
String com.datalogics.PDFL.PostScriptCalculatorFunction.getCode()
```

**Returns:** `String`

The code of the function, written in a subset of the PostScript language. The code defines how input values are transformed into output values.

### getDomain

```java
java.util.List< Double > com.datalogics.PDFL.Function.getDomain()
```

**Returns:** `java.util.List< Double >`

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.

### getNInputs

```java
int com.datalogics.PDFL.Function.getNInputs()
```

**Returns:** `int`

The number of inputs to the function.

### getNOutputs

```java
int com.datalogics.PDFL.Function.getNOutputs()
```

**Returns:** `int`

The number of outputs from the function.

### getRange

```java
java.util.List< Double > com.datalogics.PDFL.Function.getRange()
```

**Returns:** `java.util.List< Double >`

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.

### getStream

```java
PDFStream com.datalogics.PDFL.PostScriptCalculatorFunction.getStream()
```

**Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md)

The underlying PDF stream for this PostScriptCalculatorFunction. The stream contains the PostScript code that defines the function.

### setDomain

```java
void com.datalogics.PDFL.Function.setDomain(java.util.List< Double > domain)
```

**Parameters**

- `domain` (`java.util.List< Double >`)

**Returns:** `void`

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.

### setRange

```java
void com.datalogics.PDFL.Function.setRange(java.util.List< Double > range)
```

**Parameters**

- `range` (`java.util.List< Double >`)

**Returns:** `void`

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.

### toString

```java
String com.datalogics.PDFL.PostScriptCalculatorFunction.toString()
```

**Returns:** `String`

A string representation of the PostScriptCalculatorFunction, including the number of inputs and outputs, domain, range, and the PostScript code.

A string value describing the function.
