From 7cad3645a0acc5badc7d665b9346a2e02a3bb839 Mon Sep 17 00:00:00 2001 From: Muhammad Khuzaima Umair Date: Wed, 28 May 2025 18:58:42 +0500 Subject: [PATCH] perf: Simplify normalizeRadians function (#9572) Co-authored-by: Mark Tolmacs --- packages/math/src/angle.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/math/src/angle.ts b/packages/math/src/angle.ts index e500b75152..3a22de80ed 100644 --- a/packages/math/src/angle.ts +++ b/packages/math/src/angle.ts @@ -8,16 +8,10 @@ import type { Radians, } from "./types"; -// TODO: Simplify with modulo and fix for angles beyond 4*Math.PI and - 4*Math.PI -export const normalizeRadians = (angle: Radians): Radians => { - if (angle < 0) { - return (angle + 2 * Math.PI) as Radians; - } - if (angle >= 2 * Math.PI) { - return (angle - 2 * Math.PI) as Radians; - } - return angle; -}; +export const normalizeRadians = (angle: Radians): Radians => + angle < 0 + ? (((angle % (2 * Math.PI)) + 2 * Math.PI) as Radians) + : ((angle % (2 * Math.PI)) as Radians); /** * Return the polar coordinates for the given cartesian point represented by