challenge: implement the max function
Xinok
xnknet at gmail.com
Sun Jan 21 11:53:39 PST 2007
Andrei Alexandrescu (See Website For Email) Wrote:
> 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
template max(T1, T2){
typeof(T1+T2) max(T1 a, T2 b){ return a > b ? a : b; }
}
More information about the Digitalmars-d
mailing list