[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Fix Cheetah operation
From: |
Richard Guenther |
Subject: |
[PATCH] Fix Cheetah operation |
Date: |
Fri, 9 Jan 2004 14:42:25 +0100 (CET) |
Hi!
This patch reverts part of a previous patch to restore unpacking of
compressible brick views in Cheetah mode.
Ok?
Richard.
2004Jan09 Richard Guenther <address@hidden>
* src/Engine/RemoteEngine.h: revert removal of unpack(Engine*,
char*) and cleanup(Engine*) method in Cheetah::Serialize<CHEETAH,
Engine<Dim, T, CompressibleBrickView> > class.
===== RemoteEngine.h 1.5 vs edited =====
--- 1.5/r2/src/Engine/RemoteEngine.h Wed Jan 7 09:54:05 2004
+++ edited/RemoteEngine.h Fri Jan 9 14:42:11 2004
@@ -1616,6 +1616,55 @@
return nBytes;
}
+ static inline int
+ unpack(Engine_t* &a, char *buffer)
+ {
+ Interval<Dim> *dom;
+
+ int change;
+ int nBytes=0;
+
+ change = Serialize<CHEETAH, Domain_t>::unpack(dom, buffer);
+ buffer += change;
+ nBytes += change;
+
+ bool *compressed;
+
+ change = Serialize<CHEETAH, bool>::unpack(compressed, buffer);
+ buffer += change;
+ nBytes += change;
+
+ if (*compressed)
+ {
+ T *value;
+
+ change = Serialize<CHEETAH, T>::unpack(value, buffer);
+
+ Engine<Dim, T, CompressibleBrick> foo(*dom, *value);
+
+ a = new Engine_t(foo, *dom);
+ }
+ else
+ {
+ Engine<Dim, T, CompressibleBrick> foo(*dom);
+
+ EngineElemDeSerialize op(buffer);
+
+ change = EngineBlockSerialize::apply(op, foo, *dom);
+
+ a = new Engine_t(foo, *dom);
+ }
+ nBytes += change;
+
+ return nBytes;
+ }
+
+ static inline void
+ cleanup(Engine_t* a)
+ {
+ delete a;
+ }
+
// We support a special unpack to avoid an extra copy.
static inline int
- [PATCH] Fix Cheetah operation,
Richard Guenther <=