`sig
type position =
PosCentre of float * float
| PosLeft of float * float
| PosRight of float * float
| Top of float
| TopLeft of float * float
| TopRight of float * float
| Left of float
| BottomLeft of float * float
| Bottom of float
| BottomRight of float * float
| Right of float
| Diagonal
| ReverseDiagonal
| Centre
val string_of_position : Cpdfposition.position -> string
val calculate_position :
bool ->
float ->
float * float * float * float ->
Cpdfposition.position -> float * float * float
end`