Commit Graph

2187 Commits

Author SHA1 Message Date
jaco
b81dcbdf2a #pragma warning4127 fixation modified
Now use cleaner approach:

#pragma warning( push )
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( pop )
2014-08-13 17:59:16 +02:00
vbystricky
1fe403f461 Enable OpenCL version of norm and convertScaleAbs or 32F data
Fix error in minmaxloc.cl
Change test for convertScaleAbs
Fix minMaxIdx for _src2 align
Change epsilon on the tests
2014-08-13 18:33:01 +04:00
Vadim Pisarevsky
d97f9fc477 now the tests pass with loop_times==30 2014-08-13 16:32:01 +04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Vadim Pisarevsky
3cd7941098 Merge pull request #3083 from akarsakov:ocl_transpose_check_locmem 2014-08-13 10:50:51 +00:00
Vadim Pisarevsky
01bd4961e3 Merge pull request #3081 from akarsakov:small_fixes 2014-08-13 10:50:33 +00:00
Alexander Karsakov
c3100eeb19 Fixed buffer initialization in reduce kernel. Enabled OCL version of reduce for SUM, MAX, MIN modes. 2014-08-13 12:03:06 +04:00
Adil Ibragimov
dfd0b297ce datastart must be non-const in CUDA. 2014-08-13 11:11:33 +04:00
Alexander Karsakov
713ddb89bd Set minimum matrix size for AmdBlas::gemm to 20 since it works incorrect for small sizes 2014-08-12 18:02:29 +04:00
Vadim Pisarevsky
5505aa28ce Merge pull request #3078 from vpisarev:refactor_features2d_take3 2014-08-12 13:56:17 +00:00
jaco
58b3bc2d7e #pragma warning4127 fixed for cvstd.inl.hpp 2014-08-12 15:28:39 +02:00
Alexander Karsakov
3deea1c3ce Added check required local memory size for non-inplace transpose kernel 2014-08-12 16:26:08 +04:00
Alexander Alekhin
da806cc3e7 Merge pull request #3073 from vbystricky:ocl_fixMinMaxLoc 2014-08-12 10:21:41 +00:00
vbystricky
6fb282aa39 Remove mul24, for CV8UC3 3840x2160 it generates implementation specific result 2014-08-12 11:25:23 +04:00
Alexander Karsakov
10b3d00fd1 Increased epsilon for passing test with IPPICV 2014-08-12 10:42:42 +04:00
Alexander Karsakov
f3dfdfef8a Fixed warning with "uninitialized local variable" 2014-08-12 10:35:15 +04:00
Vadim Pisarevsky
27d2d3cbac fixed doc builder complains and the test failures 2014-08-12 00:03:40 +04:00
Vadim Pisarevsky
31df47b6ea moved nonfree and a part of features2d to opencv_contrib/xfeatures2d 2014-08-11 23:26:39 +04:00
Vadim Pisarevsky
6df1198e8b Merge pull request #3071 from mshabunin:stitch-fix 2014-08-11 16:08:40 +00:00
Alexander Alekhin
8fd61c9aa6 Merge pull request #3075 from akarsakov:ipp_imgproc_fix 2014-08-11 15:02:53 +00:00
Elena Gvozdeva
b73b28ab9c fix for ocl_lut 2014-08-11 16:21:55 +04:00
vbystricky
dfe5fff2f5 Restore OpenCL branch for minmaxLoc on float data 2014-08-11 15:57:29 +04:00
Alexander Karsakov
835b5e2179 Disabled ippiConvert_32f16s_C1R since it breaks OCL accuracy tests of remap with test_loop_times=30. 2014-08-11 15:50:06 +04:00
mshabunin
c54b8f9b00 Merge remote-tracking branch 'master' into stitch-fix
* 'master' of github.com:itseez/opencv: (82 commits)
  moved part of video to contrib/{outflow, bgsegm}; moved matlab to contrib
  added some basic functionality needed by the new face module (moved from the old "contrib")
  moved to the new opencv_contrib/face module
  fixed various warnings and obvious errors reported by clang compiler and the coverity tool.
  Fixed review comment from Vadim Pisarevsky
  modified farneback sample to use T-API
  ECC patch by the author (G. Evangelidis); fixed some OCL Farneback optical flow test failures on Mac
  small fix for GaussianBlur ocl test
  fix binary package build
  small fix for ocl_resize
  fix IOS framework
  fixed test ocl_MatchTemplate for sparse matrix
  Fixed typos
  fixing error, wrong template method param.
  fixing Mac build
  some formal changes (generally adding constness)
  Fixed choice of kercn and rowsPerWI for non-Intel device.
  fixed nDiffs for CalcBackProject
  fixed tests for ocl_filter2d, ocl_matchTemplate, ocl_histogram.cpp
  Fixed issue: Mat::copyTo(UMat) if device copy is obsolete. Added test.
  ...

Conflicts:
	modules/core/include/opencv2/core/mat.inl.hpp
2014-08-11 14:50:08 +04:00
Vadim Pisarevsky
9ef373f6a5 Merge pull request #3038 from yury-gorbachev:core_arithm_neon 2014-08-10 20:20:04 +00:00
Vadim Pisarevsky
4de4ff5682 Merge pull request #3067 from vpisarev:minor_fixes2 2014-08-10 10:52:57 +00:00
Vadim Pisarevsky
e2f24f43c9 added some basic functionality needed by the new face module (moved from the old "contrib") 2014-08-10 01:54:16 +04:00
Vadim Pisarevsky
05e7c29de5 fixed various warnings and obvious errors reported by clang compiler and the coverity tool. 2014-08-10 00:10:05 +04:00
Yury Gorbachev
9a233999a9 Fixed review comment from Vadim Pisarevsky 2014-08-09 13:37:53 +04:00
Vadim Pisarevsky
09907eeb62 Merge pull request #2639 from kazuki-ma:cv_mat_foreach 2014-08-09 08:25:05 +00:00
Vadim Pisarevsky
99eed2d885 Merge pull request #3057 from Adil-Ibragimov:adding-constness 2014-08-08 17:27:47 +00:00
Vadim Pisarevsky
74457cd3b5 Merge pull request #3055 from akarsakov:copyto_UMat_fix 2014-08-08 14:20:02 +00:00
Vadim Pisarevsky
88672f414b Merge pull request #3056 from akarsakov:ocl_setIdentity_fix 2014-08-08 14:03:46 +00:00
Alexander Karsakov
6ad4521b78 Fixed typos 2014-08-08 13:11:35 +04:00
Adil Ibragimov
8dab2ffce7 fixing error, wrong template method param. 2014-08-07 17:43:32 +04:00
Adil Ibragimov
6b05ca589d fixing Mac build 2014-08-07 17:06:22 +04:00
Adil Ibragimov
98d5731ad8 some formal changes (generally adding constness) 2014-08-07 15:49:14 +04:00
Alexander Karsakov
c5ad6de596 Fixed choice of kercn and rowsPerWI for non-Intel device. 2014-08-07 15:37:26 +04:00
Alexander Karsakov
00221e96fd Fixed issue: Mat::copyTo(UMat) if device copy is obsolete. Added test. 2014-08-07 13:16:02 +04:00
Vadim Pisarevsky
ca183707f2 Merge pull request #3039 from alalek:ocv_world 2014-08-06 14:52:52 +00:00
Vadim Pisarevsky
d611684d9e Merge pull request #3041 from adrians:optimize_split 2014-08-06 09:22:38 +00:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
Alexander Alekhin
d2f1c00719 Merge pull request #3045 from vbystricky:ocl_MeanStdDevFix 2014-08-05 14:52:22 +00:00
vbystricky
774d277c1f Fix error in OpenCl version of meanstddev for continues src and not continues mask 2014-08-05 17:30:06 +04:00
vbystricky
2637b18b67 Fix epsilon for OpenCL function ConverTo, for convertation from float to integer types 2014-08-05 16:34:23 +04:00
Adrian Stratulat
b2acd1f75a Vectorize split & merge for NEON 2014-08-05 06:51:36 +00:00
Vadim Pisarevsky
a05ce00a65 Merge pull request #2879 from alalek:ocl_runtime_flags 2014-08-04 16:43:01 +00:00
Vadim Pisarevsky
a58767eff8 Merge pull request #3036 from vbystricky:ocl_NormAccurTestFix 2014-08-04 14:54:12 +00:00
Vadim Pisarevsky
432b7cb235 Merge pull request #3032 from vpisarev:refactor_ml2 2014-08-04 14:51:38 +00:00
Yury Gorbachev
61423a2d47 ARM NEON accelerated implementation of cv::addWeighted, cv::inRange and cv::compare functions.
NOT verified on target platform, compilation passes with and without NEON.
2014-08-04 16:44:51 +04:00
vbystricky
2d587ad691 Prevent generating test case with mask filled 0 only 2014-08-04 15:12:36 +04:00
Alexander Alekhin
add9ce46c3 Merge pull request #3030 from vbystricky:ocl_DotReduceAccurTestFix 2014-08-04 08:09:38 +00:00
Vadim Pisarevsky
28ca6ac05e fixed building html docs 2014-08-03 02:34:47 +04:00
VBystricky
2026094691 Increase epsilon for OpenCL version UMatDot and ReduceAvg accurency tests 2014-08-02 13:21:34 +04:00
Alexander Alekhin
11dd36f3aa Merge pull request #3028 from vbystricky:ocl_MergeAccurTestFix 2014-08-01 17:15:53 +00:00
vbystricky
aad4104297 Fix accurency test for OpenCL matrix operations 2014-08-01 18:30:20 +04:00
vbystricky
184c5917bf Fix accurency test of OpenCL merge function. 2014-08-01 17:53:24 +04:00
Roman Donchenko
983e75e5de Merge remote-tracking branch 'origin/master' into merge-2.4 2014-08-01 15:01:41 +04:00
vbystricky
b48e487d53 Enable ocl version of minmaxloc with mask 2014-07-31 19:12:10 +04:00
vbystricky
11a0e3ff78 Fix error in OCL minmaxloc 2014-07-31 19:04:38 +04:00
Elena Gvozdeva
9db8592aa8 fixed ocl_flip for cn==3 2014-07-31 16:57:47 +04:00
Vadim Pisarevsky
b0cd822924 trying to make the tests pass 2014-07-31 14:24:21 +04:00
Vadim Pisarevsky
ef8647fe30 put IPP ReduceSum_32f back 2014-07-30 19:12:11 +04:00
Vadim Pisarevsky
5267ed46c7 1. disabled OpenCL acceleration for cv::multiply() (CV_32F), cv::divide (CV_32F), cv::convertScaleAbs (CV_32F) and cv::reduce (SUM, CV_32F), cv::reduce (MIN & MAX), cv::flip (3-channel case).
2. changed the number of test loops from 1 to 30 (except for cv::pow() test, which fails for yet unknown reason)
3. disabled IPP acceleration for 3-channel norms.
4. modified relativeNorm test function to handle very small values
2014-07-30 18:19:47 +04:00
Vadim Pisarevsky
ba3783d205 initial commit; ml has been refactored; it compiles and the tests run well; some other modules, apps and samples do not compile; to be fixed 2014-07-29 23:54:23 +04:00
Vadim Pisarevsky
41df63aacd Merge pull request #3010 from vpisarev:ocl_disable_some_norms2 2014-07-28 17:24:42 +00:00
Vadim Pisarevsky
962b519708 Merge pull request #2996 from akarsakov:ocl_dft_new_concept 2014-07-28 15:59:59 +00:00
Vadim Pisarevsky
0c749fd7e5 Merge pull request #2998 from ernest-galbrun:cuda_concurrency 2014-07-28 15:59:43 +00:00
Vadim Pisarevsky
af83884dc7 disabled ocl_minmaxloc on 32-bit data completely 2014-07-28 19:35:06 +04:00
Vadim Pisarevsky
1925fab427 disabled some more stuff 2014-07-28 19:32:06 +04:00
Vadim Pisarevsky
97f6dd1820 trying to make OpenCL builder green 2014-07-28 17:16:02 +04:00
Vadim Pisarevsky
f42bb0bd65 disable OpenCL difference norms with mask, since some of the tests fail 2014-07-28 15:45:54 +04:00
Vadim Pisarevsky
ef0f010437 Merge pull request #3003 from ElenaGvozdeva:ocl_sum 2014-07-28 11:08:08 +00:00
Alexander Karsakov
fecfaf4092 Using std::map in PlanCache 2014-07-28 14:19:47 +04:00
Elena Gvozdeva
27d97aa231 fixed 2014-07-28 12:21:00 +04:00
Elena Gvozdeva
fe29af2e58 Fixed bug in reduce.cl 2014-07-25 14:51:30 +04:00
Alexander Karsakov
37d01e2d27 Added license header, using cv::Ptr, small fixes. 2014-07-25 13:27:00 +04:00
Adrian Stratulat
a98ce86ca3 Add NEON intrinsics to core/src/arithm.cpp 2014-07-24 19:45:32 +00:00
Alexander Karsakov
e51c0810b6 Added accuracy and performance tests for DFT all modes. 2014-07-24 15:17:31 +04:00
Alexander Karsakov
66ac46214d Final refactoring, fixes 2014-07-24 13:23:02 +04:00
Ernest Galbrun
551ab83cf2 trailing whitespace 2014-07-23 14:34:22 +02:00
Ernest Galbrun
d7038423dd Merge branch 'master' of https://github.com/Itseez/opencv 2014-07-23 14:21:45 +02:00
Ernest Galbrun
6a769c92b3 modified default stream initialization to allow concurrent calls modified cuda surf.cuda.cpp to allow concurrent call 2014-07-23 14:21:21 +02:00
Elena Gvozdeva
4fdd6de8e8 Fixed ippiDFT call 2014-07-23 13:39:31 +04:00
Alexander Karsakov
1d2cf0e20e Added nonzero_rows support 2014-07-22 18:31:08 +04:00
Alexander Karsakov
52f76a3283 Added rest Elena's changes 2014-07-22 18:31:08 +04:00
Alexander Karsakov
7791264525 Added multi-block scheme 2014-07-22 18:31:03 +04:00
Alexander Karsakov
2b9e556055 Added Elena's changes with implemented DFT_INVERSE C2C mode. 2014-07-22 18:27:31 +04:00
Alexander Karsakov
b17bf031f6 Added DFT_SCALE for forward transforms 2014-07-22 18:27:31 +04:00
Alexander Karsakov
6c8b6bd0c7 Added packing to CCS format 2014-07-22 18:27:25 +04:00
Alexander Karsakov
ed07241f89 Completed all forward transforms. 2014-07-22 18:27:17 +04:00
Alexander Karsakov
e5a3ab3cb9 Added fftplan cache 2014-07-22 18:27:08 +04:00
Alexander Karsakov
0318d27720 Enabled precalculated wave 2014-07-22 18:26:58 +04:00
Alexander Karsakov
5dd9263848 Multi-radix with kernel generation 2014-07-22 18:25:59 +04:00
Alexander Alekhin
9e3124a1c9 Merge pull request #2960 from ilya-lavrenov:tapi_perf_fix 2014-07-21 09:10:24 +00:00
PhilLab
e82241cba5 Function for drawing arrows
Porting the [PR 2970](https://github.com/Itseez/opencv/pull/2970) To the new InputOutputArray type
2014-07-18 10:04:44 +02:00
Vadim Pisarevsky
8f8450793a Merge pull request #2964 from vbystricky:highgui_split 2014-07-16 19:29:36 +00:00
Vadim Pisarevsky
b63a7e66db Merge pull request #2953 from gongzg:master 2014-07-14 19:21:15 +00:00
vbystricky
d58f736935 Split highgui module to videoio and highgui 2014-07-14 23:16:47 +04:00
Alexander Alekhin
e169083fed Merge pull request #2918 from vbystricky:oclopt_reduce2 2014-07-12 05:00:57 +00:00
Alexander Alekhin
df74a266cf Merge pull request #2963 from ilya-lavrenov:tapi_bufferpool 2014-07-11 14:55:13 +00:00
Alexander Alekhin
0876ec7a67 Merge pull request #2935 from vbystricky:oclopt_meanStdDev 2014-07-11 14:53:46 +00:00
Alexander Alekhin
cbf63b0709 Merge pull request #2851 from ilya-lavrenov:tapi_set_identity 2014-07-11 10:00:16 +00:00
Ilya Lavrenov
f2a2467de3 enabled BufferPool 2014-07-11 12:21:10 +04:00
Ilya Lavrenov
c949845a6b fixed perf test 2014-07-10 16:03:31 +04:00
Alexander Alekhin
a0816c6d15 Merge pull request #2927 from ilya-lavrenov:tapi_lut 2014-07-10 09:38:37 +00:00
Zhigang Gong
2e49ca4903 Avoid unmap an umat(ocl) which hasn't been mapped at all.
According to opencl 1.2 spec 5.4.2:
  enqueues a command to unmap a previously mapped region of a memory object.
  ...
  CL_INVALID_VALUE if mapped_ptr is not a valid pointer returned by
  clEnqueueMapBuffer, or clEnqueueMapImage for memobj.

So if the u->data is not from a clEnqueueMapBuffer call, we should not
call clEnqueueUnmapMemObject() unmap it. With this patch, the cases
./opencv_test_video --gtest_filter=OCL_Video/FarnebackOpticalFlow.Mat/*
could work well with beignet 0.9.1, Otherwise, it will get a
CL_INVALID_VALUE at the clEnqueueUnmapMemObject().

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2014-07-09 16:21:20 +08:00
Roman Donchenko
a3bde36c84 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/include/opencv2/calib3d/calib3d.hpp
	modules/contrib/doc/facerec/facerec_api.rst
	modules/contrib/include/opencv2/contrib/contrib.hpp
	modules/contrib/src/facerec.cpp
	modules/core/include/opencv2/core/mat.hpp
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/highgui/src/loadsave.cpp
	modules/imgproc/src/pyramids.cpp
	modules/ocl/include/opencv2/ocl/cl_runtime/cl_runtime.hpp
	modules/python/src2/gen.py
	modules/python/test/test.py
	modules/superres/test/test_superres.cpp
	samples/cpp/facerec_demo.cpp
2014-07-08 14:33:56 +04:00
Alexander Alekhin
e79ceb4b45 Merge pull request #2936 from ilya-lavrenov:tapi_minmaxloc_opt 2014-07-08 07:30:49 +00:00
Vadim Pisarevsky
e1553d5da3 Merge pull request #2929 from ilya-lavrenov:sse_pow 2014-07-07 11:22:26 +00:00
Vadim Pisarevsky
b2ab1b758a Merge pull request #2937 from ilya-lavrenov:sse_patch_nans 2014-07-07 11:20:30 +00:00
Ilya Lavrenov
e2b86974ae SSE2 optimization of cv::patchNaNs 2014-07-04 10:27:44 +04:00
Ilya Lavrenov
e04c39b089 SSE2 optimization of cv::inRange 2014-07-04 10:11:18 +04:00
Alexander Alekhin
964b260937 Merge pull request #2932 from ilya-lavrenov:tapi_other_vendors 2014-07-03 13:02:41 +00:00
Ilya Lavrenov
55d84cf815 optimization of cv::minMaxLoc - used min/max 2014-07-03 16:56:22 +04:00
vbystricky
690c932d7f Change groups count for Intel 2014-07-03 15:50:56 +04:00
Ilya Lavrenov
2fe07abf83 use vectors for devices of all vendors 2014-07-03 15:32:34 +04:00
Alexander Alekhin
c5d3c08256 ocl: add try-catch for OpenCL device getter 2014-07-03 12:18:19 +04:00
Ilya Lavrenov
e5b63d43f2 sse2 optimization of inv_sqrt_64f 2014-07-03 01:33:49 +04:00
Ilya Lavrenov
10c772fa7f minor optimization of cv::LUT 2014-07-02 18:50:21 +04:00
Vadim Pisarevsky
0e534b5a25 Merge pull request #2923 from alalek:ocl_default_device_ignore_cpu 2014-07-02 09:56:59 +00:00
vbystricky
a3b9884674 Change global buffer to local 2014-07-02 11:36:25 +04:00
Vadim Pisarevsky
15197eb09b Merge pull request #2911 from ilya-lavrenov:sse2_convert_scale_abs 2014-07-01 17:31:37 +00:00
Alexander Alekhin
157257b072 ocl: don't use OpenCL CPU device in default setup 2014-07-01 14:25:31 +04:00
Ilya Lavrenov
972119bff3 sse2 optimization of cv::convertScaleAbs 2014-07-01 02:21:00 +04:00
Ilya Lavrenov
54e4ef657c optimized cv::transpose inplace 2014-07-01 00:36:13 +04:00
Ilya Lavrenov
9c8b9fc733 cv::transpose 2014-06-30 19:07:45 +04:00
Alexander Alekhin
cbd0511a56 Merge pull request #2907 from ilya-lavrenov:tapi_perf_transpose 2014-06-30 14:59:36 +00:00
Ilya Lavrenov
978f7eb44a added perf test for transpose inplace 2014-06-30 18:33:26 +04:00
Roman Donchenko
ebb0255e19 Remove a couple of useless casts in core headers
This helps users who compile their code with -Wuseless-cast.
2014-06-30 16:12:04 +04:00
Alexander Alekhin
b304868d91 Merge pull request #2886 from ilya-lavrenov:tapi_inrange 2014-06-30 10:04:04 +00:00
Alexander Alekhin
2d81595ed4 Merge pull request #2852 from ilya-lavrenov:tapi_abs 2014-06-27 08:21:06 +00:00
Roman Donchenko
e8850bf84a Merge pull request #2626 from KayKwon:matlab_formatter 2014-06-26 17:40:26 +04:00
Roman Donchenko
436342d5f4 Merge pull request #2880 from GravityJack:SparseMatIterator-build-fix 2014-06-25 16:32:18 +04:00
Roman Donchenko
b21b8ff9d7 Merge pull request #2891 from nisargthakkar:dims_zero_on_release 2014-06-25 16:27:33 +04:00
Vadim Pisarevsky
07c0d50edf put the detection-based tracker back (to objdetect module), so that the Android face detection sample builds fine. The patch by Konstantin Matskevich that adds C++11 threads support has been merged in too. Also, fixed compile error in the doc builder. 2014-06-24 21:16:09 +04:00
Nisarg Thakkar
98421e5970 Fix for Bug#3757: All dimension values are 0 after release is called 2014-06-23 20:15:23 +05:30
Alexander Alekhin
4f1d06d14a Merge pull request #2874 from vbystricky:ocl_LUTAMDfix 2014-06-23 14:23:26 +00:00
Ilya Lavrenov
e89cee35e5 optimized cv::inRange 2014-06-23 13:12:08 +04:00
Ilya Lavrenov
0528d2e2b3 added 32s to 32u conversion 2014-06-23 13:09:54 +04:00
Alexander Alekhin
07446ec954 Merge pull request #2847 from ilya-lavrenov:tapi_pow 2014-06-20 08:47:18 +00:00
Marc Rollins
05e0b3b7e6 Fixing build error when using post-increment operator. 2014-06-19 14:14:10 -07:00
Alexander Alekhin
d9daa0cbaa ocl: added runtime flags for debugging 2014-06-19 17:52:46 +04:00
vbystricky
ea6da6ee95 Change uchar2 to short 2014-06-18 15:44:56 +04:00
vbystricky
9391ccfe35 Move some variables into #ifdef 2014-06-18 15:03:09 +04:00
Hans Johnson
4c7ed03b5f COMP: Fix problem with narrowing in c++11
modules/core/src/arithm.cpp:345:51:
error: constant expression evaluates to 4294967295 which cannot be narrowed to type 'int' [-Wc++11-narrowing]
static int CV_DECL_ALIGNED(16) v64f_absmask[] = { 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff };
                                                  ^~~~~~~~~~

Converted to unsigned int.  This variable is only used to initialize a bit pattern anywhy for a 128bit type.
2014-06-17 15:49:06 -05:00
Ilya Lavrenov
6dd658a0af optimized cv::setIdentity 2014-06-16 13:41:43 +04:00
Ilya Lavrenov
316c044e06 used abs in reduction operations 2014-06-11 18:54:43 +04:00
Ilya Lavrenov
f1e24381d1 used abs 2014-06-11 18:33:46 +04:00
Ilya Lavrenov
b2c2aabd04 used built-in functions 2014-06-11 18:32:42 +04:00