1 #include "alglin_i.hxx"
\r
5 AlgLin_i:: AlgLin_i(CORBA::ORB_ptr orb,
\r
6 PortableServer::POA_ptr poa,
\r
7 PortableServer::ObjectId * contId,
\r
8 const char *instanceName,
\r
9 const char *interfaceName) :
\r
10 Engines_Component_i(orb, poa, contId, instanceName, interfaceName, 1)
\r
12 MESSAGE("activate object");
\r
14 _id = _poa->activate_object(_thisObj);
\r
18 AlgLin_i::~AlgLin_i()
\r
22 void AlgLin_i::addvec(Engines::vecteur_out C,
\r
23 const Engines::vecteur& A,
\r
24 const Engines::vecteur& B)
\r
26 beginService("addvec");
\r
28 long i, n = A.length();
\r
30 if (n != B.length())
\r
31 sendMessage("warning", "vecteurs de longueur differente");
\r
37 double *xA = A_.x();
\r
38 double *xB = B_.x();
\r
39 double *xC = C_.x();
\r
41 for (i=0; i<n; i++) {
\r
46 A_interne.addvec(&C_, &A_, &B_);
\r
48 C = new Engines::vecteur;
\r
50 for (i=0; i<n; i++) {
\r
54 endService("addvec");
\r
57 CORBA::Double AlgLin_i::prdscl(const Engines::vecteur& A,
\r
58 const Engines::vecteur& B)
\r
60 beginService("prdscl");
\r
62 long i, n = A.length();
\r
64 if (n != B.length())
\r
65 sendMessage("warning", "vecteurs de longueur differente");
\r
70 double *xA = A_.x();
\r
71 double *xB = B_.x();
\r
73 for (i=0; i<n; i++) {
\r
78 CORBA::Double d = A_interne.prdscl(&A_, &B_);
\r
80 endService("prdscl");
\r
86 PortableServer::ObjectId * AlgLinEngine_factory(
\r
88 PortableServer::POA_ptr poa,
\r
89 PortableServer::ObjectId * contId,
\r
90 const char *instanceName,
\r
91 const char *interfaceName)
\r
93 MESSAGE("PortableServer::ObjectId * AlgLinEngine_factory()");
\r
95 = new AlgLin_i(orb, poa, contId, instanceName, interfaceName);
\r