Lines Matching refs:context

442 Result<Version> validate(OperationType opType, const IOperationValidationContext* context) {  in validate()  argument
446 NN_RET_CHECK_EQ(context->getNumInputs(), kNumInputs); in validate()
447 NN_RET_CHECK_EQ(context->getNumOutputs(), kNumOutputs); in validate()
448 auto inputType = context->getInputType(kInputTensor1); in validate()
459 Shape output = context->getOutputShape(kOutputTensor); in validate()
460 Shape input1 = context->getInputShape(kInputTensor1); in validate()
461 Shape input2 = context->getInputShape(kInputTensor2); in validate()
473 const Shape& input1 = context->getInputShape(kInputTensor1); in validate()
474 const Shape& input2 = context->getInputShape(kInputTensor2); in validate()
479 NN_RET_CHECK(validateInputTypes(context, {inputType, inputType, OperandType::INT32})); in validate()
480 NN_RET_CHECK(validateOutputTypes(context, {inputType})); in validate()
485 bool prepare(IOperationExecutionContext* context) { in prepare() argument
486 Shape input1 = context->getInputShape(kInputTensor1); in prepare()
487 Shape input2 = context->getInputShape(kInputTensor2); in prepare()
488 Shape output = context->getOutputShape(kOutputTensor); in prepare()
492 return context->setOutputShape(kOutputTensor, output); in prepare()
495 bool executeAdd(IOperationExecutionContext* context) { in executeAdd() argument
497 if (getNumberOfElements(context->getOutputShape(kOutputTensor)) == 0) return true; in executeAdd()
498 switch (context->getInputType(kInputTensor1)) { in executeAdd()
500 return addFloat16(context->getInputBuffer<_Float16>(kInputTensor1), in executeAdd()
501 context->getInputShape(kInputTensor1), in executeAdd()
502 context->getInputBuffer<_Float16>(kInputTensor2), in executeAdd()
503 context->getInputShape(kInputTensor2), in executeAdd()
504 context->getInputValue<int32_t>(kActivationScalar), in executeAdd()
505 context->getOutputBuffer<_Float16>(kOutputTensor), in executeAdd()
506 context->getOutputShape(kOutputTensor)); in executeAdd()
508 return addFloat32(context->getInputBuffer<float>(kInputTensor1), in executeAdd()
509 context->getInputShape(kInputTensor1), in executeAdd()
510 context->getInputBuffer<float>(kInputTensor2), in executeAdd()
511 context->getInputShape(kInputTensor2), in executeAdd()
512 context->getInputValue<int32_t>(kActivationScalar), in executeAdd()
513 context->getOutputBuffer<float>(kOutputTensor), in executeAdd()
514 context->getOutputShape(kOutputTensor)); in executeAdd()
516 return addQuant8(context->getInputBuffer<uint8_t>(kInputTensor1), in executeAdd()
517 context->getInputShape(kInputTensor1), in executeAdd()
518 context->getInputBuffer<uint8_t>(kInputTensor2), in executeAdd()
519 context->getInputShape(kInputTensor2), in executeAdd()
520 context->getInputValue<int32_t>(kActivationScalar), in executeAdd()
521 context->getOutputBuffer<uint8_t>(kOutputTensor), in executeAdd()
522 context->getOutputShape(kOutputTensor)); in executeAdd()
524 return addQuant8(context->getInputBuffer<int8_t>(kInputTensor1), in executeAdd()
525 context->getInputShape(kInputTensor1), in executeAdd()
526 context->getInputBuffer<int8_t>(kInputTensor2), in executeAdd()
527 context->getInputShape(kInputTensor2), in executeAdd()
528 context->getInputValue<int32_t>(kActivationScalar), in executeAdd()
529 context->getOutputBuffer<int8_t>(kOutputTensor), in executeAdd()
530 context->getOutputShape(kOutputTensor)); in executeAdd()
532 return executeInt32(context->getInputBuffer<int32_t>(kInputTensor1), in executeAdd()
533 context->getInputShape(kInputTensor1), in executeAdd()
534 context->getInputBuffer<int32_t>(kInputTensor2), in executeAdd()
535 context->getInputShape(kInputTensor2), in executeAdd()
536 context->getInputValue<int32_t>(kActivationScalar), in executeAdd()
537 context->getOutputBuffer<int32_t>(kOutputTensor), in executeAdd()
538 context->getOutputShape(kOutputTensor), in executeAdd()
545 bool executeMul(IOperationExecutionContext* context) { in executeMul() argument
547 if (getNumberOfElements(context->getOutputShape(kOutputTensor)) == 0) return true; in executeMul()
548 switch (context->getInputType(kInputTensor1)) { in executeMul()
550 return mulFloat16(context->getInputBuffer<_Float16>(kInputTensor1), in executeMul()
551 context->getInputShape(kInputTensor1), in executeMul()
552 context->getInputBuffer<_Float16>(kInputTensor2), in executeMul()
553 context->getInputShape(kInputTensor2), in executeMul()
554 context->getInputValue<int32_t>(kActivationScalar), in executeMul()
555 context->getOutputBuffer<_Float16>(kOutputTensor), in executeMul()
556 context->getOutputShape(kOutputTensor)); in executeMul()
558 return mulFloat32(context->getInputBuffer<float>(kInputTensor1), in executeMul()
559 context->getInputShape(kInputTensor1), in executeMul()
560 context->getInputBuffer<float>(kInputTensor2), in executeMul()
561 context->getInputShape(kInputTensor2), in executeMul()
562 context->getInputValue<int32_t>(kActivationScalar), in executeMul()
563 context->getOutputBuffer<float>(kOutputTensor), in executeMul()
564 context->getOutputShape(kOutputTensor)); in executeMul()
566 return mulQuant8(context->getInputBuffer<uint8_t>(kInputTensor1), in executeMul()
567 context->getInputShape(kInputTensor1), in executeMul()
568 context->getInputBuffer<uint8_t>(kInputTensor2), in executeMul()
569 context->getInputShape(kInputTensor2), in executeMul()
570 context->getInputValue<int32_t>(kActivationScalar), in executeMul()
571 context->getOutputBuffer<uint8_t>(kOutputTensor), in executeMul()
572 context->getOutputShape(kOutputTensor)); in executeMul()
574 return mulQuant8(context->getInputBuffer<int8_t>(kInputTensor1), in executeMul()
575 context->getInputShape(kInputTensor1), in executeMul()
576 context->getInputBuffer<int8_t>(kInputTensor2), in executeMul()
577 context->getInputShape(kInputTensor2), in executeMul()
578 context->getInputValue<int32_t>(kActivationScalar), in executeMul()
579 context->getOutputBuffer<int8_t>(kOutputTensor), in executeMul()
580 context->getOutputShape(kOutputTensor)); in executeMul()
582 return executeInt32(context->getInputBuffer<int32_t>(kInputTensor1), in executeMul()
583 context->getInputShape(kInputTensor1), in executeMul()
584 context->getInputBuffer<int32_t>(kInputTensor2), in executeMul()
585 context->getInputShape(kInputTensor2), in executeMul()
586 context->getInputValue<int32_t>(kActivationScalar), in executeMul()
587 context->getOutputBuffer<int32_t>(kOutputTensor), in executeMul()
588 context->getOutputShape(kOutputTensor), in executeMul()
595 bool executeSub(IOperationExecutionContext* context) { in executeSub() argument
597 if (getNumberOfElements(context->getOutputShape(kOutputTensor)) == 0) return true; in executeSub()
598 switch (context->getInputType(kInputTensor1)) { in executeSub()
600 return subFloat16(context->getInputBuffer<_Float16>(kInputTensor1), in executeSub()
601 context->getInputShape(kInputTensor1), in executeSub()
602 context->getInputBuffer<_Float16>(kInputTensor2), in executeSub()
603 context->getInputShape(kInputTensor2), in executeSub()
604 context->getInputValue<int32_t>(kActivationScalar), in executeSub()
605 context->getOutputBuffer<_Float16>(kOutputTensor), in executeSub()
606 context->getOutputShape(kOutputTensor)); in executeSub()
608 return subFloat32(context->getInputBuffer<float>(kInputTensor1), in executeSub()
609 context->getInputShape(kInputTensor1), in executeSub()
610 context->getInputBuffer<float>(kInputTensor2), in executeSub()
611 context->getInputShape(kInputTensor2), in executeSub()
612 context->getInputValue<int32_t>(kActivationScalar), in executeSub()
613 context->getOutputBuffer<float>(kOutputTensor), in executeSub()
614 context->getOutputShape(kOutputTensor)); in executeSub()
616 return subQuant8(context->getInputBuffer<uint8_t>(kInputTensor1), in executeSub()
617 context->getInputShape(kInputTensor1), in executeSub()
618 context->getInputBuffer<uint8_t>(kInputTensor2), in executeSub()
619 context->getInputShape(kInputTensor2), in executeSub()
620 context->getInputValue<int32_t>(kActivationScalar), in executeSub()
621 context->getOutputBuffer<uint8_t>(kOutputTensor), in executeSub()
622 context->getOutputShape(kOutputTensor)); in executeSub()
624 return subQuant8(context->getInputBuffer<int8_t>(kInputTensor1), in executeSub()
625 context->getInputShape(kInputTensor1), in executeSub()
626 context->getInputBuffer<int8_t>(kInputTensor2), in executeSub()
627 context->getInputShape(kInputTensor2), in executeSub()
628 context->getInputValue<int32_t>(kActivationScalar), in executeSub()
629 context->getOutputBuffer<int8_t>(kOutputTensor), in executeSub()
630 context->getOutputShape(kOutputTensor)); in executeSub()
632 return executeInt32(context->getInputBuffer<int32_t>(kInputTensor1), in executeSub()
633 context->getInputShape(kInputTensor1), in executeSub()
634 context->getInputBuffer<int32_t>(kInputTensor2), in executeSub()
635 context->getInputShape(kInputTensor2), in executeSub()
636 context->getInputValue<int32_t>(kActivationScalar), in executeSub()
637 context->getOutputBuffer<int32_t>(kOutputTensor), in executeSub()
638 context->getOutputShape(kOutputTensor), in executeSub()
645 bool executeDiv(IOperationExecutionContext* context) { in executeDiv() argument
647 if (getNumberOfElements(context->getOutputShape(kOutputTensor)) == 0) return true; in executeDiv()
648 switch (context->getInputType(kInputTensor1)) { in executeDiv()
650 return divFloat16(context->getInputBuffer<_Float16>(kInputTensor1), in executeDiv()
651 context->getInputShape(kInputTensor1), in executeDiv()
652 context->getInputBuffer<_Float16>(kInputTensor2), in executeDiv()
653 context->getInputShape(kInputTensor2), in executeDiv()
654 context->getInputValue<int32_t>(kActivationScalar), in executeDiv()
655 context->getOutputBuffer<_Float16>(kOutputTensor), in executeDiv()
656 context->getOutputShape(kOutputTensor)); in executeDiv()
658 return divFloat32(context->getInputBuffer<float>(kInputTensor1), in executeDiv()
659 context->getInputShape(kInputTensor1), in executeDiv()
660 context->getInputBuffer<float>(kInputTensor2), in executeDiv()
661 context->getInputShape(kInputTensor2), in executeDiv()
662 context->getInputValue<int32_t>(kActivationScalar), in executeDiv()
663 context->getOutputBuffer<float>(kOutputTensor), in executeDiv()
664 context->getOutputShape(kOutputTensor)); in executeDiv()
666 return executeInt32(context->getInputBuffer<int32_t>(kInputTensor1), in executeDiv()
667 context->getInputShape(kInputTensor1), in executeDiv()
668 context->getInputBuffer<int32_t>(kInputTensor2), in executeDiv()
669 context->getInputShape(kInputTensor2), in executeDiv()
670 context->getInputValue<int32_t>(kActivationScalar), in executeDiv()
671 context->getOutputBuffer<int32_t>(kOutputTensor), in executeDiv()
672 context->getOutputShape(kOutputTensor), [](int32_t a, int32_t b) { in executeDiv()