As of the 11.1 release, the list.has() and list.count() list pseudo-methods can be treated as bidirectional constraint operators.
In 11.1, list.has() and list.count() are solved unidirectionally by default. To ensure that these pseudo-methods are solved as bidirectional expressions, set the config gen -bidir_list_pseudo_methods configuration flag.
This works but in the manual it says that this can be also done from the Specman e code by extending setup() of sys to contain:
set_config(gen, bidir_list_pseudo_method, ALL);
But this latter option does not work.
Can anyone offer some help on how to do this from the Specman e code?
I also tried using specman("config gen -bidir_list_pseudo_methods=ALL") and it did not set this config option.
Thanks in advance!
this configuration setting affects code at load time. This is why the setup phase is too late.Some (most) configuration settings can be set in setup(), but not this one (and some otherswhich affect loading of code). So unfortunately you will have to pass this as a commandor a pre_command to Specman before you load any code with such list constraints.
The commands you list work by themselves. I've just tried both options (set_config and config -gen)and they seem to work:
Welcome to Specman Elite (11.10.057-s Build 444) - Linked on Sun Feb 10 16:18:19 2013
Protected by U.S. Patents 6,141,630 ;6,182,258; 6,219,809; 6,347,388;6,487,704; 6,499,132; 6,502,232; 6,519,727; 6,530,054; 6,675,138; 6,684,359; 6,687,662; 6,907,599; 6,918,076; 6,920,583; Other Patents Pending.
Checking license ... OKSpecman> set_config(gen,bidir_list_pseudo_methods,ALL)Specman> show config gen
configuration options for: IntelliGen
-seed = 1 -improve_correlated_random = TRUE -default_max_list_size = 50 -absolute_max_list_size = 524288 -default_min_list_size = 1 -default_list_size_policy = ALWAYS -automatic_tc_util = FALSE -tc_util_test_name = "" -compile_gen_actions = FALSE -check_constraints_under_point* = FALSE -bidir_list_pseudo_methods = ALL -solvability_mode = DEFAULT -collect = OFF
In reply to hannes:
Now I understand why it does not work like other config options.
I knew the commands work to set the options normally but did not take in consideration the fact they affected the code on load time.
Thank you for your quick answer !