Spec-Zone.ru › CMake 3.29

math

Оценить математическое выражение.

math(EXPR <variable> "<expression>" [OUTPUT_FORMAT <format>])

Оценивает математическое <expression> и устанавливает <variable> в результирующее значение. Результат выражения должен быть представимым в виде 64-битного целого числа со знаком. Ввод с плавающей запятой недопустим, например, 1.1 * 10. Нецелые результаты, например, 3 / 2 усекаются.

Математическое выражение должно быть задано в виде строки (т.е. заключено в двойные кавычки). Пример: "5 * (10 + 13)". Поддерживаемые операторы: +, -, *, /, %, |, &, ^, ~, <<, >>, и (...); они имеют тот же смысл, что и в коде C.

Добавлено в версии 3.13: Шестнадцатеричные числа распознаются при префиксе 0x, как и в коде C.

Добавлено в версии 3.13: Результат форматируется в соответствии с параметром OUTPUT_FORMAT, где <format> может быть одним из

HEXADECIMAL

Шестнадцатеричная нотация, как в коде C, т. е. начинается с "0x".

DECIMAL

Десятичная нотация. Она также используется, если параметр OUTPUT_FORMAT не указан.

Например

math(EXPR value "100 * 0xA" OUTPUT_FORMAT DECIMAL)      # value is set to "1000"
math(EXPR value "100 * 0xA" OUTPUT_FORMAT HEXADECIMAL)  # value is set to "0x3e8"

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/command/math.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API