I guess, b = (a+128)>>8; is the only way to do
round shift in C.
Regards
Ajeet
-----Original Message----- From: --- ---
[mailto:h...@yahoo.com.cn] Sent: Saturday, August 23, 2003 2:58
PM To: c...@yahoogroups.com Subject: [c6x] How to do
round shift operation in C program
Hi :
C6x
Buddies!
In my C program, I
want to do right shift operation.
For
example:
long
a;
int b;
b =
a>>8;
But this operation
can not do round shift. Is there any C languge for this?
Expecting for your
answer!
_____________________________________ About this discussion
group:
> --- --- <> wrote: >
> Hi :
> C6x Buddies!
> In my C program, I want to do right shift operation.
> For example:
> long a;
> int b;
> b = a>>8;
> But this operation can not do round shift. Is there any C languge for
> this?
> Expecting for your answer!
> if this you try in c language ..then no problem...but why you are
storing
result in int data types..but in c6x..you have to see how much bit is taken
for
long variable..and int data types..
regards
sandeep
> ---------------------------------
>
> this message will receive your answer. You need to do a "reply
all" if you
> want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.yahoogroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com
>
>
Reply by Mike Dunn●August 25, 20032003-08-25
Happy_zzr,
I am not sure of your exact question. It sounds as if you want to
perform a rotate [a circular right shift where the LSBs are looped back to the
MSBs. Is that correct??
Your example appears to start with a 40 bit number [c6x long] and end up
with a 32 bit number. It looks like you need to get rid of 8 bits
anyway... I am a bit confused.
There is a way to solve your problem in C - it may take more than 1
statement to do it.
Please provide details - # of initial bits, # of result bits and where they
should come from.
mikedunn
--- --- <h...@yahoo.com.cn> wrote:
Hi :
C6x
Buddies!
In my C program, I
want to do right shift operation.
For
example:
long
a;
int b;
b =
a>>8;
But this operation
can not do round shift. Is there any C languge for this?
Expecting for your
answer!
_____________________________________ About this discussion
group:
In my C program, I
want to do right shift operation.
For
example:
long
a;
int b;
b =
a>>8;
But this operation
can not do round shift. Is there any C languge for this?
Expecting for your
answer!
Reply by --- ---●August 23, 20032003-08-23
Oh! Sorry! I mean the 2301 Message, the reply of 2278.
Yeo
Han Kwang <s...@yahoo.com> wrote:
Hi all,
While we were at this, is it possible to profile
the program to get the MIPS for, lets say, each function in the program?
Can't seem to find this in the CCS documentations.
Thanks
--- In c...@yahoogroups.com, --- --- wrote: >
Thanks for your clear advice! > Oh, It seems I must experience much more
program work to improve.>
---------------------------------_____________________________________ Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you want
your answer to be distributed to the entire group.
_____________________________________ About this discussion group:
Suggest you to see the 2278 Message <How
to calculate MCPS>.May it help! Yeo Han Kwang
<s...@yahoo.com> wrote:
Hi all,
While we were at this, is it possible to profile
the program to get the MIPS for, lets say, each function in the program?
Can't seem to find this in the CCS documentations.
Thanks
--- In c...@yahoogroups.com, --- --- wrote: >
Thanks for your clear advice! > Oh, It seems I must experience much more
program work to improve.>
---------------------------------_____________________________________ Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you want
your answer to be distributed to the entire group.
_____________________________________ About this discussion group:
While we were at this, is it possible to profile the program to get
the MIPS for, lets say, each function in the program? Can't seem to
find this in the CCS documentations.
Thanks
--- In , --- --- <happy_zrr@y...> wrote: > Thanks for your clear advice!
> Oh, It seems I must experience much more program work to improve.
>
>
> ---------------------------------
>
Reply by --- ---●August 20, 20032003-08-20
Thanks for your clear advice!
Oh, It seems I must experience much more program work to
improve.
Reply by Mike Dunn●August 20, 20032003-08-20
Happy,
Keep in mind that you should think of the speed as "up to 1600 MIPS" - with
1600 only being attainable on rare occaisions [usually via hand tweaked
code].
Some things that will affect performance-
app size - if it does not fit in internal mem you will never see close to
1600 mips...
Your code/algorythms - the ability of the compiler to generate efficient
code will vary greatly - depending on what it is doing [and who coded it].
I have seen designs with the same DSP [same speed] where the effective mips
of one was 2.5x faster...
The only solution is to understand the requirements of your design and
understand the DSP and how it is affected by its environment.
mikedunn
--- --- <h...@yahoo.com.cn>
wrote:
I am using C6205, it
reads as 1600 MIPS, but thats under the assumption that all instructions are
executing in parallel. Can the C compiler support so absolute
optimization?
If not, then how can I estimate whether
my C program can achieve the running times in one second?
Do you have the estimation that the
C6205 can really achieve the 1600 MIPS?
A
confused newbie is expecting response! J
_____________________________________ About this discussion
group:
I am using C6205, it
reads as 1600 MIPS, but thats under the assumption that all instructions are
executing in parallel. Can the C compiler support so absolute
optimization?
If not, then how can I estimate whether
my C program can achieve the running times in one second?
Do you have the estimation that the
C6205 can really achieve the 1600 MIPS?