関数check_char_function_name マニュアル

(The documentation of function check_char_function_name)

Last Update: 2021/12/1


◆機能・用途(Purpose)

数式を表す文字列中の特定の一文字が関数名の一部であるか否かを調べる。 関数名としてsin, cos, exp, log, powを想定する。
Examine whether a character of a string that represents a mathematical formula is a part of a function name. For the function names, sin, cos, exp, log, and pow are assumed.


◆形式(Format)

#include <formula.h>
inline _Bool check_char_function_name(const char ∗ptr)


◆引数(Arguments)

ptr 調べたい文字のポインタ。
The pointer of the character to survey.


◆戻り値(Return value)

「∗ptr」が "sin", "cos" "exp", "log", "pow" のいずれかの文字列の一部である場合にtrue、 そうでない場合にfalseとなる。 ptrの前後のアドレスの中身を調べて判断する。
True if “∗ptr” is a part of strings "sin", "cos" "exp", "log", or "pow"; false otherwise. This judgement is based on the contents of addresses around ptr.


◆使用例(Example)

char string[]= "sin(po)+cos(po)+2.0∗pow(po,2.0) -1.23∗log(po)+5.0∗(po+2.0)"
int i;
for(i=0;i<strlen(string);i++){
     if(check_char_function_name(string+i)){
        •
        •
        •
    }
}

この例において、同じ「p」や「o」の文字であっても 「pow」になっている部分は関数名の一部であると判定されるが 「(po)」「(po,」「po+」になっている部分は関数名ではないと判定される。
In this example, the characters ‘p’ and ‘o’ are identified to be a part of a function name where it is a part of “pow”, but identified not to be a part of a function name where it is in the parts “(po)”, “(po,”, and “po+”.