-- This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details print('testing userdata') function ecall(fn, ...) local ok, err = pcall(fn, ...) assert(not ok) return err:sub((err:find(": ") or -1) + 2, #err) end local function realmad(a: vec2, b: vec2, c: vec2): vec2 return -c + a * b; end local function dm(s: vec2, t: vec2, u: vec2) local x = s:Dot(t) assert(x == 13) local t = u:Min(s) assert(t.X == 5) assert(t.Y == 4) end local s: vec2 = vec2(5, 4) local t: vec2 = vec2(1, 2) local u: vec2 = vec2(10, 20) local x: vec2 = realmad(s, t, u) assert(x.X == -5) assert(x.Y == -12) dm(s, t, u) local function mu(v: vec2) assert(v.Magnitude == 2) assert(v.Unit.X == 0) assert(v.Unit.Y == 1) end mu(vec2(0, 2)) return 'OK'