// META: title=validation tests for WebNN API elu operation // META: global=window // META: variant=?cpu // META: variant=?gpu // META: variant=?npu // META: script=../resources/utils_validation.js 'use strict'; validateInputFromAnotherBuilder('elu'); const label = 'elu_xxx'; const regrexp = new RegExp('\\[' + label + '\\]'); validateSingleInputOperation('elu', label); promise_test(async t => { const builder = new MLGraphBuilder(context); const options = {alpha: 1.0}; const input = builder.input('input', {dataType: 'float32', shape: [1, 2, 3]}); const output = builder.elu(input, options); assert_equals(output.dataType, 'float32'); assert_array_equals(output.shape, [1, 2, 3]); }, '[elu] Build with options'); promise_test(async t => { const builder = new MLGraphBuilder(context); const options = {alpha: NaN}; const input = builder.input('input', {dataType: 'float16', shape: []}); assert_throws_js(TypeError, () => builder.elu(input, options)); }, '[elu] Throw if options.alpha is NaN'); promise_test(async t => { const builder = new MLGraphBuilder(context); const options = {alpha: Infinity}; const input = builder.input('input', {dataType: 'float32', shape: [1]}); assert_throws_js(TypeError, () => builder.elu(input, options)); }, '[elu] Throw if options.alpha is Infinity');