6 #ifndef USML_UBLAS_SCALAR_MATH_H
7 #define USML_UBLAS_SCALAR_MATH_H
9 #include <usml/ublas/math_traits.h>
43 template<
class T1,
class T2>
45 public scalar_binary_functor<T1, T2> {
46 typedef typename scalar_binary_functor<T1, T2>::argument1_type
48 typedef typename scalar_binary_functor<T1, T2>::argument2_type
50 typedef typename scalar_binary_functor<T1, T2>::result_type
62 template<
class T1,
class T2>
64 public scalar_binary_functor<T1, T2> {
65 typedef typename scalar_binary_functor<T1, T2>::argument1_type
67 typedef typename scalar_binary_functor<T1, T2>::argument2_type
69 typedef typename scalar_binary_functor<T1, T2>::result_type
83 public scalar_unary_functor<T> {
85 typedef typename scalar_unary_functor<T>::result_type
result_type;
98 public scalar_unary_functor<T> {
100 typedef typename scalar_unary_functor<T>::result_type
result_type;
116 public scalar_real_unary_functor<T> {
117 typedef typename scalar_real_unary_functor<T>::argument_type
119 typedef typename scalar_real_unary_functor<T>::result_type
133 public scalar_real_unary_functor<T> {
134 typedef typename scalar_real_unary_functor<T>::argument_type
136 typedef typename scalar_real_unary_functor<T>::result_type
151 public scalar_real_unary_functor<T> {
152 typedef typename scalar_real_unary_functor<T>::argument_type
154 typedef typename scalar_real_unary_functor<T>::result_type
169 public scalar_real_unary_functor<T> {
170 typedef typename scalar_real_unary_functor<T>::argument_type
172 typedef typename scalar_real_unary_functor<T>::result_type
189 public scalar_real_unary_functor<T> {
190 typedef typename scalar_real_unary_functor<T>::argument_type
192 typedef typename scalar_real_unary_functor<T>::result_type
206 public scalar_real_unary_functor<T> {
207 typedef typename scalar_real_unary_functor<T>::argument_type
209 typedef typename scalar_real_unary_functor<T>::result_type
223 public scalar_real_unary_functor<T> {
224 typedef typename scalar_real_unary_functor<T>::argument_type
226 typedef typename scalar_real_unary_functor<T>::result_type
240 public scalar_unary_functor<T> {
242 typedef typename scalar_unary_functor<T>::result_type
result_type;
253 template<
class T1,
class T2>
255 public scalar_binary_functor<T1, T2> {
256 typedef typename scalar_binary_functor<T1, T2>::argument1_type
258 typedef typename scalar_binary_functor<T1, T2>::argument2_type
260 typedef typename scalar_binary_functor<T1, T2>::result_type
277 public scalar_unary_functor<T> {
279 typedef typename scalar_unary_functor<T>::result_type
result_type;
292 public scalar_unary_functor<T> {
294 typedef typename scalar_unary_functor<T>::result_type
result_type;
307 public scalar_unary_functor<T> {
309 typedef typename scalar_unary_functor<T>::result_type
result_type;
322 public scalar_unary_functor<T> {
324 typedef typename scalar_unary_functor<T>::result_type
result_type;
337 public scalar_unary_functor<T> {
339 typedef typename scalar_unary_functor<T>::result_type
result_type;
352 public scalar_unary_functor<T> {
354 typedef typename scalar_unary_functor<T>::result_type
result_type;
370 public scalar_unary_functor<T> {
372 typedef typename scalar_unary_functor<T>::result_type
result_type;
385 public scalar_unary_functor<T> {
387 typedef typename scalar_unary_functor<T>::result_type
result_type;
400 public scalar_unary_functor<T> {
402 typedef typename scalar_unary_functor<T>::result_type
result_type;
415 public scalar_unary_functor<T> {
417 typedef typename scalar_unary_functor<T>::result_type
result_type;
430 public scalar_unary_functor<T> {
432 typedef typename scalar_unary_functor<T>::result_type
result_type;
443 template<
class T1,
class T2>
445 public scalar_binary_functor<T1, T2> {
446 typedef typename scalar_binary_functor<T1, T2>::argument1_type
448 typedef typename scalar_binary_functor<T1, T2>::argument2_type
450 typedef typename scalar_binary_functor<T1, T2>::result_type
464 public scalar_unary_functor<T> {
466 typedef typename scalar_unary_functor<T>::result_type
result_type;
482 public scalar_unary_functor<T> {
484 typedef typename scalar_unary_functor<T>::result_type
result_type;
497 public scalar_unary_functor<T> {
499 typedef typename scalar_unary_functor<T>::result_type
result_type;
512 public scalar_unary_functor<T> {
514 typedef typename scalar_unary_functor<T>::result_type
result_type;
525 template<
class T1,
class T2>
527 public scalar_binary_functor<T1, T2> {
528 typedef typename scalar_binary_functor<T1, T2>::argument1_type
530 typedef typename scalar_binary_functor<T1, T2>::argument2_type
532 typedef typename scalar_binary_functor<T1, T2>::result_type
550 public scalar_real_unary_functor<T> {
551 typedef typename scalar_real_unary_functor<T>::argument_type
553 typedef typename scalar_real_unary_functor<T>::result_type
static result_type apply(argument_type t)
Definition: scalar_math.h:404
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:387
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:118
static value_type sqrt(const_reference t)
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:100
static result_type apply(argument_type t)
Definition: scalar_math.h:296
static result_type apply(argument_type t)
Definition: scalar_math.h:311
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:294
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:191
static value_type acos(const_reference t)
Definition: scalar_math.h:188
Definition: scalar_math.h:321
scalar_binary_functor< T1, T2 >::result_type result_type
Definition: scalar_math.h:533
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:293
static value_type cos(const_reference t)
scalar_binary_functor< T1, T2 >::result_type result_type
Definition: scalar_math.h:451
scalar_binary_functor< T1, T2 >::argument2_type argument2_type
Definition: scalar_math.h:449
static result_type apply(argument_type t)
Definition: scalar_math.h:229
scalar_binary_functor< T1, T2 >::argument1_type argument1_type
Definition: scalar_math.h:529
Definition: scalar_math.h:254
Definition: scalar_math.h:463
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:514
static result_type apply(argument1_type t1, argument2_type t2)
Definition: scalar_math.h:535
Definition: scalar_math.h:276
Definition: math_traits.h:76
Definition: scalar_math.h:414
Definition: scalar_math.h:351
static value_type asin(const_reference t)
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:153
Definition: scalar_math.h:549
static result_type apply(argument_type t)
Definition: scalar_math.h:175
static result_type apply(argument_type t)
Definition: scalar_math.h:157
Definition: scalar_math.h:44
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:416
static result_type apply(argument_type t)
Definition: scalar_math.h:122
Definition: scalar_math.h:567
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:171
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:372
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:279
static result_type apply(argument_type t)
Definition: scalar_math.h:419
static result_type apply(argument_type t)
Definition: scalar_math.h:486
Definition: scalar_math.h:496
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:431
Definition: scalar_math.h:511
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:371
static value_type atan(const_reference t)
Definition: scalar_math.h:205
static value_type to_degrees(const_reference t)
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:323
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:278
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:432
scalar_binary_functor< T1, T2 >::argument2_type argument2_type
Definition: scalar_math.h:531
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:155
static value_type tanh(const_reference t)
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:483
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:242
static result_type apply(argument1_type t1, argument2_type t2)
Definition: scalar_math.h:53
Definition: scalar_math.h:168
Definition: scalar_math.h:399
scalar_binary_functor< T1, T2 >::argument2_type argument2_type
Definition: scalar_math.h:259
static value_type cosh(const_reference t)
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:137
Definition: scalar_math.h:222
static value_type atan2(const_reference y, const_reference x)
static value_type sinh(const_reference t)
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:339
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:193
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:465
scalar_binary_functor< T1, T2 >::result_type result_type
Definition: scalar_math.h:70
Definition: scalar_math.h:369
static result_type apply(argument_type t)
Definition: scalar_math.h:434
static result_type apply(argument1_type t1, argument2_type t2)
Definition: scalar_math.h:263
static result_type apply(argument_type t)
Definition: scalar_math.h:102
static result_type apply(argument_type t)
Definition: scalar_math.h:356
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:308
Definition: scalar_math.h:336
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:386
Definition: scalar_math.h:444
T argument_type
Definition: scalar_math.h:568
static result_type apply(argument_type t)
Definition: scalar_math.h:556
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:499
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:173
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:498
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:135
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:227
static result_type apply(argument1_type t1, argument2_type t2)
Definition: scalar_math.h:72
scalar_binary_functor< T1, T2 >::result_type result_type
Definition: scalar_math.h:261
scalar_binary_functor< T1, T2 >::result_type result_type
Definition: scalar_math.h:51
Definition: scalar_math.h:239
static result_type apply(argument1_type y, argument2_type x)
Definition: scalar_math.h:453
Definition: scalar_math.h:150
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:552
static value_type exp(const_reference t)
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:338
Definition: scalar_math.h:115
static result_type apply(argument_type t)
Definition: scalar_math.h:501
static result_type apply(argument_type t)
Definition: scalar_math.h:139
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:210
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:353
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:84
static value_type tan(const_reference t)
static value_type asinh(const_reference t)
static value_type to_latitude(const_reference t)
scalar_binary_functor< T1, T2 >::argument1_type argument1_type
Definition: scalar_math.h:66
static result_type apply(argument_type t)
Definition: scalar_math.h:374
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:401
Definition: scalar_math.h:132
static result_type apply(argument_type t)
Definition: scalar_math.h:281
scalar_binary_functor< T1, T2 >::argument2_type argument2_type
Definition: scalar_math.h:49
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:466
static value_type to_radians(const_reference t)
scalar_binary_functor< T1, T2 >::argument2_type argument2_type
Definition: scalar_math.h:68
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:120
static value_type pow(const_reference t, int e)
Definition: scalar_math.h:429
static value_type sin(const_reference t)
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:402
static result_type apply(argument_type t)
Definition: scalar_math.h:389
Definition: scalar_math.h:291
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:309
Definition: scalar_math.h:481
complex< T > result_type
Definition: scalar_math.h:569
static result_type apply(argument_type t)
Definition: scalar_math.h:195
static value_type log(const_reference t)
static result_type apply(argument_type t)
Definition: scalar_math.h:341
Definition: scalar_math.h:384
Definition: scalar_math.h:82
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:208
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:241
scalar_binary_functor< T1, T2 >::argument1_type argument1_type
Definition: scalar_math.h:47
static value_type to_colatitude(const_reference t)
static result_type apply(argument_type t)
Definition: scalar_math.h:326
scalar_real_unary_functor< T >::result_type result_type
Definition: scalar_math.h:554
static value_type log10(const_reference t)
static value_type atanh(const_reference t)
Definition: scalar_math.h:526
Definition: scalar_math.h:306
static result_type apply(argument_type t)
Definition: scalar_math.h:212
scalar_real_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:225
Definition: scalar_math.h:63
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:324
scalar_binary_functor< T1, T2 >::argument1_type argument1_type
Definition: scalar_math.h:447
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:417
static result_type apply(argument_type t)
Definition: scalar_math.h:516
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:484
Definition: scalar_math.h:97
static result_type apply(argument_type t)
Definition: scalar_math.h:244
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:85
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:513
static result_type apply(argument_type t)
Definition: scalar_math.h:468
static result_type apply(argument_type t)
Definition: scalar_math.h:87
scalar_unary_functor< T >::argument_type argument_type
Definition: scalar_math.h:99
static value_type acosh(const_reference t)
static result_type apply(argument_type t)
Definition: scalar_math.h:571
scalar_binary_functor< T1, T2 >::argument1_type argument1_type
Definition: scalar_math.h:257
scalar_unary_functor< T >::result_type result_type
Definition: scalar_math.h:354