assigned - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


assigned

check if a name is assigned

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Compatibility

Calling Sequence

assigned(n)

assigned(n, val)

Parameters

n

-

name, subscripted name, or function call

val

-

name, assignable

Description

• 

The assigned function returns true if n has a value other than its own name, and returns false otherwise.

  

Note: The assigned function returns true if you have placed assumptions on n using the assume command.

• 

This function is one of the exceptions to the normal evaluation rule for arguments of a function. The argument to assigned will only be evaluated as a name (see the evaln function) rather than fully evaluated.

• 

The definition of assigned for array/table subscripts is

assignedAi=evalbAievalnAi

• 

The definition of assigned for function calls is

assignedfx=evalbfxevalnfx

• 

If an optional second argument is provided, then that parameter is set to the assigned value of n.  This allows the assignment-check and fetch of the value to be done in a single command, which can be important in threaded applications with shared data, and when using weak tables.

Thread Safety

• 

The assigned command is thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

n4

n4

(1)

assignedn

true

(2)

assignedn,nval

true

(3)

nval

4

(4)

Table lookups can return unevaluated; using assigned or comparing against evaln of the indexed name will distinguish between a unevaluated lookup and a found value.

atablesymmetric

atablesymmetric,

(5)

a1,2x

a1,2x

(6)

assigneda1,2

true

(7)

assigneda2,1

true

(8)

assigneda1,1

false

(9)

assignedabsx

false

(10)

assignedabs2

true

(11)

assigned will evaluate the function to determine if it will return itself or not

f := proc(x) `if`(x::integer,x^2,'procname'(x)) end:

assignedf

true

(12)

assignedfx

false

(13)

assignedf2

true

(14)

If you place an assumption on a name using the assume command, the assigned command returns true for that name.

assignedb

false

(15)

assumeb,positive

assignedb

true

(16)

Note: Evaluating an assigned call under an assumption (using the assuming command), returns true for a name only if it has a value different from its name.

assignedcassumingc::integer

false

(17)

Compatibility

• 

The assigned command was updated in Maple 2019.

• 

The val option was introduced in Maple 2019.

• 

For more information on Maple 2019 changes, see Updates in Maple 2019.

See Also

anames

assume

assuming

evaln

hasindex

unames