Implement exponential operator (**) to GDScript/Expressions
This commit is contained in:
parent
9963ae3553
commit
dbd7a31507
15 changed files with 126 additions and 27 deletions
|
|
@ -2799,40 +2799,43 @@
|
|||
<constant name="OP_MODULE" value="12" enum="Variant.Operator">
|
||||
Remainder/modulo operator ([code]%[/code]).
|
||||
</constant>
|
||||
<constant name="OP_SHIFT_LEFT" value="13" enum="Variant.Operator">
|
||||
<constant name="OP_POWER" value="13" enum="Variant.Operator">
|
||||
Power operator ([code]**[/code]).
|
||||
</constant>
|
||||
<constant name="OP_SHIFT_LEFT" value="14" enum="Variant.Operator">
|
||||
Left shift operator ([code]<<[/code]).
|
||||
</constant>
|
||||
<constant name="OP_SHIFT_RIGHT" value="14" enum="Variant.Operator">
|
||||
<constant name="OP_SHIFT_RIGHT" value="15" enum="Variant.Operator">
|
||||
Right shift operator ([code]>>[/code]).
|
||||
</constant>
|
||||
<constant name="OP_BIT_AND" value="15" enum="Variant.Operator">
|
||||
<constant name="OP_BIT_AND" value="16" enum="Variant.Operator">
|
||||
Bitwise AND operator ([code]&[/code]).
|
||||
</constant>
|
||||
<constant name="OP_BIT_OR" value="16" enum="Variant.Operator">
|
||||
<constant name="OP_BIT_OR" value="17" enum="Variant.Operator">
|
||||
Bitwise OR operator ([code]|[/code]).
|
||||
</constant>
|
||||
<constant name="OP_BIT_XOR" value="17" enum="Variant.Operator">
|
||||
<constant name="OP_BIT_XOR" value="18" enum="Variant.Operator">
|
||||
Bitwise XOR operator ([code]^[/code]).
|
||||
</constant>
|
||||
<constant name="OP_BIT_NEGATE" value="18" enum="Variant.Operator">
|
||||
<constant name="OP_BIT_NEGATE" value="19" enum="Variant.Operator">
|
||||
Bitwise NOT operator ([code]~[/code]).
|
||||
</constant>
|
||||
<constant name="OP_AND" value="19" enum="Variant.Operator">
|
||||
<constant name="OP_AND" value="20" enum="Variant.Operator">
|
||||
Logical AND operator ([code]and[/code] or [code]&&[/code]).
|
||||
</constant>
|
||||
<constant name="OP_OR" value="20" enum="Variant.Operator">
|
||||
<constant name="OP_OR" value="21" enum="Variant.Operator">
|
||||
Logical OR operator ([code]or[/code] or [code]||[/code]).
|
||||
</constant>
|
||||
<constant name="OP_XOR" value="21" enum="Variant.Operator">
|
||||
<constant name="OP_XOR" value="22" enum="Variant.Operator">
|
||||
Logical XOR operator (not implemented in GDScript).
|
||||
</constant>
|
||||
<constant name="OP_NOT" value="22" enum="Variant.Operator">
|
||||
<constant name="OP_NOT" value="23" enum="Variant.Operator">
|
||||
Logical NOT operator ([code]not[/code] or [code]![/code]).
|
||||
</constant>
|
||||
<constant name="OP_IN" value="23" enum="Variant.Operator">
|
||||
<constant name="OP_IN" value="24" enum="Variant.Operator">
|
||||
Logical IN operator ([code]in[/code]).
|
||||
</constant>
|
||||
<constant name="OP_MAX" value="24" enum="Variant.Operator">
|
||||
<constant name="OP_MAX" value="25" enum="Variant.Operator">
|
||||
Represents the size of the [enum Variant.Operator] enum.
|
||||
</constant>
|
||||
</constants>
|
||||
|
|
|
|||
|
|
@ -124,6 +124,18 @@
|
|||
Multiplies a [float] and an [int]. The result is a [float].
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator **">
|
||||
<return type="float" />
|
||||
<argument index="0" name="right" type="float" />
|
||||
<description>
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator **">
|
||||
<return type="float" />
|
||||
<argument index="0" name="right" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator +">
|
||||
<return type="float" />
|
||||
<argument index="0" name="right" type="float" />
|
||||
|
|
|
|||
|
|
@ -171,6 +171,18 @@
|
|||
Multiplies two [int]s.
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator **">
|
||||
<return type="float" />
|
||||
<argument index="0" name="right" type="float" />
|
||||
<description>
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator **">
|
||||
<return type="int" />
|
||||
<argument index="0" name="right" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</operator>
|
||||
<operator name="operator +">
|
||||
<return type="String" />
|
||||
<argument index="0" name="right" type="String" />
|
||||
|
|
|
|||
|
|
@ -1409,6 +1409,8 @@ def sanitize_operator_name(dirty_name, state): # type: (str, State) -> str
|
|||
clear_name = "div"
|
||||
elif clear_name == "%":
|
||||
clear_name = "mod"
|
||||
elif clear_name == "**":
|
||||
clear_name = "pow"
|
||||
|
||||
elif clear_name == "unary+":
|
||||
clear_name = "unplus"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue