Commit f5e27e26 authored by Kirill Terekhov's avatar Kirill Terekhov

Synchronize

parent cf1303c0
This diff is collapsed.
project(MatSolve)
set(SOURCE main.cpp inner_parser.cpp)
set(SOURCE main.cpp inner_parser.cpp inner_parser.h)
add_executable(MatSolve ${SOURCE})
......
......@@ -110,6 +110,10 @@ namespace INMOST
}
};
#if defined(PACK_ARRAY)
#pragma pack(push,r1,4)
#endif
class multivar_expression : public shell_expression<multivar_expression>
{
......@@ -325,6 +329,11 @@ namespace INMOST
}
};
#if defined(PACK_ARRAY)
#pragma pack(pop,r1)
#endif
class multivar_expression_reference : public shell_expression<multivar_expression_reference>
{
......
......@@ -114,6 +114,7 @@ namespace INMOST
__INLINE INMOST_DATA_REAL_TYPE GetValue() const { return pool.get_op().GetValue(); }
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::RowMerger & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::Row & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetHessian(INMOST_DATA_REAL_TYPE multJ, Sparse::Row & J, INMOST_DATA_REAL_TYPE multH, Sparse::HessianRow & H) const {pool.get_op().GetHessian(multJ,J,multH,H);}
};
template<class A, class ArgA>
......@@ -127,6 +128,7 @@ namespace INMOST
__INLINE INMOST_DATA_REAL_TYPE GetValue() const { return pool.get_op().GetValue(); }
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::RowMerger & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::Row & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetHessian(INMOST_DATA_REAL_TYPE multJ, Sparse::Row & J, INMOST_DATA_REAL_TYPE multH, Sparse::HessianRow & H) const {pool.get_op().GetHessian(multJ,J,multH,H);}
};
template<class A, class ArgA, class ArgB>
......@@ -140,6 +142,7 @@ namespace INMOST
__INLINE INMOST_DATA_REAL_TYPE GetValue() const { return pool.get_op().GetValue(); }
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::RowMerger & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::Row & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetHessian(INMOST_DATA_REAL_TYPE multJ, Sparse::Row & J, INMOST_DATA_REAL_TYPE multH, Sparse::HessianRow & H) const {pool.get_op().GetHessian(multJ,J,multH,H);}
};
template<class A, class ArgA, class ArgB, class ArgC>
......@@ -153,6 +156,7 @@ namespace INMOST
__INLINE INMOST_DATA_REAL_TYPE GetValue() const { return pool.get_op().GetValue(); }
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::RowMerger & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetJacobian(INMOST_DATA_REAL_TYPE mult, Sparse::Row & r) const {pool.get_op().GetJacobian(mult,r);}
__INLINE void GetHessian(INMOST_DATA_REAL_TYPE multJ, Sparse::Row & J, INMOST_DATA_REAL_TYPE multH, Sparse::HessianRow & H) const {pool.get_op().GetHessian(multJ,J,multH,H);}
};
class abstract_dynamic_variable
......
......@@ -1760,7 +1760,7 @@ namespace INMOST
if( r.Size() )
{
double nrm = 0;
for(int l = 0; l < r.Size(); ++l)
for(INMOST_DATA_ENUM_TYPE l = 0; l < r.Size(); ++l)
nrm += r.GetValue(l)*r.GetValue(l);
if( nrm )
{
......@@ -1781,7 +1781,7 @@ namespace INMOST
for(int k = 0; k < mend-mbeg; ++k) if( remap[k] != -1 )
{
Sparse::Row & r = A[k+mbeg];
for(int l = 0; l < r.Size(); ++l)
for(INMOST_DATA_ENUM_TYPE l = 0; l < r.Size(); ++l)
{
if( remap[r.GetIndex(l)-mbeg] != -1 )
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment