github.com/wzzhu/tensor@v0.9.24/dense_cmp.go (about) 1 // Code generated by genlib2. DO NOT EDIT. 2 3 package tensor 4 5 import "github.com/pkg/errors" 6 7 // Gt performs t > other elementwise. Both t and other must have the same shape. 8 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 9 //UseUnsafe() will ensure that the same type is returned. 10 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 11 func (t *Dense) Gt(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 12 13 var ret Tensor 14 if t.oe != nil { 15 if ret, err = t.oe.Gt(t, other, opts...); err != nil { 16 return nil, errors.Wrapf(err, "Unable to do Gt()") 17 } 18 if retVal, err = assertDense(ret); err != nil { 19 return nil, errors.Wrapf(err, opFail, "Gt") 20 } 21 return 22 } 23 24 if gter, ok := t.e.(Gter); ok { 25 if ret, err = gter.Gt(t, other, opts...); err != nil { 26 return nil, errors.Wrapf(err, "Unable to do Gt()") 27 } 28 if retVal, err = assertDense(ret); err != nil { 29 return nil, errors.Wrapf(err, opFail, "Gt") 30 } 31 return 32 } 33 return nil, errors.Errorf("Engine does not support Gt()") 34 } 35 36 // Gte performs t ≥ other elementwise. Both t and other must have the same shape. 37 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 38 //UseUnsafe() will ensure that the same type is returned. 39 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 40 func (t *Dense) Gte(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 41 42 var ret Tensor 43 if t.oe != nil { 44 if ret, err = t.oe.Gte(t, other, opts...); err != nil { 45 return nil, errors.Wrapf(err, "Unable to do Gte()") 46 } 47 if retVal, err = assertDense(ret); err != nil { 48 return nil, errors.Wrapf(err, opFail, "Gte") 49 } 50 return 51 } 52 53 if gteer, ok := t.e.(Gteer); ok { 54 if ret, err = gteer.Gte(t, other, opts...); err != nil { 55 return nil, errors.Wrapf(err, "Unable to do Gte()") 56 } 57 if retVal, err = assertDense(ret); err != nil { 58 return nil, errors.Wrapf(err, opFail, "Gte") 59 } 60 return 61 } 62 return nil, errors.Errorf("Engine does not support Gte()") 63 } 64 65 // Lt performs t < other elementwise. Both t and other must have the same shape. 66 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 67 //UseUnsafe() will ensure that the same type is returned. 68 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 69 func (t *Dense) Lt(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 70 71 var ret Tensor 72 if t.oe != nil { 73 if ret, err = t.oe.Lt(t, other, opts...); err != nil { 74 return nil, errors.Wrapf(err, "Unable to do Lt()") 75 } 76 if retVal, err = assertDense(ret); err != nil { 77 return nil, errors.Wrapf(err, opFail, "Lt") 78 } 79 return 80 } 81 82 if lter, ok := t.e.(Lter); ok { 83 if ret, err = lter.Lt(t, other, opts...); err != nil { 84 return nil, errors.Wrapf(err, "Unable to do Lt()") 85 } 86 if retVal, err = assertDense(ret); err != nil { 87 return nil, errors.Wrapf(err, opFail, "Lt") 88 } 89 return 90 } 91 return nil, errors.Errorf("Engine does not support Lt()") 92 } 93 94 // Lte performs t ≤ other elementwise. Both t and other must have the same shape. 95 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 96 //UseUnsafe() will ensure that the same type is returned. 97 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 98 func (t *Dense) Lte(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 99 100 var ret Tensor 101 if t.oe != nil { 102 if ret, err = t.oe.Lte(t, other, opts...); err != nil { 103 return nil, errors.Wrapf(err, "Unable to do Lte()") 104 } 105 if retVal, err = assertDense(ret); err != nil { 106 return nil, errors.Wrapf(err, opFail, "Lte") 107 } 108 return 109 } 110 111 if lteer, ok := t.e.(Lteer); ok { 112 if ret, err = lteer.Lte(t, other, opts...); err != nil { 113 return nil, errors.Wrapf(err, "Unable to do Lte()") 114 } 115 if retVal, err = assertDense(ret); err != nil { 116 return nil, errors.Wrapf(err, opFail, "Lte") 117 } 118 return 119 } 120 return nil, errors.Errorf("Engine does not support Lte()") 121 } 122 123 // ElEq performs t == other elementwise. Both t and other must have the same shape. 124 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 125 //UseUnsafe() will ensure that the same type is returned. 126 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 127 func (t *Dense) ElEq(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 128 129 var ret Tensor 130 if t.oe != nil { 131 if ret, err = t.oe.ElEq(t, other, opts...); err != nil { 132 return nil, errors.Wrapf(err, "Unable to do Eq()") 133 } 134 if retVal, err = assertDense(ret); err != nil { 135 return nil, errors.Wrapf(err, opFail, "Eq") 136 } 137 return 138 } 139 140 if eleqer, ok := t.e.(ElEqer); ok { 141 if ret, err = eleqer.ElEq(t, other, opts...); err != nil { 142 return nil, errors.Wrapf(err, "Unable to do Eq()") 143 } 144 if retVal, err = assertDense(ret); err != nil { 145 return nil, errors.Wrapf(err, opFail, "Eq") 146 } 147 return 148 } 149 return nil, errors.Errorf("Engine does not support Eq()") 150 } 151 152 // ElNe performs t ≠ other elementwise. Both t and other must have the same shape. 153 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 154 //UseUnsafe() will ensure that the same type is returned. 155 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 156 func (t *Dense) ElNe(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) { 157 158 var ret Tensor 159 if t.oe != nil { 160 if ret, err = t.oe.ElNe(t, other, opts...); err != nil { 161 return nil, errors.Wrapf(err, "Unable to do Ne()") 162 } 163 if retVal, err = assertDense(ret); err != nil { 164 return nil, errors.Wrapf(err, opFail, "Ne") 165 } 166 return 167 } 168 169 if eleqer, ok := t.e.(ElEqer); ok { 170 if ret, err = eleqer.ElNe(t, other, opts...); err != nil { 171 return nil, errors.Wrapf(err, "Unable to do Ne()") 172 } 173 if retVal, err = assertDense(ret); err != nil { 174 return nil, errors.Wrapf(err, opFail, "Ne") 175 } 176 return 177 } 178 return nil, errors.Errorf("Engine does not support Ne()") 179 } 180 181 // GtScalar performs t > other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 182 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 183 // UseUnsafe() will ensure that the same type is returned. 184 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 185 func (t *Dense) GtScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 186 var ret Tensor 187 if t.oe != nil { 188 if ret, err = t.oe.GtScalar(t, other, leftTensor, opts...); err != nil { 189 return nil, errors.Wrapf(err, "Unable to do GtScalar()") 190 } 191 if retVal, err = assertDense(ret); err != nil { 192 return nil, errors.Wrapf(err, opFail, "GtScalar") 193 } 194 return 195 } 196 197 if gter, ok := t.e.(Gter); ok { 198 if ret, err = gter.GtScalar(t, other, leftTensor, opts...); err != nil { 199 return nil, errors.Wrapf(err, "Unable to do GtScalar()") 200 } 201 if retVal, err = assertDense(ret); err != nil { 202 return nil, errors.Wrapf(err, opFail, "GtScalar") 203 } 204 return 205 } 206 return nil, errors.Errorf("Engine does not support GtScalar()") 207 } 208 209 // GteScalar performs t ≥ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 210 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 211 // UseUnsafe() will ensure that the same type is returned. 212 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 213 func (t *Dense) GteScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 214 var ret Tensor 215 if t.oe != nil { 216 if ret, err = t.oe.GteScalar(t, other, leftTensor, opts...); err != nil { 217 return nil, errors.Wrapf(err, "Unable to do GteScalar()") 218 } 219 if retVal, err = assertDense(ret); err != nil { 220 return nil, errors.Wrapf(err, opFail, "GteScalar") 221 } 222 return 223 } 224 225 if gteer, ok := t.e.(Gteer); ok { 226 if ret, err = gteer.GteScalar(t, other, leftTensor, opts...); err != nil { 227 return nil, errors.Wrapf(err, "Unable to do GteScalar()") 228 } 229 if retVal, err = assertDense(ret); err != nil { 230 return nil, errors.Wrapf(err, opFail, "GteScalar") 231 } 232 return 233 } 234 return nil, errors.Errorf("Engine does not support GteScalar()") 235 } 236 237 // LtScalar performs t < other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 238 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 239 // UseUnsafe() will ensure that the same type is returned. 240 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 241 func (t *Dense) LtScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 242 var ret Tensor 243 if t.oe != nil { 244 if ret, err = t.oe.LtScalar(t, other, leftTensor, opts...); err != nil { 245 return nil, errors.Wrapf(err, "Unable to do LtScalar()") 246 } 247 if retVal, err = assertDense(ret); err != nil { 248 return nil, errors.Wrapf(err, opFail, "LtScalar") 249 } 250 return 251 } 252 253 if lter, ok := t.e.(Lter); ok { 254 if ret, err = lter.LtScalar(t, other, leftTensor, opts...); err != nil { 255 return nil, errors.Wrapf(err, "Unable to do LtScalar()") 256 } 257 if retVal, err = assertDense(ret); err != nil { 258 return nil, errors.Wrapf(err, opFail, "LtScalar") 259 } 260 return 261 } 262 return nil, errors.Errorf("Engine does not support LtScalar()") 263 } 264 265 // LteScalar performs t ≤ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 266 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 267 // UseUnsafe() will ensure that the same type is returned. 268 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 269 func (t *Dense) LteScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 270 var ret Tensor 271 if t.oe != nil { 272 if ret, err = t.oe.LteScalar(t, other, leftTensor, opts...); err != nil { 273 return nil, errors.Wrapf(err, "Unable to do LteScalar()") 274 } 275 if retVal, err = assertDense(ret); err != nil { 276 return nil, errors.Wrapf(err, opFail, "LteScalar") 277 } 278 return 279 } 280 281 if lteer, ok := t.e.(Lteer); ok { 282 if ret, err = lteer.LteScalar(t, other, leftTensor, opts...); err != nil { 283 return nil, errors.Wrapf(err, "Unable to do LteScalar()") 284 } 285 if retVal, err = assertDense(ret); err != nil { 286 return nil, errors.Wrapf(err, opFail, "LteScalar") 287 } 288 return 289 } 290 return nil, errors.Errorf("Engine does not support LteScalar()") 291 } 292 293 // EqScalar performs t == other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 294 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 295 // UseUnsafe() will ensure that the same type is returned. 296 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 297 func (t *Dense) ElEqScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 298 var ret Tensor 299 if t.oe != nil { 300 if ret, err = t.oe.EqScalar(t, other, leftTensor, opts...); err != nil { 301 return nil, errors.Wrapf(err, "Unable to do EqScalar()") 302 } 303 if retVal, err = assertDense(ret); err != nil { 304 return nil, errors.Wrapf(err, opFail, "EqScalar") 305 } 306 return 307 } 308 309 if eleqer, ok := t.e.(ElEqer); ok { 310 if ret, err = eleqer.EqScalar(t, other, leftTensor, opts...); err != nil { 311 return nil, errors.Wrapf(err, "Unable to do EqScalar()") 312 } 313 if retVal, err = assertDense(ret); err != nil { 314 return nil, errors.Wrapf(err, opFail, "EqScalar") 315 } 316 return 317 } 318 return nil, errors.Errorf("Engine does not support EqScalar()") 319 } 320 321 // NeScalar performs t ≠ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other 322 // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse(). 323 // UseUnsafe() will ensure that the same type is returned. 324 // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype. 325 func (t *Dense) ElNeScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) { 326 var ret Tensor 327 if t.oe != nil { 328 if ret, err = t.oe.NeScalar(t, other, leftTensor, opts...); err != nil { 329 return nil, errors.Wrapf(err, "Unable to do NeScalar()") 330 } 331 if retVal, err = assertDense(ret); err != nil { 332 return nil, errors.Wrapf(err, opFail, "NeScalar") 333 } 334 return 335 } 336 337 if eleqer, ok := t.e.(ElEqer); ok { 338 if ret, err = eleqer.NeScalar(t, other, leftTensor, opts...); err != nil { 339 return nil, errors.Wrapf(err, "Unable to do NeScalar()") 340 } 341 if retVal, err = assertDense(ret); err != nil { 342 return nil, errors.Wrapf(err, opFail, "NeScalar") 343 } 344 return 345 } 346 return nil, errors.Errorf("Engine does not support NeScalar()") 347 }