Files
Guido.Tech/hpcsim/__pycache__/enrichment.cpython-313.pyc

55 lines
8.0 KiB
Plaintext
Raw Normal View History

2025-10-18 23:56:53 -05:00
<EFBFBD>
<00>-<2D>hd<00><01>~<00>SSKJr SSKJrJr SSKJrJrJr SSK r SSSSS S
.r
\"S S 55r "S S5r g)<0F>)<01> annotations)<02> dataclass<73>field)<03>Dict<63>Any<6E>OptionalNg<4E>~j<>t<EFBFBD><74>?g<><67><EFBFBD><EFBFBD>Mb<4D>?g<>~j<>t<EFBFBD>x?g<><1E><>Q<EFBFBD><51>?g{<14>G<EFBFBD>z<EFBFBD>?)<05>soft<66>medium<75>hard<72>inter<65>wetc<01>^<00>\rSrSr%SrS\S'\"\S9rS\S'\"\S9r S\S'S r
S
\S 'S r g) <0A> EnricherState<74>+Nz Optional[int]<5D>last_lap)<01>default_factoryzDict[int, float]<5D>
lap_speeds<EFBFBD>lap_throttle_avg<76><00>float<61>cumulative_wear<61>) <0C>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__r<00>__annotations__r<00>dictrrr<00>__static_attributes__r<00><00>D/Users/rishubmadhav/Documents/GitHub/HPCSimSite/hpcsim/enrichment.pyrr+s7<00><00>"<22>H<EFBFBD>m<EFBFBD>"<22>#(<28><14>#><3E>J<EFBFBD> <20>><3E>).<2E>t<EFBFBD>)D<><14>&<26>D<> <20>O<EFBFBD>U<EFBFBD> r rc<01>n<00>\rSrSrSrSrSSjrSSjrSSjrSSjr SSjr
SS jr SS
jr SS jr S rg )<16>Enricher<65>3z<>Heuristic enrichment engine to simulate HPC analytics on telemetry.
Stateless inputs are enriched with stateful estimates (wear, consistency, etc.).
Designed for predictable, dependency-free behavior.
c<01>"<00>[5Ulg)N)r<00>state)<01>selfs r!<00>__init__<5F>Enricher.__init__:s <00><00>"<22>_<EFBFBD><04>
r c <01>6<00>[URSS55n[URSS55n[URSS55n[URSS55n[URSS55R 5n[URS S
55nURS 5nURS 5n URS 5n
UR X#U5 UR X4U5n URX#XFU 5n URX<>U5n URXt5nUR5nURX<>5nU[U S5[U S5[U S5[US5[US5US.$)N<>lapr<00>speedr<00>throttle<6C>brake<6B> tire_compoundr
<00>
fuel_level<EFBFBD><00>?<3F>ers<72>
track_temp<EFBFBD>rain_probability<74>)r+<00>aero_efficiency<63>tire_degradation_index<65>
ers_charge<EFBFBD>fuel_optimization_score<72>driver_consistency<63>weather_impact) <0A>int<6E>getr<00>str<74>lower<65>_update_lap_stats<74>_compute_aero_efficiency<63>_compute_tire_degradation<6F>_compute_ers_charge<67>_compute_fuel_optimization<6F>_compute_driver_consistency<63>_compute_weather_impact<63>round)r'<00> telemetryr+r,r-r.r/r0r2r3<00> rain_prob<6F>aero_eff<66>tire_degr8<00>fuel_opt<70> consistencyr;s r!<00>enrich<63>Enricher.enrich>ss<00><00><11>)<29>-<2D>-<2D><05>q<EFBFBD>)<29>*<2A><03><15>i<EFBFBD>m<EFBFBD>m<EFBFBD>G<EFBFBD>S<EFBFBD>1<>2<><05><18><19><1D><1D>z<EFBFBD>3<EFBFBD>7<>8<><08><15>i<EFBFBD>m<EFBFBD>m<EFBFBD>G<EFBFBD>S<EFBFBD>1<>2<><05><1B>I<EFBFBD>M<EFBFBD>M<EFBFBD>/<2F>8<EFBFBD>D<>E<>K<>K<>M<> <0A><1A>9<EFBFBD>=<3D>=<3D><1C>s<EFBFBD>;<3B><<3C>
<EFBFBD><17>m<EFBFBD>m<EFBFBD>E<EFBFBD>"<22><03><1E>]<5D>]<5D><<3C>0<>
<EFBFBD><1D>M<EFBFBD>M<EFBFBD>"4<>5<> <09> <0A><1E><1E>s<EFBFBD>8<EFBFBD>4<><18>0<>0<><15>%<25>H<><08><17>1<>1<>#<23>h<EFBFBD>Wa<57>b<><08><19>-<2D>-<2D>c<EFBFBD>U<EFBFBD>C<>
<EFBFBD><17>2<>2<>:<3A>H<><08><1A>6<>6<>8<> <0B><1D>5<>5<>i<EFBFBD>L<><0E><17>$<24>X<EFBFBD>q<EFBFBD>1<>&+<2B>H<EFBFBD>a<EFBFBD>&8<><1F>
<EFBFBD>A<EFBFBD>.<2E>',<2C>X<EFBFBD>q<EFBFBD>'9<>"'<27> <0B>Q<EFBFBD>"7<>,<2C>
<EFBFBD>
r c<01><><00>US::agX RRU'SURRRX5-SU--URRU'XRlg)Nrg<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?)r&rrr=r)r'r+r,r-s r!r@<00>Enricher._update_lap_stats_sc<00><00> <0E>!<21>8<EFBFBD> <12>%*<2A>
<EFBFBD>
<EFBFBD><1D><1D>c<EFBFBD>"<22>+.<2E><14><1A><1A>1L<31>1L<31>1P<31>1P<31>QT<51>1_<31>+_<>be<62>hp<68>bp<62>+p<><04>
<EFBFBD>
<EFBFBD>#<23>#<23>C<EFBFBD>(<28>!<21>
<EFBFBD>
<EFBFBD>r c<01><><00>[S[SUS- 55nSU-nSU-nSU-U-U-
n[S[SU55$)Nr<00><00>?g<00>t@皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?rQr1)<02>max<61>min)r'r,r-r.<00>speed_n<5F> brake_penalty<74>throttle_bonus<75>bases r!rA<00>!Enricher._compute_aero_efficiencygsS<00><00><16>c<EFBFBD>3<EFBFBD>s<EFBFBD>E<EFBFBD>E<EFBFBD>M<EFBFBD>2<>3<><07><1B>e<EFBFBD> <0B> <0A><1C>x<EFBFBD><1E><0E><12>W<EFBFBD>}<7D>~<7E>-<2D> <0A>=<3D><04><12>3<EFBFBD><03>C<EFBFBD><14><0E>'<27>'r c<01>r<00>[RU[S5nSn[U[[45(aUS:<3A>aSnOUS:aSnSSU--S[ S US
-
S - 5--nXh-U-n [ SURRU -5URlURR$) Nr
rT<00>*g<00>?<3F>g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?r1rQrg@o@gY@) <09>_TIRES_BASE_WEARr=<00>
isinstancer<rrVrWr&r)
r'r+r,r-r/r3<00> base_wear<61> temp_factor<6F>stress<73> wear_this_laps
r!rB<00>"Enricher._compute_tire_degradationps<><00><00>$<24>(<28>(<28><1D>8H<38><18>8R<38>S<> <09><19> <0B> <15>j<EFBFBD>3<EFBFBD><05>,<2C> /<2F> /<2F><19>B<EFBFBD><EFBFBD>"<22> <0B><1B>b<EFBFBD><1F>!<21> <0B><14>s<EFBFBD>X<EFBFBD>~<7E>%<25><03>c<EFBFBD>#<23><05><05> <0A><15>7N<37>.O<>(O<>O<><06>!<21>*<2A>[<5B>8<> <0A>%(<28><13>d<EFBFBD>j<EFBFBD>j<EFBFBD>.H<>.H<>=<3D>.X<>%Y<><04>
<EFBFBD>
<EFBFBD>"<22><13>z<EFBFBD>z<EFBFBD>)<29>)<29>)r c<01><><00>[U[[45(a[U5SU--SU--
nOSSU--SU--
n[S[ SU55$)Ng<4E><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>333333<33>?g<><1E><>Q<EFBFBD><51>?rrT)rar<rrVrW)r'r2r-r.<00> ers_levels r!rC<00>Enricher._compute_ers_charge~s[<00><00> <15>c<EFBFBD>C<EFBFBD><15><<3C> (<28> (<28><1D>c<EFBFBD>
<EFBFBD>S<EFBFBD>5<EFBFBD>[<5B>0<>4<EFBFBD>(<28>?<3F>B<>I<EFBFBD><1C>d<EFBFBD>U<EFBFBD>l<EFBFBD>*<2A>T<EFBFBD>H<EFBFBD>_<EFBFBD><<3C>I<EFBFBD><12>3<EFBFBD><03>C<EFBFBD><19>+<2B>,<2C>,r c<01><><00>[S[SU55nSSU--n[X$-
5nSU-
n[S[SU55$)NrrTr1rU)rVrW<00>abs)r'r0r-<00>fuel_n<5F>ideal_throttle<6C>penalty<74>scores r!rD<00>#Enricher._compute_fuel_optimization<6F>sL<00><00><14>S<EFBFBD>#<23>c<EFBFBD>:<3A>.<2E>/<2F><06><1C>s<EFBFBD>V<EFBFBD>|<7C>+<2B><0E><15>h<EFBFBD>/<2F>0<><07><13>g<EFBFBD> <0A><05><12>3<EFBFBD><03>C<EFBFBD><15><0F>(<28>(r c<01>z^<06>[URRR55SSnU(dgUVs/sHo RRUPM nn[ U5[ U5- m[ U4SjU55[ U5- n[ SUS- 5n[SSU-
5$s snf)N<><4E><EFBFBD><EFBFBD><EFBFBD>r1c3<01>2># <00>UH oT-
S-v<00> M g7f)<02>Nr)<03>.0<EFBFBD>s<>means <20>r!<00> <genexpr><3E>7Enricher._compute_driver_consistency.<locals>.<genexpr><3E>s<00><><00><00>2<>6<EFBFBD>a<EFBFBD>t<EFBFBD>8<EFBFBD><01>/<2F>6<EFBFBD>s<00>rTg <20>@r)<08>sortedr&r<00>keys<79>sum<75>lenrWrV)r'<00>laps<70>l<>speeds<64>var<61>normrxs @r!rE<00>$Enricher._compute_driver_consistency<63>s<><00><><00><15>d<EFBFBD>j<EFBFBD>j<EFBFBD>+<2B>+<2B>0<>0<>2<>3<>B<EFBFBD>C<EFBFBD>8<><04><13><16>48<34>9<>D<EFBFBD>q<EFBFBD>*<2A>*<2A>'<27>'<27><01>*<2A>D<EFBFBD><06>9<><12>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28><04><11>2<>6<EFBFBD>2<>2<>S<EFBFBD><16>[<5B>@<40><03><12>3<EFBFBD><03>y<EFBFBD>)<29>*<2A><04><12>3<EFBFBD><03>d<EFBFBD>
<EFBFBD>#<23>#<23><> :s<00>"B8c<01><><00>Sn[U[[45(aUS[U5-- n[U[[45(aUS:aUS- nUS:<3A>aUS- nUS:agUS:ag g
) Nrgffffff<66>?<3F> rQ<00>-g333333<33>?<3F>lowrhr
<00>high)rar<r)r'rIr3rps r!rF<00> Enricher._compute_weather_impact<63>st<00><00><13><05> <15>i<EFBFBD>#<23>u<EFBFBD><1C> .<2E> .<2E> <11>S<EFBFBD>5<EFBFBD><19>+<2B>+<2B> +<2B>E<EFBFBD> <15>j<EFBFBD>3<EFBFBD><05>,<2C> /<2F> /<2F><19>B<EFBFBD><EFBFBD><15><13> <0C><05><19>B<EFBFBD><EFBFBD><15><13> <0C><05> <10>3<EFBFBD>;<3B><18> <10>3<EFBFBD>;<3B><1B>r )r&N)rH<00>Dict[str, Any]<5D>returnr<6E>)r+r<r,rr-rr<><00>None)r,rr-rr.rr<>r) r+r<r,rr-rr/r>r3<00>Optional[float]r<>r)r2r<>r-rr.rr<>r)r0rr-rr<>r)r<>r)rIr<>r3r<>r<>r>)rrrr<00>__doc__r(rNr@rArBrCrDrErFrrr r!r#r#3s5<00><00><08> %<25>
<EFBFBD>B"<22>(<28> *<2A>-<2D>)<29>
$<24> r r#) <0A>
__future__r<00> dataclassesrr<00>typingrrr<00>mathr`rr#rr r!<00><module>r<>sR<00><01>"<22>(<28>&<26>&<26> <0B>< <12><13> <11> <12> <0F> <02><10> <0B>!<21>!<21> <0B>!<21>u<16>ur