From 64927db92418d1c0d074d574e4f25c24cb995cdd Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 25 Sep 2018 09:24:54 +0200 Subject: lowlevelunit.pas: Skalarprodukt neu --- lowlevelunit.pas | 56 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/lowlevelunit.pas b/lowlevelunit.pas index 4712908..7d253be 100644 --- a/lowlevelunit.pas +++ b/lowlevelunit.pas @@ -61,28 +61,30 @@ type tKantenFilterTyp = (kfTiefpass,kfHochpass); tRegexTyp = (rtKein,rtFpc,rtShell); -operator = (x1,x2: t2x2Extended): boolean; -operator = (x1,x2: t2x2Int64): boolean; -operator = (x1,x2: tInt64Point): boolean; -operator = (x1,x2: tIntPoint): boolean; -operator = (x1,x2: tExtPoint): boolean; -operator + (x1,x2: t2x2Extended): t2x2Extended; -operator + (x1,x2: tInt64Point): tInt64Point; -operator + (x1,x2: tIntPoint): tIntPoint; -operator + (x1,x2: tExtPoint): tExtPoint; -operator + (x1,x2: tExt3dPoint): tExt3dPoint; -operator - (x1,x2: t2x2Extended): t2x2Extended; -operator - (x1,x2: tInt64Point): tInt64Point; -operator - (x1,x2: tIntPoint): tIntPoint; -operator - (x1,x2: tExtPoint): tExtPoint; -operator - (x1,x2: tExt3dPoint): tExt3dPoint; -operator * (a: extended; x: t2x2Extended): t2x2Extended; -operator * (a: int64; x: tInt64Point): tInt64Point; -operator * (a: extended; x: tInt64Point): tExtPoint; -operator * (a: longint; x: tIntPoint): tIntPoint; -operator * (a: extended; x: tIntPoint): tExtPoint; -operator * (a: extended; x: tExtPoint): tExtPoint; -operator * (a: extended; x: tExt3dPoint): tExt3dPoint; +operator = (x1,x2: t2x2Extended): boolean; inline; +operator = (x1,x2: t2x2Int64): boolean; inline; +operator = (x1,x2: tInt64Point): boolean; inline; +operator = (x1,x2: tIntPoint): boolean; inline; +operator = (x1,x2: tExtPoint): boolean; inline; +operator + (x1,x2: tExt3dPoint): tExt3dPoint; inline; +operator + (x1,x2: t2x2Extended): t2x2Extended; inline; +operator + (x1,x2: tInt64Point): tInt64Point; inline; +operator + (x1,x2: tIntPoint): tIntPoint; inline; +operator + (x1,x2: tExtPoint): tExtPoint; inline; +operator - (x1,x2: t2x2Extended): t2x2Extended; inline; +operator - (x1,x2: tInt64Point): tInt64Point; inline; +operator - (x1,x2: tIntPoint): tIntPoint; inline; +operator - (x1,x2: tExtPoint): tExtPoint; inline; +operator - (x1,x2: tExt3dPoint): tExt3dPoint; inline; +operator * (a: extended; x: t2x2Extended): t2x2Extended; inline; +operator * (a: int64; x: tInt64Point): tInt64Point; inline; +operator * (a: extended; x: tInt64Point): tExtPoint; inline; +operator * (a: longint; x: tIntPoint): tIntPoint; inline; +operator * (a: extended; x: tIntPoint): tExtPoint; inline; +operator * (a: extended; x: tExtPoint): tExtPoint; inline; +operator * (a: extended; x: tExt3dPoint): tExt3dPoint; inline; +operator * (x1,x2: tExtPoint): extended; inline; +operator * (x1,x2: tExt3dPoint): extended; inline; function round(x: tExtPoint): tInt64Point; overload; function symmetrischModulo(x,m: tInt64Point): tInt64Point; overload; @@ -373,6 +375,16 @@ begin result[c]:=a*x[c]; end; +operator * (x1,x2: tExtPoint): extended; +begin + result:=x1['x']*x2['x'] + x1['y']*x2['y']; +end; + +operator * (x1,x2: tExt3dPoint): extended; +begin + result:=x1['x']*x2['x'] + x1['y']*x2['y']; +end; + // allgemeine Funktionen ******************************************************* function round(x: tExtPoint): tInt64Point; -- cgit v1.2.3-54-g00ecf