diff --git a/README.md b/README.md index 922bf35..7abdb79 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,7 @@ v0.09.09h 2023/03/14 - show calc and sort progress as percentage - generation of Linux AppImage -v0.10.09h 2023/04/19 +v0.10.09h 2023/05/09 * Added: - new memory save strategy searching results, thanks @mvimercati for hints keep only the first N best results. Selectable with 'algo=1' @@ -331,10 +331,12 @@ v0.10.09h 2023/04/19 - thanks @lcavalli for hints - format parameter to show numbers with engineering notation or SI prefix - different binary packages for different OSs + - made a package for Raspberry Pi @32/64bit + - made a package for VisionFive2 RISC-V @64bit - removed binaries from github master - GUI: read decimal values from baseR custom values in config file - GUI: better parameters checking: custom values, results - - GUI: disable widgets not active + - GUI: disabled not active widgets - GUI: add some hints popup - GUI: working About button, thanks @lb90 diff --git a/reSolveConf.txt b/reSolveConf.txt index 9de4828..ada7ca4 100644 --- a/reSolveConf.txt +++ b/reSolveConf.txt @@ -1,4 +1,4 @@ -; put here the dynamic configurations for ReSolve +0.08.09g beta +; put here the default configurations for ReSolve +0.08.09g beta ; numeric values follow equal sign, with no space in between ; strings are enclosed in "", keep in one line, shorter than 78 chars ; vectors are {} enclosed and comma separated (space and multi lines allowed) diff --git a/reSolveReadme.txt b/reSolveReadme.txt index 922bf35..7abdb79 100644 --- a/reSolveReadme.txt +++ b/reSolveReadme.txt @@ -323,7 +323,7 @@ v0.09.09h 2023/03/14 - show calc and sort progress as percentage - generation of Linux AppImage -v0.10.09h 2023/04/19 +v0.10.09h 2023/05/09 * Added: - new memory save strategy searching results, thanks @mvimercati for hints keep only the first N best results. Selectable with 'algo=1' @@ -331,10 +331,12 @@ v0.10.09h 2023/04/19 - thanks @lcavalli for hints - format parameter to show numbers with engineering notation or SI prefix - different binary packages for different OSs + - made a package for Raspberry Pi @32/64bit + - made a package for VisionFive2 RISC-V @64bit - removed binaries from github master - GUI: read decimal values from baseR custom values in config file - GUI: better parameters checking: custom values, results - - GUI: disable widgets not active + - GUI: disabled not active widgets - GUI: add some hints popup - GUI: working About button, thanks @lb90 diff --git a/src/Makefile b/src/Makefile index 6811c1c..2492ef7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -21,8 +21,8 @@ CFLAGS=-std=gnu11 -Wall $(COPT) -D__USE_MINGW_ANSI_STDIO=1 PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH GFLAGS=`pkg-config --cflags --libs gtk+-3.0` LDFLAGS=$(LOPT) -lm -TARGET=reSolve$(PKG)64 -GUI=reSolveGui$(PKG)64 +TARGET=reSolve$(PKG)$(BITS) +GUI=reSolveGui$(PKG)$(BITS) all: $(TARGET) $(GUI) @rm -f *.gch diff --git a/src/Makefile32 b/src/Makefile32 index f9200fd..8c7f49d 100644 --- a/src/Makefile32 +++ b/src/Makefile32 @@ -3,7 +3,7 @@ HOST=$(shell uname -o) PKG=Linux -BITS = 32 +BITS=32 BUILD?=release ifeq ($(BUILD),debug) @@ -18,8 +18,8 @@ CFLAGS=-std=gnu11 -Wall $(COPT) -D__USE_MINGW_ANSI_STDIO=1 -m32 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig:$PKG_CONFIG_PATH GFLAGS=`pkg-config --cflags --libs gtk+-3.0` LDFLAGS=$(LOPT) -lm -TARGET=reSolveLinux32 -GUI=reSolveGuiLinux32 +TARGET=reSolve$(PKG)$(BITS) +GUI=reSolveGui$(PKG)$(BITS) all: $(TARGET) $(GUI) @rm -f *.gch diff --git a/src/MakefileX b/src/MakefileX index 3c756b6..8b41567 100644 --- a/src/MakefileX +++ b/src/MakefileX @@ -3,7 +3,7 @@ HOST=$(shell uname -o) PKG=Win -BITS := $(shell getconf LONG_BIT) +BITS=64 BUILD?=release ifeq ($(BUILD),debug) @@ -20,8 +20,8 @@ PKGCONFIG=/opt/mxe/usr/bin/x86_64-w64-mingw32.static-pkg-config PKG_CONFIG_LIBDIR=/opt/mxe/usr/x86_64-w64-mingw32.static/lib/pkgconfig GFLAGS=`$(PKGCONFIG) --cflags --libs gtk+-3.0` LDFLAGS=$(LOPT) -lm -TARGET=reSolveWin64.exe -GUI=reSolveGuiWin64.exe +TARGET=reSolve$(PKG)$(BITS).exe +GUI=reSolveGui$(PKG)$(BITS).exe all: $(TARGET) $(GUI) @rm -f *.gch diff --git a/src/MakefileX32 b/src/MakefileX32 index 7b52257..d2f6278 100644 --- a/src/MakefileX32 +++ b/src/MakefileX32 @@ -3,7 +3,7 @@ HOST=$(shell uname -o) PKG=Win -BITS = 32 +BITS=32 BUILD?=release ifeq ($(BUILD),debug) @@ -20,8 +20,8 @@ PKGCONFIG=/opt/mxe/usr/bin/i686-w64-mingw32.static-pkg-config PKG_CONFIG_LIBDIR=/opt/mxe/usr/i686-w64-mingw32.static/lib/pkgconfig GFLAGS=`$(PKGCONFIG) --cflags --libs gtk+-3.0` LDFLAGS=$(LOPT) -lm -TARGET=reSolveWin32.exe -GUI=reSolveGuiWin32.exe +TARGET=reSolve$(PKG)$(BITS).exe +GUI=reSolveGui$(PKG)$(BITS).exe all: $(TARGET) $(GUI) @rm -f *.gch diff --git a/src/comType.h b/src/comType.h index 3e0ea56..4332dc3 100644 --- a/src/comType.h +++ b/src/comType.h @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* comType.h is part of ReSolve ReSolve is free software: you can redistribute it and/or modify diff --git a/src/exprParser.c b/src/exprParser.c index 004b4a2..a349570 100644 --- a/src/exprParser.c +++ b/src/exprParser.c @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* exprParser.c is part of ReSolve ReSolve is free software: you can redistribute it and/or modify diff --git a/src/exprParser.h b/src/exprParser.h index d2f9a14..43fe291 100644 --- a/src/exprParser.h +++ b/src/exprParser.h @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* exprParser.h is part of ReSolve ReSolve is free software: you can redistribute it and/or modify diff --git a/src/fileIo.c b/src/fileIo.c index 8612f77..8a67e23 100644 --- a/src/fileIo.c +++ b/src/fileIo.c @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* fileIo.c is part of ReSolve ReSolve is free software: you can redistribute it and/or modify diff --git a/src/fileIo.h b/src/fileIo.h index 335fa37..18ac4b4 100644 --- a/src/fileIo.h +++ b/src/fileIo.h @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* fileIo.h is part of ReSolve ReSolve is free software: you can redistribute it and/or modify diff --git a/src/makeAppDir.sh b/src/makeAppDir.sh index 0d2c33e..5c603a2 100755 --- a/src/makeAppDir.sh +++ b/src/makeAppDir.sh @@ -1,5 +1,5 @@ #!/bin/bash -# makeAppDir.sh: this script generate the AppDir for ReSolve. 2023-04-08 +# makeAppDir.sh: this script generate the AppDir for ReSolve. 2023-05-04 echo "makeAppDir.sh: generating the AppDir for ReSolve ..." if (test "" = "$1") then echo "makeAppDir.sh ERROR: need the target platform to create package" @@ -12,162 +12,165 @@ if (test "" = "$2") then else BITS=$2 fi +cp -a ../reSolveReadme.txt ../README.md +arch=`uname -m` echo "makeAppDir.sh: generating $PKG $BITS bit package ..." rm -rf AppDir mkdir -p AppDir if (test "$PKG" = "Linux") then mkdir -p AppDir/lib - if (test "$BITS" = "64") then - cp -aL /lib/x86_64-linux-gnu/libatk-1.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libatspi.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libblkid.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libbrotlicommon.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libbrotlidec.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libbsd.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libcairo-gobject.so.2 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libcairo.so.2 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libdatrie.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libdbus-1.so.3 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libdl.so.2 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libepoxy.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libexpat.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libffi.so.7 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libfontconfig.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libfreetype.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libfribidi.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgcrypt.so.20 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgdk-3.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgio-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libglib-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgobject-2.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgpg-error.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgraphite2.so.3 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libgtk-3.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libharfbuzz.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/liblz4.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/liblzma.so.5 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libmd.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libmount.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpango-1.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpcre2-8.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpcre.so.3 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpixman-1.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpng16.so.16 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libpthread.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libresolv.so.2 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/librt.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libselinux.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libthai.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libuuid.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libwayland-client.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libwayland-cursor.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libwayland-egl.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libX11.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXau.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libxcb-render.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libxcb-shm.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libxcb.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXcomposite.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXcursor.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXdamage.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXdmcp.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXext.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXfixes.so.3 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXinerama.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXi.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libxkbcommon.so.0 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXrandr.so.2 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libXrender.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libz.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libzstd.so.1 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libm.so.6 AppDir/lib - cp -aL /lib/x86_64-linux-gnu/libc.so.6 AppDir/lib - #cp -aL /lib/x86_64-linux-gnu/libsystemd.so.0 AppDir/lib - cat AppRun | sed 's/is32whenLinux32pkgAndRunOnLinux64/64/' > AppDir/AppRun - fi # 64 bit - if (test "$BITS" = "32") then - cp -aL /lib/i386-linux-gnu/libatk-1.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libatk-bridge-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libatspi.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libblkid.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libbrotlicommon.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libbrotlidec.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libbsd.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libcairo-gobject.so.2 AppDir/lib - cp -aL /lib/i386-linux-gnu/libcairo.so.2 AppDir/lib - cp -aL /lib/i386-linux-gnu/libdatrie.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libdbus-1.so.3 AppDir/lib - cp -aL /lib/i386-linux-gnu/libdl.so.2 AppDir/lib - cp -aL /lib/i386-linux-gnu/libepoxy.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libexpat.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libffi.so.7 AppDir/lib - cp -aL /lib/i386-linux-gnu/libfontconfig.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libfreetype.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libfribidi.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgcrypt.so.20 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgdk-3.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgio-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libglib-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgmodule-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgobject-2.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgpg-error.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgraphite2.so.3 AppDir/lib - cp -aL /lib/i386-linux-gnu/libgtk-3.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libharfbuzz.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/liblz4.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/liblzma.so.5 AppDir/lib - cp -aL /lib/i386-linux-gnu/libmd.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libmount.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpango-1.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpangocairo-1.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpangoft2-1.0.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpcre2-8.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpcre.so.3 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpixman-1.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpng16.so.16 AppDir/lib - cp -aL /lib/i386-linux-gnu/libpthread.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libresolv.so.2 AppDir/lib - cp -aL /lib/i386-linux-gnu/librt.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libselinux.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libthai.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libuuid.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libwayland-client.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libwayland-cursor.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libwayland-egl.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libX11.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXau.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libxcb-render.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libxcb-shm.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libxcb.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXcomposite.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXcursor.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXdamage.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXdmcp.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXext.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXfixes.so.3 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXinerama.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXi.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libxkbcommon.so.0 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXrandr.so.2 AppDir/lib - cp -aL /lib/i386-linux-gnu/libXrender.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libz.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libzstd.so.1 AppDir/lib - cp -aL /lib/i386-linux-gnu/libm.so.6 AppDir/lib - cp -aL /lib/i386-linux-gnu/libc.so.6 AppDir/lib - #cp -aL /lib/i386-linux-gnu/libsystemd.so.0 AppDir/lib - cat AppRun | sed 's/is32whenLinux32pkgAndRunOnLinux64/32/' > AppDir/AppRun - fi # 32 bit - chmod +x AppDir/AppRun + if (test "$arch" = "x86_64" || test "$arch" = "i686") then # skip on ARM&RISC-V + if (test "$BITS" = "64") then + cp -aL /lib/x86_64-linux-gnu/libatk-1.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libatspi.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libblkid.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libbrotlicommon.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libbrotlidec.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libbsd.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libcairo-gobject.so.2 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libcairo.so.2 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libdatrie.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libdbus-1.so.3 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libdl.so.2 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libepoxy.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libexpat.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libffi.so.7 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libfontconfig.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libfreetype.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libfribidi.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgcrypt.so.20 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgdk-3.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgio-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libglib-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgobject-2.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgpg-error.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgraphite2.so.3 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libgtk-3.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libharfbuzz.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/liblz4.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/liblzma.so.5 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libmd.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libmount.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpango-1.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpcre2-8.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpcre.so.3 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpixman-1.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpng16.so.16 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libpthread.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libresolv.so.2 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/librt.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libselinux.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libthai.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libuuid.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libwayland-client.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libwayland-cursor.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libwayland-egl.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libX11.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXau.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libxcb-render.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libxcb-shm.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libxcb.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXcomposite.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXcursor.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXdamage.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXdmcp.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXext.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXfixes.so.3 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXinerama.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXi.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libxkbcommon.so.0 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXrandr.so.2 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libXrender.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libz.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libzstd.so.1 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libm.so.6 AppDir/lib + cp -aL /lib/x86_64-linux-gnu/libc.so.6 AppDir/lib + #cp -aL /lib/x86_64-linux-gnu/libsystemd.so.0 AppDir/lib + cat AppRun | sed 's/is32whenLinux32pkgAndRunOnLinux64/64/' > AppDir/AppRun + fi # 64 bit + if (test "$BITS" = "32") then + cp -aL /lib/i386-linux-gnu/libatk-1.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libatk-bridge-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libatspi.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libblkid.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libbrotlicommon.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libbrotlidec.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libbsd.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libcairo-gobject.so.2 AppDir/lib + cp -aL /lib/i386-linux-gnu/libcairo.so.2 AppDir/lib + cp -aL /lib/i386-linux-gnu/libdatrie.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libdbus-1.so.3 AppDir/lib + cp -aL /lib/i386-linux-gnu/libdl.so.2 AppDir/lib + cp -aL /lib/i386-linux-gnu/libepoxy.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libexpat.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libffi.so.7 AppDir/lib + cp -aL /lib/i386-linux-gnu/libfontconfig.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libfreetype.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libfribidi.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgcrypt.so.20 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgdk-3.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgio-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libglib-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgmodule-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgobject-2.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgpg-error.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgraphite2.so.3 AppDir/lib + cp -aL /lib/i386-linux-gnu/libgtk-3.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libharfbuzz.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/liblz4.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/liblzma.so.5 AppDir/lib + cp -aL /lib/i386-linux-gnu/libmd.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libmount.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpango-1.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpangocairo-1.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpangoft2-1.0.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpcre2-8.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpcre.so.3 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpixman-1.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpng16.so.16 AppDir/lib + cp -aL /lib/i386-linux-gnu/libpthread.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libresolv.so.2 AppDir/lib + cp -aL /lib/i386-linux-gnu/librt.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libselinux.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libthai.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libuuid.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libwayland-client.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libwayland-cursor.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libwayland-egl.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libX11.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXau.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libxcb-render.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libxcb-shm.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libxcb.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXcomposite.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXcursor.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXdamage.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXdmcp.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXext.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXfixes.so.3 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXinerama.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXi.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libxkbcommon.so.0 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXrandr.so.2 AppDir/lib + cp -aL /lib/i386-linux-gnu/libXrender.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libz.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libzstd.so.1 AppDir/lib + cp -aL /lib/i386-linux-gnu/libm.so.6 AppDir/lib + cp -aL /lib/i386-linux-gnu/libc.so.6 AppDir/lib + #cp -aL /lib/i386-linux-gnu/libsystemd.so.0 AppDir/lib + cat AppRun | sed 's/is32whenLinux32pkgAndRunOnLinux64/32/' > AppDir/AppRun + fi # 32 bit + chmod +x AppDir/AppRun + fi # x86_64 || i686 cp -aL reSolve.desktop AppDir -fi # Linux libs +fi # PKG Linux libs cp -aL reSolveConf.txt reSolve.glade circuit*.png ReSolve.png AppDir -cp -a ../reSolveReadme.txt ../README.md cp -a ../reSolveReadme.txt AppDir if (test "$PKG" = "Win") then EXT=".exe" @@ -180,7 +183,7 @@ if (test "$BITS" = "32") then cp -a ../reSolve${PKG}32${EXT} AppDir/reSolve${PKG}32${EXT} cp -a ../reSolveGui${PKG}32${EXT} AppDir/reSolveGui${PKG}32${EXT} fi -if (test "$PKG" = "Linux") then +if (test "$PKG" = "Linux" && (test "$arch" = "x86_64" || test "$arch" = "i686")) then # skip on ARM&RISC-V echo "makeAppDir.sh: Generating the AppImage for ReSolve ..." if (test "$BITS" = "64") then if (! test -x appimagetool-x86_64.AppImage) then diff --git a/src/reSolveCli.c b/src/reSolveCli.c index 601c224..c74b2b2 100644 --- a/src/reSolveCli.c +++ b/src/reSolveCli.c @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* reSolveCli.c is part of ReSolve ReSolve is free software: you can redistribute it and/or modify @@ -163,7 +163,7 @@ int main(int numPar, char* param[]) { // CLI entry point ret = showVal2 (numBestRes); // LIB: } } else { // new mem low strategy - gprintf (gui, "Show best:%llu found solutions ...\n", numBestRes); + gprintf (gui, "Show best:%u found solutions ...\n", numBestRes); if (maxRp==1) { // no need to showVal4,3,2 ... gprintf (gui, "Show best:%u solutions with 2 resistors:\n", numBestRes); ret = showValMemLow (numBestRes, results2LowPtr); // LIB: diff --git a/src/reSolveGui.c b/src/reSolveGui.c index a08caac..c5a7235 100644 --- a/src/reSolveGui.c +++ b/src/reSolveGui.c @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2022-2023 Valerio Messina http://users.iol.it/efa */ /* reSolveGui.c is part of ReSolve ReSolve is free software: you can redistribute it and/or modify @@ -804,7 +804,7 @@ int runReSolve() { // memSize, memAlloc, doCalc, show output, freeMem ret = showVal2 (numBestRes); // LIB: } } else { // new mem low strategy - gprintf (gui, "Show best:%llu found solutions ...\n", numBestRes); + gprintf (gui, "Show best:%u found solutions ...\n", numBestRes); if (maxRp==1) { // no need to showVal4,3,2 ... gprintf (gui, "Show best:%u solutions with 2 resistors:\n", numBestRes); ret = showValMemLow (numBestRes, results2LowPtr); // LIB: diff --git a/src/reSolveLib.c b/src/reSolveLib.c index 3cb28a1..a970e9b 100644 --- a/src/reSolveLib.c +++ b/src/reSolveLib.c @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* reSolveLib.c is part of ReSolve ReSolve is free software: you can redistribute it and/or modify @@ -180,7 +180,7 @@ char* siMem(u64 sizeB) { // convert an u64 to string using SI prefix, do not req // convert a double to string using engineering notation or SI prefix, require libmath char* engStr(double num, int significant, bool sign, bool siPref) { if (significant<1) return NULL; - static char* strPtr; + char* strPtr; double abs=fabs(num); if (abs=1 && abs<1E3) { @@ -198,9 +198,9 @@ char* engStr(double num, int significant, bool sign, bool siPref) { //printf("sci:%+03d ", sci); int exp = 3*floor(exd/3); //printf("exp:%+03d ", exp); - double divs = pow(10, sci); + int divs = pow(10, sci); double dive = pow(10, exp); - double ords = pow(10, significant); + int ords = pow(10, significant); //printf("divs:%6g ", divs); double mant = num/dive; if (exp==0) mant=num; //printf (" num:'%6g' eng:'%3gE%+03d'\n", num, mant, exp); @@ -222,16 +222,16 @@ char* engStr(double num, int significant, bool sign, bool siPref) { int s=exp/3+8; //printf("s:%02d ", s); if (sign==false) - asprintf(&strPtr, "%.*g%s", significant, mant, siPre[s]); + asprintf(&strPtr, "%.*g %s", significant, mant, siPre[s]); else - asprintf(&strPtr, "%+.*g%s", significant, mant, siPre[s]); + asprintf(&strPtr, "%+.*g %s", significant, mant, siPre[s]); return strPtr; } } // engStr() int isNumber(char* strPtr, bool dotComma) { // return 1 for numbers. When dotComma=1 accept dot and comma if (strPtr==NULL) return ERROR; - int c=0; + u08 c=0; while ( isdigit(strPtr[c]) || strPtr[c]=='e' || strPtr[c]=='+' || (dotComma==true && (strPtr[c]=='.' || strPtr[c]==',' ) ) ) ++c; //printf("str:'%s' bool:%d c:%d\n", strPtr, dotComma, c); if (c==strlen(strPtr)) return true; @@ -1299,7 +1299,7 @@ int doMemLowCalc() { // fill inputs, low mem calcs+sort solutions first = totV-numBestRes; /* 0 worse, 'first' 1st printed, 'totV' best, numBestRes # of best print */ // 10 - sorting of solutions - gprintf (gui, "Sorting best:%llu found solutions ...\n", numBestRes); + gprintf (gui, "Sorting best:%u found solutions ...\n", numBestRes); structQuickSort(results2LowPtr, numBestRes); /* QuickSort on new results */ if (maxRp==2) { // structQuickSort(resultsLowPtr, numBestRes); /* QuickSort on new results */ diff --git a/src/reSolveLib.h b/src/reSolveLib.h index bb2d397..7c2c391 100644 --- a/src/reSolveLib.h +++ b/src/reSolveLib.h @@ -1,4 +1,4 @@ -/* ReSolve v0.10.09h 2023/04/16 solve math expressions using discrete values*/ +/* ReSolve v0.10.09h 2023/05/09 solve math expressions using discrete values*/ /* Copyright 2005-2023 Valerio Messina http://users.iol.it/efa */ /* reSolveLib.h is part of ReSolve ReSolve is free software: you can redistribute it and/or modify @@ -37,7 +37,7 @@ #define AppName "ReSolve" #define SourceVersion "0.10.09h beta" #define CopyrightYear "2023" -#define SourceDate CopyrightYear"/04/16" +#define SourceDate CopyrightYear"/05/09" #define ReSolveVer SourceVersion" "SourceDate #define Author "Valerio Messina" #define WebLink "github.com/efa/ReSolve" @@ -85,7 +85,7 @@ #define DesiredDefault 9 /* default value for desired */ #define MaxValue 50E9 // 50 G(Ohm) should be greather than any practical value #define Epsilon 1.0E-14 // used to compare double/float numbers -#define MICRO "μ" // used when SI prefix are requested +#define MICRO "μ"//"u" // used when SI prefix are requested #define NumberResDefault 20 /* default number of results to print */ #define NumberResMax 512000 /* the limit depends on compiler */