
ProgCalc
教育
免費 · 專為 iPad 設計
**ProgCalc Overview**
ProgCalc is a high-precision (38-digit) programmable calculator with true-decimal arithmetic, offering a Swift programming language interface for creating complex algorithms. It supports both scalar and non-scalar data types and operations. Non-scalar data types include complex numbers, quaternions, n-dimensional vectors, arrays, lists, and hierarchical tuples.
The app uses a tailored subset of the standard Swift language, optimized for numerical applications. It includes a comprehensive 38-digit scalar math library featuring well-known transcendental functions (trigonometric, hyperbolic, logarithmic, and exponential) as well as specialized functions such as arithmetic-geometric mean, arbitrary-precision rounding, modulo operations, binomial coefficients (log and normal), factorial functions (log and normal), ceiling and floor functions (toward -∞ and 0), and more.
A detailed app documentation is included, accessible via the [2nd][8] key. It provides a comprehensive guide to all calculator features, a language reference with examples and grammar, and additional resources.
**User Interface Modes**
ProgCalc offers three interactive modes, detailed in the app documentation:
- Standard infix notation (infiX, default)
- Fully editable infix notation (infiXE)
- Reverse Polish Notation (RPN)
You can switch between modes from the device’s home screen by using a pressure gesture on the app icon. On iPad devices, dedicated mode-switch keys provide a more convenient option.
**Additional Notes**
- ProgCalc is ad-free and will remain so.
- The app does not collect any information.
- The app does not rely on any third-party software.
評分與評論
此App未收到足夠的評分或評論以顯示概況。
Bug Fix Release 1.91
Several bugs related to property operator entry in infiX and infiXE interactive modes have been resolved. To test these fixes, try using the .map, .gmap, .gmapr, .bmap, .reduce, .zip, and .contains property operators in the interactive infix modes. These operators now work correctly with non-scalar types and non-scalar expression results, including operator chaining (e.g., .bmap(agm).map(sin).gmap(fixedround, 32)), without displaying confusing transient error messages. Additionally, some macOS shortcut keys have been updated or added.
For detailed information about all the changes in this release, refer to the built-in app documentation, specifically in Section 11.9, “Release Notes.” All subsections have been updated.
Late Bugs Detected:
In infiX / infiXE interactive modes, memory registers ($m0 through $m11) are treated as scalar variables by default. If you store a tuple in a memory register and attempt to use chained property operators like '.map(.elem_access_op)' interactively (e.g., $m4.map(.y)), it will fail with:
"syntax error, unexpected 'vector element access operator"
However, the same operation works when compiled and run in a program:
$m4.map(.y) // works in compiled programs
This happens because memory registers are implicitly declared as scalars, and type-casting is not available interactively.
var $m4: scalar // type-cast is not available interactively.
Workaround: Now assume that you've stored a tuple value in the $m4 memory register. Define a tuple-type global variable that mirrors $m4, and avoid purging it.
// type-cast is required. Refreshes value from $m4 on each execution.
var m4: tuple = $m4 as tuple
// purge(m4)
Now, the same operation will work interactively -- use [2nd][swap|VARS] view to enter 'm4':
m4.map(.y) // works — 'm4' has explicit tuple type
Note that a tuple resulting from a 'vexpr' works interactively just as it does in a compiled program. For example, you can interactively create an array object, convert it to a tuple, and extract the .y field from each element to build a list of y-values:
[ your_array ].map ( cis ) .map ( .y )
In general, any interactive expression requiring an explicit type cast will fail. For instance, starting with a 'vexpr' tuple and attempting '.map(.y)' will result in a syntax error in interactive mode, even though it works when compiled as type information would be available.
開發者Neopoise表明App的私隱慣例或包括下列資料的處理。詳情請參閲 開發者的私隱政策 。
不收集資料
開發者不會從此 App 收集任何資料。
輔助使用
開發者尚未表示此 App 支援哪些輔助使用功能。 進一步了解
資料
- 供應商
- Akif M. Suyabatmaz
- 大小
- 10.1 MB
- 類別
- 教育
- 相容性
須使用 iOS 15.0 或以上版本。
- iPhone
須使用 iOS 15.0 或以上版本。 - iPad
須使用 iPadOS 15.0 或以上版本。 - iPod touch
須使用 iOS 15.0 或以上版本。 - Mac
須使用 macOS 12.0 或以上版本及配備 Apple M1 或以上版本晶片的 Mac。 - Apple Vision
須使用 visionOS 1.0 或以上版本。
- 語言
- 英文
- 年齡分級
4+
- 4+
- 版權
- © 2018, Akif Suyabatmaz