janicicpredrag / gclc

GCLC is a mathematical software tool for producing high-quality mathematical illustrations, for teaching mathematics, and for automated proving of geometry theorems.
http://www.matf.bg.ac.rs/~janicic/gclc/
Other
53 stars 7 forks source link

reference count 'TermStorage' with 'std::shared_ptr' #56

Closed Smattr closed 6 months ago

Smattr commented 6 months ago

This avoids the need for manual Dispose calls, removing an opportunity for accidental omissions. By leaning on the standard library, we also get a reference counting implementation optimised for the target platform.

If these changes look reasonable, we could look at replacing the other uses of the Object mechanism with shared_ptr too.

janicicpredrag commented 6 months ago

Basic samples

./samples/basic_samples/sample30_layers.gcl: pic

4,288d3
< 
< % Drawing segment A B
< \gclcline{49.89}{79.62}{1}{35.11}{30.38}{2}{0.16}%
< 
< % Drawing segment B C
< \gclcline{35.40}{30.00}{3}{89.60}{30.00}{4}{0.16}%
< 
< % Drawing segment C A
< \gclcline{89.75}{30.31}{5}{50.25}{79.69}{6}{0.16}%
< 
< % Drawing circle O A
< \gclcline{49.63}{79.85}{7}{48.83}{79.50}{8}{0.16}%
< \gclcline{48.83}{79.50}{9}{48.03}{79.13}{10}{0.16}%
< \gclcline{48.03}{79.13}{11}{47.25}{78.74}{12}{0.16}%
< \gclcline{47.25}{78.74}{13}{46.48}{78.33}{14}{0.16}%
< \gclcline{46.48}{78.33}{15}{45.71}{77.90}{16}{0.16}%
< \gclcline{45.71}{77.90}{17}{44.96}{77.46}{18}{0.16}%
< \gclcline{44.96}{77.46}{19}{44.22}{76.99}{20}{0.16}%
< \gclcline{44.22}{76.99}{21}{43.50}{76.50}{22}{0.16}%
< \gclcline{43.50}{76.50}{23}{42.78}{75.99}{24}{0.16}%
< \gclcline{42.78}{75.99}{25}{42.08}{75.47}{26}{0.16}%
< \gclcline{42.08}{75.47}{27}{41.40}{74.92}{28}{0.16}%
< \gclcline{41.40}{74.92}{29}{40.73}{74.36}{30}{0.16}%
< \gclcline{40.73}{74.36}{31}{40.07}{73.78}{32}{0.16}%
< \gclcline{40.07}{73.78}{33}{39.43}{73.19}{34}{0.16}%
< \gclcline{39.43}{73.19}{35}{38.80}{72.57}{36}{0.16}%
< \gclcline{38.80}{72.57}{37}{38.20}{71.95}{38}{0.16}%
< \gclcline{38.20}{71.95}{39}{37.60}{71.30}{40}{0.16}%
< \gclcline{37.60}{71.30}{41}{37.03}{70.64}{42}{0.16}%
< \gclcline{37.03}{70.64}{43}{36.47}{69.97}{44}{0.16}%
< \gclcline{36.47}{69.97}{45}{35.93}{69.28}{46}{0.16}%
< \gclcline{35.93}{69.28}{47}{35.41}{68.58}{48}{0.16}%
< \gclcline{35.41}{68.58}{49}{34.91}{67.86}{50}{0.16}%
< \gclcline{34.91}{67.86}{51}{34.42}{67.13}{52}{0.16}%
< \gclcline{34.42}{67.13}{53}{33.96}{66.39}{54}{0.16}%
< \gclcline{33.96}{66.39}{55}{33.51}{65.64}{56}{0.16}%
< \gclcline{33.51}{65.64}{57}{33.08}{64.87}{58}{0.16}%
< \gclcline{33.08}{64.87}{59}{32.68}{64.10}{60}{0.16}%
< \gclcline{32.68}{64.10}{61}{32.29}{63.31}{62}{0.16}%
< \gclcline{32.29}{63.31}{63}{31.93}{62.52}{64}{0.16}%
< \gclcline{31.93}{62.52}{65}{31.59}{61.71}{66}{0.16}%
< \gclcline{31.59}{61.71}{67}{31.26}{60.90}{68}{0.16}%
< \gclcline{31.26}{60.90}{69}{30.96}{60.08}{70}{0.16}%
< \gclcline{30.96}{60.08}{71}{30.68}{59.25}{72}{0.16}%
< \gclcline{30.68}{59.25}{73}{30.43}{58.41}{74}{0.16}%
< \gclcline{30.43}{58.41}{75}{30.19}{57.57}{76}{0.16}%
< \gclcline{30.19}{57.57}{77}{29.98}{56.72}{78}{0.16}%
< \gclcline{29.98}{56.72}{79}{29.79}{55.87}{80}{0.16}%
< \gclcline{29.79}{55.87}{81}{29.62}{55.01}{82}{0.16}%
< \gclcline{29.62}{55.01}{83}{29.47}{54.14}{84}{0.16}%
< \gclcline{29.47}{54.14}{85}{29.35}{53.28}{86}{0.16}%
< \gclcline{29.35}{53.28}{87}{29.25}{52.41}{88}{0.16}%
< \gclcline{29.25}{52.41}{89}{29.17}{51.54}{90}{0.16}%
< \gclcline{29.17}{51.54}{91}{29.12}{50.66}{92}{0.16}%
< \gclcline{29.12}{50.66}{93}{29.08}{49.79}{94}{0.16}%
< \gclcline{29.08}{49.79}{95}{29.07}{48.91}{96}{0.16}%
< \gclcline{29.07}{48.91}{97}{29.09}{48.04}{98}{0.16}%
< \gclcline{29.09}{48.04}{99}{29.13}{47.17}{100}{0.16}%
< \gclcline{29.13}{47.17}{101}{29.18}{46.29}{102}{0.16}%
< \gclcline{29.18}{46.29}{103}{29.27}{45.42}{104}{0.16}%
< \gclcline{29.27}{45.42}{105}{29.37}{44.55}{106}{0.16}%
< \gclcline{29.37}{44.55}{107}{29.50}{43.69}{108}{0.16}%
< \gclcline{29.50}{43.69}{109}{29.65}{42.82}{110}{0.16}%
< \gclcline{29.65}{42.82}{111}{29.82}{41.97}{112}{0.16}%
< \gclcline{29.82}{41.97}{113}{30.02}{41.11}{114}{0.16}%
< \gclcline{30.02}{41.11}{115}{30.24}{40.27}{116}{0.16}%
< \gclcline{30.24}{40.27}{117}{30.48}{39.42}{118}{0.16}%
< \gclcline{30.48}{39.42}{119}{30.74}{38.59}{120}{0.16}%
< \gclcline{30.74}{38.59}{121}{31.02}{37.76}{122}{0.16}%
< \gclcline{31.02}{37.76}{123}{31.33}{36.94}{124}{0.16}%
< \gclcline{31.33}{36.94}{125}{31.65}{36.13}{126}{0.16}%
< \gclcline{31.65}{36.13}{127}{32.00}{35.33}{128}{0.16}%
< \gclcline{32.00}{35.33}{129}{32.37}{34.53}{130}{0.16}%
< \gclcline{32.37}{34.53}{131}{32.76}{33.75}{132}{0.16}%
< \gclcline{32.76}{33.75}{133}{33.17}{32.98}{134}{0.16}%
< \gclcline{33.17}{32.98}{135}{33.60}{32.21}{136}{0.16}%
< \gclcline{33.60}{32.21}{137}{34.04}{31.46}{138}{0.16}%
< \gclcline{34.04}{31.46}{139}{34.51}{30.72}{140}{0.16}%
< \gclcline{34.51}{30.72}{141}{34.77}{30.33}{142}{0.16}%
< \gclcline{35.23}{29.67}{143}{35.74}{28.97}{144}{0.16}%
< \gclcline{35.74}{28.97}{145}{36.28}{28.27}{146}{0.16}%
< \gclcline{36.28}{28.27}{147}{36.83}{27.59}{148}{0.16}%
< \gclcline{36.83}{27.59}{149}{37.40}{26.93}{150}{0.16}%
< \gclcline{37.40}{26.93}{151}{37.99}{26.28}{152}{0.16}%
< \gclcline{37.99}{26.28}{153}{38.59}{25.64}{154}{0.16}%
< \gclcline{38.59}{25.64}{155}{39.21}{25.03}{156}{0.16}%
< \gclcline{39.21}{25.03}{157}{39.84}{24.42}{158}{0.16}%
< \gclcline{39.84}{24.42}{159}{40.49}{23.84}{160}{0.16}%
< \gclcline{40.49}{23.84}{161}{41.16}{23.27}{162}{0.16}%
< \gclcline{41.16}{23.27}{163}{41.84}{22.72}{164}{0.16}%
< \gclcline{41.84}{22.72}{165}{42.54}{22.19}{166}{0.16}%
< \gclcline{42.54}{22.19}{167}{43.25}{21.68}{168}{0.16}%
< \gclcline{43.25}{21.68}{169}{43.97}{21.18}{170}{0.16}%
< \gclcline{43.97}{21.18}{171}{44.70}{20.71}{172}{0.16}%
< \gclcline{44.70}{20.71}{173}{45.45}{20.25}{174}{0.16}%
< \gclcline{45.45}{20.25}{175}{46.21}{19.81}{176}{0.16}%
< \gclcline{46.21}{19.81}{177}{46.98}{19.40}{178}{0.16}%
< \gclcline{46.98}{19.40}{179}{47.76}{19.00}{180}{0.16}%
< \gclcline{47.76}{19.00}{181}{48.55}{18.63}{182}{0.16}%
< \gclcline{48.55}{18.63}{183}{49.35}{18.27}{184}{0.16}%
< \gclcline{49.35}{18.27}{185}{50.16}{17.94}{186}{0.16}%
< \gclcline{50.16}{17.94}{187}{50.97}{17.63}{188}{0.16}%
< \gclcline{50.97}{17.63}{189}{51.80}{17.33}{190}{0.16}%
< \gclcline{51.80}{17.33}{191}{52.63}{17.06}{192}{0.16}%
< \gclcline{52.63}{17.06}{193}{53.47}{16.82}{194}{0.16}%
< \gclcline{53.47}{16.82}{195}{54.32}{16.59}{196}{0.16}%
< \gclcline{54.32}{16.59}{197}{55.17}{16.39}{198}{0.16}%
< \gclcline{55.17}{16.39}{199}{56.02}{16.21}{200}{0.16}%
< \gclcline{56.02}{16.21}{201}{56.88}{16.05}{202}{0.16}%
< \gclcline{56.88}{16.05}{203}{57.75}{15.91}{204}{0.16}%
< \gclcline{57.75}{15.91}{205}{58.62}{15.80}{206}{0.16}%
< \gclcline{58.62}{15.80}{207}{59.49}{15.71}{208}{0.16}%
< \gclcline{59.49}{15.71}{209}{60.36}{15.64}{210}{0.16}%
< \gclcline{60.36}{15.64}{211}{61.23}{15.60}{212}{0.16}%
< \gclcline{61.23}{15.60}{213}{62.11}{15.58}{214}{0.16}%
< \gclcline{62.11}{15.58}{215}{62.98}{15.58}{216}{0.16}%
< \gclcline{62.98}{15.58}{217}{63.86}{15.60}{218}{0.16}%
< \gclcline{63.86}{15.60}{219}{64.73}{15.65}{220}{0.16}%
< \gclcline{64.73}{15.65}{221}{65.60}{15.72}{222}{0.16}%
< \gclcline{65.60}{15.72}{223}{66.47}{15.81}{224}{0.16}%
< \gclcline{66.47}{15.81}{225}{67.34}{15.93}{226}{0.16}%
< \gclcline{67.34}{15.93}{227}{68.20}{16.07}{228}{0.16}%
< \gclcline{68.20}{16.07}{229}{69.06}{16.23}{230}{0.16}%
< \gclcline{69.06}{16.23}{231}{69.92}{16.41}{232}{0.16}%
< \gclcline{69.92}{16.41}{233}{70.77}{16.61}{234}{0.16}%
< \gclcline{70.77}{16.61}{235}{71.62}{16.84}{236}{0.16}%
< \gclcline{71.62}{16.84}{237}{72.45}{17.09}{238}{0.16}%
< \gclcline{72.45}{17.09}{239}{73.29}{17.36}{240}{0.16}%
< \gclcline{73.29}{17.36}{241}{74.11}{17.66}{242}{0.16}%
< \gclcline{74.11}{17.66}{243}{74.93}{17.97}{244}{0.16}%
< \gclcline{74.93}{17.97}{245}{75.74}{18.31}{246}{0.16}%
< \gclcline{75.74}{18.31}{247}{76.53}{18.66}{248}{0.16}%
< \gclcline{76.53}{18.66}{249}{77.32}{19.04}{250}{0.16}%
< \gclcline{77.32}{19.04}{251}{78.10}{19.44}{252}{0.16}%
< \gclcline{78.10}{19.44}{253}{78.87}{19.86}{254}{0.16}%
< \gclcline{78.87}{19.86}{255}{79.63}{20.30}{256}{0.16}%
< \gclcline{79.63}{20.30}{257}{80.37}{20.76}{258}{0.16}%
< \gclcline{80.37}{20.76}{259}{81.11}{21.23}{260}{0.16}%
< \gclcline{81.11}{21.23}{261}{81.83}{21.73}{262}{0.16}%
< \gclcline{81.83}{21.73}{263}{82.53}{22.24}{264}{0.16}%
< \gclcline{82.53}{22.24}{265}{83.23}{22.78}{266}{0.16}%
< \gclcline{83.23}{22.78}{267}{83.91}{23.33}{268}{0.16}%
< \gclcline{83.91}{23.33}{269}{84.57}{23.90}{270}{0.16}%
< \gclcline{84.57}{23.90}{271}{85.22}{24.49}{272}{0.16}%
< \gclcline{85.22}{24.49}{273}{85.86}{25.09}{274}{0.16}%
< \gclcline{85.86}{25.09}{275}{86.47}{25.71}{276}{0.16}%
< \gclcline{86.47}{25.71}{277}{87.08}{26.34}{278}{0.16}%
< \gclcline{87.08}{26.34}{279}{87.66}{26.99}{280}{0.16}%
< \gclcline{87.66}{26.99}{281}{88.23}{27.66}{282}{0.16}%
< \gclcline{88.23}{27.66}{283}{88.78}{28.34}{284}{0.16}%
< \gclcline{88.78}{28.34}{285}{89.31}{29.04}{286}{0.16}%
< \gclcline{89.31}{29.04}{287}{89.77}{29.67}{288}{0.16}%
< \gclcline{90.23}{30.33}{289}{90.70}{31.06}{290}{0.16}%
< \gclcline{90.70}{31.06}{291}{91.16}{31.81}{292}{0.16}%
< \gclcline{91.16}{31.81}{293}{91.60}{32.56}{294}{0.16}%
< \gclcline{91.60}{32.56}{295}{92.03}{33.33}{296}{0.16}%
< \gclcline{92.03}{33.33}{297}{92.43}{34.11}{298}{0.16}%
< \gclcline{92.43}{34.11}{299}{92.80}{34.90}{300}{0.16}%
< \gclcline{92.80}{34.90}{301}{93.16}{35.70}{302}{0.16}%
< \gclcline{93.16}{35.70}{303}{93.50}{36.50}{304}{0.16}%
< \gclcline{93.50}{36.50}{305}{93.82}{37.32}{306}{0.16}%
< \gclcline{93.82}{37.32}{307}{94.11}{38.14}{308}{0.16}%
< \gclcline{94.11}{38.14}{309}{94.39}{38.97}{310}{0.16}%
< \gclcline{94.39}{38.97}{311}{94.64}{39.81}{312}{0.16}%
< \gclcline{94.64}{39.81}{313}{94.87}{40.66}{314}{0.16}%
< \gclcline{94.87}{40.66}{315}{95.07}{41.51}{316}{0.16}%
< \gclcline{95.07}{41.51}{317}{95.26}{42.36}{318}{0.16}%
< \gclcline{95.26}{42.36}{319}{95.42}{43.22}{320}{0.16}%
< \gclcline{95.42}{43.22}{321}{95.56}{44.09}{322}{0.16}%
< \gclcline{95.56}{44.09}{323}{95.68}{44.95}{324}{0.16}%
< \gclcline{95.68}{44.95}{325}{95.77}{45.82}{326}{0.16}%
< \gclcline{95.77}{45.82}{327}{95.85}{46.69}{328}{0.16}%
< \gclcline{95.85}{46.69}{329}{95.89}{47.57}{330}{0.16}%
< \gclcline{95.89}{47.57}{331}{95.92}{48.44}{332}{0.16}%
< \gclcline{95.92}{48.44}{333}{95.92}{49.32}{334}{0.16}%
< \gclcline{95.92}{49.32}{335}{95.90}{50.19}{336}{0.16}%
< \gclcline{95.90}{50.19}{337}{95.86}{51.07}{338}{0.16}%
< \gclcline{95.86}{51.07}{339}{95.80}{51.94}{340}{0.16}%
< \gclcline{95.80}{51.94}{341}{95.71}{52.81}{342}{0.16}%
< \gclcline{95.71}{52.81}{343}{95.60}{53.68}{344}{0.16}%
< \gclcline{95.60}{53.68}{345}{95.46}{54.54}{346}{0.16}%
< \gclcline{95.46}{54.54}{347}{95.31}{55.40}{348}{0.16}%
< \gclcline{95.31}{55.40}{349}{95.13}{56.26}{350}{0.16}%
< \gclcline{95.13}{56.26}{351}{94.93}{57.11}{352}{0.16}%
< \gclcline{94.93}{57.11}{353}{94.70}{57.96}{354}{0.16}%
< \gclcline{94.70}{57.96}{355}{94.46}{58.80}{356}{0.16}%
< \gclcline{94.46}{58.80}{357}{94.19}{59.63}{358}{0.16}%
< \gclcline{94.19}{59.63}{359}{93.90}{60.46}{360}{0.16}%
< \gclcline{93.90}{60.46}{361}{93.59}{61.27}{362}{0.16}%
< \gclcline{93.59}{61.27}{363}{93.26}{62.08}{364}{0.16}%
< \gclcline{93.26}{62.08}{365}{92.90}{62.88}{366}{0.16}%
< \gclcline{92.90}{62.88}{367}{92.53}{63.68}{368}{0.16}%
< \gclcline{92.53}{63.68}{369}{92.14}{64.46}{370}{0.16}%
< \gclcline{92.14}{64.46}{371}{91.72}{65.23}{372}{0.16}%
< \gclcline{91.72}{65.23}{373}{91.29}{65.99}{374}{0.16}%
< \gclcline{91.29}{65.99}{375}{90.83}{66.73}{376}{0.16}%
< \gclcline{90.83}{66.73}{377}{90.36}{67.47}{378}{0.16}%
< \gclcline{90.36}{67.47}{379}{89.87}{68.19}{380}{0.16}%
< \gclcline{89.87}{68.19}{381}{89.35}{68.90}{382}{0.16}%
< \gclcline{89.35}{68.90}{383}{88.82}{69.60}{384}{0.16}%
< \gclcline{88.82}{69.60}{385}{88.28}{70.28}{386}{0.16}%
< \gclcline{88.28}{70.28}{387}{87.71}{70.95}{388}{0.16}%
< \gclcline{87.71}{70.95}{389}{87.13}{71.60}{390}{0.16}%
< \gclcline{87.13}{71.60}{391}{86.53}{72.24}{392}{0.16}%
< \gclcline{86.53}{72.24}{393}{85.91}{72.86}{394}{0.16}%
< \gclcline{85.91}{72.86}{395}{85.28}{73.46}{396}{0.16}%
< \gclcline{85.28}{73.46}{397}{84.63}{74.05}{398}{0.16}%
< \gclcline{84.63}{74.05}{399}{83.97}{74.62}{400}{0.16}%
< \gclcline{83.97}{74.62}{401}{83.29}{75.18}{402}{0.16}%
< \gclcline{83.29}{75.18}{403}{82.60}{75.71}{404}{0.16}%
< \gclcline{82.60}{75.71}{405}{81.89}{76.23}{406}{0.16}%
< \gclcline{81.89}{76.23}{407}{81.17}{76.73}{408}{0.16}%
< \gclcline{81.17}{76.73}{409}{80.44}{77.20}{410}{0.16}%
< \gclcline{80.44}{77.20}{411}{79.69}{77.66}{412}{0.16}%
< \gclcline{79.69}{77.66}{413}{78.94}{78.10}{414}{0.16}%
< \gclcline{78.94}{78.10}{415}{78.17}{78.53}{416}{0.16}%
< \gclcline{78.17}{78.53}{417}{77.39}{78.93}{418}{0.16}%
< \gclcline{77.39}{78.93}{419}{76.60}{79.30}{420}{0.16}%
< \gclcline{76.60}{79.30}{421}{75.80}{79.66}{422}{0.16}%
< \gclcline{75.80}{79.66}{423}{75.00}{80.00}{424}{0.16}%
< \gclcline{75.00}{80.00}{425}{74.18}{80.32}{426}{0.16}%
< \gclcline{74.18}{80.32}{427}{73.36}{80.61}{428}{0.16}%
< \gclcline{73.36}{80.61}{429}{72.53}{80.89}{430}{0.16}%
< \gclcline{72.53}{80.89}{431}{71.69}{81.14}{432}{0.16}%
< \gclcline{71.69}{81.14}{433}{70.84}{81.37}{434}{0.16}%
< \gclcline{70.84}{81.37}{435}{69.99}{81.57}{436}{0.16}%
< \gclcline{69.99}{81.57}{437}{69.14}{81.76}{438}{0.16}%
< \gclcline{69.14}{81.76}{439}{68.28}{81.92}{440}{0.16}%
< \gclcline{68.28}{81.92}{441}{67.41}{82.06}{442}{0.16}%
< \gclcline{67.41}{82.06}{443}{66.55}{82.18}{444}{0.16}%
< \gclcline{66.55}{82.18}{445}{65.68}{82.27}{446}{0.16}%
< \gclcline{65.68}{82.27}{447}{64.81}{82.35}{448}{0.16}%
< \gclcline{64.81}{82.35}{449}{63.93}{82.39}{450}{0.16}%
< \gclcline{63.93}{82.39}{451}{63.06}{82.42}{452}{0.16}%
< \gclcline{63.06}{82.42}{453}{62.18}{82.42}{454}{0.16}%
< \gclcline{62.18}{82.42}{455}{61.31}{82.40}{456}{0.16}%
< \gclcline{61.31}{82.40}{457}{60.43}{82.36}{458}{0.16}%
< \gclcline{60.43}{82.36}{459}{59.56}{82.30}{460}{0.16}%
< \gclcline{59.56}{82.30}{461}{58.69}{82.21}{462}{0.16}%
< \gclcline{58.69}{82.21}{463}{57.82}{82.10}{464}{0.16}%
< \gclcline{57.82}{82.10}{465}{56.96}{81.96}{466}{0.16}%
< \gclcline{56.96}{81.96}{467}{56.10}{81.81}{468}{0.16}%
< \gclcline{56.10}{81.81}{469}{55.24}{81.63}{470}{0.16}%
< \gclcline{55.24}{81.63}{471}{54.39}{81.43}{472}{0.16}%
< \gclcline{54.39}{81.43}{473}{53.54}{81.20}{474}{0.16}%
< \gclcline{53.54}{81.20}{475}{52.70}{80.96}{476}{0.16}%
< \gclcline{52.70}{80.96}{477}{51.87}{80.69}{478}{0.16}%
< \gclcline{51.87}{80.69}{479}{51.04}{80.40}{480}{0.16}%
< \gclcline{51.04}{80.40}{481}{50.37}{80.15}{482}{0.16}%
< 
< % Marking point A by circle
< \gclcline{50.40}{80.00}{483}{50.31}{80.26}{484}{0.16}%
< \gclcline{50.31}{80.26}{485}{50.07}{80.39}{486}{0.16}%
< \gclcline{50.07}{80.39}{487}{49.80}{80.35}{488}{0.16}%
< \gclcline{49.80}{80.35}{489}{49.62}{80.14}{490}{0.16}%
< \gclcline{49.62}{80.14}{491}{49.62}{79.86}{492}{0.16}%
< \gclcline{49.62}{79.86}{493}{49.80}{79.65}{494}{0.16}%
< \gclcline{49.80}{79.65}{495}{50.07}{79.61}{496}{0.16}%
< \gclcline{50.07}{79.61}{497}{50.31}{79.74}{498}{0.16}%
< \gclcline{50.31}{79.74}{499}{50.40}{80.00}{500}{0.16}%
< \put(50.00,81.00){\makebox(0,0)[b]{$A$}}%
< 
< % Marking point B by circle
< \gclcline{35.40}{30.00}{501}{35.31}{30.26}{502}{0.16}%
< \gclcline{35.31}{30.26}{503}{35.07}{30.39}{504}{0.16}%
< \gclcline{35.07}{30.39}{505}{34.80}{30.35}{506}{0.16}%
< \gclcline{34.80}{30.35}{507}{34.62}{30.14}{508}{0.16}%
< \gclcline{34.62}{30.14}{509}{34.62}{29.86}{510}{0.16}%
< \gclcline{34.62}{29.86}{511}{34.80}{29.65}{512}{0.16}%
< \gclcline{34.80}{29.65}{513}{35.07}{29.61}{514}{0.16}%
< \gclcline{35.07}{29.61}{515}{35.31}{29.74}{516}{0.16}%
< \gclcline{35.31}{29.74}{517}{35.40}{30.00}{518}{0.16}%
< \put(34.30,29.30){\makebox(0,0)[rt]{$B$}}%
< 
< % Marking point C by circle
< \gclcline{90.40}{30.00}{519}{90.31}{30.26}{520}{0.16}%
< \gclcline{90.31}{30.26}{521}{90.07}{30.39}{522}{0.16}%
< \gclcline{90.07}{30.39}{523}{89.80}{30.35}{524}{0.16}%
< \gclcline{89.80}{30.35}{525}{89.62}{30.14}{526}{0.16}%
< \gclcline{89.62}{30.14}{527}{89.62}{29.86}{528}{0.16}%
< \gclcline{89.62}{29.86}{529}{89.80}{29.65}{530}{0.16}%
< \gclcline{89.80}{29.65}{531}{90.07}{29.61}{532}{0.16}%
< \gclcline{90.07}{29.61}{533}{90.31}{29.74}{534}{0.16}%
< \gclcline{90.31}{29.74}{535}{90.40}{30.00}{536}{0.16}%
< \put(90.00,29.00){\makebox(0,0)[t]{$C$}}%

./samples/basic_samples/sample30_layers.gcl: tikz

4,29d3
< 
< % Drawing segment A B
< \draw [line width=0.016cm] (4.988506,7.961687) -- (3.511494,3.038313);%
< 
< % Drawing segment B C
< \draw [line width=0.016cm] (3.540000,3.000000) -- (8.960000,3.000000);%
< 
< % Drawing segment C A
< \draw [line width=0.016cm] (8.975012,3.031235) -- (5.024988,7.968765);%
< 
< % Drawing circle O A
< \draw [line width=0.016cm] (4.962993,7.984820) -- (4.943970,7.976814) arc (113:213:3.342529 and 3.342529) -- (3.477460,3.033045);%
< \draw [line width=0.016cm] (3.522933,2.967228) -- (3.545837,2.935311) arc (216:324:3.342529 and 3.342529) -- (8.977066,2.967227);%
< \draw [line width=0.016cm] (9.022539,3.033044) -- (9.053280,3.079527) arc (327:360:3.342529 and 3.342529) --(9.592529,4.900000) arc (0:111:3.342529 and 3.342529) -- (5.037187,8.014737);%
< 
< % Marking point A by circle
< \draw [line width=0.016cm] (5.000000,8.000000) circle (0.040000);%
< \draw (5.000000,8.000000) node [anchor=south] { $A$ };%
< 
< % Marking point B by circle
< \draw [line width=0.016cm] (3.500000,3.000000) circle (0.040000);%
< \draw (3.530000,3.030000) node [anchor=north east] { $B$ };%
< 
< % Marking point C by circle
< \draw [line width=0.016cm] (9.000000,3.000000) circle (0.040000);%
< \draw (9.000000,3.000000) node [anchor=north] { $C$ };%

./samples/basic_samples/sample30_layers.gcl: pst

5,30d4
< 
< % Drawing segment A B
< \qline (49.885061,79.616869)(35.114939,30.383131)
< 
< % Drawing segment B C
< \qline (35.400000,30.000000)(89.600000,30.000000)
< 
< % Drawing segment C A
< \qline (89.750122,30.312348)(50.249878,79.687652)
< 
< % Drawing circle O A
< \psarc(62.50,49.00){33.43}{112.65}{213.96}
< \psarc(62.50,49.00){33.43}{215.33}{324.67}
< \psarc(62.50,49.00){33.43}{326.04}{111.27}
< 
< % Marking point A by circle
< \pscircle (50.00,80.00){0.40}
< \rput[b](50.00,81.00){$A$}
< 
< % Marking point B by circle
< \pscircle (35.00,30.00){0.40}
< \rput[rt](34.30,29.30){$B$}
< 
< % Marking point C by circle
< \pscircle (90.00,30.00){0.40}
< \rput[t](90.00,29.00){$C$}

./samples/basic_samples/sample30_layers.gcl: eps

25,59d24
< 
< % Drawing segment A B
< newpath 141.40 225.68 moveto -41.87 -139.56 rlineto stroke
< 
< % Drawing segment B C
< newpath 100.34 85.04 moveto 153.64 0.00 rlineto stroke
< 
< % Drawing segment C A
< newpath 254.41 85.92 moveto -111.97 139.96 rlineto stroke
< 
< % Drawing circle O A
< newpath 177.16 138.90 94.75 112.65 213.96 arc 
< stroke
< newpath 177.16 138.90 94.75 -144.67 -35.33 arc 
< stroke
< newpath 177.16 138.90 94.75 -33.96 111.27 arc 
< stroke
< 
< % Marking point A by circle
< newpath 141.73 226.77 1.13 0.00 360.00 arc 
< stroke
< 141.73 229.60 moveto
< (A) dup stringwidth pop 2 div neg 0 rmoveto show
< 
< % Marking point B by circle
< newpath 99.21 85.04 1.13 0.00 360.00 arc 
< stroke
< 97.23 83.05 moveto
< (B) dup stringwidth pop neg -5.33 rmoveto show
< 
< % Marking point C by circle
< newpath 255.11 85.04 1.13 0.00 360.00 arc 
< stroke
< 255.11 82.20 moveto
< (C) dup stringwidth pop 2 div neg -5.33 rmoveto show

./samples/basic_samples/sample30_layers.gcl: svg

4,29d3
< 
< <!-- Drawing segment A B -->
< <line x1="49.89" y1="20.38" x2="35.11" y2="69.62" style="stroke:#000000; stroke-width:0.16"/>
< 
< <!-- Drawing segment B C -->
< <line x1="35.40" y1="70.00" x2="89.60" y2="70.00" style="stroke:#000000; stroke-width:0.16"/>
< 
< <!-- Drawing segment C A -->
< <line x1="89.75" y1="69.69" x2="50.25" y2="20.31" style="stroke:#000000; stroke-width:0.16"/>
< 
< <!-- Drawing circle O A -->
< <path d="M49.63,20.15  a33.43,33.43 0 0,0 -14.86,49.52" fill="none" stroke="#000000" stroke-width="0.16"/>
< <path d="M35.23,70.33  a33.43,33.43 0 0,0 54.54,-0.00" fill="none" stroke="#000000" stroke-width="0.16"/>
< <path d="M90.23,69.67  a33.43,33.43 0 0,0 -39.85,-49.82" fill="none" stroke="#000000" stroke-width="0.16"/>
< 
< <!-- Marking point A by circle -->
< <circle cx="50.00" cy="20.00" r="0.40" fill="none" stroke="#000000" stroke-width="0.16"/>
< <text x="50.00" y="19.00" style="font-size:2.81pt; font-style:italic; fill:#000000" text-anchor="middle">A</text>
< 
< <!-- Marking point B by circle -->
< <circle cx="35.00" cy="70.00" r="0.40" fill="none" stroke="#000000" stroke-width="0.16"/>
< <text x="34.30" y="70.70" style="font-size:2.81pt; font-style:italic; fill:#000000" text-anchor="end" dy="2.811951">B</text>
< 
< <!-- Marking point C by circle -->
< <circle cx="90.00" cy="70.00" r="0.40" fill="none" stroke="#000000" stroke-width="0.16"/>
< <text x="90.00" y="71.00" style="font-size:2.81pt; font-style:italic; fill:#000000" text-anchor="middle" dy="2.811951">C</text>

Prover samples

./samples/samples_prover/thm_harmonic.gcl: g tex

1032c1032
< \item [Time Complexity:]  Time spent by the prover: 10.074 seconds. There are no ndg conditions.
---
> \item [Time Complexity:]  Time spent by the prover: 10.070 seconds. There are no ndg conditions.

./samples/samples_prover/thm_orthocenter.gcl: a tex

88c88
< Time spent by the prover: 0.004 seconds
---
> Time spent by the prover: 0.005 seconds