diff options
author | Erich Eckner <git@eckner.net> | 2018-09-25 09:24:54 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-09-25 09:31:33 +0200 |
commit | 64927db92418d1c0d074d574e4f25c24cb995cdd (patch) | |
tree | 928a0b8ef466add437f8ac796ae116f42e85ec7e | |
parent | d4b335dd5b48e5488b882b6e72e9652ad219c62f (diff) | |
download | units-64927db92418d1c0d074d574e4f25c24cb995cdd.tar.xz |
lowlevelunit.pas: Skalarprodukt neu
-rw-r--r-- | lowlevelunit.pas | 56 |
1 files 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; |