#158: reordered help and manual

This commit is contained in:
Louis Rubet 2017-06-21 23:38:51 +02:00
parent ef0e5671ab
commit df89a7abac
2 changed files with 32 additions and 30 deletions

View file

@ -82,10 +82,8 @@ exit fix / abs %CH ip arg < not
|quit | (or q or exit) quit software |quit | (or q or exit) quit software
|version | show rpn version |version | show rpn version
|uname | show rpn complete identification string |uname | show rpn complete identification string
|type | show type of stack first entry
|default | set float representation and precision to default
### real and complex ### usual operations - real and complex
|keyword|description| |keyword|description|
|-|-| |-|-|
@ -101,16 +99,14 @@ exit fix / abs %CH ip arg < not
|abs| absolute value for a number or sqrt(re*re+im*im) for a complex |abs| absolute value for a number or sqrt(re*re+im*im) for a complex
|dec| decimal representation |dec| decimal representation
|hex| hexadecimal representation |hex| hexadecimal representation
|prec| get float precision in bits when first stack is not a number, set float precision in bits when first stack entry is a number. ex: ```256 prec```
|round| set float rounding mode. Authoerized values are: ```["nearest", "toward zero", "toward +inf", "toward -inf", "away from zero"] round```. ex: ```"nearest" round```
|sign| sign of a real, unary vector in the same direction for a complex |sign| sign of a real, unary vector in the same direction for a complex
### real ### operations on reals
|keyword|description| |keyword|description|
|-|-| |-|-|
|%| purcent |%| purcent
|%|CH inverse purcent |%CH| inverse purcent
|mod| modulo |mod| modulo
|fact| n! for integer n or Gamma(x+1) for fractional x |fact| n! for integer n or Gamma(x+1) for fractional x
|mant| mantissa of a real number |mant| mantissa of a real number
@ -122,7 +118,7 @@ exit fix / abs %CH ip arg < not
|min| min of 2 real numbers |min| min of 2 real numbers
|max| max of 2 real numbers |max| max of 2 real numbers
### complex ### operations on complexes
|keyword|description| |keyword|description|
|-|-| |-|-|
@ -142,6 +138,10 @@ exit fix / abs %CH ip arg < not
|std| standard floating numbers representation. ex: [25] std |std| standard floating numbers representation. ex: [25] std
|fix| fixed point representation. ex: 6 fix |fix| fixed point representation. ex: 6 fix
|sci| scientific floating point representation. ex: 20 sci |sci| scientific floating point representation. ex: 20 sci
|prec| get float precision in bits when first stack is not a number, set float precision in bits when first stack entry is a number. ex: ```256 prec```
|round| set float rounding mode. Authoerized values are: ```["nearest", "toward zero", "toward +inf", "toward -inf", "away from zero"] round```. ex: ```"nearest" round```
|default | set float representation and precision to default
|type | show type of stack first entry
### test ### test
@ -233,7 +233,7 @@ exit fix / abs %CH ip arg < not
|eval| evaluate (run) a program, or recall a variable. ex: ```'my_prog' eval``` |eval| evaluate (run) a program, or recall a variable. ex: ```'my_prog' eval```
|->| load program local variables. ex: ```<< -> n m << 0 n m for i i + next >> >>``` |->| load program local variables. ex: ```<< -> n m << 0 n m for i i + next >> >>```
### trig ### trig on reals and complexes
|keyword|description| |keyword|description|
|-|-| |-|-|
@ -247,7 +247,7 @@ exit fix / abs %CH ip arg < not
|d->r| convert degrees to radians |d->r| convert degrees to radians
|r->d| convert radians to degrees |r->d| convert radians to degrees
### logs ### logs on reals and complexes
|keyword|description| |keyword|description|
|-|-| |-|-|

View file

@ -18,17 +18,9 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "test", &program::test, "" }, //not seen by user { cmd_keyword, "test", &program::test, "" }, //not seen by user
{ cmd_keyword, "version", &program::rpn_version, "show rpn version" }, { cmd_keyword, "version", &program::rpn_version, "show rpn version" },
{ cmd_keyword, "uname", &program::rpn_uname, "show rpn complete identification string" }, { cmd_keyword, "uname", &program::rpn_uname, "show rpn complete identification string" },
{ cmd_keyword, "type", &program::type, "show type of stack first entry" },
{ cmd_keyword, "default", &program::rpn_default, "set float representation and precision to default" },
//MODE //USUAL OPERATIONS ON REALS AND COMPLEXEXE
{ cmd_undef, "", NULL, "\nMODE"}, { cmd_undef, "", NULL, "\nUSUAL OPERATIONS ON REALS AND COMPLEXES"},
{ cmd_keyword, "std", &program::std, "standard floating numbers representation. ex: [25] std" },
{ cmd_keyword, "fix", &program::fix, "fixed point representation. ex: 6 fix" },
{ cmd_keyword, "sci", &program::sci, "scientific floating point representation. ex: 20 sci" },
//REAL AND COMPLEX
{ cmd_undef, "", NULL, "\nREAL AND COMPLEX"},
{ cmd_keyword, "+", &program::plus, "addition" }, { cmd_keyword, "+", &program::plus, "addition" },
{ cmd_keyword, "-", &program::minus, "substraction" }, { cmd_keyword, "-", &program::minus, "substraction" },
{ cmd_keyword, "chs", &program::neg , "(or neg) negation" }, { cmd_keyword, "chs", &program::neg , "(or neg) negation" },
@ -44,12 +36,10 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "abs", &program::rpn_abs, "absolute value" }, { cmd_keyword, "abs", &program::rpn_abs, "absolute value" },
{ cmd_keyword, "dec", &program::dec, "decimal representation" }, { cmd_keyword, "dec", &program::dec, "decimal representation" },
{ cmd_keyword, "hex", &program::hex, "hexadecimal representation" }, { cmd_keyword, "hex", &program::hex, "hexadecimal representation" },
{ cmd_keyword, "prec", &program::precision, "get float precision in bits when first stack is not a number\n\t"
"set float precision in bits when first stack entry is a number. ex: 256 prec" },
{ cmd_keyword, "round", &program::round, "set float rounding mode.\n\tex: [\"nearest\", \"toward zero\", \"toward +inf\", \"toward -inf\", \"away from zero\"] round" },
{ cmd_keyword, "sign", &program::sign, "1 if number at stack level 1 is > 0, 0 if == 0, -1 if <= 0" }, { cmd_keyword, "sign", &program::sign, "1 if number at stack level 1 is > 0, 0 if == 0, -1 if <= 0" },
//REAL //OPERATIONS ON REALS
{ cmd_undef, "", NULL, "\nOPERATIONS ON REALS"},
{ cmd_keyword, "%", &program::purcent, "purcent" }, { cmd_keyword, "%", &program::purcent, "purcent" },
{ cmd_keyword, "%CH", &program::purcentCH, "inverse purcent" }, { cmd_keyword, "%CH", &program::purcentCH, "inverse purcent" },
{ cmd_keyword, "mod", &program::modulo, "modulo" }, { cmd_keyword, "mod", &program::modulo, "modulo" },
@ -63,7 +53,8 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "min", &program::rpn_min, "min of 2 real numbers" }, { cmd_keyword, "min", &program::rpn_min, "min of 2 real numbers" },
{ cmd_keyword, "max", &program::rpn_max, "max of 2 real numbers" }, { cmd_keyword, "max", &program::rpn_max, "max of 2 real numbers" },
//COMPLEX //nOPERATIONS ON COMPLEXES
{ cmd_undef, "", NULL, "\nOPERATIONS ON COMPLEXES"},
{ cmd_keyword, "re", &program::re, "complex real part" }, { cmd_keyword, "re", &program::re, "complex real part" },
{ cmd_keyword, "im", &program::im, "complex imaginary part" }, { cmd_keyword, "im", &program::im, "complex imaginary part" },
{ cmd_keyword, "conj", &program::conj, "complex conjugate" }, { cmd_keyword, "conj", &program::conj, "complex conjugate" },
@ -73,7 +64,18 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "p->r", &program::p2r, "cartesian to polar" }, { cmd_keyword, "p->r", &program::p2r, "cartesian to polar" },
{ cmd_keyword, "r->p", &program::r2p, "polar to cartesian" }, { cmd_keyword, "r->p", &program::r2p, "polar to cartesian" },
//TEST //MODE
{ cmd_undef, "", NULL, "\nMODE"},
{ cmd_keyword, "std", &program::std, "standard floating numbers representation. ex: [25] std" },
{ cmd_keyword, "fix", &program::fix, "fixed point representation. ex: 6 fix" },
{ cmd_keyword, "sci", &program::sci, "scientific floating point representation. ex: 20 sci" },
{ cmd_keyword, "prec", &program::precision, "get float precision in bits when first stack is not a number\n\t"
"set float precision in bits when first stack entry is a number. ex: 256 prec" },
{ cmd_keyword, "round", &program::round, "set float rounding mode.\n\tex: [\"nearest\", \"toward zero\", \"toward +inf\", \"toward -inf\", \"away from zero\"] round" },
{ cmd_keyword, "default", &program::rpn_default, "set float representation and precision to default" },
{ cmd_keyword, "type", &program::type, "show type of stack first entry" },
//TESTS
{ cmd_undef, "", NULL, "\nTEST"}, { cmd_undef, "", NULL, "\nTEST"},
{ cmd_keyword, ">", &program::sup, "binary operator >" }, { cmd_keyword, ">", &program::sup, "binary operator >" },
{ cmd_keyword, ">=", &program::sup_eq, "binary operator >=" }, { cmd_keyword, ">=", &program::sup_eq, "binary operator >=" },
@ -154,8 +156,8 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "eval", &program::eval, "evaluate (run) a program, or recall a variable. ex: 'my_prog' eval" }, { cmd_keyword, "eval", &program::eval, "evaluate (run) a program, or recall a variable. ex: 'my_prog' eval" },
{ cmd_branch, "->", (program_fn_t)&program::inprog, "load program local variables. ex: << -> n m << 0 n m for i i + next >> >>" }, { cmd_branch, "->", (program_fn_t)&program::inprog, "load program local variables. ex: << -> n m << 0 n m for i i + next >> >>" },
//TRIG //TRIG ON REALS AND COMPLEXES
{ cmd_undef, "", NULL, "\nTRIG"}, { cmd_undef, "", NULL, "\nTRIG ON REALS AND COMPLEXES"},
{ cmd_keyword, "pi", &program::pi, "pi constant" }, { cmd_keyword, "pi", &program::pi, "pi constant" },
{ cmd_keyword, "sin", &program::rpn_sin, "sinus" }, { cmd_keyword, "sin", &program::rpn_sin, "sinus" },
{ cmd_keyword, "asin", &program::rpn_asin, "arg sinus" }, { cmd_keyword, "asin", &program::rpn_asin, "arg sinus" },
@ -166,8 +168,8 @@ program::keyword_t program::s_keywords[] =
{ cmd_keyword, "d->r", &program::d2r, "convert degrees to radians" }, { cmd_keyword, "d->r", &program::d2r, "convert degrees to radians" },
{ cmd_keyword, "r->d", &program::r2d, "convert radians to degrees" }, { cmd_keyword, "r->d", &program::r2d, "convert radians to degrees" },
//LOGS //LOGS ON REALS AND COMPLEXES
{ cmd_undef, "", NULL, "\nLOGS"}, { cmd_undef, "", NULL, "\nLOGS ON REALS AND COMPLEXES"},
{ cmd_keyword, "e", &program::rpn_e, "exp(1) constant" }, { cmd_keyword, "e", &program::rpn_e, "exp(1) constant" },
{ cmd_keyword, "ln", &program::rpn_ln, "(or log) logarithm base e" }, { cmd_keyword, "ln", &program::rpn_ln, "(or log) logarithm base e" },
{ cmd_keyword, "log", &program::rpn_ln, "" }, { cmd_keyword, "log", &program::rpn_ln, "" },