DIRECTORY SF, SFInline; SFImpl: CEDAR PROGRAM IMPORTS SFInline EXPORTS SF ~ BEGIN Vec: TYPE ~ SF.Vec; Box: TYPE ~ SF.Box; zeroVec: Vec ~ SF.zeroVec; NonNegative: PUBLIC PROC [v: Vec] RETURNS [Vec] ~ { RETURN [SFInline.NonNegative[v]] }; Neg: PUBLIC PROC [v: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Neg[v]] }; Add: PUBLIC PROC [v1, v2: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Add[v1, v2]] }; Sub: PUBLIC PROC [v1, v2: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Sub[v1, v2]] }; Min: PUBLIC PROC [v1, v2: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Min[v1, v2]] }; Min3: PUBLIC PROC [v1, v2, v3: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Min3[v1, v2, v3]] }; Max: PUBLIC PROC [v1, v2: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Max[v1, v2]] }; Max3: PUBLIC PROC [v1, v2, v3: Vec] RETURNS [Vec] ~ { RETURN [SFInline.Max3[v1, v2, v3]] }; Eq: PUBLIC PROC [v1, v2: Vec] RETURNS [BOOL] ~ { RETURN [SFInline.Eq[v1, v2]] }; Nonempty: PUBLIC PROC [box: Box] RETURNS [BOOL] ~ { RETURN [SFInline.Nonempty[box]] }; Empty: PUBLIC PROC [box: Box] RETURNS [BOOL] ~ { RETURN [SFInline.Empty[box]] }; Intersect: PUBLIC PROC [box1, box2: Box] RETURNS [Box] ~ { RETURN [SFInline.Intersect[box1, box2]] }; Disjoint: PUBLIC PROC [box1, box2: Box] RETURNS [BOOL] ~ { RETURN [SFInline.Disjoint[box1, box2]] }; SizeF: PUBLIC PROC [box: Box] RETURNS [CARDINAL] ~ { RETURN [SFInline.SizeF[box]] }; SizeS: PUBLIC PROC [box: Box] RETURNS [CARDINAL] ~ { RETURN [SFInline.SizeS[box]] }; Size: PUBLIC PROC [box: Box] RETURNS [Vec] ~ { RETURN [SFInline.Size[box]] }; Inside: PUBLIC PROC [inner, outer: Box] RETURNS [BOOL] ~ { RETURN [SFInline.Inside[inner, outer]] }; Displace: PUBLIC PROC [box: Box, t: Vec] RETURNS [Box] ~ { RETURN [SFInline.Displace[box, t]] }; In: PUBLIC PROC [vec: Vec, box: Box] RETURNS [BOOL] ~ { RETURN [SFInline.In[vec, box]] }; END. ή SFImpl.mesa Copyright Σ 1986, 1987, 1988, 1991 by Xerox Corporation. All rights reserved. Michael Plass, February 10, 1988 9:41:25 am PST Doug Wyatt, January 19, 1987 8:44:02 pm PST Vec operations Box operations Κ(•NewlineDelimiter –(cedarcode) style™codešœ ™ Kšœ ΟeœC™NK™/K™+K™—šΟk œžœ ˜K˜—Kš Ρblnœžœžœžœ žœž˜1Kšœž˜head™Kšœžœžœ˜Kšœžœžœ˜Kšœžœ˜K˜š Οn œžœžœ žœ žœ˜WK˜—š  œžœžœ žœ žœ˜GK˜—š  œžœžœžœ žœ˜QK˜—š  œžœžœžœ žœ˜QK˜—š  œžœžœžœ žœ˜QK˜—š  œžœžœžœ žœ˜[K˜—š  œžœžœžœ žœ˜QK˜—š  œžœžœžœ žœ˜[K˜—Kš  œžœžœžœžœžœ˜P—™K™š  œžœžœ žœžœžœ˜VK˜—š  œžœžœ žœžœžœ˜PK˜—š   œžœžœžœ žœ$˜eK˜—š  œžœžœžœžœžœ#˜dK˜—š  œžœžœ žœžœžœ˜TK˜—š  œžœžœ žœžœžœ˜TK˜—š  œžœžœ žœ žœ˜MK˜—š  œžœžœžœžœžœ#˜dK˜—š  œžœžœžœ žœ˜`K˜—š  œžœžœžœžœžœ˜YK˜——K˜Kšžœ˜—…—, 2