3 added 2 characters in body
source | link

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionToolsCompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.

2 added 10 characters in body
source | link

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluateMainEvaluate is present in the pseudocode. MainEvaluate MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluateMainEvaluate in the call to PrintPrint. This means PrintPrint isn't compilable.

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.

1
source | link

I believe there is such a list available but I can't remember the command off-hand. In the meantime, you can always load CompiledFunctionTools via.

<<CompiledFunctionTools`

And then use CompilePrint on a compiled function to see if MainEvaluate is present in the pseudocode. MainEvaluate tells us that something is going through the evaluator and wasn't compilable.

f=Compile[{{x,_Real,1}},
  Print[x];
  x
];

In[61]:= CompilePrint[f]

Out[61]= 
        1 argument
        1 Tensor register
        Underflow checking off
        Overflow checking off
        Integer overflow checking on
        RuntimeAttributes -> {}

        T(R1)0 = A1
        Result = T(R1)0

1   V17 = MainEvaluate[ Function[{x}, Print[x]][ T(R1)0]]
2   Return

Notice the MainEvaluate in the call to Print. This means Print isn't compilable.