Wie ist das C++ - Gegenstück zu bzero?
bzero
Zitatdouble iNumElements
Welche Semantik hat denn das Löschen von Bytebruchteilen?
Es gibt 26 Antworten in diesem Thema, welches 4.016 mal aufgerufen wurde. Der letzte Beitrag (
Wie ist das C++ - Gegenstück zu bzero?
bzero
Zitatdouble iNumElements
Welche Semantik hat denn das Löschen von Bytebruchteilen?
// to mark a point
void mark (float3 p, float3 ref, int nx, int ny, int nz, float grid_delta, __global char* resultcloud)
{
//Postpone in reference point.
float3 c=p-ref;
int xxx;
int yyy;
int zzz;
//Strech according to grid_delta.
c=c/grid_delta;
xxx=(int) c.x;
yyy=(int) c.y;
zzz=(int) c.z;
//Calculate position in array to be marked.
if (xxx<nx)
if (yyy<ny)
if (zzz<nz)
if (xxx>=0)
if (yyy>=0)
if (zzz>=0) ;;;
//resultcloud [ (xxx+yyy*nx+zzz*nx*ny)]=1;
}
Alles anzeigen
Wo könnte mein Fehler liegen? Ich möchte falsche Punkte rausfiltern, damit mein
OpenCl nicht abbricht. Obiger Code ist in der selben OpenCl *.cl Datei.
Folgendes ist mir aufgefallen bzw. unklar:
Gruß Dirk
Float3 wird eine Struktur aus floats sein.
Die Prozedure umgehe ich jetzt.
Der Fehler bleibt.
Unter bestimmten Voraussetzungen (die ich noch nicht kenne) wird schon resultcloud[100]=1; nicht mehr von OpenCl akzeptiert.
Ich hoffe, daß nicht die Größe des Codeblocks bzw. die Größe der interngenutzten Variablen überschritten wird.
Gibt ja leider keine Fehlermeldung ![]()
min_gew.x=min_gew.y=min_gew.z=0;
max_gew.x=10; max_gew.y=10; max_gew.z=10;
x=(int)min_gew.x;
while (x<max_gew.x)
{
y=(int)min_gew.y;
while (y<max_gew.y)
{
z=(int)min_gew.z;
while (z<max_gew.z)
{
//Calculate point
c.x=(x);
c.y=(y);
c.z=(z);
//std::cout << c;
//Calculating
realpoint=ref+c*grid_delta;
t=(dotproduct(realpoint,pointc)-fest_oben)/fest_unten;
quermittelpunkt=pointa+t*pointc;
if (t>=0)
if (t<=1)
if (vectorlength(realpoint-quermittelpunkt)<=r)
{
resultcloud [x+y*nx+z*nx*ny]=1;
};
z++;
};
y++;
};
x++;
};
Alles anzeigen
Warum funktioniert hier 10*10*10, aber mehr nicht? Oder baue ich hier zu OpenCl unbemerkt ein Feld auf oder sowas?
Nein, ich mußte nur einfach mehr Platz zum Arbeiten organisieren.
OpenCl liefert bei mir jetzt perfekte Ergebnisse.