Copy to Clipboard Test

stdArguments.zh Code

//////////////////////////////////
/// stdArguments.zh - v6.9.9/1 ///
//////////////////////////////////

int GetRemainderAsInt(int v)
{
    int r = (v - (v << 0)) * 10000;
    return r;
}


int GetDigit(int n, int place)
{
	place = Clamp(place, -4, 4);
	if(place < 0)
	{
		n = GetRemainderAsInt(n);
		place += 4;
	}

	int r = ((n / Pow(10, place)) % 10) << 0;
	return r;
}

int GetPartialArg(int arg, int place, int num){
	place = Clamp(place, -4, 4);
	int r;
	int adj = 1;
	for(int i = num-1; i > -1; i--){
		if(place - i < -4) continue;
		r += GetDigit(arg, place - i) * adj;
		adj *= 10;
	}
	return r;
}


		

///////////////////////////
// Get Nine-Digit Values //
///////////////////////////

int GetValueAsInt(int arg) {return arg - (arg >> 0) * 10000;}
 
 // Use this to utilise all nine places as an integer; thus, the value 12345.6789 becomes the value 123,456,789.
 
////////////////////////////
// Get Eight-Digit Values //
////////////////////////////

//Need to Redo Equations for this section, as this is broken.
 
int Get8High(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
   //This gets the 8 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (12345678). Use this if you do not need a value in excess of 32767999.
 // PLACE (#####.###x)
  
int Get8Low(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) );}
  //This gets the 8 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you need a value in excess of 32767999; max 99,999,999.
// PLACE (x####.####)
 

////////////////////////////
// Get Seven-Digit Values //
////////////////////////////
 
 //Need to Redo Equations for this section, as this is broken.
 

int Get7High(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) - ( GetDigit(arg, -3) * 10000 ) );}
 //This gets the 7 HIGHEST (ten-thousands, thousands, hundreds, ones, tenths, hundredths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (1234567). Use this if you do not need a value in excess of 3276799.
 // PLACE (#####.##xx)
 
int Get7Mid(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
 //This gets the 7 MIDDLE (thousands, hundreds, ones, tenths, hundredths, thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (1234567). Use this if you do not need a value in excess of 3276799.
 // PLACE (x####.###x)
  
  
int Get7Low(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, 3) * 10000 ) );}
 //This gets the 7 LOWEST (thousands, hundreds, ones, tenths, hundredths, ten-thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you need a value in excess of 3276799; max 9,999,999.
 // PLACE (xx###.####)



 
//////////////////////////
// Get Six-Digit Values //
//////////////////////////
 
int GetValue6High(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) - ( GetDigit(arg, -3) * 10000 ) - ( GetDigit(arg, -2) * 10000 ) );}
//This gets the 6 HIGHEST (ten-thousands, thousands, hundreds, tens, ones, tenths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you do not need a value in excess of 327679.
// PLACE (#####.#xxx)
  
int GetValue6Low(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, 3) * 10000 ) - ( GetDigit(arg, 2) * 10000 ) );}
//This gets the 6 LOWEST (tens, ones, tenths, hundredths, thousandths, ten-thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456789). Use this if you need a value in excess of 327679; max 999,999.
// PLACE (xxx##.####)

////////////////////////////////
// Get Six-Digit Alternatives //
////////////////////////////////

int GetValue6Mid876543(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, -3) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
///This gets the 6 MIDDLE (thousands, hundreds, tens, ones, tenths, hundredths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you do not need a value in excess of 327679.
// PLACE (x####.##xx)

int GetValue6Mid234567(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, -3) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
///This gets the 6 MIDDLE (thousands, hundreds, tens, ones, tenths, hundredths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you do not need a value in excess of 327679.
// PLACE (x####.##xx)

int GetValue6Mid765432(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, 3) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
//This gets the 6 MIDDLE (hundreds, tens, ones, tenths, hundredths, thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you do not need a value in excess of 327679.
// PLACE (xx###.###x)

int GetValue6Mid345678(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, 3) * 10000 ) - ( GetDigit(arg, -4) * 10000 ) );}
//This gets the 6 MIDDLE (hundreds, tens, ones, tenths, hundredths, thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123456). Use this if you do not need a value in excess of 327679.
// PLACE (xx###.###x)

int GetValue6Low654321(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 4) * 10000 ) - ( GetDigit(arg, 3) * 10000 ) - ( GetDigit(arg, 2) * 10000 ) );}
//This gets the 6 LOWEST (tens, ones, tenths, hundredths, thousandths, ten-thousandths) decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456789). Use this if you need a value in excess of 327679; max 999,999.
// PLACE (xxx##.####)

///////////////////////////
// Get Five-Digit Values //
///////////////////////////

int GetValue5High(int arg) {return arg >> 0;} 
//This gets the 5 HIGHEST decimal places (ten-thousands, thousands, hundreds, tens, ones) and turns it into an individual value. Thus, 12345.6789 becomes a value of (12345). Use this if you do not need a value in excess of 32767.
// PLACE (#####.xxxx)

int GetValue5Low(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) + (GetDigit(arg, -1) * 1000 ) + (GetDigit(arg, 0) * 10000 ) );}
//This gets the 5 LOWEST decimal places (ones, tenths, hundredths, thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (56789). Use this if you do need a value in excess of 32767; max 99,999.
// PLACE (xxxx#.####)

/////////////////////////////////
// Get Five-Digit Alternatives //
/////////////////////////////////

int GetValue5High98765(int arg) {return arg >> 0;} 
//This gets the 5 HIGHEST decimal places (ten-thousands, thousands, hundreds, tens, ones) and turns it into an individual value. Thus, 12345.6789 becomes a value of (12345). Use this if you do not need a value in excess of 32767.
// PLACE (#####.xxxx)

int GetValue5Mid87654(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) + (GetDigit(arg, 2) * 1000 ) + (GetDigit(arg, 3) * 10000 ) );}
//This gets the 5 MIDDLE (thousands, hundreds, tens, ones, tenths) decimal places and turns it into an individual value. 
// PLACE (x####.#xxx)

int GetValue5Mid23456(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) + (GetDigit(arg, 2) * 1000 ) + (GetDigit(arg, 3) * 10000 ) );}
//This gets the 5 MIDDLE (thousands, hundreds, tens, ones, tenths) decimal places and turns it into an individual value. 
// PLACE (x####.#xxx)

int GetValue5Mid76543(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) + (GetDigit(arg, 0) * 100 ) + (GetDigit(arg, 1) * 1000 ) + (GetDigit(arg, 2) * 10000 ) );}
//This gets the 5 MIDDLE (hundreds, tens, ones, tenths, hundredths) decimal places and turns it into an individual value. 
// PLACE (xx###.##xx)

int GetValue5Mid34567(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) + (GetDigit(arg, 0) * 100 ) + (GetDigit(arg, 1) * 1000 ) + (GetDigit(arg, 2) * 10000 ) );}
//This gets the 5 MIDDLE (hundreds, tens, ones, tenths, hundredths) decimal places and turns it into an individual value. 
// PLACE (xx###.##xx)

int GetValue5Mid65432(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100 ) + (GetDigit(arg, 0) * 1000 ) + (GetDigit(arg, 1) * 10000 ) );}
//This gets the 5 MIDDLE (tens, ones, tenths, hundredths, thousandths) decimal places and turns it into an individual value. 
// PLACE (xxx##.###x)

int GetValue5Mid45678(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100 ) + (GetDigit(arg, 0) * 1000 ) + (GetDigit(arg, 1) * 10000 ) );}
//This gets the 5 MIDDLE (tens, ones, tenths, hundredths, thousandths) decimal places and turns it into an individual value. 
// PLACE (xxx##.###x)

int GetValue5Low54321(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) + (GetDigit(arg, -1) * 1000 ) + (GetDigit(arg, 0) * 10000 ) );}
//This gets the 5 LOWEST decimal places (ones, tenths, hundredths, thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (56789). Use this if you do need a value in excess of 32767; max 99,999.
// PLACE (xxxx#.####)


///////////////////////////
// Get Four-Digit Values //
///////////////////////////

int GetValue4High(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) + (GetDigit(arg, 3) * 100) + (GetDigit(arg, 4) * 1000) );}
//This gets the 4 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (1234). Use this if you do not need a value in excess of 3275.
// PLACE (####x.xxxx)

int GetValue4Low(int arg) {return (arg - (arg >> 0)) * 10000;}
//This gets the 4 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (6789). Use this if you need a value in excess of 3275; max 9,999.
// PLACE (xxxxx.####)

/////////////////////////////////
// Get Four-Digit Alternatives //
/////////////////////////////////

int GetValue4High9876(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) + (GetDigit(arg, 3) * 100) + (GetDigit(arg, 4) * 1000) );}
//This gets the 4 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (1234). Use this if you do not need a value in excess of 3275.
// PLACE (####x.xxxx)

int GetValue4Mid8765(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100) + (GetDigit(arg, 3) * 1000) );}
// PLACE (x####.xxxx)

int GetValue4Mid6789(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100) + (GetDigit(arg, 3) * 1000) );}
// PLACE (x####.xxxx)

int GetValue4Mid7654(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100) + (GetDigit(arg, 2) * 1000) );}
// PLACE (xx###.#xxx)

int GetValue4Mid4567(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100) + (GetDigit(arg, 2) * 1000) );}
// PLACE (xx###.#xxx)

int GetValue4Mid6543(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100) + (GetDigit(arg, 3) * 1000) );}
// PLACE (xxx##.##xx)

int GetValue4Mid3456(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100) + (GetDigit(arg, 3) * 1000) );}
// PLACE (xxx##.##xx)

int GetValue4Mid5432(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100) + (GetDigit(arg, 0) * 1000) );}
// PLACE (xxxx#.###x)

int GetValue4Mid2345(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100) + (GetDigit(arg, 0) * 1000) );}
// PLACE (xxxx#.###x)

int GetValue4Low1234(int arg) {return (arg - (arg >> 0)) * 10000;}
//This gets the 4 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (6789). Use this if you need a value in excess of 3275; max 9,999.
// PLACE (xxxxx.####)

int GetValue4Low4321(int arg) {return (arg - (arg >> 0)) * 10000;}
//This gets the 4 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (6789). Use this if you need a value in excess of 3275; max 9,999.
// PLACE (xxxxx.####)

////////////////////////////
// Get Three-Digit Values //
////////////////////////////

int GetValue3High(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) + (GetDigit(arg, 4) * 100 ) );}
//This gets the 3 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123). Use this if you need a value in excess of 326.
// PLACE (###xx.xxxx)

int GetValue3Mid(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) );}
//This gets the 3 MIDDLE decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxx##.#xxx)

int GetValue3Low(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) );}
//This gets the 3 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (789); max 999.
// PLACE (xxxxx.x###)

//////////////////////////////////
// Get Three-Digit Alternatives //
//////////////////////////////////

int GetValue3Upper987(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) + (GetDigit(arg, 4) * 100 ) );}
//This gets the 3 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123). Use this if you need a value in excess of 326.
// PLACE (###xx.xxxx)

int GetValue3Upper123(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) + (GetDigit(arg, 4) * 100 ) );}
//This gets the 3 HIGHEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (123). Use this if you need a value in excess of 326.
// PLACE (###xx.xxxx)

int GetValue3Upper876(int arg){return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) + (GetDigit(arg, 3) * 100 ) );}
//This gets 3 MIDDLE decimal (thousands, hundreds, tens) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (x###x.xxxx)

int GetValue3Upper234(int arg){return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) + (GetDigit(arg, 3) * 100 ) );}
//This gets 3 MIDDLE decimal (thousands, hundreds, tens) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (x###x.xxxx)

int GetValue3Upper765(int arg){return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100 ) );}
//This gets 3 MIDDLE decimal (thousands, hundreds, tens) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xx###.xxxx)

int GetValue3Upper345(int arg){return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100 ) );}
//This gets 3 MIDDLE decimal (thousands, hundreds, tens) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xx###.xxxx)

int GetValue3Mid654(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) );}
//This gets the 3 MIDDLE decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxx##.#xxx)

int GetValue3Mid456(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) );}
//This gets the 3 MIDDLE decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxx##.#xxx)

int GetValue3Lower543(int arg){return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) + (GetDigit(arg, 0) * 100 ) );}
//This gets 3 MIDDLE decimal (tens, tenths, hundredths) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxxx#.##xx)

int GetValue3Lower567(int arg){return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) + (GetDigit(arg, 0) * 100 ) );}
//This gets 3 MIDDLE decimal (tens, tenths, hundredths) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxxx#.##xx)

int GetValue3Lower432(int arg){return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100 ) );}
//This gets 3 MIDDLE decimal (tenths, hundredths, thousandths) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxxxx.###x)

int GetValue3Lower678(int arg){return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) + (GetDigit(arg, -1) * 100 ) );}
//This gets 3 MIDDLE decimal (tenths, hundredths, thousandths) places and turns it into an individual value. Thus, 12345.6789 becomes a value of (456); max 999.
// PLACE (xxxxx.###x)

int GetValue3Lower321(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) );}
//This gets the 3 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (789); max 999.
// PLACE (xxxxx.x###)

int GetValue3Lower123(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) );}
//This gets the 3 LOWEST decimal places and turns it into an individual value. Thus, 12345.6789 becomes a value of (789); max 999.
// PLACE (xxxxx.x###)


//////////////////////////
// Get Two-Digit Values //
//////////////////////////

int GetValue2High(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (ten-thousands, thousands) and turns it into an individual value. Thus, 12345.6789 becomes a value of (12).
// PLACE (##xxx.xxxx)

int GetValue2Low(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (89).
// PLACE (xxxx.xx##)

////////////////////////////////
// Get Two-Digit Alternatives //
////////////////////////////////

///////////////////////////////////////////////////////////////////////////
// The following GetValue commands *DO NOT* use the ten-thousands place. //
///////////////////////////////////////////////////////////////////////////

int GetValue278(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (thousands, hundreds) and turns it into an individual value. Thus, 12345.6789 becomes a value of (23).
// PLACE (x##xx.xxxx)

int GetValue223(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (thousands, hundreds) and turns it into an individual value. Thus, 12345.6789 becomes a value of (23).
// PLACE (x##xx.xxxx)

int GetValue287(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (thousands, hundreds) and turns it into an individual value. Thus, 12345.6789 becomes a value of (23).
// PLACE (x##xx.xxxx)

int GetValue265(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) );}
//This gets the decimal places (tens, ones) and turns it into an individual value. Thus, 12345.6789 becomes a value of (45).
// PLACE (xxx##.xxxx)

int GetValue245(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) );}
//This gets the decimal places (tens, ones) and turns it into an individual value. Thus, 12345.6789 becomes a value of (45).
// PLACE (xxx##.xxxx)

int GetValue243(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) );}
//This gets the decimal places (tenths, hundredths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (67).
// PLACE (xxxxx.##xx)

int GetValue267(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) );}
//This gets the decimal places (tenths, hundredths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (67).
// PLACE (xxxxx.##xx)

int GetValue221(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (89).
// PLACE (xxxx.xx##)

int GetValue212(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (89).
// PLACE (xxxx.xx##)

///////////////////////////////////////////////////////////////////////
// The following GetValue commands *DO* use the ten-thousands place. //
///////////////////////////////////////////////////////////////////////

int GetValue2_98(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (ten-thousands, thousands) and turns it into an individual value. Thus, 12345.6789 becomes a value of (12).
// PLACE (##xxx.xxxx)

int GetValue2_12(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
//This gets the decimal places (ten-thousands, thousands) and turns it into an individual value. Thus, 12345.6789 becomes a value of (12).
// PLACE (##xxx.xxxx)

int GetValue2_76(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) );}
//This gets the decimal places (hundreds, tens) and turns it into an individual value. Thus, 12345.6789 becomes a value of (34).
// PLACE (xx##x.xxxx)

int GetValue2_34(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) );}
//This gets the decimal places (hundreds, tens) and turns it into an individual value. Thus, 12345.6789 becomes a value of (34).
// PLACE (xx##x.xxxx)

int GetValue2_45(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) );}
//This gets the decimal places (tenths, hundredths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (56).
// PLACE (xxx##.xxxx)

int GetValue2_54(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) );}
//This gets the decimal places (tenths, hundredths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (56).
// PLACE (xxxx#.#xxx)

int GetValue2_56(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) );}
//This gets the decimal places (tenths, hundredths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (56).
// PLACE (xxxx#.#xxx)

int GetValue2_32(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (78).
// PLACE (xxxxx.x##x)

int GetValue2_23(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) + (GetDigit(arg, -2) * 10) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (78).
// PLACE (xxxxx.x##x)

//////////////////////////
// Get One-Digit Values //
//////////////////////////

// 		int switch0 = GetDigit(switches, 4);
//		int switch1 = GetDigit(switches, 3);
//		int switch2 = GetDigit(switches, 2);
//		int switch3 = GetDigit(switches, 1);
//		int switch4 = GetDigit(switches, 0);
//		int switch5 = GetDigit(switches, -1);
//		int switch6 = GetDigit(switches, -2);
//		int switch7 = GetDigit(switches, -3);
//		int switch8 = GetDigit(switches, -4);

//int GetValue2Low(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) );}
//This gets the decimal places (thousandths, ten-thousandths) and turns it into an individual value. Thus, 12345.6789 becomes a value of (89).
// PLACE (xxxx.xx##)

int GetValue1Highest(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 4) );}
//This gets the single valuee of the ten-thousands (#xxxx.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (1).
// PLACE (#xxxx.xxxx)

int GetValueSingle1(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 4) );}
//This gets the single valuee of the ten-thousands decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (1).
// PLACE (#xxxx.xxxx)

int GetValue9(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 4) );}
//This gets the single valuee of the ten-thousands decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (1).
// PLACE (#xxxx.xxxx)

int GetValueSingle2(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) );}
//This gets the single valuee of the thousands (x#xxx.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (2).
// PLACE (x#xxx.xxxx)

int GetValue8(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) );}
//This gets the single valuee of the thousands (x#xxx.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (2).
// PLACE (x#xxx.xxxx)

int GetValueSingle3(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) );}
//This gets the single valuee of the hundreds (xx#xx.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (3).
// PLACE (xx#xx.xxxx)

int GetValue7(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) );}
//This gets the single valuee of the hundreds (xx#xx.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (3).
// PLACE (xx#xx.xxxx)

int GetValueSingle4(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) );}
//This gets the single valuee of the tens (xxx#x.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (4).
// PLACE (xxx#x.xxxx)

int GetValue6(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) );}
//This gets the single valuee of the tens (xxx#x.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (4).
// PLACE (xxx#x.xxxx)

int GetValueSingle5(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) );}
//This gets the single valuee of the ones (xxxx#.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (5).
// PLACE (xxxx#.xxxx)

int GetValue5(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) );}
//This gets the single valuee of the ones (xxxx#.xxxx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (5).
// PLACE (xxxx#.xxxx)

int GetValueSingle6(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) );}
//This gets the single valuee of the tenths (xxxxx.x#xx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (6).
// PLACE (xxxxx.#xxx)

int GetValue4(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) );}
//This gets the single valuee of the tenths (xxxxx.x#xx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (6).
// PLACE (xxxxx.#xxx)

int GetValueSingle7(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) );}
//This gets the single valuee of the hundredths (xxxxx.x#xx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (7).
// PLACE (xxxxx.x#xx)

int GetValue3(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) );}
//This gets the single valuee of the hundredths (xxxxx.x#xx) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (7).
// PLACE (xxxxx.x#xx)

int GetValueSingle8(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) );}
//This gets the single valuee of the thousandths (xxxxx.xx#x) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (8).
// PLACE (xxxxx.xx#x)

int GetValue2(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -3) );}
//This gets the single valuee of the thousandths (xxxxx.xx#x) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (8).
// PLACE (xxxxx.xx#x)

int GetValueSingle9(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) );}
//This gets the single valuee of the ten-thousandths (xxxxx.xxx#) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (9).
// PLACE (xxxxx.xxx#)

int GetValue1(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) );}
//This gets the single valuee of the ten-thousandths (xxxxx.xxx#) decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (9).
// PLACE (xxxxx.xxx#)


int GetValueLowest(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) );}
//This gets the single valuee of the ten-thousandths decimal place and turns it into an individual value. Thus, 12345.6789 becomes a value of (9).
// PLACE (xxxxx.xxx#)

/////////////////////
// LEGACY COMMANDS //
/////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// These functions are essentially outmoded by the commands above, but are included for legacy support to anyone    //
// that has elected to use this header up to this point. You may wish to check your scripts to ensure that all the  //
// functions of your scripts still work, and update any that do not, as I have also corrected a couple bugs in the  //
// old functions that kept them from working exactly as intended.                                                   //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


int GetHighArgument(int arg) {return arg >> 0;}
int GetLowArgument(int arg) {return (arg - (arg >> 0)) * 10000;}

int GetFiveAndFourBig(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) + (GetDigit(arg, 2) * 100 ) + (GetDigit(arg, 3) * 1000 ) + (GetDigit(arg, 4) * 10000 ) );}
int GetFiveAndFourSmall(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100) + (GetDigit(arg, -1) * 1000) );}

int GetLowTriArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) );}
int GetMidTriArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) );}
int GetHighTriArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) + (GetDigit(arg, 4) * 100 ) );}
 
int GetFiveAndThreeBig(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -1) + (GetDigit(arg, 0) * 10) + (GetDigit(arg, 1) * 100 ) + (GetDigit(arg, 2) * 1000 ) + (GetDigit(arg, 3) * 10000 ) );}
int GetFiveAndThreeSmall(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100) );}
 
int GetFiveAndDuoTwoFive(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) + (GetDigit(arg, -1) * 1000 ) + (GetDigit(arg, 0) * 10000 ) );}
int GetFiveAndDuoTwoTwoLow(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 1) + (GetDigit(arg, 2) * 10) );}
int GetFiveAndDuoTwoTwoHigh(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}
 
int GetSixAndTwoBig(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) + (GetDigit(arg, -1) * 1000 ) + (GetDigit(arg, 0) * 10000 ) + (GetDigit(arg, 1) * 100000 ) );}
int GetSixAndTwoSmall(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) );}
 
int GetSixAndThreeBig(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) + (GetDigit(arg, -2) * 100 ) + (GetDigit(arg, -1) * 1000 ) + (GetDigit(arg, 0) * 10000 ) + (GetDigit(arg, 1) * 100000 ) );}
int GetSixAndThreeSmall(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) + (GetDigit(arg, 4) * 100) );}
 
int GetSevenAndOneBig(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 2) * 10000 ) - ( GetDigit(arg, 1) * 10000 ) );}
int GetSevenAndOneSmall(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) );}
 

//Need to Redo Equations for this.

   
int GetSevenAndOTwoLow(int arg) {return arg - ( ( (arg >> 0) * 10000 ) - ( GetDigit(arg, 1) * 10000 ) );}
int GetSevenAndTwoHigh(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 3) + (GetDigit(arg, 4) * 10) );}

int GetFirstDuoArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 2) + (GetDigit(arg, 3) * 10) );}
int GetSecondDuoArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, 0) + (GetDigit(arg, 1) * 10) );}
int GetThirdDuoArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -2) + (GetDigit(arg, -1) * 10) );}
int GetFourthDuoArgument(int arg) {return arg - (arg >> 0) + ( GetDigit(arg, -4) + (GetDigit(arg, -3) * 10) );}

	////////////////////    /////////////////
	// Example Values //    // Translation //
	////////////////////    /////////////////////////////////////
	// D0: 06400.0001 //    // D0: (064)(000)(001)             //
	// D1: 00040.0126 //    // D1: (000)(400)(126)             //
	// D2: 00008.9050 //    // D2: 0(00)(08)(90)(50)           //
	// D3: 00100.2200 //   	// D3: 0(01)(00)(22)(00)           //
	// D4:            //   	// D4:                             //
	// D5:            //   	// D5:                             //
	// D6:            //   	// D6:                             //
	// D7: 10000.0000 //    // D7: (1)(0)(0)(0)(0)(0)(0)(0)(0) //
	////////////////////    /////////////////////////////////////


 
//////////////////////////////
/// CREDITS (ALPHABETICAL) ///
//////////////////////////////

///////////////////////////
/// Programming Credits ///
///////////////////////////////////////////////////////////////////////
/// Aevin                                                           ///
/// Alucard (Testing, and function discussion).                     ///
/// blackbishop89                                                   ///
/// Gleeok (GetDigit, and other key, base functions.)               ///
/// grayswandir                                                     ///        
/// jsm116 (GetHighArgument/GetLowArgument base functions.)         ///
/// MasterManiac                                                    ///
/// MoscowModder (Too much to list; possible also UseRItem)         ///
/// Saffith (Function discussion)                                   ///
/// SUCCESSOR (GetpartialArg Funtions)                              ///
/// Zecora (Forum discussions, and assistance.)                     ///
/// ZoriaRPG (Functions, testing, and /Library Maintainer.)         ///
///////////////////////////////////////////////////////////////////////