16470

YAKITY SAX
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

16471

Listen, let the police does his job, be sur I give you an answer as soon as possible, OK ?

16472

Écouter, laisser le police fait son travail, être sûr je donner tu un réponse aussi tôt aussi possible, tout va bien?

16473

squalyl : il s'en tape pas mal d'Hadopi Brunni, il est suisse tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

16474

16475

squalyl (./16468) :
!call hadopi
--- Call : hadopi n'existe pas !
--- Call : hadopi n'existe pas ! grin

grin
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

16476

(si seulement...)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

16477

peut être a force de le répéter... cheeky

16478

Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

16479

bool indicesAre16Bits = false;
avatar
HURRRR !

16480

!call Dieu
--- Call : Dieu appelé(e) sur ce topic ...

16481

_Type
avatar
HURRRR !

16482

La Criirad semble plus être un groupuscule extrémiste anti nucléaire, que des gens posé, qui savent différencier le pour et le contre du nucléaire... (et ce n'est pas cet article qui me fait dire ça, mais des que j'ai vu des compte rendu du criirad sur fukushima, ils sont alarmiste depuis le début a limite parler de la fin du monde...)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

16483

Une décollation qu’avaient ordonnée en 1625 des juges de Bourgogne et qui déboucha sur une exécution ahurissante, a été retrouvée dans un procès-verbal du début du XVIIe siècle. Le bourreau auquel seul appartient le privilège d’ôter la vie, se doit d’être toujours dans les meilleures conditions, mais cela ne dépend pas toujours de lui. Un exécuteur avait donc à trancher la tête d’une jeune femme accusée d’infanticide, mais il est atteint depuis plusieurs jours d’une fièvre persistante qui lui ôte sa lucidité. Il monte à l’échafaud « en s’excusant ». Ses deux premiers coups de hache manquent le col et blessent atrocement la condamnée. La foule révoltée hurle et lui jette des pierres. Il se retire et son épouse monte le remplacer et tente d’étrangler la fille avec une corde, mais n’y parvenant pas, elle traîne la victime au bas de l’échafaud et veut l’achever à coups de pied et en la lardant de coups de ciseaux à couper les cheveux. La foule entre en folie furieuse, lapident le bourreau et sa femme et les achèvent « à coup de pierres, de marteaux et de poignards ».

Antoine Louis eut probablement connaissance de ce fait ou de faits semblables puisqu’il écrit dans son exposé : « […] il est de nécessité instante de déterminer avec précision la manière de procéder à l’exécution de la loi, dans la crainte que si, par la défectuosité du moyen, ou faute d’expérience et par maladresse, le supplice devenait horrible pour le patient et pour les spectateurs, le peuple, par humanité, n’eût mission d’être injuste et cruel envers l’exécuteur ».
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

16484

PUSHBUTTON PB_TO_MAIN NULL '<' 0 0 15 26 1 FONT 'MS Sans Serif' 8 BOLD
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

16485

16486

AggressorIndicator



Squalyl > Toradora! n’est pas licensié en France, il n’y a donc aucun ayant-droit qui pourrait se plaindre auprès de la Haute Autorité embarrassed.

Bovido > Oui mon enfant, je suis là, que puis-je pour toi ?
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

16487

warning : Character Overlaps another shape, it will move with an awesome algorithm with a magic formula. It sounds coo
l but it's bad
avatar
HURRRR !

16488

Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

16489

presque limite plus impressionnant que la fistule recto-vaginale trioui
avatar
HURRRR !

16490

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

16491

_ReloadAtlasDefinition
avatar
HURRRR !

16492

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

16493

#elif (HH_SIMD == HH_SIMD_CELL_PPU)
avatar
HURRRR !

16494

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

16495

SortBackToFront = 0,
avatar
HURRRR !

16496

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

16497



template<typename _Type>
static _Type *_FetchElementFromMultiView(const TMemoryView<const TStridedMemoryView<_Type> > &views, hh_u32 index)
{
hh_u32 base = 0;
for (hh_u32 i = 0; i < views.Count(); i++)
{
hh_u32 size = views[i].Count();
if (index >= base && index < base + size)
{
return &(views[i][index - base]);
}
base += size;
}
return null;
}

//----------------------------------------------------------------------------

template<typename _Type>
void _Test_MeshTriangleSorter(SUnitTestReport &__UT_report, const TMemoryView<const hh_u32> &indexPattern, hh_u32 vertexCount)
{
static const hh_u32 maxIndexCount = 4096;
static const hh_u32 maxFpCount = 4096;
static const hh_u32 kPosStrides[2] = { sizeof(CFloat3), sizeof(CFloat4) };

_Type *rawIndexBuffer = Mem::Alloc<_Type>(maxIndexCount, 0x10);
float *rawFp32Buffer = Mem::Alloc<float>(maxFpCount, 0x10);

CUtils::FillArrayRand(rawFp32Buffer, maxFpCount, -1000.0f, 1000.0f);

TStridedMemoryView<const CFloat3> positionsCollection[3];
CFloat3 sortDir = CFloat3(0.5f, 1.0f, -0.2f).Normalized();
hh_u32 maxPrimitiveCount = maxIndexCount / indexPattern.Count();

for (hh_u32 totalPrimitiveCount = 1; totalPrimitiveCount < maxPrimitiveCount; )
{
for (hh_u32 stride = 0; stride < 2; stride++)
{
hh_u32 pccount = 0;
hh_u32 primCount = totalPrimitiveCount;
hh_u32 pcount0 = primCount > 7 ? 7 : primCount;
primCount -= pcount0;
hh_u32 pcount1 = primCount > 49 ? 49 : primCount;
primCount -= pcount1;
hh_u32 pcount2 = primCount;

positionsCollection[pccount++] = TStridedMemoryView<const CFloat3>((const CFloat3*)((const hh_u8*)rawFp32Buffer), pcount0, kPosStrides[stride]);
if (pcount1 != 0)
{
positionsCollection[pccount++] = TStridedMemoryView<const CFloat3>((const CFloat3*)((const hh_u8*)rawFp32Buffer + pcount0 * kPosStrides[stride]), pcount1, kPosStrides[stride]);
if (pcount2 != 0)
{
positionsCollection[pccount++] = TStridedMemoryView<const CFloat3>((const CFloat3*)((const hh_u8*)rawFp32Buffer + pcount1 * kPosStrides[stride]), pcount2, kPosStrides[stride]);
}
}
TMemoryView<const TStridedMemoryView<const CFloat3> > positionsCollectionView(positionsCollection, pccount);

static const hh_u32 kClearTag = 0xCD;
_Type expandedClearTag;

memset(rawIndexBuffer, kClearTag, maxIndexCount * sizeof(*rawIndexBuffer));
memset(&expandedClearTag, kClearTag, sizeof(expandedClearTag));

CTriangleSorter:sorryortPoints_AutogenIndices( indexPattern,
vertexCount,
rawIndexBuffer,
totalPrimitiveCount,
positionsCollectionView,
sortDir);

hh_u32 indexCountPerPrimitive = indexPattern.Count();
hh_u32 indexCount = totalPrimitiveCount * indexCountPerPrimitive;

// first, make sure the function didn't overflow the output buffer:
hh_u32 corrupt = 0;
for (hh_u32 i = indexCount; i < maxIndexCount; i++)
{
corrupt |= rawIndexBuffer[i] - expandedClearTag;
}
UT_TEST(corrupt == 0);

// now, make sure all the generated indices follow the correct index pattern:
float prevD = TNumericTraits<float>::NegativeInfinity();
for (hh_u32 i = 0; i < indexCount; i += indexCountPerPrimitive)
{
_Type baseId = rawIndexBuffer[i];

hh_u32 fuckedIndexPattern = 0;
for (hh_u32 j = 1; j < indexCountPerPrimitive; j++)
{
fuckedIndexPattern |= (rawIndexBuffer[i + j] - baseId) - indexPattern[j];
}
UT_TEST(fuckedIndexPattern == 0);

if (fuckedIndexPattern == 0)
{
// check these are ordered correctly
hh_u32 sourceId = baseId / vertexCount;
const CFloat3 *p = _FetchElementFromMultiView(positionsCollectionView, sourceId);
bool correctlySorted = false;
if (p != null)
{
float d = p->Dot(sortDir);
correctlySorted = d >= prevD;
prevD = d;
}
UT_TEST(correctlySorted);
}
}
}

if (totalPrimitiveCount < 36)
{
// for the first part, test with increments of 1
totalPrimitiveCount++;
}
else
{
// once we've reached large enough batches, test the next powers of two
totalPrimitiveCount = ((totalPrimitiveCount | (totalPrimitiveCount - 1)) + 1); // next power of two
}
}

Mem::Free(rawFp32Buffer);
Mem::Free(rawIndexBuffer);
}

//----------------------------------------------------------------------------

UT_DECLARE(Mesh_TriangleSorter16)
{
static const hh_u32 indexPattern0[] = { 0, 1, 2, 3, 4, 5 };
static const hh_u32 vertexCount0 = 6;
static const hh_u32 indexPattern1[] = { 0, 1, 2, 1, 0, 2 };
static const hh_u32 vertexCount1 = 4;
static const hh_u32 indexPattern2[] = { 0, 1 };
static const hh_u32 vertexCount2 = 2;
static const hh_u32 indexPattern3[] = { 0, 1, 2 };
static const hh_u32 vertexCount3 = 3;
static const hh_u32 indexPattern4[] = { 0, 1, 1, 0, 2, 2, 1, 2, 2, 2, 1, 1, 2, 0, 0, 1, 0, 0 };
static const hh_u32 vertexCount4 = 3;
static const hh_u32 indexPattern5[] = { 0, 1, 2, 1, 4, 2, 3, 5, 0, 2, 3, 0 };
static const hh_u32 vertexCount5 = 6;

_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern0, vertexCount0);
_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern1, vertexCount1);
_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern2, vertexCount2);
_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern3, vertexCount3);
_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern4, vertexCount4);
_Test_MeshTriangleSorter<hh_u16>(__UT_report, indexPattern5, vertexCount5);
}

//----------------------------------------------------------------------------

UT_DECLARE(Mesh_TriangleSorter32)
{
static const hh_u32 indexPattern0[6] = { 0, 1, 2, 3, 4, 5 };
static const hh_u32 vertexCount0 = 6;
static const hh_u32 indexPattern1[6] = { 0, 1, 2, 1, 0, 2 };
static const hh_u32 vertexCount1 = 4;
static const hh_u32 indexPattern2[] = { 0, 1 };
static const hh_u32 vertexCount2 = 2;
static const hh_u32 indexPattern3[] = { 0, 1, 2 };
static const hh_u32 vertexCount3 = 3;
static const hh_u32 indexPattern4[] = { 0, 1, 1, 0, 2, 2, 1, 2, 2, 2, 1, 1, 2, 0, 0, 1, 0, 0 };
static const hh_u32 vertexCount4 = 3;
static const hh_u32 indexPattern5[] = { 0, 1, 2, 1, 4, 2, 3, 5, 0, 2, 3, 0 };
static const hh_u32 vertexCount5 = 6;

_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern0, vertexCount0);
_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern1, vertexCount1);
_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern2, vertexCount2);
_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern3, vertexCount3);
_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern4, vertexCount4);
_Test_MeshTriangleSorter<hh_u32>(__UT_report, indexPattern5, vertexCount5);
}
avatar
HURRRR !

16498

16499

_Test_MeshTriangleSorter<hh_u16>
_Test_MeshTriangleSorter<hh_u16>
_Test_MeshTriangleSorter<hh_u16>
_Test_MeshTriangleSorter<hh_u16>
_Test_MeshTriangleSorter<hh_u16>
_Test_MeshTriangleSorter<hh_u16>
avatar
HURRRR !

16500

(empty)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.