teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正

2021/06/07 05:50

投稿

XVK
XVK

スコア10

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,11 @@
1
1
  表題を探しています
2
2
 
3
3
  ネット検索しているのですが冪乗や高度な数学関数呼び出しに対応するコードは散見するのですが、C言語のルールに則った型変換(明示/暗黙)に関するものが見つからず困っています
4
+
4
5
  有用な情報があれば誘導をお願いします
5
- (実装依頼ではないです)
6
6
 
7
+ 文字列の中で関数呼び出しやポインタ、配列参照などは特に必要なく、C言語風のシンプルな定数の記述(0xで16進数、.fでfloat、暗黙型変換)などがいくつか可能であればいいなといった具合です
8
+
7
9
  具体的にやりたいことは以下になります
8
10
 
9
11
  ```ここに言語を入力
@@ -28,17 +30,5 @@
28
30
  }
29
31
  ```
30
32
 
31
- 必要
32
- ・だいたいの演算子が使える
33
- ・基本的な型へのキャスト
34
- ・C言語のように、暗黙的型変換(3+3.1 -> double)
35
- ・C言語のように、0xついてたら16進数判定
36
- ・C言語のように、3.fのように小数にf付けを許可(内部処理としてdoubleでも構わない)
37
-
38
- 必要ない
39
- ・abs(-4)のような関数呼び出し
40
- ・配列アクセスやポインタ
41
- ・^を冪乗にする機能
42
-
43
33
  以上です。
44
34
  よろしくお願いいたします。

1

修正

2021/06/07 05:50

投稿

XVK
XVK

スコア10

title CHANGED
@@ -1,1 +1,1 @@
1
- 数式文字列をパース&演算をする関数で、C言語の定数のコンパイルと同等の力を持つもの
1
+ 数式文字列をパース&演算をするコードで、型変換(暗黙/明示)が可ものを探しています
body CHANGED
@@ -1,8 +1,13 @@
1
- プログラミングの勉強で使うようなものでなく、最適化コンパイル時に定数を事前確定する際の演算と同等の(に近い)事が出来るものを探しています
2
- (恐らくキャストと暗黙的型変換がネックになりそうだと予想しています)
1
+ 表題を探しています
3
2
 
3
+ ネット検索しているのですが冪乗や高度な数学関数呼び出しに対応するコードは散見するのですが、C言語のルールに則った型変換(明示/暗黙)に関するものが見つからず困っています
4
+ 有用な情報があれば誘導をお願いします
5
+ (実装依頼ではないです)
6
+
7
+ 具体的にやりたいことは以下になります
8
+
4
9
  ```ここに言語を入力
5
- //しい機能のテンプレートはこの様な感じ
10
+ //組み込もうと機能のテンプレートはこの様な感じ
6
11
  template<class TYPE>
7
12
  TYPE enzan(const char* str)
8
13
  {
@@ -13,7 +18,7 @@
13
18
 
14
19
  int main()
15
20
  {
16
- //↓結構むちゃくちゃしても最適化コンパイルだとコンパイル時確定す
21
+ //↓この様右辺に複雑な演算とキャストを含め
17
22
  const int const_value = (int)(5.0 + ((unsigned long)0xf * 3.2f + 7%3 + (1<<3)));
18
23
 
19
24
  //上記右辺をそのまま文字列として渡して同等の演算をしたい
@@ -26,16 +31,14 @@
26
31
  必要
27
32
  ・だいたいの演算子が使える
28
33
  ・基本的な型へのキャスト
29
- ・暗黙的型変換(3+3.1 -> double)
34
+ C言語のように、暗黙的型変換(3+3.1 -> double)
30
- ・0xついてたら16進数判定
35
+ C言語のように、0xついてたら16進数判定
31
- ・3.fのように小数にf付けを許可(内部処理としてdoubleでも構わない)
36
+ C言語のように、3.fのように小数にf付けを許可(内部処理としてdoubleでも構わない)
32
37
 
33
38
  必要ない
34
39
  ・abs(-4)のような関数呼び出し
35
40
  ・配列アクセスやポインタ
41
+ ・^を冪乗にする機能
36
42
 
37
- あると嬉しい
38
- ・マクロ展開
39
-
40
43
  以上です。
41
44
  よろしくお願いいたします。