triangular.https.any.js (47013B)
1 // META: title=test WebNN API triangular operation 2 // META: global=window 3 // META: variant=?cpu 4 // META: variant=?gpu 5 // META: variant=?npu 6 // META: script=../resources/utils.js 7 // META: timeout=long 8 9 'use strict'; 10 11 // https://www.w3.org/TR/webnn/#api-mlgraphbuilder-triangular 12 // Given a 2-D tensor (matrix), return a 2-D tensor containing either the upper 13 // or lower triangular part of the input tensor. If the input tensor has greater 14 // than 2 dimensions it is treated as a batch of matrices and the result has the 15 // same shape. 16 // 17 // dictionary MLTriangularOptions { 18 // boolean upper = true; 19 // [EnforceRange] long diagonal = 0; 20 // }; 21 // 22 // MLOperand triangular( 23 // MLOperand input, optional MLTriangularOptions options = {}); 24 25 26 const getTriangularPrecisionTolerance = () => { 27 return {metricType: 'ULP', value: 0}; 28 }; 29 30 const triangularTests = [ 31 { 32 'name': 'triangular float32 2D tensor default options', 33 'graph': { 34 'inputs': { 35 'triangularInput': { 36 'data': [ 37 84.9194564819336, -86.21631622314453, 50.38116455078125, 38 -98.47772216796875, -94.51172637939453, -21.42218589782715, 39 24.678754806518555, -50.355342864990234, -37.015724182128906, 40 97.25071716308594, 73.36241149902344, -75.12358856201172, 41 41.64348602294922, 58.862911224365234, -29.916187286376953, 42 67.48285675048828, 42.132598876953125, -70.27587127685547, 43 20.88446617126465, 71.37139892578125, -84.96932220458984, 44 -88.97057342529297, 77.58269500732422, 91.03327178955078 45 ], 46 'descriptor': {shape: [4, 6], dataType: 'float32'} 47 } 48 }, 49 'operators': [{ 50 'name': 'triangular', 51 'arguments': [{'input': 'triangularInput'}], 52 'outputs': 'triangularOutput' 53 }], 54 'expectedOutputs': { 55 'triangularOutput': { 56 'data': [ 57 84.9194564819336, 58 -86.21631622314453, 59 50.38116455078125, 60 -98.47772216796875, 61 -94.51172637939453, 62 -21.42218589782715, 63 0, 64 -50.355342864990234, 65 -37.015724182128906, 66 97.25071716308594, 67 73.36241149902344, 68 -75.12358856201172, 69 0, 70 0, 71 -29.916187286376953, 72 67.48285675048828, 73 42.132598876953125, 74 -70.27587127685547, 75 0, 76 0, 77 0, 78 -88.97057342529297, 79 77.58269500732422, 80 91.03327178955078 81 ], 82 'descriptor': {shape: [4, 6], dataType: 'float32'} 83 } 84 } 85 } 86 }, 87 { 88 'name': 'triangular float32 3D tensor default options', 89 'graph': { 90 'inputs': { 91 'triangularInput': { 92 'data': [ 93 84.9194564819336, -86.21631622314453, 50.38116455078125, 94 -98.47772216796875, -94.51172637939453, -21.42218589782715, 95 24.678754806518555, -50.355342864990234, -37.015724182128906, 96 97.25071716308594, 73.36241149902344, -75.12358856201172, 97 41.64348602294922, 58.862911224365234, -29.916187286376953, 98 67.48285675048828, 42.132598876953125, -70.27587127685547, 99 20.88446617126465, 71.37139892578125, -84.96932220458984, 100 -88.97057342529297, 77.58269500732422, 91.03327178955078 101 ], 102 'descriptor': {shape: [2, 3, 4], dataType: 'float32'} 103 } 104 }, 105 'operators': [{ 106 'name': 'triangular', 107 'arguments': [{'input': 'triangularInput'}], 108 'outputs': 'triangularOutput' 109 }], 110 'expectedOutputs': { 111 'triangularOutput': { 112 'data': [ 113 84.9194564819336, 114 -86.21631622314453, 115 50.38116455078125, 116 -98.47772216796875, 117 0, 118 -21.42218589782715, 119 24.678754806518555, 120 -50.355342864990234, 121 0, 122 0, 123 73.36241149902344, 124 -75.12358856201172, 125 41.64348602294922, 126 58.862911224365234, 127 -29.916187286376953, 128 67.48285675048828, 129 0, 130 -70.27587127685547, 131 20.88446617126465, 132 71.37139892578125, 133 0, 134 0, 135 77.58269500732422, 136 91.03327178955078 137 ], 138 'descriptor': {shape: [2, 3, 4], dataType: 'float32'} 139 } 140 } 141 } 142 }, 143 { 144 'name': 'triangular float32 4D tensor default options', 145 'graph': { 146 'inputs': { 147 'triangularInput': { 148 'data': [ 149 84.9194564819336, -86.21631622314453, 50.38116455078125, 150 -98.47772216796875, -94.51172637939453, -21.42218589782715, 151 24.678754806518555, -50.355342864990234, -37.015724182128906, 152 97.25071716308594, 73.36241149902344, -75.12358856201172, 153 41.64348602294922, 58.862911224365234, -29.916187286376953, 154 67.48285675048828, 42.132598876953125, -70.27587127685547, 155 20.88446617126465, 71.37139892578125, -84.96932220458984, 156 -88.97057342529297, 77.58269500732422, 91.03327178955078 157 ], 158 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 159 } 160 }, 161 'operators': [{ 162 'name': 'triangular', 163 'arguments': [{'input': 'triangularInput'}], 164 'outputs': 'triangularOutput' 165 }], 166 'expectedOutputs': { 167 'triangularOutput': { 168 'data': [ 169 84.9194564819336, -86.21631622314453, 170 50.38116455078125, 0, 171 -94.51172637939453, -21.42218589782715, 172 24.678754806518555, -50.355342864990234, 173 -37.015724182128906, 0, 174 73.36241149902344, -75.12358856201172, 175 41.64348602294922, 58.862911224365234, 176 -29.916187286376953, 0, 177 42.132598876953125, -70.27587127685547, 178 20.88446617126465, 71.37139892578125, 179 -84.96932220458984, 0, 180 77.58269500732422, 91.03327178955078 181 ], 182 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 183 } 184 } 185 } 186 }, 187 { 188 'name': 'triangular float32 5D tensor default options', 189 'graph': { 190 'inputs': { 191 'triangularInput': { 192 'data': [ 193 84.9194564819336, -86.21631622314453, 50.38116455078125, 194 -98.47772216796875, -94.51172637939453, -21.42218589782715, 195 24.678754806518555, -50.355342864990234, -37.015724182128906, 196 97.25071716308594, 73.36241149902344, -75.12358856201172, 197 41.64348602294922, 58.862911224365234, -29.916187286376953, 198 67.48285675048828, 42.132598876953125, -70.27587127685547, 199 20.88446617126465, 71.37139892578125, -84.96932220458984, 200 -88.97057342529297, 77.58269500732422, 91.03327178955078 201 ], 202 'descriptor': {shape: [2, 1, 4, 1, 3], dataType: 'float32'} 203 } 204 }, 205 'operators': [{ 206 'name': 'triangular', 207 'arguments': [{'input': 'triangularInput'}], 208 'outputs': 'triangularOutput' 209 }], 210 'expectedOutputs': { 211 'triangularOutput': { 212 'data': [ 213 84.9194564819336, -86.21631622314453, 50.38116455078125, 214 -98.47772216796875, -94.51172637939453, -21.42218589782715, 215 24.678754806518555, -50.355342864990234, -37.015724182128906, 216 97.25071716308594, 73.36241149902344, -75.12358856201172, 217 41.64348602294922, 58.862911224365234, -29.916187286376953, 218 67.48285675048828, 42.132598876953125, -70.27587127685547, 219 20.88446617126465, 71.37139892578125, -84.96932220458984, 220 -88.97057342529297, 77.58269500732422, 91.03327178955078 221 ], 222 'descriptor': {shape: [2, 1, 4, 1, 3], dataType: 'float32'} 223 } 224 } 225 } 226 }, 227 { 228 'name': 'triangular float32 4D tensor explict options.upper=true', 229 'graph': { 230 'inputs': { 231 'triangularInput': { 232 'data': [ 233 84.9194564819336, -86.21631622314453, 50.38116455078125, 234 -98.47772216796875, -94.51172637939453, -21.42218589782715, 235 24.678754806518555, -50.355342864990234, -37.015724182128906, 236 97.25071716308594, 73.36241149902344, -75.12358856201172, 237 41.64348602294922, 58.862911224365234, -29.916187286376953, 238 67.48285675048828, 42.132598876953125, -70.27587127685547, 239 20.88446617126465, 71.37139892578125, -84.96932220458984, 240 -88.97057342529297, 77.58269500732422, 91.03327178955078 241 ], 242 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 243 } 244 }, 245 'operators': [{ 246 'name': 'triangular', 247 'arguments': 248 [{'input': 'triangularInput'}, {'options': {'upper': true}}], 249 'outputs': 'triangularOutput' 250 }], 251 'expectedOutputs': { 252 'triangularOutput': { 253 'data': [ 254 84.9194564819336, -86.21631622314453, 255 50.38116455078125, 0, 256 -94.51172637939453, -21.42218589782715, 257 24.678754806518555, -50.355342864990234, 258 -37.015724182128906, 0, 259 73.36241149902344, -75.12358856201172, 260 41.64348602294922, 58.862911224365234, 261 -29.916187286376953, 0, 262 42.132598876953125, -70.27587127685547, 263 20.88446617126465, 71.37139892578125, 264 -84.96932220458984, 0, 265 77.58269500732422, 91.03327178955078 266 ], 267 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 268 } 269 } 270 } 271 }, 272 { 273 'name': 'triangular float32 4D tensor options.upper=false', 274 'graph': { 275 'inputs': { 276 'triangularInput': { 277 'data': [ 278 84.9194564819336, -86.21631622314453, 50.38116455078125, 279 -98.47772216796875, -94.51172637939453, -21.42218589782715, 280 24.678754806518555, -50.355342864990234, -37.015724182128906, 281 97.25071716308594, 73.36241149902344, -75.12358856201172, 282 41.64348602294922, 58.862911224365234, -29.916187286376953, 283 67.48285675048828, 42.132598876953125, -70.27587127685547, 284 20.88446617126465, 71.37139892578125, -84.96932220458984, 285 -88.97057342529297, 77.58269500732422, 91.03327178955078 286 ], 287 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 288 } 289 }, 290 'operators': [{ 291 'name': 'triangular', 292 'arguments': 293 [{'input': 'triangularInput'}, {'options': {'upper': false}}], 294 'outputs': 'triangularOutput' 295 }], 296 'expectedOutputs': { 297 'triangularOutput': { 298 'data': [ 299 84.9194564819336, 300 0, 301 0, 302 -98.47772216796875, 303 -94.51172637939453, 304 0, 305 24.678754806518555, 306 0, 307 0, 308 97.25071716308594, 309 73.36241149902344, 310 0, 311 41.64348602294922, 312 0, 313 0, 314 67.48285675048828, 315 42.132598876953125, 316 0, 317 20.88446617126465, 318 0, 319 0, 320 -88.97057342529297, 321 77.58269500732422, 322 0 323 ], 324 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 325 } 326 } 327 } 328 }, 329 { 330 'name': 'triangular float32 4D tensor explict options.diagonal=0', 331 'graph': { 332 'inputs': { 333 'triangularInput': { 334 'data': [ 335 84.9194564819336, -86.21631622314453, 50.38116455078125, 336 -98.47772216796875, -94.51172637939453, -21.42218589782715, 337 24.678754806518555, -50.355342864990234, -37.015724182128906, 338 97.25071716308594, 73.36241149902344, -75.12358856201172, 339 41.64348602294922, 58.862911224365234, -29.916187286376953, 340 67.48285675048828, 42.132598876953125, -70.27587127685547, 341 20.88446617126465, 71.37139892578125, -84.96932220458984, 342 -88.97057342529297, 77.58269500732422, 91.03327178955078 343 ], 344 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 345 } 346 }, 347 'operators': [{ 348 'name': 'triangular', 349 'arguments': 350 [{'input': 'triangularInput'}, {'options': {'diagonal': 0}}], 351 'outputs': 'triangularOutput' 352 }], 353 'expectedOutputs': { 354 'triangularOutput': { 355 'data': [ 356 84.9194564819336, -86.21631622314453, 357 50.38116455078125, 0, 358 -94.51172637939453, -21.42218589782715, 359 24.678754806518555, -50.355342864990234, 360 -37.015724182128906, 0, 361 73.36241149902344, -75.12358856201172, 362 41.64348602294922, 58.862911224365234, 363 -29.916187286376953, 0, 364 42.132598876953125, -70.27587127685547, 365 20.88446617126465, 71.37139892578125, 366 -84.96932220458984, 0, 367 77.58269500732422, 91.03327178955078 368 ], 369 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 370 } 371 } 372 } 373 }, 374 { 375 'name': 'triangular float32 4D tensor options.diagonal=1', 376 'graph': { 377 'inputs': { 378 'triangularInput': { 379 'data': [ 380 84.9194564819336, -86.21631622314453, 50.38116455078125, 381 -98.47772216796875, -94.51172637939453, -21.42218589782715, 382 24.678754806518555, -50.355342864990234, -37.015724182128906, 383 97.25071716308594, 73.36241149902344, -75.12358856201172, 384 41.64348602294922, 58.862911224365234, -29.916187286376953, 385 67.48285675048828, 42.132598876953125, -70.27587127685547, 386 20.88446617126465, 71.37139892578125, -84.96932220458984, 387 -88.97057342529297, 77.58269500732422, 91.03327178955078 388 ], 389 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 390 } 391 }, 392 'operators': [{ 393 'name': 'triangular', 394 'arguments': 395 [{'input': 'triangularInput'}, {'options': {'diagonal': 1}}], 396 'outputs': 'triangularOutput' 397 }], 398 'expectedOutputs': { 399 'triangularOutput': { 400 'data': [ 401 0, 402 -86.21631622314453, 403 50.38116455078125, 404 0, 405 0, 406 -21.42218589782715, 407 0, 408 -50.355342864990234, 409 -37.015724182128906, 410 0, 411 0, 412 -75.12358856201172, 413 0, 414 58.862911224365234, 415 -29.916187286376953, 416 0, 417 0, 418 -70.27587127685547, 419 0, 420 71.37139892578125, 421 -84.96932220458984, 422 0, 423 0, 424 91.03327178955078 425 ], 426 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 427 } 428 } 429 } 430 }, 431 { 432 'name': 'triangular float32 4D tensor options.diagonal=-1', 433 'graph': { 434 'inputs': { 435 'triangularInput': { 436 'data': [ 437 84.9194564819336, -86.21631622314453, 50.38116455078125, 438 -98.47772216796875, -94.51172637939453, -21.42218589782715, 439 24.678754806518555, -50.355342864990234, -37.015724182128906, 440 97.25071716308594, 73.36241149902344, -75.12358856201172, 441 41.64348602294922, 58.862911224365234, -29.916187286376953, 442 67.48285675048828, 42.132598876953125, -70.27587127685547, 443 20.88446617126465, 71.37139892578125, -84.96932220458984, 444 -88.97057342529297, 77.58269500732422, 91.03327178955078 445 ], 446 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 447 } 448 }, 449 'operators': [{ 450 'name': 'triangular', 451 'arguments': 452 [{'input': 'triangularInput'}, {'options': {'diagonal': -1}}], 453 'outputs': 'triangularOutput' 454 }], 455 'expectedOutputs': { 456 'triangularOutput': { 457 'data': [ 458 84.9194564819336, -86.21631622314453, 50.38116455078125, 459 -98.47772216796875, -94.51172637939453, -21.42218589782715, 460 24.678754806518555, -50.355342864990234, -37.015724182128906, 461 97.25071716308594, 73.36241149902344, -75.12358856201172, 462 41.64348602294922, 58.862911224365234, -29.916187286376953, 463 67.48285675048828, 42.132598876953125, -70.27587127685547, 464 20.88446617126465, 71.37139892578125, -84.96932220458984, 465 -88.97057342529297, 77.58269500732422, 91.03327178955078 466 ], 467 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 468 } 469 } 470 } 471 }, 472 { 473 'name': 'triangular float32 4D tensor fully zero options.diagonal=3', 474 'graph': { 475 'inputs': { 476 'triangularInput': { 477 'data': [ 478 84.9194564819336, -86.21631622314453, 50.38116455078125, 479 -98.47772216796875, -94.51172637939453, -21.42218589782715, 480 24.678754806518555, -50.355342864990234, -37.015724182128906, 481 97.25071716308594, 73.36241149902344, -75.12358856201172, 482 41.64348602294922, 58.862911224365234, -29.916187286376953, 483 67.48285675048828, 42.132598876953125, -70.27587127685547, 484 20.88446617126465, 71.37139892578125, -84.96932220458984, 485 -88.97057342529297, 77.58269500732422, 91.03327178955078 486 ], 487 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 488 } 489 }, 490 'operators': [{ 491 'name': 'triangular', 492 'arguments': 493 [{'input': 'triangularInput'}, {'options': {'diagonal': 3}}], 494 'outputs': 'triangularOutput' 495 }], 496 'expectedOutputs': { 497 'triangularOutput': { 498 'data': [ 499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 501 ], 502 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 503 } 504 } 505 } 506 }, 507 { 508 'name': 'triangular float32 4D tensor fully copied options.diagonal=-2', 509 'graph': { 510 'inputs': { 511 'triangularInput': { 512 'data': [ 513 84.9194564819336, -86.21631622314453, 50.38116455078125, 514 -98.47772216796875, -94.51172637939453, -21.42218589782715, 515 24.678754806518555, -50.355342864990234, -37.015724182128906, 516 97.25071716308594, 73.36241149902344, -75.12358856201172, 517 41.64348602294922, 58.862911224365234, -29.916187286376953, 518 67.48285675048828, 42.132598876953125, -70.27587127685547, 519 20.88446617126465, 71.37139892578125, -84.96932220458984, 520 -88.97057342529297, 77.58269500732422, 91.03327178955078 521 ], 522 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 523 } 524 }, 525 'operators': [{ 526 'name': 'triangular', 527 'arguments': 528 [{'input': 'triangularInput'}, {'options': {'diagonal': -2}}], 529 'outputs': 'triangularOutput' 530 }], 531 'expectedOutputs': { 532 'triangularOutput': { 533 'data': [ 534 84.9194564819336, -86.21631622314453, 50.38116455078125, 535 -98.47772216796875, -94.51172637939453, -21.42218589782715, 536 24.678754806518555, -50.355342864990234, -37.015724182128906, 537 97.25071716308594, 73.36241149902344, -75.12358856201172, 538 41.64348602294922, 58.862911224365234, -29.916187286376953, 539 67.48285675048828, 42.132598876953125, -70.27587127685547, 540 20.88446617126465, 71.37139892578125, -84.96932220458984, 541 -88.97057342529297, 77.58269500732422, 91.03327178955078 542 ], 543 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 544 } 545 } 546 } 547 }, 548 { 549 'name': 550 'triangular float32 4D tensor options.upper=true options.diagonal=1', 551 'graph': { 552 'inputs': { 553 'triangularInput': { 554 'data': [ 555 84.9194564819336, -86.21631622314453, 50.38116455078125, 556 -98.47772216796875, -94.51172637939453, -21.42218589782715, 557 24.678754806518555, -50.355342864990234, -37.015724182128906, 558 97.25071716308594, 73.36241149902344, -75.12358856201172, 559 41.64348602294922, 58.862911224365234, -29.916187286376953, 560 67.48285675048828, 42.132598876953125, -70.27587127685547, 561 20.88446617126465, 71.37139892578125, -84.96932220458984, 562 -88.97057342529297, 77.58269500732422, 91.03327178955078 563 ], 564 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 565 } 566 }, 567 'operators': [{ 568 'name': 'triangular', 569 'arguments': [ 570 {'input': 'triangularInput'}, 571 {'options': {'upper': true, 'diagonal': 1}} 572 ], 573 'outputs': 'triangularOutput' 574 }], 575 'expectedOutputs': { 576 'triangularOutput': { 577 'data': [ 578 0, 579 -86.21631622314453, 580 50.38116455078125, 581 0, 582 0, 583 -21.42218589782715, 584 0, 585 -50.355342864990234, 586 -37.015724182128906, 587 0, 588 0, 589 -75.12358856201172, 590 0, 591 58.862911224365234, 592 -29.916187286376953, 593 0, 594 0, 595 -70.27587127685547, 596 0, 597 71.37139892578125, 598 -84.96932220458984, 599 0, 600 0, 601 91.03327178955078 602 ], 603 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 604 } 605 } 606 } 607 }, 608 { 609 'name': 610 'triangular float32 4D tensor options.upper=false options.diagonal=1', 611 'graph': { 612 'inputs': { 613 'triangularInput': { 614 'data': [ 615 84.9194564819336, -86.21631622314453, 50.38116455078125, 616 -98.47772216796875, -94.51172637939453, -21.42218589782715, 617 24.678754806518555, -50.355342864990234, -37.015724182128906, 618 97.25071716308594, 73.36241149902344, -75.12358856201172, 619 41.64348602294922, 58.862911224365234, -29.916187286376953, 620 67.48285675048828, 42.132598876953125, -70.27587127685547, 621 20.88446617126465, 71.37139892578125, -84.96932220458984, 622 -88.97057342529297, 77.58269500732422, 91.03327178955078 623 ], 624 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 625 } 626 }, 627 'operators': [{ 628 'name': 'triangular', 629 'arguments': [ 630 {'input': 'triangularInput'}, 631 {'options': {'upper': false, 'diagonal': 1}} 632 ], 633 'outputs': 'triangularOutput' 634 }], 635 'expectedOutputs': { 636 'triangularOutput': { 637 'data': [ 638 84.9194564819336, -86.21631622314453, 0, 639 -98.47772216796875, -94.51172637939453, -21.42218589782715, 640 24.678754806518555, -50.355342864990234, 0, 641 97.25071716308594, 73.36241149902344, -75.12358856201172, 642 41.64348602294922, 58.862911224365234, 0, 643 67.48285675048828, 42.132598876953125, -70.27587127685547, 644 20.88446617126465, 71.37139892578125, 0, 645 -88.97057342529297, 77.58269500732422, 91.03327178955078 646 ], 647 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 648 } 649 } 650 } 651 }, 652 { 653 'name': 654 'triangular float32 4D tensor options.upper=false options.diagonal=-1', 655 'graph': { 656 'inputs': { 657 'triangularInput': { 658 'data': [ 659 84.9194564819336, -86.21631622314453, 50.38116455078125, 660 -98.47772216796875, -94.51172637939453, -21.42218589782715, 661 24.678754806518555, -50.355342864990234, -37.015724182128906, 662 97.25071716308594, 73.36241149902344, -75.12358856201172, 663 41.64348602294922, 58.862911224365234, -29.916187286376953, 664 67.48285675048828, 42.132598876953125, -70.27587127685547, 665 20.88446617126465, 71.37139892578125, -84.96932220458984, 666 -88.97057342529297, 77.58269500732422, 91.03327178955078 667 ], 668 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 669 } 670 }, 671 'operators': [{ 672 'name': 'triangular', 673 'arguments': [ 674 {'input': 'triangularInput'}, 675 {'options': {'upper': false, 'diagonal': -1}} 676 ], 677 'outputs': 'triangularOutput' 678 }], 679 'expectedOutputs': { 680 'triangularOutput': { 681 'data': [ 682 0, 0, 0, -98.47772216796875, 0, 0, 683 0, 0, 0, 97.25071716308594, 0, 0, 684 0, 0, 0, 67.48285675048828, 0, 0, 685 0, 0, 0, -88.97057342529297, 0, 0 686 ], 687 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 688 } 689 } 690 } 691 }, 692 { 693 'name': 694 'triangular float32 4D tensor fully copied options.upper=false options.diagonal=3', 695 'graph': { 696 'inputs': { 697 'triangularInput': { 698 'data': [ 699 84.9194564819336, -86.21631622314453, 50.38116455078125, 700 -98.47772216796875, -94.51172637939453, -21.42218589782715, 701 24.678754806518555, -50.355342864990234, -37.015724182128906, 702 97.25071716308594, 73.36241149902344, -75.12358856201172, 703 41.64348602294922, 58.862911224365234, -29.916187286376953, 704 67.48285675048828, 42.132598876953125, -70.27587127685547, 705 20.88446617126465, 71.37139892578125, -84.96932220458984, 706 -88.97057342529297, 77.58269500732422, 91.03327178955078 707 ], 708 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 709 } 710 }, 711 'operators': [{ 712 'name': 'triangular', 713 'arguments': [ 714 {'input': 'triangularInput'}, 715 {'options': {'upper': false, 'diagonal': 3}} 716 ], 717 'outputs': 'triangularOutput' 718 }], 719 'expectedOutputs': { 720 'triangularOutput': { 721 'data': [ 722 84.9194564819336, -86.21631622314453, 50.38116455078125, 723 -98.47772216796875, -94.51172637939453, -21.42218589782715, 724 24.678754806518555, -50.355342864990234, -37.015724182128906, 725 97.25071716308594, 73.36241149902344, -75.12358856201172, 726 41.64348602294922, 58.862911224365234, -29.916187286376953, 727 67.48285675048828, 42.132598876953125, -70.27587127685547, 728 20.88446617126465, 71.37139892578125, -84.96932220458984, 729 -88.97057342529297, 77.58269500732422, 91.03327178955078 730 ], 731 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 732 } 733 } 734 } 735 }, 736 { 737 'name': 738 'triangular float32 4D tensor fully zero options.upper=false options.diagonal=-2', 739 'graph': { 740 'inputs': { 741 'triangularInput': { 742 'data': [ 743 84.9194564819336, -86.21631622314453, 50.38116455078125, 744 -98.47772216796875, -94.51172637939453, -21.42218589782715, 745 24.678754806518555, -50.355342864990234, -37.015724182128906, 746 97.25071716308594, 73.36241149902344, -75.12358856201172, 747 41.64348602294922, 58.862911224365234, -29.916187286376953, 748 67.48285675048828, 42.132598876953125, -70.27587127685547, 749 20.88446617126465, 71.37139892578125, -84.96932220458984, 750 -88.97057342529297, 77.58269500732422, 91.03327178955078 751 ], 752 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 753 } 754 }, 755 'operators': [{ 756 'name': 'triangular', 757 'arguments': [ 758 {'input': 'triangularInput'}, 759 {'options': {'upper': false, 'diagonal': -2}} 760 ], 761 'outputs': 'triangularOutput' 762 }], 763 'expectedOutputs': { 764 'triangularOutput': { 765 'data': [ 766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 768 ], 769 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 770 } 771 } 772 } 773 }, 774 775 // float16 tests 776 { 777 'name': 'triangular float16 2D tensor default options', 778 'graph': { 779 'inputs': { 780 'triangularInput': { 781 'data': [ 782 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 783 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 784 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 785 20.890625, 71.375, -85, -89, 77.5625, 91.0625 786 ], 787 'descriptor': {shape: [4, 6], dataType: 'float16'} 788 } 789 }, 790 'operators': [{ 791 'name': 'triangular', 792 'arguments': [{'input': 'triangularInput'}], 793 'outputs': 'triangularOutput' 794 }], 795 'expectedOutputs': { 796 'triangularOutput': { 797 'data': [ 798 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 799 0, -50.34375, -37.03125, 97.25, 73.375, -75.125, 800 0, 0, -29.921875, 67.5, 42.125, -70.25, 801 0, 0, 0, -89, 77.5625, 91.0625 802 ], 803 'descriptor': {shape: [4, 6], dataType: 'float16'} 804 } 805 } 806 } 807 }, 808 { 809 'name': 'triangular float16 3D tensor default options', 810 'graph': { 811 'inputs': { 812 'triangularInput': { 813 'data': [ 814 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 815 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 816 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 817 20.890625, 71.375, -85, -89, 77.5625, 91.0625 818 ], 819 'descriptor': {shape: [2, 3, 4], dataType: 'float16'} 820 } 821 }, 822 'operators': [{ 823 'name': 'triangular', 824 'arguments': [{'input': 'triangularInput'}], 825 'outputs': 'triangularOutput' 826 }], 827 'expectedOutputs': { 828 'triangularOutput': { 829 'data': [ 830 84.9375, -86.1875, 50.375, -98.5, 0, -21.421875, 831 24.671875, -50.34375, 0, 0, 73.375, -75.125, 832 41.65625, 58.875, -29.921875, 67.5, 0, -70.25, 833 20.890625, 71.375, 0, 0, 77.5625, 91.0625 834 ], 835 'descriptor': {shape: [2, 3, 4], dataType: 'float16'} 836 } 837 } 838 } 839 }, 840 { 841 'name': 'triangular float16 4D tensor default options', 842 'graph': { 843 'inputs': { 844 'triangularInput': { 845 'data': [ 846 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 847 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 848 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 849 20.890625, 71.375, -85, -89, 77.5625, 91.0625 850 ], 851 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 852 } 853 }, 854 'operators': [{ 855 'name': 'triangular', 856 'arguments': [{'input': 'triangularInput'}], 857 'outputs': 'triangularOutput' 858 }], 859 'expectedOutputs': { 860 'triangularOutput': { 861 'data': [ 862 84.9375, -86.1875, 50.375, 0, -94.5, -21.421875, 863 24.671875, -50.34375, -37.03125, 0, 73.375, -75.125, 864 41.65625, 58.875, -29.921875, 0, 42.125, -70.25, 865 20.890625, 71.375, -85, 0, 77.5625, 91.0625 866 ], 867 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 868 } 869 } 870 } 871 }, 872 { 873 'name': 'triangular float16 5D tensor default options', 874 'graph': { 875 'inputs': { 876 'triangularInput': { 877 'data': [ 878 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 879 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 880 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 881 20.890625, 71.375, -85, -89, 77.5625, 91.0625 882 ], 883 'descriptor': {shape: [2, 1, 4, 1, 3], dataType: 'float16'} 884 } 885 }, 886 'operators': [{ 887 'name': 'triangular', 888 'arguments': [{'input': 'triangularInput'}], 889 'outputs': 'triangularOutput' 890 }], 891 'expectedOutputs': { 892 'triangularOutput': { 893 'data': [ 894 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 895 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 896 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 897 20.890625, 71.375, -85, -89, 77.5625, 91.0625 898 ], 899 'descriptor': {shape: [2, 1, 4, 1, 3], dataType: 'float16'} 900 } 901 } 902 } 903 }, 904 { 905 'name': 'triangular float16 4D tensor explict options.upper=true', 906 'graph': { 907 'inputs': { 908 'triangularInput': { 909 'data': [ 910 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 911 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 912 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 913 20.890625, 71.375, -85, -89, 77.5625, 91.0625 914 ], 915 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 916 } 917 }, 918 'operators': [{ 919 'name': 'triangular', 920 'arguments': 921 [{'input': 'triangularInput'}, {'options': {'upper': true}}], 922 'outputs': 'triangularOutput' 923 }], 924 'expectedOutputs': { 925 'triangularOutput': { 926 'data': [ 927 84.9375, -86.1875, 50.375, 0, -94.5, -21.421875, 928 24.671875, -50.34375, -37.03125, 0, 73.375, -75.125, 929 41.65625, 58.875, -29.921875, 0, 42.125, -70.25, 930 20.890625, 71.375, -85, 0, 77.5625, 91.0625 931 ], 932 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 933 } 934 } 935 } 936 }, 937 { 938 'name': 'triangular float16 4D tensor options.upper=false', 939 'graph': { 940 'inputs': { 941 'triangularInput': { 942 'data': [ 943 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 944 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 945 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 946 20.890625, 71.375, -85, -89, 77.5625, 91.0625 947 ], 948 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 949 } 950 }, 951 'operators': [{ 952 'name': 'triangular', 953 'arguments': 954 [{'input': 'triangularInput'}, {'options': {'upper': false}}], 955 'outputs': 'triangularOutput' 956 }], 957 'expectedOutputs': { 958 'triangularOutput': { 959 'data': [ 960 84.9375, 0, 0, -98.5, -94.5, 0, 24.671875, 0, 961 0, 97.25, 73.375, 0, 41.65625, 0, 0, 67.5, 962 42.125, 0, 20.890625, 0, 0, -89, 77.5625, 0 963 ], 964 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 965 } 966 } 967 } 968 }, 969 { 970 'name': 'triangular float16 4D tensor explict options.diagonal=0', 971 'graph': { 972 'inputs': { 973 'triangularInput': { 974 'data': [ 975 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 976 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 977 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 978 20.890625, 71.375, -85, -89, 77.5625, 91.0625 979 ], 980 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 981 } 982 }, 983 'operators': [{ 984 'name': 'triangular', 985 'arguments': 986 [{'input': 'triangularInput'}, {'options': {'diagonal': 0}}], 987 'outputs': 'triangularOutput' 988 }], 989 'expectedOutputs': { 990 'triangularOutput': { 991 'data': [ 992 84.9375, -86.1875, 50.375, 0, -94.5, -21.421875, 993 24.671875, -50.34375, -37.03125, 0, 73.375, -75.125, 994 41.65625, 58.875, -29.921875, 0, 42.125, -70.25, 995 20.890625, 71.375, -85, 0, 77.5625, 91.0625 996 ], 997 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 998 } 999 } 1000 } 1001 }, 1002 { 1003 'name': 'triangular float16 4D tensor options.diagonal=1', 1004 'graph': { 1005 'inputs': { 1006 'triangularInput': { 1007 'data': [ 1008 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1009 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1010 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1011 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1012 ], 1013 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1014 } 1015 }, 1016 'operators': [{ 1017 'name': 'triangular', 1018 'arguments': 1019 [{'input': 'triangularInput'}, {'options': {'diagonal': 1}}], 1020 'outputs': 'triangularOutput' 1021 }], 1022 'expectedOutputs': { 1023 'triangularOutput': { 1024 'data': [ 1025 0, -86.1875, 50.375, 0, 0, -21.421875, 1026 0, -50.34375, -37.03125, 0, 0, -75.125, 1027 0, 58.875, -29.921875, 0, 0, -70.25, 1028 0, 71.375, -85, 0, 0, 91.0625 1029 ], 1030 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1031 } 1032 } 1033 } 1034 }, 1035 { 1036 'name': 'triangular float16 4D tensor options.diagonal=-1', 1037 'graph': { 1038 'inputs': { 1039 'triangularInput': { 1040 'data': [ 1041 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1042 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1043 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1044 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1045 ], 1046 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1047 } 1048 }, 1049 'operators': [{ 1050 'name': 'triangular', 1051 'arguments': 1052 [{'input': 'triangularInput'}, {'options': {'diagonal': -1}}], 1053 'outputs': 'triangularOutput' 1054 }], 1055 'expectedOutputs': { 1056 'triangularOutput': { 1057 'data': [ 1058 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1059 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1060 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1061 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1062 ], 1063 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1064 } 1065 } 1066 } 1067 }, 1068 { 1069 'name': 'triangular float16 4D tensor fully zero options.diagonal=3', 1070 'graph': { 1071 'inputs': { 1072 'triangularInput': { 1073 'data': [ 1074 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1075 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1076 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1077 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1078 ], 1079 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1080 } 1081 }, 1082 'operators': [{ 1083 'name': 'triangular', 1084 'arguments': 1085 [{'input': 'triangularInput'}, {'options': {'diagonal': 3}}], 1086 'outputs': 'triangularOutput' 1087 }], 1088 'expectedOutputs': { 1089 'triangularOutput': { 1090 'data': [ 1091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1093 ], 1094 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1095 } 1096 } 1097 } 1098 }, 1099 { 1100 'name': 'triangular float16 4D tensor fully copied options.diagonal=-2', 1101 'graph': { 1102 'inputs': { 1103 'triangularInput': { 1104 'data': [ 1105 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1106 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1107 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1108 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1109 ], 1110 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1111 } 1112 }, 1113 'operators': [{ 1114 'name': 'triangular', 1115 'arguments': 1116 [{'input': 'triangularInput'}, {'options': {'diagonal': -2}}], 1117 'outputs': 'triangularOutput' 1118 }], 1119 'expectedOutputs': { 1120 'triangularOutput': { 1121 'data': [ 1122 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1123 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1124 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1125 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1126 ], 1127 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1128 } 1129 } 1130 } 1131 }, 1132 { 1133 'name': 1134 'triangular float16 4D tensor options.upper=true options.diagonal=1', 1135 'graph': { 1136 'inputs': { 1137 'triangularInput': { 1138 'data': [ 1139 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1140 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1141 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1142 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1143 ], 1144 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1145 } 1146 }, 1147 'operators': [{ 1148 'name': 'triangular', 1149 'arguments': [ 1150 {'input': 'triangularInput'}, 1151 {'options': {'upper': true, 'diagonal': 1}} 1152 ], 1153 'outputs': 'triangularOutput' 1154 }], 1155 'expectedOutputs': { 1156 'triangularOutput': { 1157 'data': [ 1158 0, -86.1875, 50.375, 0, 0, -21.421875, 1159 0, -50.34375, -37.03125, 0, 0, -75.125, 1160 0, 58.875, -29.921875, 0, 0, -70.25, 1161 0, 71.375, -85, 0, 0, 91.0625 1162 ], 1163 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1164 } 1165 } 1166 } 1167 }, 1168 { 1169 'name': 1170 'triangular float16 4D tensor options.upper=false options.diagonal=1', 1171 'graph': { 1172 'inputs': { 1173 'triangularInput': { 1174 'data': [ 1175 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1176 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1177 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1178 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1179 ], 1180 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1181 } 1182 }, 1183 'operators': [{ 1184 'name': 'triangular', 1185 'arguments': [ 1186 {'input': 'triangularInput'}, 1187 {'options': {'upper': false, 'diagonal': 1}} 1188 ], 1189 'outputs': 'triangularOutput' 1190 }], 1191 'expectedOutputs': { 1192 'triangularOutput': { 1193 'data': [ 1194 84.9375, -86.1875, 0, -98.5, -94.5, -21.421875, 1195 24.671875, -50.34375, 0, 97.25, 73.375, -75.125, 1196 41.65625, 58.875, 0, 67.5, 42.125, -70.25, 1197 20.890625, 71.375, 0, -89, 77.5625, 91.0625 1198 ], 1199 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1200 } 1201 } 1202 } 1203 }, 1204 { 1205 'name': 1206 'triangular float16 4D tensor options.upper=false options.diagonal=-1', 1207 'graph': { 1208 'inputs': { 1209 'triangularInput': { 1210 'data': [ 1211 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1212 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1213 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1214 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1215 ], 1216 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1217 } 1218 }, 1219 'operators': [{ 1220 'name': 'triangular', 1221 'arguments': [ 1222 {'input': 'triangularInput'}, 1223 {'options': {'upper': false, 'diagonal': -1}} 1224 ], 1225 'outputs': 'triangularOutput' 1226 }], 1227 'expectedOutputs': { 1228 'triangularOutput': { 1229 'data': [ 1230 0, 0, 0, -98.5, 0, 0, 0, 0, 0, 97.25, 0, 0, 1231 0, 0, 0, 67.5, 0, 0, 0, 0, 0, -89, 0, 0 1232 ], 1233 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1234 } 1235 } 1236 } 1237 }, 1238 { 1239 'name': 1240 'triangular float16 4D tensor fully copied options.upper=false options.diagonal=3', 1241 'graph': { 1242 'inputs': { 1243 'triangularInput': { 1244 'data': [ 1245 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1246 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1247 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1248 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1249 ], 1250 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1251 } 1252 }, 1253 'operators': [{ 1254 'name': 'triangular', 1255 'arguments': [ 1256 {'input': 'triangularInput'}, 1257 {'options': {'upper': false, 'diagonal': 3}} 1258 ], 1259 'outputs': 'triangularOutput' 1260 }], 1261 'expectedOutputs': { 1262 'triangularOutput': { 1263 'data': [ 1264 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1265 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1266 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1267 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1268 ], 1269 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1270 } 1271 } 1272 } 1273 }, 1274 { 1275 'name': 1276 'triangular float16 4D tensor fully zero options.upper=false options.diagonal=-2', 1277 'graph': { 1278 'inputs': { 1279 'triangularInput': { 1280 'data': [ 1281 84.9375, -86.1875, 50.375, -98.5, -94.5, -21.421875, 1282 24.671875, -50.34375, -37.03125, 97.25, 73.375, -75.125, 1283 41.65625, 58.875, -29.921875, 67.5, 42.125, -70.25, 1284 20.890625, 71.375, -85, -89, 77.5625, 91.0625 1285 ], 1286 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1287 } 1288 }, 1289 'operators': [{ 1290 'name': 'triangular', 1291 'arguments': [ 1292 {'input': 'triangularInput'}, 1293 {'options': {'upper': false, 'diagonal': -2}} 1294 ], 1295 'outputs': 'triangularOutput' 1296 }], 1297 'expectedOutputs': { 1298 'triangularOutput': { 1299 'data': [ 1300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1302 ], 1303 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 1304 } 1305 } 1306 } 1307 } 1308 ]; 1309 1310 webnn_conformance_test( 1311 triangularTests, buildAndExecuteGraph, getTriangularPrecisionTolerance);