Ops(3pm)						User Contributed Perl Documentation						  Ops(3pm)

NAME
PDL::Ops - Fundamental mathematical operators DESCRIPTION
This module provides the functions used by PDL to overload the basic mathematical operators ("+ - / *" etc.) and functions ("sin sqrt" etc.) It also includes the function "log10", which should be a perl function so that we can overload it! Matrix multiplication (the operator "x") is handled by the module PDL::Primitive. SYNOPSIS
none FUNCTIONS
plus Signature: (a(); b(); [o]c(); int swap) add two piddles $c = plus $a, $b, 0; # explicit call with trailing 0 $c = $a + $b; # overloaded call $a->inplace->plus($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "+" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. plus does handle bad values. The state of the bad-value flag of the output piddles is unknown. mult Signature: (a(); b(); [o]c(); int swap) multiply two piddles $c = mult $a, $b, 0; # explicit call with trailing 0 $c = $a * $b; # overloaded call $a->inplace->mult($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "*" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. mult does handle bad values. The state of the bad-value flag of the output piddles is unknown. minus Signature: (a(); b(); [o]c(); int swap) subtract two piddles $c = minus $a, $b, 0; # explicit call with trailing 0 $c = $a - $b; # overloaded call $a->inplace->minus($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "-" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. minus does handle bad values. The state of the bad-value flag of the output piddles is unknown. divide Signature: (a(); b(); [o]c(); int swap) divide two piddles $c = divide $a, $b, 0; # explicit call with trailing 0 $c = $a / $b; # overloaded call $a->inplace->divide($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "/" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. divide does handle bad values. The state of the bad-value flag of the output piddles is unknown. gt Signature: (a(); b(); [o]c(); int swap) the binary > (greater than) operation $c = gt $a, $b, 0; # explicit call with trailing 0 $c = $a > $b; # overloaded call $a->inplace->gt($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary ">" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. gt does handle bad values. The state of the bad-value flag of the output piddles is unknown. lt Signature: (a(); b(); [o]c(); int swap) the binary < (less than) operation $c = lt $a, $b, 0; # explicit call with trailing 0 $c = $a < $b; # overloaded call $a->inplace->lt($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "<" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. lt does handle bad values. The state of the bad-value flag of the output piddles is unknown. le Signature: (a(); b(); [o]c(); int swap) the binary <= (less equal) operation $c = le $a, $b, 0; # explicit call with trailing 0 $c = $a <= $b; # overloaded call $a->inplace->le($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "<=" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. le does handle bad values. The state of the bad-value flag of the output piddles is unknown. ge Signature: (a(); b(); [o]c(); int swap) the binary >= (greater equal) operation $c = ge $a, $b, 0; # explicit call with trailing 0 $c = $a >= $b; # overloaded call $a->inplace->ge($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary ">=" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. ge does handle bad values. The state of the bad-value flag of the output piddles is unknown. eq Signature: (a(); b(); [o]c(); int swap) binary equal to operation ("==") $c = eq $a, $b, 0; # explicit call with trailing 0 $c = $a == $b; # overloaded call $a->inplace->eq($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "==" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. eq does handle bad values. The state of the bad-value flag of the output piddles is unknown. ne Signature: (a(); b(); [o]c(); int swap) binary not equal to operation ("!=") $c = ne $a, $b, 0; # explicit call with trailing 0 $c = $a != $b; # overloaded call $a->inplace->ne($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "!=" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. ne does handle bad values. The state of the bad-value flag of the output piddles is unknown. shiftleft Signature: (a(); b(); [o]c(); int swap) leftshift "a$" by $b $c = shiftleft $a, $b, 0; # explicit call with trailing 0 $c = $a << $b; # overloaded call $a->inplace->shiftleft($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "<<" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. shiftleft does handle bad values. The state of the bad-value flag of the output piddles is unknown. shiftright Signature: (a(); b(); [o]c(); int swap) leftshift "a$" by $b $c = shiftright $a, $b, 0; # explicit call with trailing 0 $c = $a >> $b; # overloaded call $a->inplace->shiftright($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary ">>" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. shiftright does handle bad values. The state of the bad-value flag of the output piddles is unknown. or2 Signature: (a(); b(); [o]c(); int swap) binary or of two piddles $c = or2 $a, $b, 0; # explicit call with trailing 0 $c = $a | $b; # overloaded call $a->inplace->or2($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "|" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. or2 does handle bad values. The state of the bad-value flag of the output piddles is unknown. and2 Signature: (a(); b(); [o]c(); int swap) binary and of two piddles $c = and2 $a, $b, 0; # explicit call with trailing 0 $c = $a & $b; # overloaded call $a->inplace->and2($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "&" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. and2 does handle bad values. The state of the bad-value flag of the output piddles is unknown. xor Signature: (a(); b(); [o]c(); int swap) binary exclusive or of two piddles $c = xor $a, $b, 0; # explicit call with trailing 0 $c = $a ^ $b; # overloaded call $a->inplace->xor($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "^" operator. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. xor does handle bad values. The state of the bad-value flag of the output piddles is unknown. bitnot Signature: (a(); [o]b()) unary bit negation $b = ~ $a; $a->inplace->bitnot; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "~" operator/function. bitnot does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. power Signature: (a(); b(); [o]c(); int swap) raise piddle $a to the power "b" $c = $a->power($b,0); # explicit function call $c = $a ** $b; # overloaded use $a->inplace->power($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "**" function. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. power does handle bad values. The state of the bad-value flag of the output piddles is unknown. atan2 Signature: (a(); b(); [o]c(); int swap) elementwise "atan2" of two piddles $c = $a->atan2($b,0); # explicit function call $c = atan2 $a, $b; # overloaded use $a->inplace->atan2($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "atan2" function. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. atan2 does handle bad values. The state of the bad-value flag of the output piddles is unknown. modulo Signature: (a(); b(); [o]c(); int swap) elementwise "modulo" operation $c = $a->modulo($b,0); # explicit function call $c = $a % $b; # overloaded use $a->inplace->modulo($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "%" function. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. modulo does handle bad values. The state of the bad-value flag of the output piddles is unknown. spaceship Signature: (a(); b(); [o]c(); int swap) elementwise "<=>" operation $c = $a->spaceship($b,0); # explicit function call $c = $a <=> $b; # overloaded use $a->inplace->spaceship($b,0); # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the binary "<=>" function. Note that when calling this function explicitly you need to supply a third argument that should generally be zero (see first example). This restriction is expected to go away in future releases. spaceship does handle bad values. The state of the bad-value flag of the output piddles is unknown. sqrt Signature: (a(); [o]b()) elementwise square root $b = sqrt $a; $a->inplace->sqrt; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "sqrt" operator/function. sqrt does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. abs Signature: (a(); [o]b()) elementwise absolute value $b = abs $a; $a->inplace->abs; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "abs" operator/function. abs does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. sin Signature: (a(); [o]b()) the sin function $b = sin $a; $a->inplace->sin; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "sin" operator/function. sin does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. cos Signature: (a(); [o]b()) the cos function $b = cos $a; $a->inplace->cos; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "cos" operator/function. cos does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. not Signature: (a(); [o]b()) the elementwise not operation $b = ! $a; $a->inplace->not; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "!" operator/function. not does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. exp Signature: (a(); [o]b()) the exponential function $b = exp $a; $a->inplace->exp; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "exp" operator/function. exp does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. log Signature: (a(); [o]b()) the natural logarithm $b = log $a; $a->inplace->log; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "log" operator/function. log does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. log10 Signature: (a(); [o]b()) the base 10 logarithm $b = log10 $a; $a->inplace->log10; # modify $a inplace It can be made to work inplace with the "$a->inplace" syntax. This function is used to overload the unary "log10" operator/function. log10 does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. assgn Signature: (a(); [o]b()) Plain numerical assignment. This is used to implement the ".=" operator assgn does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. AUTHOR
Tuomas J. Lukka (lukka@fas.harvard.edu), Karl Glazebrook (kgb@aaoepp.aao.gov.au), Doug Hunt (dhunt@ucar.edu), Christian Soeller (c.soeller@auckland.ac.nz), Doug Burke (burke@ifa.hawaii.edu), and Craig DeForest (deforest@boulder.swri.edu). perl v5.14.2 2012-05-30 Ops(3pm)