System task/function call inside of a constraint

Are system calls allowed in constraints? I do not see any references that say so in the LRM.

parameter int N = 4;
constraint val { value >= 0; value < $pow(26,N); }

Tool C: says invalid usage
ncvlog: *E,RNCTYP (testbench.sv,8|42): A ‘system task/function call’ cannot be used within a constraint expression.

Tool S: says NYI
Error-[CSTR-NYI-UCE] Unsupported constraint expression
testbench.sv, 8
$unit, “$pow(26, this.N)”
The expression ‘$pow(26, this.N)’ is not yet supported in constraints in
this context.
Remove the expression from the constraints, replace it with an equivalent
one, or make sure that any enclosing expression (e.g. an assignment pattern)
is valid in this context.

In reply to kernalmode1:

There is no restriction on system functions as long as they meed the requirements of section 18.5.12 Functions in Constraints. When you get unsupported messages, it means the tool recognizes the construct but has not implemented it you.

One thing that is not clear in the LRM, is whether $pow(x,y) can be treated the same as an operator like x**y and not divide the solution space.

In reply to dave_59:

Yes, I am aware of the NYI error. I was trying to point out the fact that one tool says it cannot be done and one other says, you will be able to use it in a later version of the tool.

It seems like since a clear direction is not provided in the LRM, it is left to the whims and fancies (read interpretations of the LRM) of the tool vendor and end user is left with no predictability.

In reply to kernalmode1:

Exactly