Compare commits

...

3 Commits

5 changed files with 46 additions and 43 deletions

View File

@ -29,7 +29,6 @@ func RunAuction(g BidderGenerator) (float64, Bidder) {
return prevBid, highBidder
}
/**
* RunAuctionVerbosely simulates a single-bid second-price auction with no
* reserve price between all bidders emitted by the provided generator,
@ -39,7 +38,7 @@ func RunAuction(g BidderGenerator) (float64, Bidder) {
* Use CappedBidderGenerator to limit the size of the auction and therefore
* the number of bidders on the list.
*/
func RunAuctionVerbosely(g BidderGenerator) float64, []Bidder {
func RunAuctionVerbosely(g BidderGenerator) (float64, []Bidder) {
var bidders []Bidder
for b, ok := g.Generate(); ok; b, ok = g.Generate() {
bidders = append(bidders, b)

View File

@ -57,8 +57,9 @@ type Bidder struct {
/**
* ValueBelief returns how much the bidder *thinks* the item is worth to them.
* The actual value to them is b.Value.
*/
func (b Bidder) ValueBelief() float64 {
return b.Value + b.Irrationality;
return b.Value + b.Irrationality
}
/**
@ -79,7 +80,7 @@ func (b Bidder) BidCeiling() float64 {
* than their calculated ceiling if they had the money to do so, but they don't.
*/
func (b Bidder) CashCapped() bool {
return b.ValueBelief() > b.Cash;
return b.ValueBelief() > b.Cash
}
/**

View File

@ -12,7 +12,7 @@ type Distribution interface {
* Draw returns the next float64 from the distribution and true, or
* zero and false if the distribution is exhausted or otherwise unusable.
*/
Draw() float64, bool
Draw() (float64, bool)
}
/**
@ -23,7 +23,7 @@ type BidderGenerator interface {
* Generate returns the next Bidder and true, or a zero Bidder and false if
* the generator is exhausted or otherwise unusable.
*/
Generate() Bidder, bool
Generate() (Bidder, bool)
}
/**
@ -88,7 +88,7 @@ type ConstDistribution float64
* Draw implements Distribution.
*/
func (c ConstDistribution) Draw() (float64, bool) {
return (float64)c, true
return float64(c), true
}
/**

3
go.mod Normal file
View File

@ -0,0 +1,3 @@
module git.chromaticdragon.app/kistaro/auctionsim
go 1.20