| @@ -27,10 +27,6 @@ ctc_greedy_decoder_op_info = AiCPURegOp("CTCGreedyDecoder") \ | |||||
| DataType.I64_Default, DataType.F32_Default) \ | DataType.I64_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.I32_Default, DataType.I64_Default, DataType.I64_Default, | .dtype_format(DataType.F64_Default, DataType.I32_Default, DataType.I64_Default, DataType.I64_Default, | ||||
| DataType.I64_Default, DataType.F64_Default) \ | DataType.I64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.F32_NCHW, DataType.I32_NCHW, DataType.I64_NCHW, DataType.I64_NCHW, | |||||
| DataType.I64_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.I32_NCHW, DataType.I64_NCHW, DataType.I64_NCHW, | |||||
| DataType.I64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(ctc_greedy_decoder_op_info) | @op_info_register(ctc_greedy_decoder_op_info) | ||||
| @@ -30,10 +30,6 @@ ctcloss_op_info = AiCPURegOp("CTCLoss") \ | |||||
| DataType.F32_Default, DataType.F32_Default) \ | DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.I64_Default, DataType.I32_Default, DataType.I32_Default, | .dtype_format(DataType.F64_Default, DataType.I64_Default, DataType.I32_Default, DataType.I32_Default, | ||||
| DataType.F64_Default, DataType.F64_Default) \ | DataType.F64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.F32_NCHW, DataType.I64_NCHW, DataType.I32_NCHW, DataType.I32_NCHW, | |||||
| DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.I64_NCHW, DataType.I32_NCHW, DataType.I32_NCHW, | |||||
| DataType.F64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(ctcloss_op_info) | @op_info_register(ctcloss_op_info) | ||||
| @@ -23,7 +23,7 @@ dropout_genmask_op_info = AiCPURegOp("DropoutGenMask") \ | |||||
| .output(0, "y", "required") \ | .output(0, "y", "required") \ | ||||
| .attr("Seed0", "int") \ | .attr("Seed0", "int") \ | ||||
| .attr("Seed1", "int") \ | .attr("Seed1", "int") \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F16_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.I32_Default, DataType.F16_Default, DataType.U8_Default) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(dropout_genmask_op_info) | @op_info_register(dropout_genmask_op_info) | ||||
| @@ -32,18 +32,6 @@ expand_dims_op_info = AiCPURegOp("ExpandDims") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(expand_dims_op_info) | @op_info_register(expand_dims_op_info) | ||||
| @@ -30,16 +30,6 @@ flatten_op_info = AiCPURegOp("Flatten") \ | |||||
| .dtype_format(DataType.U64_Default, DataType.U64_Default) \ | .dtype_format(DataType.U64_Default, DataType.U64_Default) \ | ||||
| .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.I8_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(flatten_op_info) | @op_info_register(flatten_op_info) | ||||
| @@ -25,7 +25,6 @@ gamma_op_info = AiCPURegOp("Gamma") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.F32_Default, DataType.F32_Default, DataType.F32_Default) \ | .dtype_format(DataType.I32_Default, DataType.F32_Default, DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F32_NCHW, DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(gamma_op_info) | @op_info_register(gamma_op_info) | ||||
| @@ -32,18 +32,6 @@ is_finite_op_info = AiCPURegOp("IsFinite") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.BOOL_Default) \ | .dtype_format(DataType.F16_Default, DataType.BOOL_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.BOOL_Default) \ | .dtype_format(DataType.F32_Default, DataType.BOOL_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.BOOL_Default) \ | .dtype_format(DataType.F64_Default, DataType.BOOL_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.BOOL_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(is_finite_op_info) | @op_info_register(is_finite_op_info) | ||||
| @@ -24,7 +24,6 @@ poisson_op_info = AiCPURegOp("Poisson") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.F32_Default, DataType.I32_Default) \ | .dtype_format(DataType.I32_Default, DataType.F32_Default, DataType.I32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F32_NCHW, DataType.I32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(poisson_op_info) | @op_info_register(poisson_op_info) | ||||
| @@ -24,7 +24,6 @@ random_choice_with_mask_op_info = AiCPURegOp("RandomChoiceWithMask") \ | |||||
| .attr("count", "int") \ | .attr("count", "int") \ | ||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.I32_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.BOOL_Default, DataType.I32_Default, DataType.BOOL_Default) \ | .dtype_format(DataType.BOOL_Default, DataType.I32_Default, DataType.BOOL_Default) \ | ||||
| .get_op_info() | .get_op_info() | ||||
| @@ -32,18 +32,6 @@ reshape_op_info = AiCPURegOp("Reshape") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(reshape_op_info) | @op_info_register(reshape_op_info) | ||||
| @@ -35,18 +35,6 @@ reverse_sequence_op_info = AiCPURegOp("ReverseSequence") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.I32_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.I32_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.I32_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.I32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.I32_Default, DataType.F64_Default) \ | .dtype_format(DataType.F64_Default, DataType.I32_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.I32_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.I32_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I32_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I32_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.I32_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.I32_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.I32_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.I32_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.I32_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.I32_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.I32_NCHW, DataType.F64_NCHW) \ | |||||
| .dtype_format(DataType.BOOL_Default, DataType.I64_Default, DataType.BOOL_Default) \ | .dtype_format(DataType.BOOL_Default, DataType.I64_Default, DataType.BOOL_Default) \ | ||||
| .dtype_format(DataType.I8_Default, DataType.I64_Default, DataType.I8_Default) \ | .dtype_format(DataType.I8_Default, DataType.I64_Default, DataType.I8_Default) \ | ||||
| .dtype_format(DataType.I16_Default, DataType.I64_Default, DataType.I16_Default) \ | .dtype_format(DataType.I16_Default, DataType.I64_Default, DataType.I16_Default) \ | ||||
| @@ -59,18 +47,6 @@ reverse_sequence_op_info = AiCPURegOp("ReverseSequence") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.I64_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.I64_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.I64_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.I64_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.I64_Default, DataType.F64_Default) \ | .dtype_format(DataType.F64_Default, DataType.I64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.I64_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.I64_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I64_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I64_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I64_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.I64_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.I64_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.I64_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.I64_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.I64_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.I64_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.I64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(reverse_sequence_op_info) | @op_info_register(reverse_sequence_op_info) | ||||
| @@ -25,8 +25,6 @@ rnnt_loss_op_info = AiCPURegOp("RNNTLoss") \ | |||||
| .output(0, "costs", "required") \ | .output(0, "costs", "required") \ | ||||
| .output(1, "grads", "required") \ | .output(1, "grads", "required") \ | ||||
| .attr("blank_label", "int") \ | .attr("blank_label", "int") \ | ||||
| .dtype_format(DataType.F32_NCHW, DataType.I32_NCHW, DataType.I32_NCHW, DataType.I32_NCHW, DataType.F32_NCHW, | |||||
| DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F32_Default, DataType.I32_Default, DataType.I32_Default, DataType.I32_Default, | .dtype_format(DataType.F32_Default, DataType.I32_Default, DataType.I32_Default, DataType.I32_Default, | ||||
| DataType.F32_Default, DataType.F32_Default) \ | DataType.F32_Default, DataType.F32_Default) \ | ||||
| .get_op_info() | .get_op_info() | ||||
| @@ -32,18 +32,6 @@ squeeze_op_info = AiCPURegOp("Squeeze") \ | |||||
| .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | .dtype_format(DataType.F16_Default, DataType.F16_Default) \ | ||||
| .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | .dtype_format(DataType.F32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | .dtype_format(DataType.F64_Default, DataType.F64_Default) \ | ||||
| .dtype_format(DataType.BOOL_NCHW, DataType.BOOL_NCHW) \ | |||||
| .dtype_format(DataType.I8_NCHW, DataType.I8_NCHW) \ | |||||
| .dtype_format(DataType.I16_NCHW, DataType.I16_NCHW) \ | |||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .dtype_format(DataType.I64_NCHW, DataType.I64_NCHW) \ | |||||
| .dtype_format(DataType.U8_NCHW, DataType.U8_NCHW) \ | |||||
| .dtype_format(DataType.U16_NCHW, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U32_NCHW, DataType.U32_NCHW) \ | |||||
| .dtype_format(DataType.U64_NCHW, DataType.U64_NCHW) \ | |||||
| .dtype_format(DataType.F16_NCHW, DataType.F16_NCHW) \ | |||||
| .dtype_format(DataType.F32_NCHW, DataType.F32_NCHW) \ | |||||
| .dtype_format(DataType.F64_NCHW, DataType.F64_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(squeeze_op_info) | @op_info_register(squeeze_op_info) | ||||
| @@ -23,7 +23,6 @@ laplace_op_info = AiCPURegOp("StandardLaplace") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(laplace_op_info) | @op_info_register(laplace_op_info) | ||||
| @@ -23,7 +23,6 @@ normal_op_info = AiCPURegOp("StandardNormal") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(normal_op_info) | @op_info_register(normal_op_info) | ||||
| @@ -22,8 +22,6 @@ trans_data_op_info = AiCPURegOp("TransData") \ | |||||
| .output(0, "dst", "required") \ | .output(0, "dst", "required") \ | ||||
| .attr("src_format", "str") \ | .attr("src_format", "str") \ | ||||
| .attr("dst_format", "str") \ | .attr("dst_format", "str") \ | ||||
| .dtype_format(DataType.U16_NCHW, DataType.U16_5HD) \ | |||||
| .dtype_format(DataType.U16_5HD, DataType.U16_NCHW) \ | |||||
| .dtype_format(DataType.U16_Default, DataType.U16_5HD) \ | .dtype_format(DataType.U16_Default, DataType.U16_5HD) \ | ||||
| .dtype_format(DataType.U16_5HD, DataType.U16_Default) \ | .dtype_format(DataType.U16_5HD, DataType.U16_Default) \ | ||||
| .get_op_info() | .get_op_info() | ||||
| @@ -25,7 +25,6 @@ uniform_int_op_info = AiCPURegOp("UniformInt") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.I32_Default, DataType.I32_Default, DataType.I32_Default) \ | .dtype_format(DataType.I32_Default, DataType.I32_Default, DataType.I32_Default, DataType.I32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.I32_NCHW, DataType.I32_NCHW, DataType.I32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(uniform_int_op_info) | @op_info_register(uniform_int_op_info) | ||||
| @@ -23,7 +23,6 @@ uniform_real_op_info = AiCPURegOp("UniformReal") \ | |||||
| .attr("seed", "int") \ | .attr("seed", "int") \ | ||||
| .attr("seed2", "int") \ | .attr("seed2", "int") \ | ||||
| .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | .dtype_format(DataType.I32_Default, DataType.F32_Default) \ | ||||
| .dtype_format(DataType.I32_NCHW, DataType.F32_NCHW) \ | |||||
| .get_op_info() | .get_op_info() | ||||
| @op_info_register(uniform_real_op_info) | @op_info_register(uniform_real_op_info) | ||||