Changeset - r7926:67fa180590a4
[Not reviewed]
master
0 2 0
skidd13 - 17 years ago 2007-11-19 20:18:27
skidd13@openttd.org
(svn r11479) -Codechange: Move the BIGMUL functions to the file of their usage
-Codechange: Rename the BIGMUL functions to the fitting naming style
2 files changed with 34 insertions and 34 deletions:
0 comments (0 inline, 0 general)
src/economy.cpp
Show inline comments
 
@@ -43,6 +43,38 @@
 
#include "player_face.h"
 
#include "group.h"
 

	
 
/**
 
 * Multiply two integer values and shift the results to right.
 
 *
 
 * This function multiplies two integer values. The result is
 
 * shifted by the amount of shift to right.
 
 *
 
 * @param a The first integer
 
 * @param b The second integer
 
 * @param shift The amount to shift the value to right.
 
 * @return The shifted result
 
 */
 
static inline int32 BigMulS(const int32 a, const int32 b, const uint8 shift)
 
{
 
	return (int32)((int64)a * (int64)b >> shift);
 
}
 

	
 
/**
 
 * Multiply two unsigned integers and shift the results to right.
 
 *
 
 * This function multiplies two unsigned integers. The result is
 
 * shifted by the amount of shift to right.
 
 *
 
 * @param a The first unsigned integer
 
 * @param b The second unsigned integer
 
 * @param shift The amount to shift the value to right.
 
 * @return The shifted result
 
 */
 
static inline uint32 BigMulSU(const uint32 a, const uint32 b, const uint8 shift)
 
{
 
	return (uint32)((uint64)a * (uint64)b >> shift);
 
}
 

	
 
/* Score info */
 
const ScoreInfo _score_info[] = {
 
	{ SCORE_VEHICLES,        120, 100 },
 
@@ -706,7 +738,7 @@ static void PlayersPayInterest()
 
		_current_player = p->index;
 
		SET_EXPENSES_TYPE(EXPENSES_LOAN_INT);
 

	
 
		SubtractMoneyFromPlayer(CommandCost((Money)BIGMULUS(p->current_loan, interest, 16)));
 
		SubtractMoneyFromPlayer(CommandCost((Money)BigMulSU(p->current_loan, interest, 16)));
 

	
 
		SET_EXPENSES_TYPE(EXPENSES_OTHER);
 
		SubtractMoneyFromPlayer(_price.station_value >> 2);
 
@@ -1195,7 +1227,7 @@ Money GetTransportedGoodsIncome(uint num
 

	
 
	if (time_factor < MIN_TIME_FACTOR) time_factor = MIN_TIME_FACTOR;
 

	
 
	return BIGMULSS(dist * time_factor * num_pieces, _cargo_payment_rates[cargo_type], 21);
 
	return BigMulS(dist * time_factor * num_pieces, _cargo_payment_rates[cargo_type], 21);
 
}
 

	
 
static void DeliverGoodsToIndustry(TileIndex xy, CargoID cargo_type, int num_pieces)
src/macros.h
Show inline comments
 
@@ -221,38 +221,6 @@ static inline int32 ClampToI32(const int
 
}
 

	
 
/**
 
 * Multiply two integer values and shift the results to right.
 
 *
 
 * This function multiplies two integer values. The result is
 
 * shifted by the amount of shift to right.
 
 *
 
 * @param a The first integer
 
 * @param b The second integer
 
 * @param shift The amount to shift the value to right.
 
 * @return The shifted result
 
 */
 
static inline int32 BIGMULSS(const int32 a, const int32 b, const uint8 shift)
 
{
 
	return (int32)((int64)a * (int64)b >> shift);
 
}
 

	
 
/**
 
 * Multiply two unsigned integers and shift the results to right.
 
 *
 
 * This function multiplies two unsigned integers. The result is
 
 * shifted by the amount of shift to right.
 
 *
 
 * @param a The first unsigned integer
 
 * @param b The second unsigned integer
 
 * @param shift The amount to shift the value to right.
 
 * @return The shifted result
 
 */
 
static inline uint32 BIGMULUS(const uint32 a, const uint32 b, const uint8 shift)
 
{
 
	return (uint32)((uint64)a * (uint64)b >> shift);
 
}
 

	
 
/**
 
 * Checks if a bit in a value is set.
 
 *
 
 * This function checks if a bit inside a value is set or not.
0 comments (0 inline, 0 general)