Prev | Next |

@(@\newcommand{\B}[1]{{\bf #1}} \newcommand{\R}[1]{{\rm #1}}@)@

*z* = *x* *op* *y*

Sets

*z*

to the result of the binary operation defined by
*op*

and with
*x*

as the left operand and
*y*

as the right operand.
The possible values for

*op*

are
` ` | Meaning |

`>` | greater than |

`>` | less than |

`>=` | greater than or equal |

`<=` | less than or equal |

`==` | equal |

`!=` | not equal |

The following table lists the possible (yes) and impossible (no) types for

*x*

and
*y*

.
The corresponding result type for
*z*

is always `bool`

.

*y*

*x* float a_float a2float

*-------------------------------*

float *-* yes yes yes

a_float *-* yes yes no

a2float *-* yes no yes

The type `float`

does not need to be matched exactly
but rather as an instance of `float`

.
Either

*x*

or
*y*

or both may be
a `numpy.array`

with elements
that match one of possible type choices above.
If both
*x*

and
*y*

are arrays, they must have the same shape.
When either
*x*

or
*y*

is an array,
the result
*z*

is an array with the same shape.
The type of the elements of
*z*

correspond to the table above
(when the result type is a `float`

,
this only refers to the element types matching as instances).
The file compare_op.py contains an example and test of these operations.

Input File: pycppad/pycppad.cpp