Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menilai dengan cekap ungkapan matematik tersuai dalam C?

Bagaimanakah saya boleh menilai dengan cekap ungkapan matematik tersuai dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 10:28:30215semak imbas

How can I efficiently evaluate custom mathematical expressions in C  ?

Menilai Ungkapan Matematik dalam C

Menilai ungkapan matematik tersuai dalam C boleh menjadi tugas yang mencabar. Membenamkan Python ke dalam C ialah satu penyelesaian yang berpotensi, tetapi terdapat pilihan yang lebih cekap dan asli.

Menggunakan Perpustakaan ExprTk

Salah satu pendekatan yang paling berkesan ialah ExprTk perpustakaan. Pustaka ini menyediakan penghurai dan penilai ekspresi yang mudah dan berkuasa. Berikut ialah contoh mudah menggunakan ExprTk:

<code class="cpp">#include <cstdio>
#include <string>
#include "exprtk.hpp"

int main() {
  // Define expression types
  typedef exprtk::expression<double> expression_t;
  typedef exprtk::parser<double> parser_t;

  // Expression string
  std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)";

  // Expression and parser objects
  expression_t expression;
  parser_t parser;

  // Compile expression
  if (parser.compile(expression_string, expression)) {
    // Evaluate and print result
    double result = expression.value();
    printf("Result: %19.15\n", result);
  } else {
    printf("Error in expression\n.");
  }

  return 0;
}</code>

Atas ialah kandungan terperinci Bagaimanakah saya boleh menilai dengan cekap ungkapan matematik tersuai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn