# rotate45

`rotate45`

is a rarely used transform filter corresponding to the rotation by a multiple of 45°. The set of all 8 such multiples is called **C**and is discussed more explicitly here.

_{8}
`rotate45`

is invoked with a single argument filter:

rotate45F

This constructs all 8 of the rotations of *F* by multiples of 45° The `rotate45`

filter matches if any of these 8 transforms match.

Any square designator within *F* must represent all 64 squares, and is unchanged by 45° rotation. The only effect of such rotation is to modify directions filters and keywords. For example,

rotate45 ray up (♖ ♚)

matches a position if and only if one of the eight rotations of the filter matches, that is, one for each of the compass directions:

ray up (♖ ♚) ray northwest (♖ ♚) ray left (♖ ♚) ray southwest (♖ ♚) ray down (♖ ♚) ray southeast (♖ ♚) ray right (♖ ♚) ray northeast (♖ ♚)

Thus, `rotate45 ray up (♖ ♚)`

matches if and only if

ray (♖ ♚)matches.

`rotate45`

follows the conventions of the other transform filters in having a set value if its argument does; having a numeric value if its argument does; and accepting the `count`

parameter.

## Examples

`rotate45`

is used in Qq-rotations.cql to find games in which all
possible orientations of the
configuration of a black and white queen separated by a single piece appear.