diff options
| author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2026-10-26 20:05:20 +0100 |
|---|---|---|
| committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2026-10-26 20:05:20 +0100 |
| commit | 375d87a9b0ec1cf2fffd705adb870c86144d2400 (patch) | |
| tree | 1e8e05e7cd58686628d0f4622622456613a42e4d /tests/harness/build/rect_funcs.cxx | |
| parent | 45425dd047b791fe63f13a46a3251c529cfffc94 (diff) | |
Replace the C++ implementation with the Rust port
The Rust port (formerly gipfel-rs) is now the official successor to the
FLTK/GSL C++ code base. This squashes the port into a single commit and
removes the C++ sources (they remain in the git history below).
Layout:
crates/gipfel-core headless core: hills, panorama geometry, projections
(maxima-generated derivatives), pure-Rust LM fit,
gipfel: JPEG comment + EXIF I/O, profiles, stitching
crates/gipfel-cli command-line tools (export, info, stitch, profiles)
crates/gipfel-app Cosmic DE (libcosmic) GUI, binary name `gipfel`
codegen/ maxima scripts + regen.sh for the projection code
tests/ golden files + C++ reference harnesses (historical)
The original README is kept for now; it will be updated to describe the
Rust build. gipfel.dat, AUTHORS, ChangeLog and NEWS are unchanged.
Diffstat (limited to 'tests/harness/build/rect_funcs.cxx')
| -rw-r--r-- | tests/harness/build/rect_funcs.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/harness/build/rect_funcs.cxx b/tests/harness/build/rect_funcs.cxx new file mode 100644 index 0000000..95c5cc2 --- /dev/null +++ b/tests/harness/build/rect_funcs.cxx @@ -0,0 +1,16 @@ +double rect_mac_x ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; _16 = pow(_15,2)+pow(_13*_11*_12-_1*_5*_14*_11,2) ; return scale*_15*(k0*sqrt(_16)+k1*_16+1) ; } +double rect_mac_y ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; _16 = pow(x0+_1*_5*_14*_11+_13*_11*_12,2)+pow(_15,2) ; return _15*scale*(k0*sqrt(_16)+k1*_16+1) ; } +double rect_mac_x_dc_view ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = _4*_5*_10+_2*_3 ; _12 = 1/_11 ; _13 = _2*_5*_10-_4*_3 ; _14 = cos(c_tilt) ; _15 = _6*_9-_8*_7 ; _16 = x0+_14*_5*_15*_12+_1*_12*_13 ; _17 = _14*_12*_13-_1*_5*_15*_12 ; _18 = 1/pow(_11,2) ; _19 = pow(_5,2) ; _20 = pow(_15,2) ; _21 = (-_8*_9)-_6*_7 ; _22 = _14*_5*_21*_12+_2*_1*_5*_15*_12-_4*_14*_19*_20*_18-_4*_1*_5*_15*_18*_13 ; _23 = 2*_22*_16+2*_17*((-_1*_5*_21*_12)+_2*_14*_5*_15*_12+_4*_1*_19*_20*_18-_4*_14*_5*_15*_18*_13) ; _24 = pow(_17,2)+pow(_16,2) ; _25 = sqrt(_24) ; return _22*scale*(k0*_25+k1*_24+1)+scale*_16*((k0*_23)/(2*_25)+k1*_23) ; } +double rect_mac_x_dc_nick ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = _4*_5*_10+_2*_3 ; _12 = 1/_11 ; _13 = _2*_5*_10-_4*_3 ; _14 = cos(c_tilt) ; _15 = _6*_9-_8*_7 ; _16 = x0+_14*_5*_15*_12+_1*_12*_13 ; _17 = 1/pow(_11,2) ; _18 = _4*_3-_2*_5*_10 ; _19 = _14*_12*_13-_1*_5*_15*_12 ; _20 = (-_1*_17*_18*_13)-_14*_5*_15*_17*_18+_1 ; _21 = 2*_20*_16+2*((-_14*_17*_18*_13)+_1*_5*_15*_17*_18+_14)*_19 ; _22 = pow(_19,2)+pow(_16,2) ; _23 = sqrt(_22) ; return _20*scale*(k0*_23+k1*_22+1)+scale*_16*((k0*_21)/(2*_23)+k1*_21) ; } +double rect_mac_x_dc_tilt ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; _16 = _13*_11*_12-_1*_5*_14*_11 ; _17 = 2*_16*_15+2*((-_13*_5*_14*_11)-_1*_11*_12)*_16 ; _18 = pow(_16,2)+pow(_15,2) ; _19 = sqrt(_18) ; return _16*scale*(k0*_19+k1*_18+1)+scale*_15*((k0*_17)/(2*_19)+k1*_17) ; } +double rect_mac_x_dscale ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; _16 = pow(_15,2)+pow(_13*_11*_12-_1*_5*_14*_11,2) ; return _15*(k0*sqrt(_16)+k1*_16+1) ; } +double rect_mac_x_dk0 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; return _15*sqrt(pow(_15,2)+pow(_13*_11*_12-_1*_5*_14*_11,2))*scale ; } +double rect_mac_x_dk1 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; return _15*(pow(_15,2)+pow(_13*_11*_12-_1*_5*_14*_11,2))*scale ; } +double rect_mac_x_dx0 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 ; _1 = sin(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = cos(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = x0+_13*_5*_14*_11+_1*_11*_12 ; _16 = pow(_15,2)+pow(_13*_11*_12-_1*_5*_14*_11,2) ; _17 = sqrt(_16) ; return scale*(k0*_17+k1*_16+1)+scale*_15*((k0*_15)/_17+2*k1*_15) ; } +double rect_mac_y_dc_view ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = _4*_5*_10+_2*_3 ; _12 = 1/_11 ; _13 = _2*_5*_10-_4*_3 ; _14 = sin(c_tilt) ; _15 = _6*_9-_8*_7 ; _16 = _1*_12*_13-_14*_5*_15*_12 ; _17 = 1/pow(_11,2) ; _18 = pow(_5,2) ; _19 = pow(_15,2) ; _20 = (-_8*_9)-_6*_7 ; _21 = (-_14*_5*_20*_12)+_2*_1*_5*_15*_12+_4*_14*_18*_19*_17-_4*_1*_5*_15*_17*_13 ; _22 = x0+_1*_5*_15*_12+_14*_12*_13 ; _23 = 2*(_1*_5*_20*_12+_2*_14*_5*_15*_12-_4*_1*_18*_19*_17-_4*_14*_5*_15*_17*_13)*_22+2*_16*_21 ; _24 = pow(_22,2)+pow(_16,2) ; _25 = sqrt(_24) ; return _21*scale*(k0*_25+k1*_24+1)+_16*scale*((k0*_23)/(2*_25)+k1*_23) ; } +double rect_mac_y_dc_nick ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = _4*_5*_10+_2*_3 ; _12 = 1/_11 ; _13 = _2*_5*_10-_4*_3 ; _14 = sin(c_tilt) ; _15 = _6*_9-_8*_7 ; _16 = _1*_12*_13-_14*_5*_15*_12 ; _17 = 1/pow(_11,2) ; _18 = _4*_3-_2*_5*_10 ; _19 = (-_1*_17*_18*_13)+_14*_5*_15*_17*_18+_1 ; _20 = x0+_1*_5*_15*_12+_14*_12*_13 ; _21 = 2*((-_14*_17*_18*_13)-_1*_5*_15*_17*_18+_14)*_20+2*_19*_16 ; _22 = pow(_20,2)+pow(_16,2) ; _23 = sqrt(_22) ; return _19*scale*(k0*_23+k1*_22+1)+_16*scale*((k0*_21)/(2*_23)+k1*_21) ; } +double rect_mac_y_dc_tilt ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; _16 = (-_1*_5*_14*_11)-_13*_11*_12 ; _17 = x0+_1*_5*_14*_11+_13*_11*_12 ; _18 = 2*_15*_17+2*_16*_15 ; _19 = pow(_17,2)+pow(_15,2) ; _20 = sqrt(_19) ; return _16*scale*(k0*_20+k1*_19+1)+_15*scale*((k0*_18)/(2*_20)+k1*_18) ; } +double rect_mac_y_dscale ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; _16 = pow(x0+_1*_5*_14*_11+_13*_11*_12,2)+pow(_15,2) ; return _15*(k0*sqrt(_16)+k1*_16+1) ; } +double rect_mac_y_dk0 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; return _15*scale*sqrt(pow(x0+_1*_5*_14*_11+_13*_11*_12,2)+pow(_15,2)) ; } +double rect_mac_y_dk1 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; return _15*scale*(pow(x0+_1*_5*_14*_11+_13*_11*_12,2)+pow(_15,2)) ; } +double rect_mac_y_dx0 ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 ; _1 = cos(c_tilt) ; _2 = sin(c_nick) ; _3 = sin(m_nick) ; _4 = cos(c_nick) ; _5 = cos(m_nick) ; _6 = cos(c_view) ; _7 = cos(m_view) ; _8 = sin(c_view) ; _9 = sin(m_view) ; _10 = _8*_9+_6*_7 ; _11 = 1/(_4*_5*_10+_2*_3) ; _12 = _2*_5*_10-_4*_3 ; _13 = sin(c_tilt) ; _14 = _6*_9-_8*_7 ; _15 = _1*_11*_12-_13*_5*_14*_11 ; _16 = x0+_1*_5*_14*_11+_13*_11*_12 ; return _15*((_16*k0)/sqrt(pow(_16,2)+pow(_15,2))+2*k1*_16)*scale ; } |
