29 lines
623 B
Plaintext
29 lines
623 B
Plaintext
module MyVector()
|
|
option object;
|
|
local value := Vector();
|
|
|
|
export ModuleApply::static := proc( )
|
|
Object( MyVector, _passed );
|
|
end proc;
|
|
|
|
export ModuleCopy::static := proc( mv::MyVector, proto::MyVector, v::Vector, $ )
|
|
mv:-value := v;
|
|
end proc;
|
|
|
|
export ModulePrint::static := proc(mv::MyVector, $ )
|
|
mv:-value;
|
|
end proc;
|
|
|
|
|
|
# operations:
|
|
export `+`::static := proc( v1::MyVector, v2::MyVector )
|
|
MyVector( v1:-value + v2:-value );
|
|
end proc;
|
|
|
|
export `*`::static := proc( v::MyVector, scalar_val::numeric)
|
|
MyVector( v:-value * scalar_val);
|
|
end proc;
|
|
|
|
|
|
end module:
|