ГОСТ Р ИСО 13584-31—2010
vec.orientationv;
result vec;
ELSE
result v;
END_IF;
ELSE
RETURN(?);
END_IF;
RETURN (result);
ENU_1F;
END_FUNCTION;
r"
Определения аргументов функции:
arg: (вход) нормированный вектор (направление):
result: (выход) вектор (направление) единичной длины, параллельный вектору агд1.
6.3.1.12 Функция scalar_times_vector
Функция scalar_times_vector возвращает вектор, полученный умножением исходного вектора на
число. На вход функции подаются скаляр (число) и вектор, который может быть либо направлением,
либо собственно вектором. На выходе функции получается вектор, вычисленный в тех же единицах, что и
входной вектор. Если на входе указывается направление, то результат вычислений будет безразмер
ным. Если входной аргумент не определен, то значение функции также не определено. Если входной
скаляр отрицателен, то ориентация вектора изменяется на противоположную.
Спецификация на языке EXPRESS:
*)
FUNCTION scalar_times_vector(scalar : REAL; vec : vector_or_directior.)
: vector;
LOCAL
v : direction;
mag : REAL;
result : vector;
£ND_LOCAL;
IF NOT EXISTS (scalar) OR NOT EXISTS (vec) THEN
result?;
(* When function is called with invalid data
a NULL result is returned
ELSE
IF ’AP1_ABSTRACT_SCHEMA.VECTOR’ IN TYPEOF (vec) THEN
vvec.orientation;
magscalar * vec.magnitude;
ELSE
vvec;
mag scalar;
END_1F;
IF (mag < 0.0 ) THEN
REPEAT i1 TO SI2EOF(v.direction_ratioe);
v.directior._ratios(iJ-v.direction_ratios{i];
ENU_REPEAT;
mag -mag;
END_1F;
result.orientationnormalise(v);
result.magnitude mag;
END_IF;
RETURN (result);
END_FUNCT10N;
(*
98
Определения аргументов функции:
scalar: (вход) действительный числовой множитель.