git-svn-id: svn://ultimatepp.org/upp/trunk@5924 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2013-03-23 10:52:34 +00:00
parent e8cf533eff
commit c6f0d06787
2 changed files with 29 additions and 1 deletions

View file

@ -212,13 +212,13 @@ static void COMBINE(x, _fn)()
#endif
template <class T> inline const T& min(const T& a, const T& b) { return a < b ? a : b; }
template <class T> inline const T& max(const T& a, const T& b) { return a > b ? a : b; }
template <class T> inline const T& min(const T& a, const T& b, const T& c)
{ return min(a, min(b, c)); }
template <class T> inline const T& min(const T& a, const T& b, const T& c, const T& d)
{ return min(min(a, b), min(c, d)); }
template <class T> inline const T& max(const T& a, const T& b) { return a > b ? a : b; }
template <class T> inline const T& max(const T& a, const T& b, const T& c)
{ return max(a, max(b, c)); }
template <class T> inline const T& max(const T& a, const T& b, const T& c, const T& d)

View file

@ -142,6 +142,34 @@ URL that will be opened in the browser&]
[s2;%% Returns true if CPU has MMX support.&]
[s3; &]
[s4; &]
[s5;:min`(const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[@(0.0.255) c
onst]_[*@4 T][@(0.0.255) `&]_[* min]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 a],
[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b])&]
[s5;:min`(const T`&`,const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T
]>_[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* min]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_
[*@3 a], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 c])&]
[s5;:min`(const T`&`,const T`&`,const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) c
lass]_[*@4 T]>_[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* min]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 a], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 c], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 d])&]
[s2;%% Returns the least of all arguments.&]
[s3;%% &]
[s4; &]
[s5;:max`(const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[@(0.0.255) c
onst]_[*@4 T][@(0.0.255) `&]_[* max]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 a],
[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b])&]
[s5;:max`(const T`&`,const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T
]>_[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* max]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_
[*@3 a], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 c])&]
[s5;:max`(const T`&`,const T`&`,const T`&`,const T`&`): [@(0.0.255) template]_<[@(0.0.255) c
lass]_[*@4 T]>_[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* max]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 a], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 b], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&
]_[*@3 c], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 d])&]
[s2;%% Returns the greatest of all arguments.&]
[s3;%% &]
[s4; &]
[s5;:minmax`(T`,T`,T`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[*@4 T]_[* minmax]([*@4 T
]_[*@3 x], [*@4 T]_[*@3 `_min], [*@4 T]_[*@3 `_max])&]
[s5;:clamp`(T`,T`,T`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[*@4 T]_[* clamp]([*@4 T