Skip to content

Rotations in degrees (Unitful.°) are inexact #196

Description

@plut

The main reason to define a rotation with an angle in degree is to take advantage of the guaranteed-exact functions cosd and sind, e.g. Angle2d(90°)^4 is guaranteed to be the identity.

With the last version of this package, this is not the case:

julia> r=Angle2d(90°)
2×2 Angle2d{Float64} with indices SOneTo(2)×SOneTo(2)(1.5708):
 6.12323e-17  -1.0
 1.0           6.12323e-17
julia> r.theta
1.5707963267948966

A (relatively simple) fix is replacing the one-parameter type Angle2d{T} by Angle2d{T,A}, where A is the angle type. (However, the bad news is that once this is solved for Angle2d, it needs to be replicated for all other angle-based types).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions