Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ############################################################
- ## Mathematical Functions Script ##
- ## Version: 1.0 ##
- ## By: manish ##
- ## irc.lunarirc.net #LunarIRC Talk with me : User - manish
- ## COMMAND - !math <numbers> or /math <numbers> ##
- ############################################################
- alias math {
- var %numbers = $sorttok($1-,32,n)
- set %x 1
- set %sum 0
- set %maxfreq 1
- set %curfreq 1
- set %mode $gettok(%numbers, 1, 32)
- %total_numbers = $numtok(%numbers,32)
- %half = %total_numbers / 2
- if ( $int( %half ) == %half ) { set %n even }
- else { set %n odd }
- while ( %x <= %total_numbers ) {
- %current_number = $gettok(%numbers, %x, 32)
- %sum = %sum + %current_number
- if ( %x >= 2 ) {
- %y = %x - 1
- if ( $gettok(%numbers, %y, 32) == $gettok(%numbers, %x, 32) ) {
- inc %curfreq
- }
- else {
- set %curfreq 1
- }
- if ( %curfreq > %maxfreq ) {
- set %maxfreq %curfreq
- set %mode $gettok(%numbers, %x, 32)
- }
- }
- inc %x
- }
- if ( %n == even ) {
- %p = %half + 1
- set %p1 $gettok(%numbers, %half, 32) + $gettok(%numbers, %p, 32)
- set %median %p1 / 2
- }
- if ( %n == odd ) {
- %p = %total_numbers + 1
- %q = %p / 2
- set %median $gettok(%numbers, %q, 32)
- }
- set %mean %sum / %total_numbers
- if ($isid) {
- if ($prop == mean) { return %mean }
- if ($prop == median) { return %median }
- if ($prop == mode) { return %mode }
- }
- elseif (!$isid) {
- notice $nick Mean : %mean - Median : %median - Mode : %mode -
- } }
- on *:TEXT:!math*:#: {
- if ( $2 isnum ) {
- msg $chan Mean : $math( $2- ).mean - . Median : $math( $2- ).median - . Mode : $math( $2- ).mode - }}
Add Comment
Please, Sign In to add comment