#### Description:

This function creates a new ShiftMap and optionally initialises its attributes.

A ShiftMap is a linear Mapping which shifts each axis by a specified constant value.

#### Synopsis

AstShiftMap ∗astShiftMap( int ncoord, const double shift[], const char ∗options, ... )

#### Parameters:

##### ncoord

The number of coordinate values for each point to be transformed (i.e. the number of dimensions of the space in which the points will reside). The same number is applicable to both input and output points.

##### shift

An array containing the values to be added on to the input coordinates in order to create the output coordinates. A separate value should be supplied for each coordinate.

##### options

Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new ShiftMap. The syntax used is identical to that for the astSet function and may include `"` printf`"` format specifiers identified by `"` %`"` symbols in the normal way.

##### ...

If the `"` options`"` string contains `"` %`"` format specifiers, then an optional list of additional arguments may follow it in order to supply values to be substituted for these specifiers. The rules for supplying these are identical to those for the astSet function (and for the C `"` printf`"` function).

#### Returned Value

##### astShiftMap()

A pointer to the new ShiftMap.

#### Notes:

- A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.

#### Status Handling

The protected interface to this function includes an extra parameter at the end of the parameter list descirbed above. This parameter is a pointer to the integer inherited status variable: `"` int ∗status`"` .
Copyright (C) 2021 East Asian Observatory