This document is the official user guide of the compact scientific calculator software "RINPn".
The RINPn is a free scientific calculator software, having simple window. The following is the window of the RINPn:
As the above, the RINPn's window has very common UI in scientific calculators, so it is very easy to start using the RINPn.
In contrast with the simplicity of the UI, the features of the RINPn is very powerful. You can input the whole of expression (formula) to calculate, and you can use various math functions and parentheses in it. Also, you can define your own functions, or take automatic processing, by writing scripts (programs). The processing speed of the RINPn (max: hundreds MFLOPS ~ several GFLOPS) is very fast in the category of calculators, and also it is rather fast in the category of scripting languages. Furthermore, you can call processes implemented in Java®, from calculation expressions and scripts.
Also, if you don't need it, you can retract the key panel of the RINPn as follows:
Probably, anyone can not imagine that the above very small calculator having powerful features!
In short, the RINPn has the "small and good-handling" body, and equipped with the "powerful engine". Thus, the RINPn is a calculator like a lightweight sports car!
The RINPn is an open source software, so users can get source code of the RINPn, and can customize/improve/divert it, if want. The repository managing/providing source code is: https://github.com/RINEARN/rinpn.
Of course, you can also use the RINPn as it is, like as other general software. All kinds of users are very welcome!
The license of the RINPn is the "MIT License", which is one of popular open source licenses. Under that license, users can use the RINPn in free, in both of commertial and non-commertial purposes. For details, search on the web with keywords "MIT License" and so on. Probably, you can find many many webpages explaining details of MIT License.
Also, the license document of the RINPn is attached into "License" folder as "MIT_License.txt" in the distribution package. In the source code repository, the license document is attatched as the text file with the name "LICENSE".
The RINPn is provided without any kind of warranties.
The developer of the RINPn assume no responsibility or liability for results of use (containing any errors, any damages, and so on) of the RINPn.
Please agree with the above point (and terms of the MIT License) before using the RINPn.
This document is attached in the package of the RINPn, so readers might already have the package. If you haven't gotten it yet, you can download the package of the latest version of the RINPn anytime, from the following official website:
To download, click "Download Now" button at near the top of the above page. Then the compressed ZIP file rinpn_?_?_?_en.zip (?_?_? are version numbers) will be downloaded.
As mentioned above, the downloaded package "rinpn_?_?_?_en.zip" is compressed as a ZIP format file. It is necessary to extract the ZIP file before using the RINPn.
If you are using Microsoft® Windows®, at first, right-click the ZIP file and choose "Properties" from the menu, and enable "Unblock" checkbox at the right-bottom (in the line of "Security") of the properties-window. ( Otherwise, when you extract the ZIP file or when you execute the RINPn, security warning messages may pop up and the extraction/execution may fail. ) Then, to extract, right-click the ZIP file again, and select "Extract All" and so on from the menu.
If you are using other OS (Linux®, etc.), you probably can extract the ZIP file from the right-click menu.
Also, if you are using Linux® and so on, you can extract the downloaded zip file on the command-line terminal as follows:
This way might be helpful when you want to use the Japanese edition of the RINPn. In such case, on some environments, "mojibake" may occurr for names of extracted files, when you extract the downloaded ZIP file from right-click menu.
When the extraction of the downloaded ZIP file has completed successfully, a folder "rinpn_?_?_?_en" will be generated. All contents of the package of the RINPn (containing this document) are in that folder. Note that, if you double-click the downloaded ZIP file, you can also browse files in the package without extraction, but the RINPn probably don't work expectedly in such unextracted condition. Please extract the ZIP file before using the RINPn.
The RINPn is available without installation, so put the extracted folder on anywhere convenient for you (e.g.: Desktop). If you want to use the RINPn on multiple computers, it might be useful for putting the extracted folder of the RINPn in a USB memory.
Now we are ready to use the RINPn. Let's launch and use the RINPn in next chapters: Step-1 (GUI mode) and Step-2 (CUI mode) !
The RINPn has two mode - GUI mode and CUI mode. On the GUI mode, you can use the RINPn on a simple calculator window, so it is easy to use for everyone. Therefore, as a first step, Let's try to use GUI mode!
How to launch the RINPn depends on the type of your environment.
Double-click the batch file "RINPn_?.?.?.bat" (?.?.? are version numbers) to launch the RINPn. Also, you can launch the RINPn by inputting "rinpn" command with no argumuments on the command-line terminal, if you registered "cmd" folder of the RINPn in the environment variable "Path" (» More details).
Launch on the command-line terminal as follows:
Also, you can launch the RINPn by inputting only "rinpn" command with no argumuments, if you registered "cmd" folder of the RINPn in the environment variable "PATH" (» More details).
When you execute the above command line, if an error occurred with the error message indicating that "java" command is not found, Java® Runtime Environment(JRE) is required separately. There are some ways to install it.
Probably, one of most adaptable way on various OSes is, to install the OpenJDK which is a development environment of Java® including the runtime environment. For details, search on the web with keywords "OpenJDK install (name of your OS)". The OpenJDK might be helpful too, when you want to call new functions (methods) written in Java® from the RINPn, because you are required to compile the code written in Java® in such case.
Also, on some Linux® distributions, you might be able to install only JRE easily, by using "apt" command. For details, search on the web with keywords "JRE install (name of your OS)". Please note that, in the list of JREs installable by apt command, perhaps there are some packages of which names end with "-headless", but the RINPn will NOT work on such -headless versions.
When you succeeded to launch the RINPn, the following calculator window will be displayed:
You can retract the key panel by clicking "▲KEY-PANEL" switch, and expand by clicking it again. The window color, opacity, font sizes, and so on are customizable by modifying values in "Settings.txt" (open the file by a text editor, and modify contents, and save it).
To take calculations, input the expression into the "INPUT" text-field, and press the Enter key of your key board, or click "=" button on the window. Then the calculated value of the expression will be output on the "OUTPUT" text-field. For example:
As the above, parentheses "( )" and orders of operations (multiplication & division are prior than addition & subtraction) are considered correctly. Also, you can use functions/variables as:
Available functions/variables by default are listed in the section: Appendix - List of Built-in Functions/Variables. In addition, you can create and use new function/variables as Step-4, Step-5.
- About Precision and Roundings -
In internal processing of the RINPn, numerical values are handled as double-precision (64-bit) binary floating-point number. Hence, some type of numerical errors are contained in some digits at tails of calculation results. Therefore, the RINPn rounds a calculation result in 10-digits by default (customizable by "Settings.txt"), before displaying it. When you use the RINPn, please note that above things, and thereby the RINPn may be unusable for some purposes (for example, calculations requiring perfect precision).
In this section, Let's try to use another mode of the RINPn: CUI mode. In the CUI mode, you can take calculations on the command-line terminal, whithout launching the calculator window.
To use the CUI mode without any additional settings, execute the "RINPn.jar" with passing an expression as a command-line argument as follows:
As the above, we can take the same calculation as the example we took in GUI mode, without launching the calculator window.
It may be hassle to input the above long command-line with setting the current directory to the folder of the RINPn every time. To make it easy, it is helpful to register the path of "cmd" folder of the RINPn to the environment variable "PATH" (or "Path") of your OS. If you do it, after then, wherever the current directory is, you can take calculations more simply by using "rinpn" command as follows:
How to modify the environment variable PATH/Path depends on the OS you are using. For details, please search on the web with keywords "how to set path (+ the name OS you are using)" and so on. Please note that, if you deleted the current value of the environment variable "PATH"/"Path" by mistake, or if you modify it to invalid value, serious problems may occurred on your PC. Be careful when you are modifying it. If you have never modified it, and if you can ask to someone for helping/supervising you, we recommend to ask.
Also, on the Linux® and so on, an error message related with permissions may occur at the first time you use "rinpn" command. In that case, add a permission as follows:
The RINPn can execute a script file written in the "Vnano", to perform procedural, algorithmic, or other complicated calculations.
The vnano is a compact script engine & language for embedded use in applications. The vnano has simple C-like syntax. For details of syntax of the Vnano, see: "Features of the Vnano as a Language" in the Vnano Official Website. To create a script of the Vnano, no development environments (e.g.: compiler) is required. Simply create a text file of which name ends with the extention ".vnano", and write code in there.
There is an example script file "Example.vnano" in the folder of the RINPn. This example script calculates the numerical integration value of cos(x) from 0 to 1:
For detailed explanations about the above code, see: https://www.vcssl.org/en-us/code/archive/0001/7800-vnano-integral-output/
To execute this script in the GUI mode, there are two methods:
Choose the favorite method from the above.
For example, execute the example script in the previous section "Example.vnano":
As the above, the output value of the script will be displayed on the "OUTPUT" text-field. The output value "0.8414709848" is matched well with the value of sin(1) which is the theoretical integration value of cos(x) from 0 to 1, so it indicates that the above example script has run correctly.
By the way, if you want to execute a script file in the different folder with the folder at which you has launched the RINPn, it is necessary to input the absolute file path ("C:\...\Example.vnano", "/home/.../Example.vnano", etc.) of the script to execute it. (If you are using Microsoft® Windows®, right-click the script file with pressing Shift key, and then you can copy the file path from the right-click menu.)
As same as the GUI mode, you can execute a script on CUI mode, by inputting the name or the path of the script file.
For executing a script file in the current directory, pass only name of the script file to the "rinpn" command:
When a script file is in a different directory with the current directory, you can specify the relative file path of it, instead of the file name:
Also, if necessary, you can specify the absolute file path as follows,
By the way, when processing of a script is heavy, it might be helpful to raise the optimization level specified in "Settings.txt" as "acceleratorOptimizationLevel", to make the processing faster.
Even when the value of the optimization level is 0, probably the processing speed is enough to use the RINPn in the standard way of a calculator software, so the default value of the optimization level is set to 0. However, if you execute numerical calculation programs frequently on the RINPn, the processing speed might not be sufficient with the default optimization level.
You can write new scripts from scratch, but sometimes the code archive in the official website of the VCSSL/Vnano may be helpful:
Useful scripts are being distributed on the code archive, with commentary articles explaining algorithms, background knowledge, and so on.
Solve The Lorenz Equations Numerically |
|
![]() |
Solve the Lorenz equations, and output data to plot the solution curve (well-known as the "Lorenz Attractor") on a 3D graph. |
Output Data of Numerical Integration For Plotting Graph |
|
![]() |
Example code computing integrated values numerically, and output data for plotting the integrated functions into graphs. |
Compute Integral Value Numerically |
|
![]() |
Example code computing integral values numerically by using rectangular method, trapezoidal method, and Simpson's rule. |
You can define variables and functions in script files in "lib" folder, and use them in expressions of the Step-1 and Step-2, and in scripts of the Step-3. Scripts for providing functions/variables is referred as "library scripts" on the RINPn and the Vnano.
There is an example library script "ExampleLibrary.vnano" in "lib" folder, and it is set to be loaded by default.
An example library script "ExampleLibrary.vnano" is in "lib" folder, and it is set to be loaded by default. The content of this example script is as follows:
In the expression/script inputted to the RINPn (see Step-1, Step-2, and Step-3), you can use variables and functions defined in the above "ExampleLibrary.vnano", as the following example:
If you want, you can create other (new) library script files, and define functions/variables in it.
When you have created/appended new library script files, describe its file path in the content of the text file "VnanoLibraryList.txt" in "lib" folder, for loading it.
You can implement new built-in variables and function in the Java® programming language. On the RINPn and the Vnano, we refer a Java® program to provide built-in functions/variables as "plug-in".
In this way, compared to defining variables/functions as script code (in the step-4), high-functionality of Java® might be the great merit.
On the other hand, it requres Java® Development Kit (JDK) to compile implemented code. Here we assume that JDK(s) is installed in your PC and "javac" command is available on it. For details of how to install a JDK, as an example, search on the web with keywords "OpenJDK install (name of your OS)" and so on.
For using on the RINPn, plug-ins should be put in the "plugin" folder of the RINPn. In the folder, a simple example of a plug-in "ExamplePlugin.java" exists:
This plug-in is compiled by default, and is set to be loaded (how we set it will be explained later).
The field "pivar" and the method "pifun(arg)" are available as a built-in variable/function inputted to the calculator (see Step-1 and Step-2), and in the script code (see step-3 and Step-4).
For example:
When you modify code of the plug-in, it requires to be re-compiled as follows:
By the way, some compiled class files of special plug-in-interfaces (XFCI1, XNCI1, and so on) supported by the Vnano Engine are bundled in the "plugin/org/vcssl/connect" folder. If you want, you can import them from your plug-in (see "Plugin Development" section in the document of the Vnano) and you can compile it in the same way as the above example.
If you want to add a new plug-in, put it in the "plugin" folder and compile it. Then, describe (append) the path of the compiled class file into the content of the text file "VnanoPluginList.txt" in "plugin" folder. All plug-ins specified in "VnanoPluginList.txt" will be loaded by the RINPn.
In "plugin/org/vcssl/nano/plugin" folder, "Vnano Standard Plug-ins" which provide basic features (math functions, utility functions, and so on) are bundled. They will be loaded by default (specified in "VnanoPluginList.txt"), so you can use their functions/variables by default.
For browsing the full list and detailed specification documents of Vnano Standard Plug-ins, see "Vnano Standard Plug-ins" page in the official website of the Vnano.
Also, frequently-used functions/variables on the RINPn and simplified explanations of them are listed in the page: Appendix - List of Built-in Functions/Variables.
You can embed the scripting/calculation engine used in the RINPn, the "Vnano Engine", into your applications written in Java®. Let's try!
The following is an example code calculating a value of the expression "1.2 + 3.4" under almost the same engine-settings with the RINPn:
You can compile the above code with adding the Jar file of the Vnano Engine "Vnano.jar" (bundled in the package of the RINPn) to the class path:
When the compilation is succeeded, a class file "EmbedUseExample.class" will be generated. Then, execute it as follows:
The result is:
As the above, we get the correct value "4.6" of the expression "1.2 + 3.4". In the expression, you can use functions of libraries/plug-ins. In addition, to the eval(...) method of the script engine, you can pass the content(code) of a Vnano script instead of an expression.
The Vnano Engine is an open source software released under the MIT License, so you can use it for free in both of commercial/non-commercial purposes, the same as the RINPn.
More detailed information (guide/specification documents and so on) are provided on the official website of the Vnano:
On the RINPn, some functions and variables are available by default. Among them, frequently used functions/variables are shown in the following list.
The conversion function from degree to radian.
Example: rad( 180.0 )
The conversion function from radian to degree.
Example: deg( 2.0 * PI )
The sine function. The unit of the argument "x" is radian.
Example: sin( PI / 2.0 )
The cosine function. The unit of the argument "x" is radian.
Example: cos( 2.0 * PI )
The tangent function. The unit of the argument ®x® is radian.
Example: tan( PI / 4.0 )
The inverse function of sine (arc-sine). The unit of the result is radian.
Example: asin( 1.0 )
The inverse function of cosine (arc-cosine). The unit of the result is radian.
Example: acos( 1.0 )
The inverse function of tangent (arc-tangent). The unit of the result is radian.
Example: atan( 1.0 )
The square-root function.
Example: sqrt( 4.0 )
The logarithm function with the base "e" (napier number).
Example: ln( 10.0 )
The logarithm function with the base "10".
Example: log10( 1000.0 )
The function which returns the value of "x" to "exponent"-power.
Example: pow( 2.0, 3.0 )
The function which returns the value of "e" (napier number) to "exponent"-power.
Example: exp( 1.2 )
The absolute-value function.
Example: abs( -1.23 )
The summation function.
Example: sum( 1.23 , 4.56 , 7.89 )
The mean-value (arithmetic mean) function.
Example: mean( 1.23 , 4.56 , 7.89 )
The variance function ( denominator : n ).
Example: van( 1.23 , 4.56 , 7.89 )
The variance function ( denominator : n-1 ).
Example: van1( 1.23 , 4.56 , 7.89 )
The standard-deviation function ( denominator : n ).
Example: sdn( 1.23 , 4.56 , 7.89 )
The standard-deviation function ( denominator : n-1 ).
Example: sdn1( 1.23 , 4.56 , 7.89 )
The function which returns length of the "dim"-th dimension of an "array".
Example: length( array, 0 )
The function to display the calculated value of scripts. On GUI mode, the value will be displayed on "OUTPUT" text-field (so when this function is called multiple times, the displayed value will be overwritten). On CUI mode, the value will be outputted on the standard-output as a line.
Example: output( 1.23 )
The function to display long and multiple-line texts in general purpose. This function can display contents of arbitrary number of any type values/arrays with delimitting tab-spaces. On GUI mode, the value will be appended to the content of a text-area on an independent window, without line-feedings. On CUI mode, the value will be outputted to the standard-output, without
Example: print( 1.2 , 3.4 , 5.6 )
Almost the same with the above "print" function, but this function displays/outputs the content with line-feedings.
Example: println( 1.2 , 3.4 , 5.6 )
The constant variable storing the value of the circle ratio π.
Value: 3.141592653589793
This software is developed by RINEARN which is a studio in Japan developing software for data-analysis, visualization, computation, and so on. Please feel free to contact us if you have any questions/feedbacks about this software.
RINPn User Guide
Text & Illustration: Fumihiro Matsui