@@ -634,48 +634,112 @@ string& SystemDefaultImplementation::getStringStartValue(string& var)
634634 return _string_start_values.getGetStartValue (var);
635635}
636636
637- void SystemDefaultImplementation::setRealStartValue (double & var,double val)
637+ void SystemDefaultImplementation::setRealStartValue (double & var, double val, bool overwriteOldValue )
638638{
639- setRealStartValue (var,val,false );
639+ var = val;
640+ _real_start_values.setStartValue (var, val, overwriteOldValue);
640641}
641642
642- void SystemDefaultImplementation::setRealStartValue (double & var, double val,bool overwriteOldValue)
643+ void SystemDefaultImplementation::setRealStartValue (BaseArray< double >& avar, double val, bool overwriteOldValue)
643644{
644- var=val;
645- _real_start_values.setStartValue (var,val,overwriteOldValue);
645+ double *varp = avar.getData ();
646+ size_t nel = avar.getNumElems ();
647+ for (size_t i = 0 ; i < nel; varp++, i++) {
648+ *varp = val;
649+ _real_start_values.setStartValue (*varp, val, overwriteOldValue);
650+ }
651+ }
652+
653+ void SystemDefaultImplementation::setRealStartValue (BaseArray<double >& avar, const BaseArray<double >& aval, bool overwriteOldValue)
654+ {
655+ double *varp = avar.getData ();
656+ const double *valp = aval.getData ();
657+ size_t nel = avar.getNumElems ();
658+ for (size_t i = 0 ; i < nel; varp++, valp++, i++) {
659+ *varp = *valp;
660+ _real_start_values.setStartValue (*varp, *valp, overwriteOldValue);
661+ }
662+ }
663+
664+ void SystemDefaultImplementation::setBoolStartValue (bool & var, bool val, bool overwriteOldValue)
665+ {
666+ var = val;
667+ _bool_start_values.setStartValue (var, val, overwriteOldValue);
668+ }
669+
670+ void SystemDefaultImplementation::setBoolStartValue (BaseArray<bool >& avar, bool val, bool overwriteOldValue)
671+ {
672+ bool *varp = avar.getData ();
673+ size_t nel = avar.getNumElems ();
674+ for (size_t i = 0 ; i < nel; varp++, i++) {
675+ *varp = val;
676+ _bool_start_values.setStartValue (*varp, val, overwriteOldValue);
677+ }
678+ }
679+
680+ void SystemDefaultImplementation::setBoolStartValue (BaseArray<bool >& avar, const BaseArray<bool >& aval, bool overwriteOldValue)
681+ {
682+ bool *varp = avar.getData ();
683+ const bool *valp = aval.getData ();
684+ size_t nel = avar.getNumElems ();
685+ for (size_t i = 0 ; i < nel; varp++, valp++, i++) {
686+ *varp = *valp;
687+ _bool_start_values.setStartValue (*varp, *valp, overwriteOldValue);
688+ }
646689}
647690
648- void SystemDefaultImplementation::setBoolStartValue ( bool & var,bool val)
691+ void SystemDefaultImplementation::setIntStartValue ( int & var, int val, bool overwriteOldValue )
649692{
650- setBoolStartValue (var,val,false );
693+ var = val;
694+ _int_start_values.setStartValue (var, val, overwriteOldValue);
651695}
652696
653- void SystemDefaultImplementation::setBoolStartValue ( bool & var, bool val,bool overwriteOldValue)
697+ void SystemDefaultImplementation::setIntStartValue (BaseArray< int >& avar, int val, bool overwriteOldValue)
654698{
655- var=val;
656- _bool_start_values.setStartValue (var,val,overwriteOldValue);
699+ int *varp = avar.getData ();
700+ size_t nel = avar.getNumElems ();
701+ for (size_t i = 0 ; i < nel; varp++, i++) {
702+ *varp = val;
703+ _int_start_values.setStartValue (*varp, val, overwriteOldValue);
704+ }
657705}
658706
659- void SystemDefaultImplementation::setIntStartValue (int & var, int val )
707+ void SystemDefaultImplementation::setIntStartValue (BaseArray< int >& avar, const BaseArray< int >& aval, bool overwriteOldValue )
660708{
661- setIntStartValue (var,val,false );
709+ int *varp = avar.getData ();
710+ const int *valp = aval.getData ();
711+ size_t nel = avar.getNumElems ();
712+ for (size_t i = 0 ; i < nel; varp++, valp++, i++) {
713+ *varp = *valp;
714+ _int_start_values.setStartValue (*varp, *valp, overwriteOldValue);
715+ }
662716}
663717
664- void SystemDefaultImplementation::setIntStartValue ( int & var,int val,bool overwriteOldValue)
718+ void SystemDefaultImplementation::setStringStartValue (string & var, string val, bool overwriteOldValue)
665719{
666- var= val;
667- _int_start_values .setStartValue (var,val,overwriteOldValue);
720+ var = val;
721+ _string_start_values .setStartValue (var, val, overwriteOldValue);
668722}
669723
670- void SystemDefaultImplementation::setStringStartValue (string& var, string val)
724+ void SystemDefaultImplementation::setStringStartValue (BaseArray< string>& avar, string val, bool overwriteOldValue )
671725{
672- setStringStartValue (var,val,false );
726+ string *varp = avar.getData ();
727+ size_t nel = avar.getNumElems ();
728+ for (size_t i = 0 ; i < nel; varp++, i++) {
729+ *varp = val;
730+ _string_start_values.setStartValue (*varp, val, overwriteOldValue);
731+ }
673732}
674733
675- void SystemDefaultImplementation::setStringStartValue (string& var, string val, bool overwriteOldValue)
734+ void SystemDefaultImplementation::setStringStartValue (BaseArray< string>& avar, const BaseArray< string>& aval, bool overwriteOldValue)
676735{
677- var=val;
678- _string_start_values.setStartValue (var,val,overwriteOldValue);
736+ string *varp = avar.getData ();
737+ const string *valp = aval.getData ();
738+ size_t nel = avar.getNumElems ();
739+ for (size_t i = 0 ; i < nel; varp++, valp++, i++) {
740+ *varp = *valp;
741+ _string_start_values.setStartValue (*varp, *valp, overwriteOldValue);
742+ }
679743}
680744
681745/* *
0 commit comments