mirror of
https://github.com/NGSolve/netgen.git
synced 2025-01-11 21:50:34 +05:00
some little steps
This commit is contained in:
parent
e926071bb2
commit
3b3491a597
@ -292,7 +292,19 @@ namespace netgen
|
||||
|
||||
|
||||
|
||||
|
||||
BASE_INDEX_3_CLOSED_HASHTABLE ::
|
||||
BASE_INDEX_3_CLOSED_HASHTABLE (size_t size)
|
||||
: hash(RoundUp2(size))
|
||||
{
|
||||
// cout << "orig size = " << size
|
||||
// << ", roundup size = " << hash.Size();
|
||||
size = hash.Size();
|
||||
mask = size-1;
|
||||
// cout << "mask = " << mask << endl;
|
||||
invalid = -1;
|
||||
for (size_t i = 0; i < size; i++)
|
||||
hash[i].I1() = invalid;
|
||||
}
|
||||
|
||||
|
||||
void BASE_INDEX_3_CLOSED_HASHTABLE ::
|
||||
|
@ -861,9 +861,10 @@ inline ostream & operator<< (ostream & ost, const INDEX_2_CLOSED_HASHTABLE<T> &
|
||||
for (int i = 0; i < ht.Size(); i++)
|
||||
if (ht.UsedPos(i))
|
||||
{
|
||||
INDEX_2 hash;
|
||||
T data;
|
||||
ht.GetData0 (i, hash, data);
|
||||
// INDEX_2 hash;
|
||||
// T data;
|
||||
// ht.GetData0 (i, hash, data);
|
||||
auto [hash,data] = ht.GetBoth(i);
|
||||
ost << "hash = " << hash << ", data = " << data << endl;
|
||||
}
|
||||
return ost;
|
||||
@ -880,7 +881,8 @@ protected:
|
||||
size_t mask;
|
||||
|
||||
protected:
|
||||
BASE_INDEX_3_CLOSED_HASHTABLE (size_t size)
|
||||
BASE_INDEX_3_CLOSED_HASHTABLE (size_t size);
|
||||
/*
|
||||
: hash(RoundUp2(size))
|
||||
{
|
||||
// cout << "orig size = " << size
|
||||
@ -892,6 +894,7 @@ protected:
|
||||
for (size_t i = 0; i < size; i++)
|
||||
hash[i].I1() = invalid;
|
||||
}
|
||||
*/
|
||||
|
||||
public:
|
||||
int Size() const
|
||||
@ -1073,9 +1076,12 @@ inline ostream & operator<< (ostream & ost, const INDEX_3_CLOSED_HASHTABLE<T> &
|
||||
for (int i = 0; i < ht.Size(); i++)
|
||||
if (ht.UsedPos(i))
|
||||
{
|
||||
/*
|
||||
INDEX_3 hash;
|
||||
T data;
|
||||
ht.GetData (i, hash, data);
|
||||
ht.GetData (i, hash, data);
|
||||
*/
|
||||
auto [hash, data] = ht.GetBoth();
|
||||
ost << "hash = " << hash << ", data = " << data << endl;
|
||||
}
|
||||
return ost;
|
||||
|
@ -114,8 +114,10 @@ class INDEX_2
|
||||
|
||||
public:
|
||||
///
|
||||
// protected:
|
||||
INDEX_2 () { }
|
||||
INDEX_2 (const INDEX_2&) = default;
|
||||
public:
|
||||
INDEX_2 (INDEX_2&&) = default;
|
||||
|
||||
INDEX_2 & operator= (const INDEX_2&) = default;
|
||||
@ -157,7 +159,7 @@ public:
|
||||
return INDEX_2 (i1,i2);
|
||||
}
|
||||
|
||||
|
||||
operator std::array<INDEX,2>() { return { i[0], i[1] }; }
|
||||
///
|
||||
INDEX & I1 () { return i[0]; }
|
||||
///
|
||||
@ -213,13 +215,10 @@ public:
|
||||
///
|
||||
constexpr INDEX_3 (INDEX ai1, INDEX ai2, INDEX ai3)
|
||||
: i{ai1, ai2, ai3} { }
|
||||
// { i[0] = ai1; i[1] = ai2; i[2] = ai3; }
|
||||
|
||||
///
|
||||
///
|
||||
constexpr INDEX_3 (const INDEX_3 & in2)
|
||||
: i{in2.i[0], in2.i[1], in2.i[2]} { }
|
||||
// { i[0] = in2.i[0]; i[1] = in2.i[1]; i[2] = in2.i[2]; }
|
||||
|
||||
|
||||
static INDEX_3 Sort (INDEX_3 i3)
|
||||
{
|
||||
|
@ -95,7 +95,7 @@ namespace netgen
|
||||
{
|
||||
private:
|
||||
/// Point Indizes
|
||||
INDEX_2 l;
|
||||
INDEX_2 l; // want to replace by std::array<int,2> l;
|
||||
/// quality class
|
||||
int lineclass;
|
||||
/// geometry specific data
|
||||
@ -109,23 +109,12 @@ namespace netgen
|
||||
|
||||
///
|
||||
FrontLine (const INDEX_2 & al)
|
||||
{
|
||||
l = al;
|
||||
lineclass = 1;
|
||||
}
|
||||
|
||||
: l(al), lineclass(1) { }
|
||||
|
||||
///
|
||||
const INDEX_2 & L () const
|
||||
{
|
||||
return l;
|
||||
}
|
||||
|
||||
const auto & L () const { return l; }
|
||||
///
|
||||
int LineClass() const
|
||||
{
|
||||
return lineclass;
|
||||
}
|
||||
int LineClass() const { return lineclass; }
|
||||
|
||||
///
|
||||
void IncrementClass ()
|
||||
@ -141,13 +130,13 @@ namespace netgen
|
||||
///
|
||||
bool Valid () const
|
||||
{
|
||||
return l.I1() != -1;
|
||||
return l[0] != -1;
|
||||
}
|
||||
///
|
||||
void Invalidate ()
|
||||
{
|
||||
l.I1() = -1;
|
||||
l.I2() = -1;
|
||||
l[0] = -1;
|
||||
l[1] = -1;
|
||||
lineclass = 1000;
|
||||
}
|
||||
|
||||
|
@ -454,6 +454,12 @@ namespace netgen
|
||||
{
|
||||
public:
|
||||
using Index<int,ElementIndex,0>::Index;
|
||||
/*
|
||||
private:
|
||||
operator int() const { return i; }
|
||||
public:
|
||||
operator ptrdiff_t() const { return i; }
|
||||
*/
|
||||
};
|
||||
|
||||
inline istream & operator>> (istream & ist, ElementIndex & pi)
|
||||
|
Loading…
Reference in New Issue
Block a user