challenge: implement the max function

Andrei Alexandrescu (See Website For Email) SeeWebsiteForEmail at erdani.org
Sun Jan 21 10:34:43 PST 2007


Here's a simple challenge: implement the max function. Requirements:

a) generic
b) efficient
c) preserve lvalueness when possible such that one can write e.g.

max(arr[0], arr[1]) *= 0.9;

d) should accept two or more arguments
e) should return the "smartest" type, e.g. max of an unsigned int and 
unsigned long should return unsigned long
f) short and easy to understand

I don't think it's possible to implement the function to the spec in 
current D, so designs are allowed to invent new features, as long as 
they define them thoroughly.

Looking forward to any takers!


Andrei



More information about the Digitalmars-d mailing list