|
FUNCTION dot_product (arg1 : direction, arg2 : direction) : REAL; LOCAL scalar : REAL ; vec1 , vec2 : direction ; ndim : INTEGER ; END_LOCAL ; IF NOT EXISTS ( arg1 ) OR NOT EXISTS ( arg2 ) THEN scalar := ? ; ELSE IF ( arg1 . dim <> arg2 . dim ) THEN scalar := ? ; ELSE BEGIN vec1 := normalise ( arg1 ) ; vec2 := normalise ( arg2 ) ; ndim := arg1 . dim ; scalar := 0.0 ; REPEAT i := 1 TO ndim ; scalar := scalar + vec1 . direction_ratios [ i ] * vec2 . direction_ratios [ i ] ; END_REPEAT ; END ; END_IF ; END_IF ; RETURN ( scalar ) ; END_FUNCTION; -- dot_product |
|
public class FDot_product public static Value run(SdaiContext _context, Value arg1, Value arg2) |