xrpn

Xウィンドウ環境で動作するオープンソースの逆ポーランド記法(RPN)関数電卓プログラム

xrpn

概要

XRPNはXウィンドウシステム(X11)環境で動作するオープンソースの関数電卓プログラムであり、逆ポーランド記法(Reverse Polish Notation, RPN)に基づいて計算を行う。HP(Hewlett-Packard)の古典的なRPN電卓(特にHP-11C・HP-15C系)の操作感をソフトウェアに移植した点が特徴で、マウスクリックよりもキーボード入力中心の高速な計算フローを志向している。Unix・Linux系デスクトップで手軽に使える科学・工学用電卓として、長年にわたりSourceForgeを通じてソースとバイナリが配布されてきた。

主な内容

逆ポーランド記法(RPN)とは

RPNは演算子を被演算子の後に書く後置(postfix)記法である。例えば 3 + 4 をRPNで書くと 3 4 + となり、(3 + 4) × 5 は 3 4 + 5 × となる。電卓は値をスタック(stack)に積み上げておき、演算子に出会うとスタックの上側2つの値を取り出して計算し、結果を再びpushする。この方式には、括弧が不要で、中間結果を目で確認でき、入力順序がそのまま計算順序になるという利点がある。HP電卓のユーザーは Enter キーで被演算子を確定する特有の入力方式を用いる。

XRPNの特徴

  • 4段スタック構造: X、Y、Z、Tレジスタで構成される古典的HP方式のスタックを提供し、SWAP、Roll Down、Roll Up、Last X などのスタック操作キーをサポートする。
  • 科学・工学関数: 四則演算のほか、平方根、べき乗、逆数、常用/自然対数、指数、三角関数と逆三角関数、階乗、パーセント計算などを提供する。
  • メモリレジスタ: 値を保存・呼び出しできる多数のレジスタを備え、反復計算や定数の再利用を容易にする。
  • 基数変換: 2進・8進・10進・16進モードをサポートし、プログラマがビット演算や基数変換に活用できる。
  • キーストロークプログラミング: 一連のキー入力をプログラムとして保存し繰り返し実行する機能を提供し、これはHP電卓のkeystroke programmingの伝統を引き継ぐものである。
  • ディスプレイ設定: 小数点以下の桁数(precision)と表示形式を調整でき、工学計算の精度を制御できる。
  • 軽量GUI: X11ライブラリ以外に大きな依存がなく、古いハードウェアや最小構成の環境でも気軽に動作する。

インストールと実行

ソース配布版は典型的なUnixビルド手順に従う。展開した後、./configure、make、make install の順にビルドし、実行ファイル xrpn を実行すると電卓ウィンドウが表示される。X11開発ヘッダ(libx11-devなど)とコンパイラが必要で、Linux以外にもBSD・Solarisなど伝統的なUnix環境でのビルド事例が報告されている。macOSではXQuartzを通じてX11アプリケーションとして実行できる。

活用分野

1. 工学・科学計算: 反復的な単位換算、対数・指数演算、回路設計計算など。

2. プログラマの計算: 基数変換とビット単位の思考が必要な作業。

3. RPNの学習: スタックベースの計算原理を視覚的に学ぶ教育ツール。

4. レガシー環境: 重い現代的な電卓アプリをインストールしにくい古いX11デスクトップ。

類似ソフトウェア

X11標準ディストリビューションに含まれる xcalc、GNOME系の galculator、強力な数式処理の Qalculate!、Emacsの calc、ターミナルベースのRPN電卓 dc・orpie、そしてHP電卓エミュレータ(Nonpareil、Free42など)がXRPNと比較される代表的な代替である。

最新動向

2024-2025年時点で、XRPNは完成度の高いレガシーX11アプリケーションの典型的位置にある。機能追加よりもメンテナンス性格のプロジェクトとして残っており、主要なLinuxディストリビューションでパッケージ提供の有無が分かれることが多く、ユーザーが自分でソースをビルドするのも一般的である。一方、WaylandセッションではXWaylandを通じて実行する方式が一般化し、コンテナ・Flatpakの形で古典的なX11アプリを保存しようとする試みも続いている。

RPN計算文化自体はむしろ再注目されている。HPが2023年にHP-15C Collector's Editionを限定再発売したことでRPN愛好家コミュニティが再び活気づき、Webブラウザで動作するWebAssemblyベースのRPN電卓、モバイルアプリ、Rust・TypeScriptで再実装されたオープンソースRPNエンジンなどが登場した。また、キーボード中心のワークフローやオフラインツールへの関心が高まるにつれ、クラウド数式サービスではなくローカルで即座に計算する軽量デスクトップ電卓の価値が再び語られている。XRPNのようなクラシックツールは、こうした流れの中で「実証された操作感」の参照実装として引用されている。

関連トピック

  • [[逆ポーランド記法]]
  • [[HP-15C]]
  • [[電卓]]
  • [[Xウィンドウシステム]]
  • [[オープンソースソフトウェア]]
  • [[HP電卓エミュレータ]]