Commit Graph

24 Commits

Author SHA1 Message Date
stefan schippers 8006c0cfbb eval_expr(): add comparison operators, !=. ==, <=, >=, <, > 2026-04-29 23:02:46 +02:00
stefan schippers 18afca425e expr(): introduced conditional ( ... ? ... :... ) operator, translate(): introduced @lvs_ignore token, fix wrong resetwin() restore after rasterizing graphs for svg print 2026-04-21 19:21:32 +02:00
stefan schippers 51611bb8fe apply ev_precision to cursor, waverorm and node annotation display 2026-03-20 11:17:25 +01:00
stefan schippers 7bdb6855c7 add ev_precision xschemrc setting (set ev_precision 5) to change significant digits returned by TCL ev procedure and xschem expr_eng() expression parser. Default is 4 significant digits. 2026-03-20 00:47:52 +01:00
stefan schippers b1bfafe329 fix wrong null character detection in remove_expr() 2026-02-20 11:57:37 +01:00
stefan schippers cee25ab335 add round(), round1(), round6() expr functions 2026-01-30 18:58:45 +01:00
stefan schippers fc5c5b97fe add expr_eng4() operator in addition to expr_eng() that returns 4 significant digits instead of 5 2026-01-27 17:19:07 +01:00
stef 7d8ce2f9ad remove spaces on line ends, brace expr tcl expression when possible, resize rectangle in intuitive interface made easier at far zoom levels 2025-12-13 11:51:05 +01:00
stefan schippers c87b6aeb2e fix typo in eval_expr.y: add tan() function (was exp() due to copy/paste error) 2025-09-11 09:02:28 +02:00
stefan schippers 96d2e56b53 add expr_eng(...) in addition to expr(...) to return result in engineering notation (like 3.2u) 2025-05-30 00:37:27 +02:00
stefan schippers 0f49e3cda7 Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues) 2025-05-01 23:52:53 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers 8e2748905a fix eval_expr not recognizing 1234e-12 (negative exponent),fix spice.awk (dangerous removal of `value=` patterns in spice netlists) 2025-04-05 02:07:48 +02:00
stefan schippers d3e0ca82b4 eval_expr.y: references to unknown identifiers cause the lexer to return an error so the expression is not evaluated and returned as is, instead of erroneously interpreting the unknown identifier as 0 2025-02-25 02:00:55 +01:00
stefan schippers b7c6118288 add physical constants in eval_expr.y 2025-02-19 02:39:02 +01:00
stefan schippers 9fe67cd242 eval_expr.y: fix eval_expr_clear_table, remove unneeded unistd.h 2025-02-14 02:15:03 +01:00
stefan schippers bc293a1d8f fix some warnings (-Wdeprecated-non-prototype, -Wparentheses-equality) 2025-02-12 03:14:45 +01:00
stefan schippers bd40674f34 removed %define api.prefix in yacc eval_expr.y, use -p bison on command line 2025-02-12 02:11:47 +01:00
stefan schippers 5f8c08d7de eval_expr: CHAR token renamed to XCHAR to avoid name clashes. print_spice_element(): if instance has VHI=VHI, format string has VHI=@VHI, and symbol template has VHI=3 we do not want token @VHI to resolve to 3, but stop at VHI as specified in instance. Same for vhdl and verilog primitives. Fixed a typo in get_sp_cur regex (token.c) 2025-02-12 00:32:12 +01:00
stefan schippers 1573ea3cad improvements in eval_expr.y, print_spice_element(), translate() to allow multiple expr(...) patterns in strings, they all will be evaluated if possible or returned unevaluated (without `expr(` and `)` ) 2025-02-06 23:57:01 +01:00
stefan schippers 53fda635c9 remove dbg msg, reduce precision in eval_expr(), add expr() resolution at end of translate() 2025-02-06 10:39:50 +01:00
stefan schippers 70c1e542b2 attributes within expr(...) where expr() contains an infix arith expression will evaluate if possible. Otherwise the string within expr(...) will be returned unchanged. Changes done in translate() and print_spice_element() 2025-02-05 18:20:36 +01:00
stefan schippers 4db384a671 add eval_expr.y for evaluation of generic math expressions in infix notation 2025-02-05 16:33:23 +01:00