Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

New FppPack V1.00 for download from SemWare site

35 views
Skip to first unread message

Eckhard Hillmann

unread,
Jan 23, 2025, 5:44:01 AMJan 23
to SemWare TSE Pro text editor
FYI:

Hello,

because It's very hard to post binary files as an mail-attachment, at first a
very big thank you to Sammy for helping me out and let me put my FppPack stuff
on his site for download.

Now, what is FppPack - Fpp stands for (F)loating (P)oint (P)arser.
It's a set of macros and exe files to do math and bit manipulating operations.
It contains a lot of functions, to name a few Log() Sin() Tan() Shr() Rotr()
And() Xor() and a lot more.

The way it works is very simple. All the Fpp* macros act as a shell that do the
pre-processing by setting up text files that are passed down to the exe for
evaluation, than do the post-processing of the returned text files and do the
presentation of the result.

FppShell macro an expression calculator
FppSum macro is made for simple sum-building
FppSumLine macro is similar to FppSum, but also gives the sum of each line

A word of warning, FppSum and FppSumLine let you select the number input/output
format. Selecting the wrong format will at best result in an error or at
worst in calculating a wrong sum, like shown below!

None US is correctly used here. US-Standard is wrongly used here.

Item ea. EURO Item ea. EURO
┌─────────────────────────────────┐═════╗ ┌─────────────────────────────────┐═════╗
│Salad = 0,99 : Salad * 2 │ 1,98║ │Salad = 0,99 : Salad * 2 │ 198║
│Bread = 0,39 : Bread * 9 │ 3,51║ │Bread = 0,39 : Bread * 9 │ 351║
│Cheese = 0,59 : Cheese * 6 │ 3,54║ │Cheese = 0,59 : Cheese * 6 │ 354║
│Chocolate = 2,79 : Chocolate * 3 │ 8,37║ │Chocolate = 2,79 : Chocolate * 3 │ 837║
│Peanuts = 2,29 : Peanuts * 2 │ 4,58║ │Peanuts = 2,29 : Peanuts * 2 │ 458║
└─────────────────────────────────┘21,98║ └─────────────────────────────────┘2,198║
╚═════╝ ╚═════╝

A few very short examples where FppSum and FppSumLine differ.

This is what FppSum does: This is what FppSumLine does:
┌────────────────────────────────┐ ┌────────────────────────────────┐═════════╗
│a=1.25:b=5: a * 1,167.2 + 47.112│ │a=1.25:b=5: a * 1,167.2 + 47.112│1,506.112║
│1,120.20 + b │ │1,120.20 + b │1,125.200║
│30.30 / b │ │30.30 / b │ 6.060║
│$ff - 10 / 4 │ │$ff - 10 / 4 │ 252.500║
│ d=47 │ │ d=47 │ ║
│3.1415e2 │ │3.1415e2 │ 314.150║
│40.40 │ │40.40 │ 40.400║
│ i=23 │ │ i=23 │ ║
│- 50.50 │ │- 50.50 │ -50.500║
│ pro(100|19) │ │ pro(100|19) │ 19.000║
│2 * 17.5 : 3 * 20 │ │2 * 17.5 : 3 * 20 │ 95.000║
└────────────────────────────────┘ └────────────────────────────────┘3,307.922║
3,307.922 ╚═════════╝

This can only be done by FppSumLine
┌─────────────────────────────────────┐══════════════════════════════════╗
│step = 10 │ ║
│x = 0: SinDeg(x) // 0 y =│ 0 ║
│x = x + step: SinDeg(x) // 10 y =│ 0.1736481776669303488517166267693║
│x = x + step: SinDeg(x) // 20 y =│ 0.3420201433256687330440996146823║
│x = x + step: SinDeg(x) // 30 y =│ 0.50 ║
│x = x + step: SinDeg(x) // 40 y =│ 0.6427876096865393263226434099073║
│x = x + step: SinDeg(x) // 50 y =│ 0.7660444431189780352023926505554║
│x = x + step: SinDeg(x) // 60 y =│ 0.8660254037844386467637231707529║
│x = x + step: SinDeg(x) // 70 y =│ 0.9396926207859083840541092773247║
│x = x + step: SinDeg(x) // 80 y =│ 0.9848077530122080593667430245895║
│x = x + step: SinDeg(x) // 90 y =│ 1 ║
│x = x + step: SinDeg(x) // 100 y =│ 0.9848077530122080593667430245895║
│x = x + step: SinDeg(x) // 110 y =│ 0.9396926207859083840541092773247║
│x = x + step: SinDeg(x) // 120 y =│ 0.8660254037844386467637231707529║
│x = x + step: SinDeg(x) // 130 y =│ 0.7660444431189780352023926505554║
│x = x + step: SinDeg(x) // 140 y =│ 0.6427876096865393263226434099073║
│x = x + step: SinDeg(x) // 150 y =│ 0.50 ║
│x = x + step: SinDeg(x) // 160 y =│ 0.3420201433256687330440996146823║
│x = x + step: SinDeg(x) // 170 y =│ 0.1736481776669303488517166267693║
│x = x + step: SinDeg(x) // 180 y =│ 0 ║
│x = x + step: SinDeg(x) // 190 y =│-0.1736481776669303488517166267693║
│x = x + step: SinDeg(x) // 200 y =│-0.3420201433256687330440996146823║
│x = x + step: SinDeg(x) // 210 y =│-0.50 ║
│x = x + step: SinDeg(x) // 220 y =│-0.6427876096865393263226434099073║
│x = x + step: SinDeg(x) // 230 y =│-0.7660444431189780352023926505554║
│x = x + step: SinDeg(x) // 240 y =│-0.8660254037844386467637231707529║
│x = x + step: SinDeg(x) // 250 y =│-0.9396926207859083840541092773247║
│x = x + step: SinDeg(x) // 260 y =│-0.9848077530122080593667430245895║
│x = x + step: SinDeg(x) // 270 y =│-1 ║
│x = x + step: SinDeg(x) // 280 y =│-0.9848077530122080593667430245895║
│x = x + step: SinDeg(x) // 290 y =│-0.9396926207859083840541092773247║
│x = x + step: SinDeg(x) // 300 y =│-0.8660254037844386467637231707529║
│x = x + step: SinDeg(x) // 310 y =│-0.7660444431189780352023926505554║
│x = x + step: SinDeg(x) // 320 y =│-0.6427876096865393263226434099073║
│x = x + step: SinDeg(x) // 330 y =│-0.50 ║
│x = x + step: SinDeg(x) // 340 y =│-0.3420201433256687330440996146823║
│x = x + step: SinDeg(x) // 350 y =│-0.1736481776669303488517166267693║
│x = x + step: SinDeg(x) // 360 y =│ 0 ║
└─────────────────────────────────────┘══════════════════════════════════╝


Link to download from SemWare site:
https://semware.com/files/tse-pro/FppPack_1_00.zip

Checksum FppPack_1_00.zip (1143762 Bytes)
MD5: 5c7c93155576361b47518971c030991f
SHA1: 1af49815548b6dd2f35a3e4e611db64176588d82
SHA256: ab3efbb53a58052a38acd4bfe48f842e4a72433d6d5d0fc020e8029bd8c59604

--
Best regards
Eckhard mailto:or...@ewetel.net

knud van eeden

unread,
Jan 24, 2025, 6:18:32 AMJan 24
to SemWare TSE Pro Text Editor
In many computer science applications keeping separate things separate and independent of each other is an optimal design strategy
and many apply this principle.

Instead of intermixing all kind of in principle independent systems with each other. 

Say that multiple external applications do so, how complex does it become to unravel that information 
afterwards?

Therefore we use e.g. separate directories to install 3rd party external applications
and keep the installation directories of the TSE program free and clean where possible
and as much as possible would be an optimal design strategy.

External programs which e.g. store information in the autoload automatically without asking,
storing their external macros in the TSE 'mac' directory, they have nothing to do there and should not be there at all,
which do not clean up after running their programs,
which have a full dependence on where their external programs are stored and only work when doing so
do not really fulfill that keep things separate design criterium thus.

YMAMV

with friendly greetings
Knud van Eeden

knud van eeden

unread,
Jan 24, 2025, 6:36:36 AMJan 24
to tse...@freelists.org, SemWare TSE Pro Text Editor
> Thank you very much for doing an independent test and proof that it works.

FYIO: Also here long since thus, after using a copying original TSE 4.50.2 to a temporary directory and copying .exe and .dll into TSE directory + all .h, .inc, .s into the TSE mac directory.
It kind of works now in that temporary installation.

with friendly greetings
Knud van Eeden

Inline image

Reply all
Reply to author
Forward
0 new messages