Skip to content

Commit

Permalink
fix bug of expression
Browse files Browse the repository at this point in the history
  • Loading branch information
py0330 committed Aug 20, 2024
1 parent 445bbb2 commit aadfd21
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
8 changes: 4 additions & 4 deletions src/core/expression_calculator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -272,15 +272,15 @@ namespace aris::core

if (m1.imp_->is_row_major_){
if (m2.imp_->is_row_major_)
aris::core::s_mm(m1.m(), m2.n(), m1.n(), m1.data(), 1, m2.data(), 1, ret.data(), 1);
aris::core::s_mm(m1.m(), m2.n(), m1.n(), m1.data(), m1.n(), m2.data(), m2.n(), ret.data(), ret.n());
else
aris::core::s_mmNT(m1.m(), m2.n(), m1.n(), m1.data(), 1, m2.data(), 1, ret.data(), 1);
aris::core::s_mmNT(m1.m(), m2.n(), m1.n(), m1.data(), m1.n(), m2.data(), m2.m(), ret.data(), ret.n());
}
else{
if (m2.imp_->is_row_major_)
aris::core::s_mmTN(m1.m(), m2.n(), m1.n(), m1.data(), 1, m2.data(), 1, ret.data(), 1);
aris::core::s_mmTN(m1.m(), m2.n(), m1.n(), m1.data(), m1.m(), m2.data(), m2.n(), ret.data(), ret.n());
else
aris::core::s_mmTT(m1.m(), m2.n(), m1.n(), m1.data(), 1, m2.data(), 1, ret.data(), 1);
aris::core::s_mmTT(m1.m(), m2.n(), m1.n(), m1.data(), m1.m(), m2.data(), m2.m(), ret.data(), ret.n());
}
}
else{
Expand Down
9 changes: 7 additions & 2 deletions src/core/socket_multi_io.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2203,6 +2203,7 @@ namespace aris::core{
case Type::TCP: {
aris::core::Msg send_msg = data;
send_msg.setDestinationSockaddrin(&imp_->sock_datas_.at(sock).remote_addr_);
send_msg.setSourceSockaddrin(&imp_->sock_datas_.at(sock).local_addr_);
auto ret = aris_send(sock, reinterpret_cast<const char*>(&send_msg.header()), send_msg.size() + sizeof(MsgHeader), 0);
if (ret < 0)
ARIS_LOG(SOCKET_SERVER_SEND_MSG_ERROR, ret);
Expand All @@ -2212,16 +2213,20 @@ namespace aris::core{
case Type::WEB: {
aris::core::Msg send_msg = data;
send_msg.setDestinationSockaddrin(&imp_->sock_datas_.at(sock).remote_addr_);
send_msg.setSourceSockaddrin(&imp_->sock_datas_.at(sock).local_addr_);
auto packed_data = pack_data_server2(reinterpret_cast<const char*>(&send_msg.header()), send_msg.size() + sizeof(aris::core::MsgHeader));
auto ret = aris_send(sock, packed_data.data(), static_cast<int>(packed_data.size()), 0);
if (ret < 0)
ARIS_LOG(SOCKET_SERVER_SEND_MSG_ERROR, ret);
return ret;
}
case Type::UDP: {
const struct sockaddr_in* addr = (data.destinationIpStr() == "0.0.0.0") ? &imp_->client_addr_ : (const struct sockaddr_in*)data.destinationSockaddrin();
aris::core::Msg send_msg = data;
send_msg.setSourceSockaddrin(&imp_->sock_datas_.at(sock).local_addr_);

const struct sockaddr_in* addr = (send_msg.destinationIpStr() == "0.0.0.0") ? &imp_->client_addr_ : (const struct sockaddr_in*)send_msg.destinationSockaddrin();

if (sendto(sock, reinterpret_cast<const char*>(&data.header()), data.size() + sizeof(MsgHeader), 0, (const struct sockaddr*)addr, sizeof(imp_->client_addr_)) == -1)
if (sendto(sock, reinterpret_cast<const char*>(&send_msg.header()), send_msg.size() + sizeof(MsgHeader), 0, (const struct sockaddr*)addr, sizeof(imp_->client_addr_)) == -1)
THROW_FILE_LINE("SocketMultiIo failed sending data, because network failed\n");
else
return 0;
Expand Down

0 comments on commit aadfd21

Please sign in to comment.