From 38826d39f0211bba16217eba4868e49f22f2a61f Mon Sep 17 00:00:00 2001
From: Pekka Niemimaa <pekka.niemimaa@haltian.com>
Date: Mon, 12 Oct 2015 13:28:06 +0300
Subject: [PATCH] From: Jussi Kivilinna <jussi.kivilinna@haltian.com> Date:
 Thu, 8 Oct 2015 16:39:38 +0300 Subject: [PATCH] ts_engine: geofence: use
 'double' instead of 'float' for  geofence coordinates

From: Jussi Kivilinna <jussi.kivilinna@haltian.com>
Date: Wed, 7 Oct 2015 15:57:58 +0300
Subject: [PATCH] ts_engine: sense_group_location: fix loss of accuracy of
 latitude/longitude caused by division by 32-bit float constant

Dividing 32-bit integer with 32-bit float causes loss of precision.
'float' can express 6 digits without loss while 'double' can express
15 digits.
---
 apps/ts_engine/engine/libtsengine.a.nocleanup | Bin 150892 -> 150816 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/apps/ts_engine/engine/libtsengine.a.nocleanup b/apps/ts_engine/engine/libtsengine.a.nocleanup
index 8626daa8bc0f74da5286378b6f3ed34144a005ec..b0196d47930c890a2962aea814b61683324d87dd 100644
GIT binary patch
delta 10686
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
B>Rtc<

delta 10424
zcmZ25i}TGa&I!`&#->K*28JdRl}zeIdKef;!CEE^3?S^`!@z)!gBCC_pyMtB28J0L
z5IpY!0|N*zPhenx;(CTHIt*CxsV58!AbjTx1H+>aaLg!B!T`t84;UChSoaPCBQ6}k
zz`z*x0TpLHVPMQJ0pWTO0l`%>7#MNk_6P<>n&5g`8BC<P^)&Gnk(RedFw|oN>oyh!
zMiAZ|!@!7+?=4|qBo==TVPJ$}CI%Y@99RXrgrN)rlNAF4ll>DAo*c*~Hl0I`QE>Bt
zhRKZ6)uuBFPxgtFpX{(tb8@hd$Mo7sjN+5mbA?ZK<dT`}!YwoT;7!Tt6Q(nAPPXPS
zoIFonck)_hj>+@%BqrZwE}3j5Xv$HNnVTA)nU^`eFPu?!asijX^o^4lMJB&zvz%Tq
zjZtg*(J73A)A@~=*ru<U!YDuaqEPze1}=%o`>%*jUeBH-P>`RQR}!C@7hjN{Q<<Kh
zH(g)`qs-)0f(?_?*-ADia9?AcTqGzv*^513vhrS;$u%55CUbC`OfKR)&r_V5SDYH3
znwMIXUOCzRfbwKd;lj!1ga!DLbMi}5;tPuM3sQ?pDkn>eC{NxcEHZgcBIo2h5xL0;
zCq=~a^|>J0(~I&;3*s}%<FivMizn-eNa=t*lvb3V8=sb$ld6}m&y}2$nVMIkm#?n?
z0fr_f&|+t@pPkrdpS*Nt784^2i|Gr$G3ISnEt)SVrEdUH3L_C(Hv8En^1zj6Z<h1c
z7nC%zfGGsi2-Vx`c$s*a5Xz@V3o!9d_TR_4olk&i6}uGJ69|_nAasJ9w!I;P@i;$1
z_x5cSj9Tha`X**zYhVOI)AoO=j2Dos+it7LxPVKtC?6UW5FH5hU`u|iVKhMmK=Ss<
z8yN30L0lG}Q&4PVngMbklBRhR#5X(MFlL;5@TThYIbRtir~muPI3MoJ!pX;P3PTdz
zqg&>at=90en3$VdOujHTX!3;Qj>#L&uuSH-GliFl0Rl7_85mS27fK3?E@WU}U}Rum
zFoH-h_%bpu_)cb&7T)~ijs_zyJ5*Q|q-?t3MMlNR^WFta{`XE`@~nG1m`p7u-@PI}
zIs5)8CU%C&@9#@a4tQXz%g(@1!N9=4#LmD_1EN_O7?Shz@=}va@{2(JQcyq+^n1+`
zoA-$@F-^WK7BtyVLU{T|J4WHj7UJ1(-(^o0l4zf-y+($`#N5JQ^G*q2CN7wJe=tt|
zCnY9&1mr%DT~POWF)=U*gFLudM0x|`WP$ery!ucnVUW_z4`mpcm@Eu7KapF=$jCjp
zO~GA~n}MMLWCRlfLko!JW?<+5(L9r%Ddfv?Gce@jr$e2OEmAkHQTJv;xOsD$o&n?Z
z2X2hqleg;2iJ6)+=p_{w>y;(ul%~cfm8R*L8Jb#5cl^$He)AFo9%jbO$v2JF8B-@S
znn?3XFfcH%FfcH1FfcGQPS!M0XPmTI(<GlsQUmG-2qnSb3SlttOm}Q&6qT1^2!#qL
zfIP_{#ekw=df+8SVaCMGKg~p#C(Bq#3YwZTpt@(Xxz!~`M)A#DHsXw&QVa|QObiT6
zvXixJk28u-{$#7pC_Y)rPD-jcqqHO?zdR2X8b}G%&rWQ+&m+boOw$*>XB3_;@Raew
zbfa&Kh{#Nue&iYBd2kXnGd3`rd|~dH?FBCw1(@K8a|bN$MEMv|6X$6r28Iiu#JT;%
zE5;v;yaiC-f}?c$!HbNF+uyxmRAgo{FxxKpfpGzor3eGV4p1BlF)-`_(QFJ12SBt4
z0|O|@Fo`fQoPhGrK<Nu$ditwRjNyzT)15vuZdZkw!o<L!Z)OUKd?<<P_01iM&WuQD
zz)IPPMXDgNs2EfzLUkageNbrem@v-ZoZe!`m@qxXi7{cii#=n_^aOiGj_D_y7;Pqh
zkdT@DL4sv^i!<Y$?FZ}`H!w}#V9OXXoyD24VS0)SW9)QBJI3VcPwW_Dr{67S%!1pV
zJAIBTV?JL=Mp0^UMt)9;o|&P!@$`FcjMCFZ+!;lu?{{P5lQlPD&?`#K(JRVNNi0d!
z13NXoIJa2O%+S(kx``X3E*H3J0P&5dpLb(aN=+>TmF#AQmWEig7C_5AGb1xIEYit|
zrNyZrhhWuPT2zn^k~T6joSyH-D9vnWX)?XnjZuc#(9#r?Rh%dHCHHN2@L;TAWZX4<
zuP38A<F@HfJsH&}>#XO1rymb428M>ojse1xL)HsO8R#%DfN}#UCkP<rt6vP$*Lg9j
z*?wbSVBmzNBM=p!!@vMi2U0JDq+S%77MVecKzWm!fk9@npr7#c9#tj*-2@#51_K5L
zaE22>(xwm91}}NJ85kab9A~A?h-&c!9R>yqs0m_7CU`(ifR%V0Jk!^CGm42uL&aex
zui#@~NC25^8;)l32^|IoP>}-ik|dJJ6=)`K@IwPmv;@tB2cSTl&gjD^EIJ)cQwKlP
zTG7d9nizB$7$l|#`Y;Mlk7!^NV0{5sxdBb31X$%lknxw%jQ0>=U~mBWO7uLMCIejt
z27&1xL7G0IY3dMQU{C;SdW)vXL6?DnW4og-qcjtv)AU$>Mt$C3XoP~we#Yqs^_YaG
z&+%sz;LU=HJAjJP=@&ubXZ#rjCjZ&WH~p7CqY!5$RKbJkg6)jrlkaTfla>UBGgO>`
zfkBd?3(85D{LoB%dQJeN0OxF|P{Z`r07iArbx>}?^sON7emM6jh<gdjb(k(1$f(Zw
z1j<#|?i$EAl_^++VGb<*86fF)1sZ=V8vh6y|2!K1)^yzvMtPynXu?d))8j%I<pL#O
z=^tvH78>6Ijqi-c_e0~yOuoBAKClW+v<r<t1C75NjlT(vzjr#X45NJF4K(4$X#7uT
zd}dIk3k_jV8NiFimqFvJO`f|`e)^qIMgc)TG^yC>e?u9A>QPHy259+Ol30?eXJ%wz
z0TswiO)M@gO3j57tmZ~gVOTi~<su4Vr~pz)3^5p`^aTmIq{br^xge3$_yVM27G_Xh
zdS)J|T(&fUilk%~7vv;Xf{K09?Ly&<D;TGHMlxzJ6_-qZ@Q_ht@=^hQ=A8WW$%g!5
z{KctxDe=W6MGWcjC8-r9(=SFcN>2Y7!5A=IB#JRkIJL|ZCJlD5Pk#FJ$B~Ri(~F}R
zRi@vKV3e7@;sGQ7^oB@A-s#h$821S(Ffc3uH9Qm;7(l6+Nnv|hG$T7xy#fQn9+0>S
z1H%Cjt-!zlO3h3@3=Air{4-Gc0*KaPV7LOJ6&M(9fM{O^hC3iyfq~%xlzsxDg%}uK
zfM^8<hBqMEkAdL>h*n@=_yVPWFflOHGbu7K{DBHEFf%YP`7<!EfM^8<1`ZG%z`(!*
zq9qs@1VFR`1A_>N4rE{e<r^kh1_l`rUx9%^0YnEeFsOiNT?PgX5Us$#paY_V85j&e
zv;hNy35Zr;V6b3j5N2QsVPLR<3OIo2>2-08|LfHm7&KTJ7??o%L3B6+g8_&ZWneG?
z(IEXGI)Z`021N5SFgSo{1qKEe5FN?D-~pl)7#Ms&v@`=l0Ekv#U<iTI5g<B>fguJ&
zD=;u5K<N}#1_mjR#Tih694K7?rl*S~Fsi2{Fff2hQKm#l-eO9ERLM-qQ1KWBh6GTn
zD+MZ_3YAZT^3xf>&0(etNRyZ;lYxN;q&^E$<S}J4Fo;ZFn7}Awk`Fbh0NR!>WMEhT
zQdtCT_Z34;EP>hpa@lmwL`IqV1gK6>&jqBT5~`vK>c(oQ&KjsVNGC{LEmXV?Dqaue
zr!p{rdz$eXCB;TYhM=Z0qOGW)U}#`qfJB;Y-Y}sW(TgnHykK%5hol9*wkC^-sfo$t
z10ouXHzu!)S?)N)V~*ng@BjW!_cN|BaTET)$j|UWwUN1kL!0XY%MB)Nl?yD|tQVvo
zDroCoaL`V^Aog%|1%n#XH0Ei}8@oN36}l%+jFpXS^<+?DnhY{0A>ro(=L!~WhY#Nx
z3Njcp96o<)0Ezp5_-|aC@cMyshIGX&c88D88*Z~Ze0<VS?g5fza+BEUr%>VvVlya!
zNESB+4Tld`CbP%cb8mjooFQGopv~}M{p7$n(U3^6I*_VkFF6=jXGCOx*uhAmT#TzT
z{J&I{No7v@{q2)d^6HEknIJXZa5V|Zt1~3BKw|D-vB`VlEL1JMCOdguSoD>lXtLAW
zi&tK9DEmCv{I%KM<pT2!W3S0hTo)caH<~ONKX3Z`PDW8a28M=d65b39RW1w;GH#on
z#IIqT?jp}5FnLbmN_c}hd-9f~DJ&+I7M75<Xn*oX#tD-hQ?wc9On$gtcyi5D0k#|b
z3=ABMlc%L9F~&@8G!mbDAw_`k!Q_W2>Z}zk3=A!x2IFLfQ~}0}$%d)wtPHFS3>Bb;
z%H)Dn0Y-+&jj8Ia&a4a!?4Yje<O8V!j9!y3rm8dTW}W;`MUC;@WW_Xf)*qY<3=<~%
zrYW;_@G>y4Pfyfj5}x!{WAcVH171*TfQf;PL5hKaA!qtVKSt@z9O)YvC-;OZD1L;b
zOfU(m-Ts4F5CX)Pn9Lg{FX#gr4S)!O+rhz;Ei>gA(<b|d$t!}Ig-|K5TsySgCBw+T
zAjH7IFnju6Nk)0Wm1sunp1d|pe!7noqrmhJ?-)5GLA`4s1}=v8XzIRAF8nAwnJ3E_
z9LSTMvuah+7~<m-QxlUi<I_?y%Mcu+6a;(ojjTq-dKCtSAO;2oE_nuqC=jj6z>ou?
z)gZljE@=jaMIgR90|ThV#ihZ(um!}IVPJR%qBR*9et~E$1_l8}1_mx|1_mh*4JxZa
zv?2q83W!!>U@!pD3JeTpAX<@u!HSWAp`J^LfguDWpuoTo1)>!h7~(**G6O>fh*n@=
z$OF-e3=BmeT8V+74@B!QFgyX#x(p0)ObiTMdJGIXph|`h+WqEcU?_p|D?l_q149jn
zW@2Dy0MV=r3?d8+!VFxX+5+SQLr6b@%V=^?uDYTI1H&<ps4)Y>6%Z}Y!0-x0n?U_*
zI(b&EzNR??gAz#8l!3tpL`yR;xPfR328I9-EziIZ2cp#{f6CR8(l<1)g!N`YG@@Xe
z{BEK6_Lt&J@7NL9X1kjLQx2nDZk3*?skt#^7^EPxBsoLR)YQ@l!cVNwGc`3egK{cC
z9O!^aI!K#^@$?UhOe*2&AQ=m&o?H+I)PV(!tK@<VFgJu4kPhNlKsiPEIXNJkpf*<~
zmV<au$wZLprrWcXm^xV)cTGR5#-z@8970_IQ`2+QnJSogn5OSjXHsL5gwkqI+89bZ
zLFnykG?*fo89S%5>M-duPMmHEqGnD{)nV#qTsi$Kh_`XNsxFg0<Id@!x=i|<2cfx%
zWin%}==4RpOhSyOw{O*DQe{bj1s76C!2&4}<Z)AT258VQz(NHUAh5821p^`k;GT#2
z+s=r|nnlnYTJ`BMFo0@cCXMM`W=!saCXl#iGGt%~0o8Oe(;t~J#S1DyRjWc(J8Ta!
zXNqSORApcQl><x;3=9g43=B+4(+^oNxpT@uN6}2C3t2Lm3+h3#Ba;SH*nE1FB~!kx
zEd#>~kR9?23~xZR6$3*?d3g%*cpFk80}Y!@NMwvc8fw`dnauc|MM~e$7-gUqRnuml
zqt{sw33KzLQ+2#j>8bf?sd>rp5gJr2EQZEr;98dH594$zD<*|{?u^zA43inH8D>p&
z^1sFY`Y<!&<jX%eHu!&FWWM%;qv6&MmI)4So^HKAI1E6wlEhB`4-Cv89!N!mo2MHy
zxPE1x%>kB~`-4N__NG}*suzkg7-vbk1!O?#Uq?5_2_9}B6BuVPx(R?;j&6<SZV_N6
zqZ>q$X|^Pkf9nSW14uc?#+DC^EZS}yW{jq5o-4SqZrJ<cL;v)H>ybv`vZssKFoDK~
zdl-*Qcl2OXo@&6vGF`@&Nrm+X0|P@LXpn7sge{W*W9HOGCUwR+(<j<8sWWbwz7s?(
znf}n0=|AI<=@0FggzM9ia|_Z-5an@kX%d2yTbhI5pcLVWDM)2_a&AFR2?P4f1_Of?
zsL<hn7VR7i3`HP5CuCfii<5z&je)_Qfs2cQVFFZQ28iZ{wEDPs7#LQ8_`D1Z`i7>s
zimZ7P#J3kRF>OXpO_N!eE^<gE=H%oj$EPI0k|82#Y`)iAh-j{5Z{F8-j1w}@7oU@u
zl$ukF+TH^X`Y+hbn2Jb!$=h>wFmBM4O3W+*O`m|&gNjo0(Lss7jE=|-JMoXPf>|mz
zF%v%c3ett-uy+fOv28xEf}4>$GcU6wzPPfuBsF*Psg+fTbU)pPosnbn?p2D65{RL{
z<iwnuq{QUxVm)&sQ}fAuYs4m(u909eF_|oITb0G!$joH2;To6e&fggwL8EY+6V}Es
zizY%F0I<P=C2R}~9McbKFo{gpRb%3xEVGeE5!4g`b&f%U+2|uqYuFeV7(s0v(H=%f
z+aA^<UkjI60ks1*{sofx1WunRK8yma^Vt~~1VBazU4$xxIc7ck^tf}3;*-~IRA>A#
z`RYdX%_^H#F!_Q8^`ONr0|SE;LpziMavvkO;RF?6U|?WokYShx<$@Y3j0`diDEg-t
zf`-%=O_tqi&$x4P>{fZ+(@^E04hrM+jh7gOWl?l6C^FoIDv<$?EFHYWD9rm5D#QyC
z+Wc~B7ppUBgfOJXr{)%vRDwI&1x2Z4nfax~@df!sB_)*wse0x{CMFE=@ou4h&LN)u
ze(~{o;24{~+hFsv-M?8l)gYnEq&@l70dqw)XrD%nfx!h-+Nv=yctB|%5UoAg>7Y5I
z+T^N(^9{8b7}kKqlo=Q{fM_*HyNO8+I<l??9a-0d_OKKtdmXwjsm8!y0&1LiGcZ_y
zXf*}~8!)}u>99Xzy*2~G4Nx6X$G~t0M5{3{JOI&}khT!W@E0Jy8Uw={DE$FSe*w|z
z3=BU&v>F4$9}q1Iav1{y6Bh#m3&<J{1_llgt;WE>1ENJ47z98xh|j>lpvI&P?NJIc
zFqD>L=D>3w>eLiys`A2vsfbLQJ$e0Hp3M)Q7Vt}zCFYdE>kL$F_nIZP3oT$=iJ0Nb
z-mbNTaUO?MYDH>tX$e9bBHw~a2v$QQ6H}wffq5F6*M6PIUjNyhxvJ5PO`Fe+`66?s
z@CQZ~<_nr0{$JJ?ay;OwVAEo{*p<Pq#d5*nQ=*_Ur1zyd`S;haOuCGB7*s4CykKAf
z*FfxU3>x1qG`ZdUA!6YF%0<H2<?>4=Mo?98>IVx0NR-iJhRcnYY+$i9PF_Da_+MPK
zu}=7saRsW7VZs%tw51#4gbZ+v!{TNErVYR(yRvbCNs)pZ6R5Un-~8h5Usjfa%)Io;
zj$V22q9<wlJ{HCoOiGZ+hRnS5_}s+w%w#=tV@qh;FFigLJQxM(V)Z3gO)q%CC^CHp
z2V)82m+8EmjQ)&&rpIzJ`ZI~>Okc;z=*MU?{Vzz=XSy#Jqd#NK^tm8v%JjD&YR+_9
zZbpB`CDVIB)Sc;fLDZG$x;%{jj9;eL@-S*M9+(`sPGtIC9!7pv9z6zzfaw=`7?oKI
zI2afLK%KSeJiLqoj4{(?c^TDN4{$IrSb#-iK%zO*b3vj%I2afffJN7UL|dls1&Pk!
zWMGJy-l)zbK8=r&hw;pGUOq;3)-Rk43@VcqC55N^@G%N7-kBZ?5|!X$VE6#)Lr$Lq
z5`8j#El8Au7i1eq?HfKu0VWxP>Hqi`)mR;P85o$rM%eH(3NSiN_vL3)XLaF)Ik<<P
zQGiLuVER0MMm5$caN#>3#WB<0f)qain+%$}&=Fu1U~HLgE5NAED#HgVNkR72fJEm^
z?*)nK@G&rOfXdhDXF#GR)9(r}N(+JtLs(Ir$;ZIJ3Q{2o8Vm*%qcE8QJ_ZI2aLBj_
zG77MQxR91bjv%7|(?dQ`r<PTOpMfE8`bJGA;mI4`2(V6&VPLp0{h}bFGFyT=1H&Yi
z$?x7+Z8s5OlwoGvvprCh@irqbBglFN22k&rfpL1^6-Hr6Q27NdLm3zttQo*A1kI*w
zPZei;%{)0_2T%QBCdhQ+0R~WaRgU2vtfqjDWxt2YgL*tdph+W`KcMnT%n<!CVEt;K
zF*)$uxeA!C!4LqI2MrzyF=#O)qv~g3D4qVYhf$t!(RA5RMtQ~qlWlh@*TWnQ>Vf}<
z8UUIG5@OI{;9-GS2y&+ogC2tj3SXZ=7RrY>*nmL`RL?>U1es@xB5%atg(jcD!oUai
z0mMQRhRW@GWf%n*B|sS$Icvgl<@Tqtj0+e!AwBXGqqNC|oHE<z$ur(#wge5}aZO=h
zC;>INra)TvApRsMe-4PA#=x)yL{~x^W)chxd!|oSW>gWJ&cI*-D#QaJRT0;W>8F$#
z<2mO*X4JUmPB&6vtgoNWz;FrFSDp;1Ke#F(^#d0_0|OVR?>vuzK?q9AfaoR$1_Ka1
zA5sl*&1YbUU}9ik3SeM}0nt1R3<)4wjDaBqL<ci4l!4SQU|^_&(k&o*Ap^q%5Y4rS
zfngemv3R<bDx<#TY{<kK*9vI&c?Dz=kjolcu?9nY1F{cXu?9c}EV))qU!=<DB4J?!
zYP`WPqB7Vn_k}T!5wy-@8gqJT$>f_iE8s<F!(_?ZGAyPRmKNI`zcUIm^1|9hpn;od
zpmvccXdDETLqN#}lo}o}f--iYr117RKNvX}CqH<{$Is3HTiO9iD2&?={$$KxWCoe4
z^P6!dqb)N70}H5TWd@CBF)%Q(Ffi~y`JmwuCT0c(eIo-CnA<@#!u_DiY_q}~1*C@S
n=Jj(`S)|GnOOi8E@?q_1<i_s3X7TMO?U^<rSDG)Knanu>1=&<{

-- 
GitLab