RosettaCodeData/Task/Vector/Maple/vector-1.maple

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: