Skip to content

Commit

Permalink
workin on first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
npisanti committed Jan 12, 2016
1 parent e6a4042 commit ed8e05b
Show file tree
Hide file tree
Showing 5 changed files with 130 additions and 28 deletions.
91 changes: 91 additions & 0 deletions .gitignore
@@ -0,0 +1,91 @@
# Some general ignore patterns

*/bin/*
!*/bin/data/
# for bin folder in root
/bin/*
!/bin/data/

build/
obj/
*.o
Debug*/
Release*/
*.mode*
*.app/
*.pyc
.svn/

# IDE-specific ignore patterns (e.g. user-specific files)

#XCode
*.pbxuser
*.perspective
*.perspectivev3
*.mode1v3
*.mode2v3
#XCode 4
xcuserdata
*.xcworkspace

#Code::Blocks
*.depend
*.layout
*.cbTemp

#Visual Studio
*.sdf
*.opensdf
*.suo
ipch/

#Eclipse
.metadata
local.properties
.externalToolBuilders


#codelite
*.session
*.tags
*.workspace.*

# OS-specific ignore patterns

#Linux
*~
# KDE
.directory

#OSX
.DS_Store
*.swp
*~.nib
# Thumbnails
._*

#Windows
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini

#Android
.csettings

# Packages
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases
*.log
*.sql
*.sqlite
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -4,3 +4,5 @@ An addon that implements allocation of arrays of memory-aligned floats and SIMD-
Remember to compile with optimizations enabled ( -O2 or -O3 ).
Check example-guide for a quick tutorial.
Remember to execute example-performance and check the performance improvements on all the operations, sometimes the compiler already generating accelerated code, but remember that the example is easy to vectorize for the compiler and by simply restructuring your code as structs-of-arrays you can achieve a performance boost. I've seen the best improvements on the Raspberry Pi and on a Window i3 machine, and the code for all the mathematical functions (sin, cos, log ... ) are always faster (when compiled with -O3 ).

Nicola Pisanti, MIT License 2016. Some files by Julien Pommer 2007-2011, with zlib license. Check license.md for more.
36 changes: 36 additions & 0 deletions license.md
@@ -0,0 +1,36 @@
The code in this repository is available under the [MIT License](https://secure.wikimedia.org/wikipedia/en/wiki/Mit_license).

Copyright (c) 2016 [Nicola Pisanti](http://npisanti.com)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-------------

files under src/fuctions/mathfun originally written by Julien Pommier, slightly modified for including into this repo

Copyright (C) 2007 Julien Pommier
Copyright (C) 2011 Julien Pommier
with zlib license:

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
(this is the zlib license)
1 change: 0 additions & 1 deletion src/core/activate.h
@@ -1,5 +1,4 @@


#ifndef OFX_SIMDFLOATS_ACTIVATE_H_INCLUDED
#define OFX_SIMDFLOATS_ACTIVATE_H_INCLUDED

Expand Down
28 changes: 1 addition & 27 deletions src/functions/simd_wrapper.h
@@ -1,30 +1,4 @@
/*
MEMO OF SIMD FUNCTIONS
- set to zero
SSE: _mm_setzero_ps() NEON: vdupq_n_f32(0)
- set1 scalar
SSE: _mm_set1_ps(float s) NEON: vdupq_n_f32(float s)
- load pointer
SSE: _mm_load_ps(float* p); NEON: vld1q_f32(float* p);
SSE: _mm_loadu_ps(float* p);
- store data
SSE: _mm_store_ps(float* p, f128 a); NEON: vst1q_f32(float* p, f128 a);
SSE: _mm_storeu_ps(float* p, f128 a);
- convert float to int (and truncate)
SSE: _mm_cvttps_epi32(f128 a); NEON: vcvtq_s32_f32( f128 a );
- convert int to float
SSE: _mm_cvtepi32_ps( i128 a); NEON: vcvtq_f32_s32( i128 a );
- integer binary shift
SSE: _mm_sll_epi32(i128 a, i128 shift) NEON: vshlq_s32(i128 a, i128 shift);
*/


#ifndef OFX_SIMDFLOATS_SIMD_WRAPPER_H_INCLUDED
#define OFX_SIMDFLOATS_SIMD_WRAPPER_H_INCLUDED
Expand Down

0 comments on commit ed8e05b

Please sign in to comment.