• Welcome to Vice City Multiplayer.
 

Approximation

Started by Skirmant, January 20, 2010, 04:41:21 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Skirmant

How do you approximate on mirc?

Lets say we have a number 4.6 after approximation it would be 5.
If we have a number 4.2 after approximation it would be 4.

Any ideas how to do this?
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

thijn



Kirke

You want to "round to next nearest whole number"

You need to create your own procedure to do the following;

$ceil(N) -  Returns N rounded to the next highest integer.

$floor(N) - Returns N rounded to the next lowest integer.


I did it for you :-)


alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

Type //echo -a $SetWholeNumber(4.6) and //echo -a $SetWholeNumber(4.2)

Skirmant

Quote from: Kirke on January 20, 2010, 05:13:51 PM
alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

Ye... Dosn't work. It always returns 8 D=

Quote from: thijn on January 20, 2010, 05:04:04 PM
$round?

I'm not sure how $round works. If I do $round(1.6) it returns 1.6
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

Kirke

come on, this is basic maths

http://www.mathwizz.com/fractions/help/help13.htm

that alias i gave you works perfectly fine.


alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

always returns 8 ?

what the heck are you typing ?

type //echo -a $SetWholeNumber(4.2)

//echo -a $SetWholeNumber(4.6)

or you on drugs by any chance ?

Skirmant

#5
Quote from: Kirke on January 20, 2010, 05:27:43 PM
or you on drugs by any chance ?

LOL!

I added alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

And i typed //echo -a $SetWholeNumber(4.6)

Returns 8.

(BTW math for me is not an issue I'm good at it)
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

Kirke

returns 5 for me, just like it should do.

not sure why its retunging 8 for you, make your own.


you know what you need to do now,
use
$celi and $floor read the help manual, come on, its basic maths

Skirmant

Quote from: Kirke on January 20, 2010, 05:33:34 PM
$celi and $floor read the help manual, come on, its basic maths

Nah its extremely basic maths, but basic scripting.

Here's a script I made and it works :D
 
alias vcmp.whole {
  if ($1 < $calc($floor($1) + 0.5)) !return $floor($1)
  else !return $ceil($1)
}   


Thanks for informing me about $ceil and $floor  :P
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

Boss

You switch to pawn, you declare a variable f and you use floatround(f);. Simple as that!

Skirmant

Quote from: Boss on January 20, 2010, 06:05:50 PM
You switch to pawn, you declare a variable f and you use floatround(f);. Simple as that!

Eh... What? Anyways I think I'm better out with mirc  ;D
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

Kirke

alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

care to explain how that would ever return 8 if passed the value 4.6 ?

its using $gettok to check if the value has a remainder 5 or over

if $true return the next highest integer. $celi

if $false the next lowest integer. $floor

Skirmant

#11
Hmm... Well I just tried your alias a few more times and I found out that if that alias doesn't have "vcmp." attached to it it always returns 8. Weird huh?

When I attached .vcmp it worked
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.

Kirke

i would quite like to know how on earth your getting it to return 8.

its only returning either $celi or $floor of your passed parameter (in this case 4.6)

PS, would other people check this works:

alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

//echo -a $SetWholeNumber(4.6) - should return 5

//echo -a $SetWholeNumber(4.2) - should return 4

Kirke

ok, your talking utter rubbish now. you've wasted a whole thread when the example i gave you worked perfectly fine. (which has now probably confused other people)

Skirmant

#14
Quote from: Kirke on January 20, 2010, 06:24:27 PM
ok, your talking utter rubbish now. you've wasted a whole thread when the example i gave you worked perfectly fine. (which has now probably confused other people)

I think you're over reacting buddy. I'm not talking rubbish. For some reason your example doesn't work for me with out "vcmp." attached to it and I really don't want to make a big deal about it.

alias SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

//echo -a $SetWholeNumber(4.6)


Returns 8

alias vcmp.SetWholeNumber !return $iif($gettok($1,2,46) >= 5,$ceil($1),$floor($1))

//echo -a $vcmp.SetWholeNumber(4.6)


Returns 5

finnal post in this thread
I know advance mIRC, average C++, basic Pawn & Squirrel, very basic Java Script.