diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-05-11 16:58:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-11 16:58:33 +0200 |
commit | d68c355145d5c07070fc999eedf8c973d8c70fbe (patch) | |
tree | e742dd05ac899338debc63b5ec33ddc4e81ac569 /core/variant/variant_op.cpp | |
parent | 0b0beae097b887feec721297e33de15e139baafc (diff) | |
parent | dbd7a315074257bca834e1448b53a905ebb8dd8b (diff) | |
download | redot-engine-d68c355145d5c07070fc999eedf8c973d8c70fbe.tar.gz |
Merge pull request #58873 from Chaosus/power_op
Implement exponential operator (**) to GDScript/Expressions
Diffstat (limited to 'core/variant/variant_op.cpp')
-rw-r--r-- | core/variant/variant_op.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/variant/variant_op.cpp b/core/variant/variant_op.cpp index 35e0319aa3..adace2b534 100644 --- a/core/variant/variant_op.cpp +++ b/core/variant/variant_op.cpp @@ -361,6 +361,11 @@ void Variant::_register_variant_operators() { register_op<OperatorEvaluatorStringModT<PackedVector3Array>>(Variant::OP_MODULE, Variant::STRING, Variant::PACKED_VECTOR3_ARRAY); register_op<OperatorEvaluatorStringModT<PackedColorArray>>(Variant::OP_MODULE, Variant::STRING, Variant::PACKED_COLOR_ARRAY); + register_op<OperatorEvaluatorPow<int64_t, int64_t, int64_t>>(Variant::OP_POWER, Variant::INT, Variant::INT); + register_op<OperatorEvaluatorPow<double, int64_t, double>>(Variant::OP_POWER, Variant::INT, Variant::FLOAT); + register_op<OperatorEvaluatorPow<double, double, double>>(Variant::OP_POWER, Variant::FLOAT, Variant::FLOAT); + register_op<OperatorEvaluatorPow<double, double, int64_t>>(Variant::OP_POWER, Variant::FLOAT, Variant::INT); + register_op<OperatorEvaluatorNeg<int64_t, int64_t>>(Variant::OP_NEGATE, Variant::INT, Variant::NIL); register_op<OperatorEvaluatorNeg<double, double>>(Variant::OP_NEGATE, Variant::FLOAT, Variant::NIL); register_op<OperatorEvaluatorNeg<Vector2, Vector2>>(Variant::OP_NEGATE, Variant::VECTOR2, Variant::NIL); @@ -929,6 +934,7 @@ static const char *_op_names[Variant::OP_MAX] = { "unary-", "unary+", "%", + "**", "<<", ">>", "&", |