Re: [Algorithms] Converting floats to a specific range
Brought to you by:
vexxed72
|
From: Richard F. <ra...@gm...> - 2010-05-07 12:07:06
|
I'll let you use the code i coded for this free of charge!
float makeRight( float val, float wrapsize )
{
val /= wrapsize;
switch( (int)val )
{
case 0:
return wrapsize * val;
case 1:
return wrapsize * (val-1.0f);
case 2:
return wrapsize * (val-2.0f);
case 3:
return wrapsize * (val-3.0f);
case -1:
return wrapsize * (val+1.0f);
case -2:
return wrapsize * (val+2.0f);
case -3:
return wrapsize * (val+2.0f);
}
// just in case you haven't written the case for the incoming value:
return 0.0f;
}
On 7 May 2010 12:36, Zafar Qamar <zaf...@co...> wrote:
> Hi,
>
> I'm sure this problem is pretty simple, but here goes...
>
> I have a set of float numbers that I'm trying to auto-wrap within a
> specific range of 0.0 to wrapSize (wrapSize is positive, and not a power of
> 2)
>
> So, if I choose a wrapSize of 1.0 then I want the following to happen when
> I feed in numbers...
>
> -739.8 --> 0.2
> :
> :
> -1.1 --> 0.9
> -1.0 --> 0.0
> -0.9 --> 0.1
> :
> -0.2 --> 0.8
> -0.1 --> 0.9
> 0.0 --> 0.0
> 0.1 --> 0.1
> :
> 0.9 --> 0.9
> 1.0 --> 0.0
> 1.1 --> 0.1
> :
>
> Can anyone think of a bit of maths for this please? Note that it needs to
> work for any positive value of wrapSize (not just 1.0)
>
> Cheers
> Zafar
>
> **********************************************************************************
> Disclaimer
>
> The information and attached documentation in this e-mail is intended for
> the use of the addressee only and is confidential. If you are not the
> intended recipient please delete it and notify us immediately by telephoning
> or e-mailing the sender. Please note that without Codemasters’ prior written
> consent any form of distribution, copying or use of this communication or
> the information in it is strictly prohibited and may be unlawful.
>
> Attachments to this e-mail may contain software viruses. You are advised to
> take all reasonable precautions to minimise this risk and to carry out a
> virus check on any documents before they are opened.
>
> Any offer contained in this communication is subject to Codemasters’
> standard terms & conditions and must be signed by both parties. Except as
> expressly provided otherwise all information and attached documentation in
> this e-mail is subject to contract and Codemasters’ board approval.
> Any views or opinions expressed are solely those of the author and do not
> necessarily represent those of Codemasters.
>
> This footnote also confirms that this email message has been swept by
> SurfControl for the presence of computer viruses.
>
> **********************************************************************************
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> GDAlgorithms-list mailing list
> GDA...@li...
> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
> Archives:
> http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list
--
fabs();
Just because the world is full of people that think just like you, doesn't
mean the other ones can't be right.
|