[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.aspnet.caching

AUTOCAD Activation code required

devaraji murugan

4/13/2012 7:02:00 AM

Registration - Activation


>Activation
Begin Registration - Activation
Customer Information
Confirm Information
Confirmation

Product: AutoCAD 2006
Serial number/Group ID: 191-75444444
Request code: RFDR 6F2N TK02 SPGE Q51R
5CQZ YTKK

Activation
Select an option below and then click Next.

Get an activation code

Enter an activation code



You can also obtain an activation code from your Autodesk Authorized
Reseller or by visiting:
https://register.au...



Connecting . . . . . .

Version: 14.0.0.26
Privacy Policy

please send me the Activation code no,

thanks & Regards,

Murugan.D
6 Answers

Moi

10/22/2009 10:42:00 PM

0

On Thu, 22 Oct 2009 15:07:58 -0700, user923005 wrote:

> On Oct 22, 2:24??pm, Moi <r...@invalid.address.org> wrote:

>> int median3(int a,int b,int c)
>> {
>> switch ((a>b)+((b>c)<<1)+((c>a)<<2)) { case 0: return a;
>> case 1: return c;
>> case 2: return a;
>> case 3: return b;
>> case 4: return b;
>> case 5: return a;
>> case 6: return c;
>> ?? ?? ?? ?? }
>>
>> }
>>
>
>
> Surprising to me, the switch ran 4x slower than the simple if() tests.
>
> It appears that the missed branch predictions are killer. I guess that
> profile guided optimization will help your routine quite a bit if the
> data has some particular pattern. */


Thanks for benchmarking. It was not intended to be a racer...
There are probably too many sequence points and too few common
subexpressions to give the compiler enough freedom to optimise.

There are other cases where this "computed enumeration" method can save
you some headaches. (e.g. 2D range-compare) It is relatively easy to
build and test, even if the conditions get very complex. The cases where
you know beforehand that you won't get it right the first time.


AvK

Moi

10/24/2009 12:34:00 PM

0

On Fri, 23 Oct 2009 00:42:20 +0200, Moi wrote:

> On Thu, 22 Oct 2009 15:07:58 -0700, user923005 wrote:
>
>> On Oct 22, 2:24??pm, Moi <r...@invalid.address.org> wrote:


Next attempt (a bit inspired by de Bruijn numbers ...) :

*****************************************************/

int median3x(int a,int b,int c)
{
/* 2.0 1.1 0.2 0 */
switch( (0x2148U >> (idx=(((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) {
case 0: return a;
case 1: return b;
case 2: return c;
}
}

***********************/


Still want to get rid of that switch...

AvK

Moi

10/24/2009 12:55:00 PM

0

On Fri, 23 Oct 2009 00:42:20 +0200, Moi wrote:

> On Thu, 22 Oct 2009 15:07:58 -0700, user923005 wrote:
>
>> On Oct 22, 2:24 pm, Moi <r...@invalid.address.org> wrote:

Hope the compiler will see the CSE in this one:

***********************************/

int median3(int a,int b,int c)
{
/* 2.0 1.1 0.2 0 */
return (( (0x2148U >> ((((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) ==0)*a
+ (( (0x2148U >> ((((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) ==1)*b
+ (( (0x2148U >> ((((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) ==2)*c
;
}

/**********************************

AvK

Moi

10/24/2009 12:59:00 PM

0

On Sat, 24 Oct 2009 14:33:40 +0200, Moi wrote:

Oops, still some scaffolding to remove:

> switch( (0x2148U >> (idx=(((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) { case
switch( (0x2148U >> ((((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3) { case


AvK

Moi

10/24/2009 2:17:00 PM

0


This version still has one conditional jump too many in the code path.
( GCC needs the temp, because it does not appear to recognize the CSE)

************************/

int median3(int a,int b,int c)
{
/* register */ unsigned tmp;

/* 2.0 1.1 0.2 0 */
tmp = ( (0x2148U >> ((((a>b)<<1)+((b>c)<<2)+((c>a)<<3)))) &3);
return tmp & 2 ? c : tmp ? b : a;
}

/***********************


AvK

gregoclinton

12/3/2012 11:40:00 AM

0