
    
Ng                     r    d dl Z d dlmZmZ  G d de j                  Zedk    r e j                     dS dS )    N)inlinerparserc                        e Zd Zd Zd Zd ZdS )InlinerTestc                 8   t          j        d          }t          j        |          }|j        j        }|                     t          |          d           |                     |d         j        d           |                     |d         j        d           d S )Na  
            <ir_version: 8, opset_import: [ "" : 17, "local" : 1 ]>
            agraph (float[N] X) => (float[N] Y)
            {
                Y = local.foo (X)
            }

            <opset_import: [ "" : 17, "local" : 1 ], domain: "local">
            foo (x) => (y) {
                temp = Add(x, x)
                y = local.bar(temp)
            }

            <opset_import: [ "" : 17 ], domain: "local">
            bar (x) => (y) {
                y = Mul (x, x)
            }
           r   Add   Mul)	r   parse_modelr   inline_local_functionsgraphnodeassertEquallenop_type)selfmodelinlinedinlined_nodess       R/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/test/inliner_test.py
test_basiczInlinerTest.test_basic
   s    "
 
( 077*]++Q///q)15999q)1599999    c                 .   t          j        d          }t          j        |dgd          }|j        j        }|                     t          |          d           |                     |d         j        d           |                     |d         j        d	           |j	        d         j        }|                     t          |          d           |                     |d         j        d
           |                     |d         j        d           d S )NA  
            <ir_version: 8, opset_import: [ "" : 17, "local" : 1 ]>
            agraph (float[N] X) => (float[N] Y)
            {
                T = local.square (X)
                Y = local.double_and_square (T)
            }

            <opset_import: [ "" : 17, "local" : 1 ], domain: "local">
            double_and_square (x) => (y) {
                double = Add(x, x)
                y = local.square(double)
            }

            <opset_import: [ "" : 17 ], domain: "local">
            square (x) => (y) {
                y = Mul (x, x)
            }
        )localsquareFexcluder   r   r   r
   double_and_squarer	   
r   r   r   inline_selected_functionsr   r   r   r   r   	functionsr   r   r   r   function_nodess        r   test_selective_inliningz#InlinerTest.test_selective_inlining&   s   "
 
* 3'(%
 
 
  *]++Q///q)15999q)13FGGG !*1-2^,,a000*2E:::*2E:::::r   c                 .   t          j        d          }t          j        |dgd          }|j        j        }|                     t          |          d           |                     |d         j        d           |                     |d         j        d	           |j	        d         j        }|                     t          |          d           |                     |d         j        d
           |                     |d         j        d           d S )Nr   )r   r    Tr   r   r   r   r
   r    r	   r!   r$   s        r   test_selective_exclusionz$InlinerTest.test_selective_exclusionK   s   "
 
* 323T
 
 
  *]++Q///q)15999q)13FGGG !*1-2^,,a000*2E:::*2E:::::r   N)__name__
__module____qualname__r   r&   r(    r   r   r   r   	   sB        : : :8#; #; #;J#; #; #; #; #;r   r   __main__)unittestonnxr   r   TestCaser   r)   mainr,   r   r   <module>r2      s                    e; e; e; e; e;(# e; e; e;P zHMOOOOO r   