settype Bearing = {Angle:number} class Bearing { private method construct(Angle:number=0) self.Angle=(((Angle%360)+540)%360)-180; method ToString():string send tostring(math.nround(self.Angle,4))+"°"; private method __sub(b2:Bearing):Bearing{ send new Bearing(self.Angle-b2.Angle); } } const BearingAngles:[[number]] = [ [20,45], [-45,45], [-85,90], [-95,90], [-45,125], [-45,145], [29.4803,-88.6381], [-78.3251,-159.036], [-70099.74233810938,29840.67437876723], [-165313.6666297357,33693.9894517456], [1174.8380510598456,-154146.66490124757], [60175.77306795546,42213.07192354373] ]; foreach(v of BearingAngles){ set b1:Bearing=new Bearing(v[0]); set b2:Bearing=new Bearing(v[1]); log(b2::ToString()+" - "+b1::ToString()+" = "+(b2-b1)::ToString()); }