add iOS demo.
authorZhongwei Yao <zhongwei.yao@arm.com>
Sat, 8 Jun 2013 03:04:29 +0000 (11:04 +0800)
committerZhongwei Yao <zhongwei.yao@arm.com>
Sat, 8 Jun 2013 03:04:29 +0000 (11:04 +0800)
33 files changed:
CMakeLists.txt
ios/CMakeLists.txt [new file with mode: 0644]
ios/NE10Demo/Default-568h@2x.png [new file with mode: 0644]
ios/NE10Demo/Default-Portrait@2x~ipad.png [new file with mode: 0644]
ios/NE10Demo/Default-Portrait~ipad.png [new file with mode: 0644]
ios/NE10Demo/Default.png [new file with mode: 0644]
ios/NE10Demo/Default@2x.png [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/project.pbxproj [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/xcuserdata/zhongwei.xcuserdatad/WorkspaceSettings.xcsettings [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/NE10Demo.xcscheme [new file with mode: 0644]
ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/xcschememanagement.plist [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10Demo-Info.plist [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10Demo-Prefix.pch [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.h [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.m [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10DemoViewController.h [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10DemoViewController.m [new file with mode: 0644]
ios/NE10Demo/NE10Demo/NE10_runtest.c [new file with mode: 0644]
ios/NE10Demo/NE10Demo/demo.html [new file with mode: 0644]
ios/NE10Demo/NE10Demo/en.lproj/InfoPlist.strings [new file with mode: 0644]
ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPad.storyboard [new file with mode: 0644]
ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPhone.storyboard [new file with mode: 0644]
ios/NE10Demo/NE10Demo/main.js [new file with mode: 0644]
ios/NE10Demo/NE10Demo/main.m [new file with mode: 0644]
ios/NE10Demo/NE10Demo/test_funcs.h [new file with mode: 0644]
ios/NE10Demo/icon_pad1.png [new file with mode: 0644]
ios/NE10Demo/icon_pad2.png [new file with mode: 0644]
ios/NE10Demo/icon_phone1.png [new file with mode: 0644]
ios/NE10Demo/icon_phone2.png [new file with mode: 0644]
ios/ios_config.cmake
modules/CMakeLists.txt

index e0fb42d..71a04de 100644 (file)
@@ -83,3 +83,7 @@ endif()
 if(NE10_BUILD_UNIT_TEST)
     add_subdirectory(test)
 endif()
+
+if(IOS_PLATFORM AND IOS_DEMO)
+    add_subdirectory(ios)
+endif()
diff --git a/ios/CMakeLists.txt b/ios/CMakeLists.txt
new file mode 100644 (file)
index 0000000..848b424
--- /dev/null
@@ -0,0 +1,71 @@
+#
+#  Copyright 2013 ARM Limited
+#  All rights reserved.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions are met:
+#    * Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#    * Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#    * Neither the name of ARM Limited nor the
+#      names of its contributors may be used to endorse or promote products
+#      derived from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+#  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+#  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+#  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+#  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+#  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+#  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+#  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+#  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# we run performance test in iOS Demo
+add_definitions(-DPERFORMANCE_TEST)
+
+include_directories (
+    ${PROJECT_SOURCE_DIR}/inc
+    ${PROJECT_SOURCE_DIR}/test/include
+)
+
+# Define common test files.
+set(NE10_TEST_COMMON_SRCS
+    ${PROJECT_SOURCE_DIR}/test/src/seatest.c
+    ${PROJECT_SOURCE_DIR}/test/src/unit_test_common.c
+    ${PROJECT_SOURCE_DIR}/test/src/NE10_random.c
+)
+
+# Define math test files.
+set(NE10_TEST_MATH_SRCS
+    ${PROJECT_SOURCE_DIR}/modules/math/test/test_suite_math.c
+)
+
+# Define dsp test files.
+set(NE10_TEST_DSP_SRCS
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_main.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_cfft.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_rfft.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_fir.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_fir_decimate.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_fir_interpolate.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_fir_lattice.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_fir_sparse.c
+    ${PROJECT_SOURCE_DIR}/modules/dsp/test/test_suite_iir.c
+)
+
+add_library(NE10_test_demo STATIC ${NE10_TEST_MATH_SRCS} ${NE10_TEST_COMMON_SRCS} ${NE10_TEST_DSP_SRCS})
+
+#add the static NE10 to target
+target_link_libraries(NE10_test_demo
+    NE10
+    m
+)
+
+#install NE10_test_demo library to iOS demo directory.
+install(TARGETS NE10_test_demo
+    DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/NE10Demo/libs/)
\ No newline at end of file
diff --git a/ios/NE10Demo/Default-568h@2x.png b/ios/NE10Demo/Default-568h@2x.png
new file mode 100644 (file)
index 0000000..5e7f9d2
Binary files /dev/null and b/ios/NE10Demo/Default-568h@2x.png differ
diff --git a/ios/NE10Demo/Default-Portrait@2x~ipad.png b/ios/NE10Demo/Default-Portrait@2x~ipad.png
new file mode 100644 (file)
index 0000000..5e7f9d2
Binary files /dev/null and b/ios/NE10Demo/Default-Portrait@2x~ipad.png differ
diff --git a/ios/NE10Demo/Default-Portrait~ipad.png b/ios/NE10Demo/Default-Portrait~ipad.png
new file mode 100644 (file)
index 0000000..5e7f9d2
Binary files /dev/null and b/ios/NE10Demo/Default-Portrait~ipad.png differ
diff --git a/ios/NE10Demo/Default.png b/ios/NE10Demo/Default.png
new file mode 100644 (file)
index 0000000..5e7f9d2
Binary files /dev/null and b/ios/NE10Demo/Default.png differ
diff --git a/ios/NE10Demo/Default@2x.png b/ios/NE10Demo/Default@2x.png
new file mode 100644 (file)
index 0000000..5e7f9d2
Binary files /dev/null and b/ios/NE10Demo/Default@2x.png differ
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/project.pbxproj b/ios/NE10Demo/NE10Demo.xcodeproj/project.pbxproj
new file mode 100644 (file)
index 0000000..39139c0
--- /dev/null
@@ -0,0 +1,383 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 46;
+       objects = {
+
+/* Begin PBXBuildFile section */
+               4AA09B0D1737BB8900276C69 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AA09B0C1737BB8900276C69 /* UIKit.framework */; };
+               4AA09B0F1737BB8900276C69 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AA09B0E1737BB8900276C69 /* Foundation.framework */; };
+               4AA09B111737BB8900276C69 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AA09B101737BB8900276C69 /* CoreGraphics.framework */; };
+               4AA09B171737BB8900276C69 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4AA09B151737BB8900276C69 /* InfoPlist.strings */; };
+               4AA09B191737BB8900276C69 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AA09B181737BB8900276C69 /* main.m */; };
+               4AA09B1D1737BB8900276C69 /* NE10DemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AA09B1C1737BB8900276C69 /* NE10DemoAppDelegate.m */; };
+               4AA09B261737BB8900276C69 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4AA09B241737BB8900276C69 /* MainStoryboard_iPhone.storyboard */; };
+               4AA09B291737BB8900276C69 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4AA09B271737BB8900276C69 /* MainStoryboard_iPad.storyboard */; };
+               4AA09B2C1737BB8900276C69 /* NE10DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AA09B2B1737BB8900276C69 /* NE10DemoViewController.m */; };
+               4AA09B341737C83A00276C69 /* demo.html in Resources */ = {isa = PBXBuildFile; fileRef = 4AA09B321737C83A00276C69 /* demo.html */; };
+               4AA09B351737C83A00276C69 /* main.js in Resources */ = {isa = PBXBuildFile; fileRef = 4AA09B331737C83A00276C69 /* main.js */; };
+               4AA09B3B1738F6C700276C69 /* NE10_runtest.c in Sources */ = {isa = PBXBuildFile; fileRef = 4AA09B3A1738F6C600276C69 /* NE10_runtest.c */; };
+               4AB4A698175DE7FD001CC2C9 /* icon_phone1.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A697175DE7FD001CC2C9 /* icon_phone1.png */; };
+               4AB4A69A175DE801001CC2C9 /* icon_phone2.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A699175DE801001CC2C9 /* icon_phone2.png */; };
+               4AB4A69C175DE807001CC2C9 /* icon_pad1.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A69B175DE807001CC2C9 /* icon_pad1.png */; };
+               4AB4A69E175DE80B001CC2C9 /* icon_pad2.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A69D175DE80B001CC2C9 /* icon_pad2.png */; };
+               4AB4A6A0175DE814001CC2C9 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A69F175DE814001CC2C9 /* Default-Portrait~ipad.png */; };
+               4AB4A6A2175DE81B001CC2C9 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A6A1175DE81B001CC2C9 /* Default-Portrait@2x~ipad.png */; };
+               4AB4A6A4175DE823001CC2C9 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A6A3175DE823001CC2C9 /* Default.png */; };
+               4AB4A6A6175DE826001CC2C9 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A6A5175DE826001CC2C9 /* Default@2x.png */; };
+               4AB4A6A8175DE82A001CC2C9 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4AB4A6A7175DE82A001CC2C9 /* Default-568h@2x.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+               4AA09B091737BB8900276C69 /* NE10Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NE10Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+               4AA09B0C1737BB8900276C69 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+               4AA09B0E1737BB8900276C69 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+               4AA09B101737BB8900276C69 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+               4AA09B141737BB8900276C69 /* NE10Demo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "NE10Demo-Info.plist"; sourceTree = "<group>"; };
+               4AA09B161737BB8900276C69 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+               4AA09B181737BB8900276C69 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               4AA09B1A1737BB8900276C69 /* NE10Demo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NE10Demo-Prefix.pch"; sourceTree = "<group>"; };
+               4AA09B1B1737BB8900276C69 /* NE10DemoAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NE10DemoAppDelegate.h; sourceTree = "<group>"; };
+               4AA09B1C1737BB8900276C69 /* NE10DemoAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NE10DemoAppDelegate.m; sourceTree = "<group>"; };
+               4AA09B251737BB8900276C69 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
+               4AA09B281737BB8900276C69 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
+               4AA09B2A1737BB8900276C69 /* NE10DemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NE10DemoViewController.h; sourceTree = "<group>"; };
+               4AA09B2B1737BB8900276C69 /* NE10DemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NE10DemoViewController.m; sourceTree = "<group>"; };
+               4AA09B321737C83A00276C69 /* demo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = demo.html; sourceTree = "<group>"; };
+               4AA09B331737C83A00276C69 /* main.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = main.js; sourceTree = "<group>"; };
+               4AA09B391738F6C600276C69 /* test_funcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test_funcs.h; sourceTree = "<group>"; };
+               4AA09B3A1738F6C600276C69 /* NE10_runtest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = NE10_runtest.c; sourceTree = "<group>"; };
+               4AB4A697175DE7FD001CC2C9 /* icon_phone1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon_phone1.png; path = ../icon_phone1.png; sourceTree = "<group>"; };
+               4AB4A699175DE801001CC2C9 /* icon_phone2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon_phone2.png; path = ../icon_phone2.png; sourceTree = "<group>"; };
+               4AB4A69B175DE807001CC2C9 /* icon_pad1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon_pad1.png; path = ../icon_pad1.png; sourceTree = "<group>"; };
+               4AB4A69D175DE80B001CC2C9 /* icon_pad2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon_pad2.png; path = ../icon_pad2.png; sourceTree = "<group>"; };
+               4AB4A69F175DE814001CC2C9 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Portrait~ipad.png"; path = "../Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+               4AB4A6A1175DE81B001CC2C9 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Portrait@2x~ipad.png"; path = "../Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+               4AB4A6A3175DE823001CC2C9 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = ../Default.png; sourceTree = "<group>"; };
+               4AB4A6A5175DE826001CC2C9 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default@2x.png"; path = "../Default@2x.png"; sourceTree = "<group>"; };
+               4AB4A6A7175DE82A001CC2C9 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-568h@2x.png"; path = "../Default-568h@2x.png"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               4AA09B061737BB8900276C69 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               4AA09B0D1737BB8900276C69 /* UIKit.framework in Frameworks */,
+                               4AA09B0F1737BB8900276C69 /* Foundation.framework in Frameworks */,
+                               4AA09B111737BB8900276C69 /* CoreGraphics.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               4AA09B001737BB8900276C69 = {
+                       isa = PBXGroup;
+                       children = (
+                               4AA09B121737BB8900276C69 /* NE10Demo */,
+                               4AA09B0B1737BB8900276C69 /* Frameworks */,
+                               4AA09B0A1737BB8900276C69 /* Products */,
+                       );
+                       sourceTree = "<group>";
+               };
+               4AA09B0A1737BB8900276C69 /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               4AA09B091737BB8900276C69 /* NE10Demo.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               4AA09B0B1737BB8900276C69 /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               4AA09B0C1737BB8900276C69 /* UIKit.framework */,
+                               4AA09B0E1737BB8900276C69 /* Foundation.framework */,
+                               4AA09B101737BB8900276C69 /* CoreGraphics.framework */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               4AA09B121737BB8900276C69 /* NE10Demo */ = {
+                       isa = PBXGroup;
+                       children = (
+                               4AA09B391738F6C600276C69 /* test_funcs.h */,
+                               4AA09B3A1738F6C600276C69 /* NE10_runtest.c */,
+                               4AA09B321737C83A00276C69 /* demo.html */,
+                               4AA09B331737C83A00276C69 /* main.js */,
+                               4AA09B1B1737BB8900276C69 /* NE10DemoAppDelegate.h */,
+                               4AA09B1C1737BB8900276C69 /* NE10DemoAppDelegate.m */,
+                               4AA09B241737BB8900276C69 /* MainStoryboard_iPhone.storyboard */,
+                               4AA09B271737BB8900276C69 /* MainStoryboard_iPad.storyboard */,
+                               4AA09B2A1737BB8900276C69 /* NE10DemoViewController.h */,
+                               4AA09B2B1737BB8900276C69 /* NE10DemoViewController.m */,
+                               4AA09B131737BB8900276C69 /* Supporting Files */,
+                       );
+                       path = NE10Demo;
+                       sourceTree = "<group>";
+               };
+               4AA09B131737BB8900276C69 /* Supporting Files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               4AB4A6A7175DE82A001CC2C9 /* Default-568h@2x.png */,
+                               4AB4A6A5175DE826001CC2C9 /* Default@2x.png */,
+                               4AB4A6A3175DE823001CC2C9 /* Default.png */,
+                               4AB4A6A1175DE81B001CC2C9 /* Default-Portrait@2x~ipad.png */,
+                               4AB4A69F175DE814001CC2C9 /* Default-Portrait~ipad.png */,
+                               4AB4A69D175DE80B001CC2C9 /* icon_pad2.png */,
+                               4AB4A69B175DE807001CC2C9 /* icon_pad1.png */,
+                               4AB4A699175DE801001CC2C9 /* icon_phone2.png */,
+                               4AB4A697175DE7FD001CC2C9 /* icon_phone1.png */,
+                               4AA09B141737BB8900276C69 /* NE10Demo-Info.plist */,
+                               4AA09B151737BB8900276C69 /* InfoPlist.strings */,
+                               4AA09B181737BB8900276C69 /* main.m */,
+                               4AA09B1A1737BB8900276C69 /* NE10Demo-Prefix.pch */,
+                       );
+                       name = "Supporting Files";
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+               4AA09B081737BB8900276C69 /* NE10Demo */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 4AA09B2F1737BB8900276C69 /* Build configuration list for PBXNativeTarget "NE10Demo" */;
+                       buildPhases = (
+                               4AA09B051737BB8900276C69 /* Sources */,
+                               4AA09B061737BB8900276C69 /* Frameworks */,
+                               4AA09B071737BB8900276C69 /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = NE10Demo;
+                       productName = NE10Demo;
+                       productReference = 4AA09B091737BB8900276C69 /* NE10Demo.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               4AA09B011737BB8900276C69 /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               CLASSPREFIX = NE10Demo;
+                               LastUpgradeCheck = 0460;
+                               ORGANIZATIONNAME = zhongwei;
+                       };
+                       buildConfigurationList = 4AA09B041737BB8900276C69 /* Build configuration list for PBXProject "NE10Demo" */;
+                       compatibilityVersion = "Xcode 3.2";
+                       developmentRegion = English;
+                       hasScannedForEncodings = 0;
+                       knownRegions = (
+                               en,
+                       );
+                       mainGroup = 4AA09B001737BB8900276C69;
+                       productRefGroup = 4AA09B0A1737BB8900276C69 /* Products */;
+                       projectDirPath = "";
+                       projectRoot = "";
+                       targets = (
+                               4AA09B081737BB8900276C69 /* NE10Demo */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+               4AA09B071737BB8900276C69 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               4AA09B351737C83A00276C69 /* main.js in Resources */,
+                               4AA09B171737BB8900276C69 /* InfoPlist.strings in Resources */,
+                               4AA09B261737BB8900276C69 /* MainStoryboard_iPhone.storyboard in Resources */,
+                               4AA09B291737BB8900276C69 /* MainStoryboard_iPad.storyboard in Resources */,
+                               4AA09B341737C83A00276C69 /* demo.html in Resources */,
+                               4AB4A698175DE7FD001CC2C9 /* icon_phone1.png in Resources */,
+                               4AB4A69A175DE801001CC2C9 /* icon_phone2.png in Resources */,
+                               4AB4A69C175DE807001CC2C9 /* icon_pad1.png in Resources */,
+                               4AB4A69E175DE80B001CC2C9 /* icon_pad2.png in Resources */,
+                               4AB4A6A0175DE814001CC2C9 /* Default-Portrait~ipad.png in Resources */,
+                               4AB4A6A2175DE81B001CC2C9 /* Default-Portrait@2x~ipad.png in Resources */,
+                               4AB4A6A4175DE823001CC2C9 /* Default.png in Resources */,
+                               4AB4A6A6175DE826001CC2C9 /* Default@2x.png in Resources */,
+                               4AB4A6A8175DE82A001CC2C9 /* Default-568h@2x.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               4AA09B051737BB8900276C69 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               4AA09B191737BB8900276C69 /* main.m in Sources */,
+                               4AA09B1D1737BB8900276C69 /* NE10DemoAppDelegate.m in Sources */,
+                               4AA09B2C1737BB8900276C69 /* NE10DemoViewController.m in Sources */,
+                               4AA09B3B1738F6C700276C69 /* NE10_runtest.c in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+               4AA09B151737BB8900276C69 /* InfoPlist.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               4AA09B161737BB8900276C69 /* en */,
+                       );
+                       name = InfoPlist.strings;
+                       sourceTree = "<group>";
+               };
+               4AA09B241737BB8900276C69 /* MainStoryboard_iPhone.storyboard */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               4AA09B251737BB8900276C69 /* en */,
+                       );
+                       name = MainStoryboard_iPhone.storyboard;
+                       sourceTree = "<group>";
+               };
+               4AA09B271737BB8900276C69 /* MainStoryboard_iPad.storyboard */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               4AA09B281737BB8900276C69 /* en */,
+                       );
+                       name = MainStoryboard_iPad.storyboard;
+                       sourceTree = "<group>";
+               };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+               4AA09B2D1737BB8900276C69 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+                               CLANG_CXX_LIBRARY = "libc++";
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               COPY_PHASE_STRIP = NO;
+                               GCC_C_LANGUAGE_STANDARD = gnu99;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PREPROCESSOR_DEFINITIONS = (
+                                       "DEBUG=1",
+                                       "$(inherited)",
+                               );
+                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+                               ONLY_ACTIVE_ARCH = YES;
+                               SDKROOT = iphoneos;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                       };
+                       name = Debug;
+               };
+               4AA09B2E1737BB8900276C69 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+                               CLANG_CXX_LIBRARY = "libc++";
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               COPY_PHASE_STRIP = YES;
+                               GCC_C_LANGUAGE_STANDARD = gnu99;
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+                               OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+                               SDKROOT = iphoneos;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                               VALIDATE_PRODUCT = YES;
+                       };
+                       name = Release;
+               };
+               4AA09B301737BB8900276C69 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "NE10Demo/NE10Demo-Prefix.pch";
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(SRCROOT)/../../inc/\"",
+                                       "\"$(SRCROOT)/../../test/include\"",
+                                       "\"$(SRCROOT)\"",
+                               );
+                               INFOPLIST_FILE = "NE10Demo/NE10Demo-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+                               LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/libs/\"";
+                               OTHER_LDFLAGS = (
+                                       "-lNE10",
+                                       "-lNE10_test_demo",
+                               );
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                               VALID_ARCHS = "armv7s armv7";
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = Debug;
+               };
+               4AA09B311737BB8900276C69 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "NE10Demo/NE10Demo-Prefix.pch";
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(SRCROOT)/../../inc/\"",
+                                       "\"$(SRCROOT)/../../test/include\"",
+                                       "\"$(SRCROOT)\"",
+                               );
+                               INFOPLIST_FILE = "NE10Demo/NE10Demo-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+                               LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/libs/\"";
+                               OTHER_LDFLAGS = (
+                                       "-lNE10",
+                                       "-lNE10_test_demo",
+                               );
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                               VALID_ARCHS = "armv7s armv7";
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               4AA09B041737BB8900276C69 /* Build configuration list for PBXProject "NE10Demo" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               4AA09B2D1737BB8900276C69 /* Debug */,
+                               4AA09B2E1737BB8900276C69 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               4AA09B2F1737BB8900276C69 /* Build configuration list for PBXNativeTarget "NE10Demo" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               4AA09B301737BB8900276C69 /* Debug */,
+                               4AA09B311737BB8900276C69 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 4AA09B011737BB8900276C69 /* Project object */;
+}
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644 (file)
index 0000000..ee966d3
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:NE10Demo.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/xcuserdata/zhongwei.xcuserdatad/WorkspaceSettings.xcsettings b/ios/NE10Demo/NE10Demo.xcodeproj/project.xcworkspace/xcuserdata/zhongwei.xcuserdatad/WorkspaceSettings.xcsettings
new file mode 100644 (file)
index 0000000..659c876
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
+       <true/>
+       <key>SnapshotAutomaticallyBeforeSignificantChanges</key>
+       <true/>
+</dict>
+</plist>
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
new file mode 100644 (file)
index 0000000..32c407f
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   type = "1"
+   version = "1.0">
+   <FileBreakpoints>
+      <FileBreakpoint
+         shouldBeEnabled = "No"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         filePath = "NE10Demo/NE10DemoViewController.m"
+         timestampString = "390910131.525853"
+         startingColumnNumber = "9223372036854775807"
+         endingColumnNumber = "9223372036854775807"
+         startingLineNumber = "45"
+         endingLineNumber = "45"
+         landmarkName = "-viewDidLoad"
+         landmarkType = "5">
+      </FileBreakpoint>
+      <FileBreakpoint
+         shouldBeEnabled = "No"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         filePath = "NE10Demo/NE10DemoViewController.m"
+         timestampString = "390911629.316709"
+         startingColumnNumber = "9223372036854775807"
+         endingColumnNumber = "9223372036854775807"
+         startingLineNumber = "66"
+         endingLineNumber = "66"
+         landmarkName = "-webView:shouldStartLoadWithRequest:navigationType:"
+         landmarkType = "5">
+      </FileBreakpoint>
+      <FileBreakpoint
+         shouldBeEnabled = "No"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         filePath = "NE10Demo/NE10DemoViewController.m"
+         timestampString = "390910979.078288"
+         startingColumnNumber = "9223372036854775807"
+         endingColumnNumber = "9223372036854775807"
+         startingLineNumber = "50"
+         endingLineNumber = "50"
+         landmarkName = "-viewDidLoad"
+         landmarkType = "5">
+      </FileBreakpoint>
+      <FileBreakpoint
+         shouldBeEnabled = "No"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         filePath = "NE10Demo/NE10DemoViewController.m"
+         timestampString = "390911141.975664"
+         startingColumnNumber = "9223372036854775807"
+         endingColumnNumber = "9223372036854775807"
+         startingLineNumber = "47"
+         endingLineNumber = "47"
+         landmarkName = "-viewDidLoad"
+         landmarkType = "5">
+      </FileBreakpoint>
+   </FileBreakpoints>
+   <SymbolicBreakpoints>
+      <AddressBreakpoint
+         shouldBeEnabled = "Yes"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         symbolName = "*0x2fe0c0c8">
+      </AddressBreakpoint>
+      <AddressBreakpoint
+         shouldBeEnabled = "Yes"
+         ignoreCount = "0"
+         continueAfterRunningActions = "No"
+         symbolName = "*0x2fe0c0c8">
+      </AddressBreakpoint>
+   </SymbolicBreakpoints>
+</Bucket>
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/NE10Demo.xcscheme b/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/NE10Demo.xcscheme
new file mode 100644 (file)
index 0000000..cf6dca9
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "4AA09B081737BB8900276C69"
+               BuildableName = "NE10Demo.app"
+               BlueprintName = "NE10Demo"
+               ReferencedContainer = "container:NE10Demo.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "4AA09B081737BB8900276C69"
+            BuildableName = "NE10Demo.app"
+            BlueprintName = "NE10Demo"
+            ReferencedContainer = "container:NE10Demo.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "4AA09B081737BB8900276C69"
+            BuildableName = "NE10Demo.app"
+            BlueprintName = "NE10Demo"
+            ReferencedContainer = "container:NE10Demo.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "4AA09B081737BB8900276C69"
+            BuildableName = "NE10Demo.app"
+            BlueprintName = "NE10Demo"
+            ReferencedContainer = "container:NE10Demo.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/NE10Demo/NE10Demo.xcodeproj/xcuserdata/zhongwei.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644 (file)
index 0000000..a7b7e0b
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>SchemeUserState</key>
+       <dict>
+               <key>NE10Demo.xcscheme</key>
+               <dict>
+                       <key>orderHint</key>
+                       <integer>0</integer>
+               </dict>
+       </dict>
+       <key>SuppressBuildableAutocreation</key>
+       <dict>
+               <key>4AA09B081737BB8900276C69</key>
+               <dict>
+                       <key>primary</key>
+                       <true/>
+               </dict>
+       </dict>
+</dict>
+</plist>
diff --git a/ios/NE10Demo/NE10Demo/NE10Demo-Info.plist b/ios/NE10Demo/NE10Demo/NE10Demo-Info.plist
new file mode 100644 (file)
index 0000000..3514d1e
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleDisplayName</key>
+       <string>${PRODUCT_NAME}</string>
+       <key>CFBundleExecutable</key>
+       <string>${EXECUTABLE_NAME}</string>
+       <key>CFBundleIcons</key>
+       <dict>
+               <key>CFBundlePrimaryIcon</key>
+               <dict>
+                       <key>CFBundleIconFiles</key>
+                       <array>
+                               <string>icon_phone1.png</string>
+                               <string>icon_phone2.png</string>
+                               <string>icon_pad1.png</string>
+                               <string>icon_pad2.png</string>
+                       </array>
+               </dict>
+       </dict>
+       <key>CFBundleIdentifier</key>
+       <string>ARM.${PRODUCT_NAME:rfc1034identifier}</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>${PRODUCT_NAME}</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.0</string>
+       <key>LSRequiresIPhoneOS</key>
+       <true/>
+       <key>UIMainStoryboardFile</key>
+       <string>MainStoryboard_iPhone</string>
+       <key>UIMainStoryboardFile~ipad</key>
+       <string>MainStoryboard_iPad</string>
+       <key>UIRequiredDeviceCapabilities</key>
+       <array>
+               <string>armv7</string>
+       </array>
+       <key>UISupportedInterfaceOrientations</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
+       <key>UISupportedInterfaceOrientations~ipad</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationPortraitUpsideDown</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
+</dict>
+</plist>
diff --git a/ios/NE10Demo/NE10Demo/NE10Demo-Prefix.pch b/ios/NE10Demo/NE10Demo/NE10Demo-Prefix.pch
new file mode 100644 (file)
index 0000000..7876c98
--- /dev/null
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'NE10Demo' target in the 'NE10Demo' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __OBJC__
+    #import <UIKit/UIKit.h>
+    #import <Foundation/Foundation.h>
+#endif
diff --git a/ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.h b/ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.h
new file mode 100644 (file)
index 0000000..c72a8c4
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <UIKit/UIKit.h>
+
+@interface NE10DemoAppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
diff --git a/ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.m b/ios/NE10Demo/NE10Demo/NE10DemoAppDelegate.m
new file mode 100644 (file)
index 0000000..320a1bc
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "NE10DemoAppDelegate.h"
+
+@implementation NE10DemoAppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+    // Override point for customization after application launch.
+    return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
diff --git a/ios/NE10Demo/NE10Demo/NE10DemoViewController.h b/ios/NE10Demo/NE10Demo/NE10DemoViewController.h
new file mode 100644 (file)
index 0000000..71bf7d0
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <UIKit/UIKit.h>
+
+@interface NE10DemoViewController : UIViewController {
+    NSString* ne10Result;
+    NSLock* lock;
+    volatile bool ne10Finished;
+}
+@property (weak, nonatomic) IBOutlet UIWebView *webView;
+@end
diff --git a/ios/NE10Demo/NE10Demo/NE10DemoViewController.m b/ios/NE10Demo/NE10Demo/NE10DemoViewController.m
new file mode 100644 (file)
index 0000000..51c07cb
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "NE10DemoViewController.h"
+#import "test_funcs.h"
+
+@interface NE10DemoViewController ()
+
+- (void)runNe10TestThreadMain;
+@end
+
+@implementation NE10DemoViewController
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+
+    self->lock = [[NSLock alloc] init];
+    self->ne10Finished = TRUE;
+    self->ne10Result = NULL;
+
+    self.webView.delegate = self;
+    NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"html" inDirectory:nil];
+    NSURL *url = [NSURL fileURLWithPath:htmlFile];
+    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
+
+    [self.webView loadRequest:requestObj];
+}
+
+- (void)didReceiveMemoryWarning
+{
+    [super didReceiveMemoryWarning];
+}
+
+// This function is called on all location change,
+// here we use this to communicate with javascript
+- (BOOL)webView:(UIWebView *)webView
+        shouldStartLoadWithRequest:(NSURLRequest *)request
+        navigationType:(UIWebViewNavigationType)navigationType {
+    NSURL *url = request.URL;
+    if ([[url scheme] isEqualToString:@"ne10"]) {
+        if (self->ne10Finished) {
+            //our ne10 test return "(null)" when all tests finished
+            if (self->ne10Result != NULL && ![self->ne10Result isEqual: @"\"(null)\""]) {
+                NSString *jsFunction = [NSString stringWithFormat:@"returnFromObjectivec(%@)", self->ne10Result];
+                [self.webView stringByEvaluatingJavaScriptFromString:jsFunction];
+            }
+            self->ne10Finished = FALSE;
+            NSThread* ne10TestThread = [[NSThread alloc] initWithTarget:self
+                                                               selector:@selector(runNe10TestThreadMain)
+                                                                 object:nil];
+            [ne10TestThread start];  // Actually create the thread
+        }
+        return NO;
+    }
+    // Accept this location change, it makes no sense here
+    return YES;
+}
+
+- (void)runNe10TestThreadMain {
+    //call ne10 performance test function
+    self->ne10Result = [NSString stringWithFormat:@"%s", NE10RunTest()];
+    //escape quote in string
+    self->ne10Result = [self->ne10Result stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
+    self->ne10Result = [NSString stringWithFormat:@"\"%@\"",self->ne10Result];
+    self->ne10Finished = TRUE;
+}
+
+@end
diff --git a/ios/NE10Demo/NE10Demo/NE10_runtest.c b/ios/NE10Demo/NE10Demo/NE10_runtest.c
new file mode 100644 (file)
index 0000000..ca11b6a
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "NE10.h"
+#include "test_funcs.h"
+#include "unit_test_common.h"
+
+char* NE10RunTest(void)
+{
+    static int test_count = 0;
+
+    void (*test_funcs[])(void) = {test_abs, test_addc, test_add, test_divc,
+                                  test_div, test_dot, test_len, test_mlac,
+                                  test_mla, test_mulc, test_mul, test_normalize,
+                                  test_rsbc, test_setc, test_subc, test_sub,
+                                  test_addmat, test_detmat, test_identitymat,
+                                  test_invmat, test_mulmat, test_mulcmatvec,
+                                  test_submat, test_transmat, test_cfft,
+                                  test_rfft, test_fir, test_fir_decimate,
+                                  test_fir_interpolate, test_fir_lattice,
+                                  test_fir_sparse, test_iir_lattice};
+
+    while (test_count < (sizeof(test_funcs) / sizeof(void (*)(void)))) {
+        /* ne10_log_buffer is a global buffer which contain test's result
+         * ne10_log_buffer's position need be setup first
+         */
+        ne10_log_buffer_ptr = ne10_log_buffer;
+        *ne10_log_buffer_ptr++ = '[';
+
+        (*test_funcs[test_count])();
+        ++test_count;
+
+        /* ne10_log_buffer_ptr is updated in test_funcs */
+        --ne10_log_buffer_ptr;
+        *ne10_log_buffer_ptr = ']';
+
+        return ne10_log_buffer;
+    }
+    return NULL;
+}
diff --git a/ios/NE10Demo/NE10Demo/demo.html b/ios/NE10Demo/NE10Demo/demo.html
new file mode 100644 (file)
index 0000000..e8299b8
--- /dev/null
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+   Copyright 2013 ARM Limited
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are met:
+     * Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+     * Neither the name of ARM Limited nor the
+       names of its contributors may be used to endorse or promote products
+       derived from this software without specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+   DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<html lang="en">
+
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <title>Ne10 Benchmark</title>
+        <style type="text/css" media="screen">
+            body {
+                background-color: gray;
+                color: white;
+                font-family:'Lucida Grande', Verdana, Arial;
+                font-size: 12px;
+                background-image: -webkit-gradient(radial, 50% 500, 1, 50% 500, 400, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0)));
+                background-repeat: no-repeat;
+            }
+            #title {
+                width: 100%;
+                color: yellow;
+                font-size: 24px;
+                text-shadow: 5px 5px 5px #FF0000;
+            }
+            #progress {
+                width: 100%;
+                color: white;
+                font-size: 20px;
+                position: fixed;
+                z-index: 1;
+                top: 8%;
+                left: 50%;
+            }
+            #progress_full {
+                width: 100%;
+                color: white;
+                font-size: 20px;
+                position: fixed;
+                z-index: 1;
+                top: 8%;
+                left: 59%;
+            }
+            #content {
+                width: 100%;
+            }
+            .block {
+                background-color: dodgerblue;
+                margin-top: 16px;
+                padding-bottom: 16px;
+                border-radius: 8px;
+            }
+            .bar {
+                text-align: right;
+                text-align: right;
+                height: 24px;
+                padding-right: 8px;
+            }
+
+        </style>
+        <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js""></script>
+        <script src="main.js"></script>
+    </head>
+
+    <body onload="javascript:start();">
+<!--
+    <div id="debug_message">
+    </div>
+-->
+             <h3 id="progress"></h3><h3 id="progress_full">/  114</h3>
+        <div id="head">
+            <h4 id="title">Ne10 Benchmark</h4>
+        </div>
+        <div id="content">
+        </div>
+    </body>
+
+</html>
diff --git a/ios/NE10Demo/NE10Demo/en.lproj/InfoPlist.strings b/ios/NE10Demo/NE10Demo/en.lproj/InfoPlist.strings
new file mode 100644 (file)
index 0000000..477b28f
--- /dev/null
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPad.storyboard b/ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPad.storyboard
new file mode 100644 (file)
index 0000000..d3e291f
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12D78" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" initialViewController="2">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
+    </dependencies>
+    <scenes>
+        <!--Demo View Controller-->
+        <scene sceneID="4">
+            <objects>
+                <viewController id="2" customClass="NE10DemoViewController" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="5">
+                        <rect key="frame" x="0.0" y="20" width="768" height="1004"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <webView contentMode="scaleToFill" id="KzR-EE-qov">
+                                <rect key="frame" x="-8" y="0.0" width="776" height="1216"/>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                            </webView>
+                        </subviews>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                    </view>
+                    <connections>
+                        <outlet property="webView" destination="KzR-EE-qov" id="Ofq-Qw-Mva"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="3" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-106" y="-86"/>
+        </scene>
+    </scenes>
+    <classes>
+        <class className="NE10DemoViewController" superclassName="UIViewController">
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/NE10DemoViewController.h"/>
+            <relationships>
+                <relationship kind="outlet" name="webView" candidateClass="UIWebView"/>
+            </relationships>
+        </class>
+    </classes>
+    <simulatedMetricsContainer key="defaultSimulatedMetrics">
+        <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
+        <simulatedOrientationMetrics key="orientation"/>
+        <simulatedScreenMetrics key="destination"/>
+    </simulatedMetricsContainer>
+</document>
\ No newline at end of file
diff --git a/ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPhone.storyboard b/ios/NE10Demo/NE10Demo/en.lproj/MainStoryboard_iPhone.storyboard
new file mode 100644 (file)
index 0000000..673be46
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12D78" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="2">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
+    </dependencies>
+    <scenes>
+        <!--Demo View Controller-->
+        <scene sceneID="5">
+            <objects>
+                <viewController id="2" customClass="NE10DemoViewController" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="3">
+                        <rect key="frame" x="0.0" y="20" width="320" height="548"/>
+                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                        <subviews>
+                            <webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qUs-nb-YAh">
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                            </webView>
+                        </subviews>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                        <constraints>
+                            <constraint firstItem="qUs-nb-YAh" firstAttribute="trailing" secondItem="3" secondAttribute="trailing" type="default" id="iHj-pK-emu"/>
+                            <constraint firstItem="qUs-nb-YAh" firstAttribute="top" secondItem="3" secondAttribute="top" type="default" id="nMZ-Zf-lXK"/>
+                            <constraint firstItem="qUs-nb-YAh" firstAttribute="leading" secondItem="3" secondAttribute="leading" type="default" id="nia-lS-JNc"/>
+                            <constraint firstItem="qUs-nb-YAh" firstAttribute="bottom" secondItem="3" secondAttribute="bottom" type="default" id="w9w-eY-hQ9"/>
+                        </constraints>
+                    </view>
+                    <connections>
+                        <outlet property="webView" destination="qUs-nb-YAh" id="Xdj-Lj-KvM"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
+            </objects>
+        </scene>
+    </scenes>
+    <classes>
+        <class className="NE10DemoViewController" superclassName="UIViewController">
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/NE10DemoViewController.h"/>
+            <relationships>
+                <relationship kind="outlet" name="webView" candidateClass="UIWebView"/>
+            </relationships>
+        </class>
+        <class className="NSLayoutConstraint" superclassName="NSObject">
+            <source key="sourceIdentifier" type="project" relativePath="./Classes/NSLayoutConstraint.h"/>
+        </class>
+    </classes>
+    <simulatedMetricsContainer key="defaultSimulatedMetrics">
+        <simulatedStatusBarMetrics key="statusBar"/>
+        <simulatedOrientationMetrics key="orientation"/>
+        <simulatedScreenMetrics key="destination" type="retina4"/>
+    </simulatedMetricsContainer>
+</document>
\ No newline at end of file
diff --git a/ios/NE10Demo/NE10Demo/main.js b/ios/NE10Demo/NE10Demo/main.js
new file mode 100644 (file)
index 0000000..ae250f4
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// <settings
+// for color names, reference to
+// http://www.w3schools.com/html/html_colornames.asp
+var barColors = ["green", "blue", "brown", "red", "cyan"];
+
+var caseCount = 0;
+
+function debug_log(message){
+    document.getElementById('debug_message').innerHTML += message + "<br>";
+}
+
+// Add and show for a feature block
+// argv[1:] be the bars
+function addShowBarBlock(title) {
+    var i;
+    var max = 0;
+    var eBlock;
+    var eBar;
+
+    for (i = 1; i < arguments.length; ++i) {
+        if (max < arguments[i]) {
+            max = arguments[i];
+        }
+    }
+    max *= 1.2; // this is for right padding
+
+    // block is the container
+    eBlock = $("<div class='block'/>");
+
+    $("<h3/>").html(title).appendTo(eBlock);
+    for (i = 1; i < arguments.length; ++ i) {
+        eBar = $("<div class='bar'/>");
+        eBar.css("width", 100 * arguments[i] / max + "%" );
+        eBar.css("background-color", barColors[i - 1]);
+        eBar.css("box-shadow", "5px 5px 15px " + barColors[i - 1]);
+        eBar.html(arguments[i]);
+
+        eBar.appendTo(eBlock);
+    }
+
+    eBlock.appendTo($("#content"));
+}
+
+//this function is called by objective-c code
+//see more details at:
+//http://tetontech.wordpress.com/2008/08/14/
+//calling-objective-c-from-javascript-in-an-iphone-uiwebview/
+function returnFromObjectivec(ne10TestResultStr)
+{
+    if (ne10TestResultStr) {
+        //parse json data from string
+        var testResult = eval( '(' + ne10TestResultStr + ')' );
+        for (i = 0; i < testResult.length; ++i) {
+            ++caseCount;
+            testResult[i].name = caseCount.toString() + " "
+                                + testResult[i].name;
+            addShowBarBlock(testResult[i].name,
+                            testResult[i].time_c,
+                            testResult[i].time_neon);
+        }
+        $("#progress").html(caseCount);
+    }
+}
+
+function run_cases()
+{
+    //trig a object-c call, in which would call ne10's performance test function
+    window.location = "ne10://";
+    setTimeout("run_cases()", 10);
+}
+
+function start() {
+    var el;
+
+    el = $("<div/>");
+    el.css("width", "150px");
+    el.css("height", "24px");
+    el.css("background-color", barColors[0]);
+    el.html("C version(us)");
+    el.appendTo("#head");
+
+    el = $("<div/>");
+    el.css("width", "150px");
+    el.css("height", "24px");
+    el.css("background-color", barColors[1]);
+    el.html("NEON version(us)");
+    el.appendTo("#head");
+
+    setTimeout("run_cases()", 10);
+}
diff --git a/ios/NE10Demo/NE10Demo/main.m b/ios/NE10Demo/NE10Demo/main.m
new file mode 100644 (file)
index 0000000..e537f61
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <UIKit/UIKit.h>
+
+#import "NE10DemoAppDelegate.h"
+
+int main(int argc, char *argv[])
+{
+    @autoreleasepool {
+        return UIApplicationMain(argc, argv, nil, NSStringFromClass([NE10DemoAppDelegate class]));
+    }
+}
diff --git a/ios/NE10Demo/NE10Demo/test_funcs.h b/ios/NE10Demo/NE10Demo/test_funcs.h
new file mode 100644 (file)
index 0000000..28071fa
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ *  Copyright 2013 ARM Limited
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *    * Neither the name of ARM Limited nor the
+ *      names of its contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
+ *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
+ *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TEST_FUNCS_H
+#define TEST_FUNCS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+    void test_abs();
+    void test_addc();
+    void test_add();
+    void test_divc();
+    void test_div();
+    void test_dot();
+    void test_len();
+    void test_mlac();
+    void test_mla();
+    void test_mulc();
+    void test_mul();
+    void test_normalize();
+    void test_rsbc();
+    void test_setc();
+    void test_subc();
+    void test_sub();
+    void test_addmat();
+    void test_detmat();
+    void test_identitymat();
+    void test_invmat();
+    void test_mulmat();
+    void test_mulcmatvec();
+    void test_submat();
+    void test_transmat();
+
+    void test_cfft();
+    void test_rfft();
+    void test_fir();
+    void test_fir_decimate();
+    void test_fir_interpolate();
+    void test_fir_lattice();
+    void test_fir_sparse();
+    void test_iir_lattice();
+
+    char* NE10RunTest(void);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/NE10Demo/icon_pad1.png b/ios/NE10Demo/icon_pad1.png
new file mode 100644 (file)
index 0000000..f1fb226
Binary files /dev/null and b/ios/NE10Demo/icon_pad1.png differ
diff --git a/ios/NE10Demo/icon_pad2.png b/ios/NE10Demo/icon_pad2.png
new file mode 100644 (file)
index 0000000..e4a2a16
Binary files /dev/null and b/ios/NE10Demo/icon_pad2.png differ
diff --git a/ios/NE10Demo/icon_phone1.png b/ios/NE10Demo/icon_phone1.png
new file mode 100644 (file)
index 0000000..6b013b6
Binary files /dev/null and b/ios/NE10Demo/icon_phone1.png differ
diff --git a/ios/NE10Demo/icon_phone2.png b/ios/NE10Demo/icon_phone2.png
new file mode 100644 (file)
index 0000000..714bcaa
Binary files /dev/null and b/ios/NE10Demo/icon_phone2.png differ
index 97b992a..4a38d5b 100644 (file)
@@ -38,6 +38,7 @@
 #   default.
 
 set(IOS_PLATFORM ON)
+set(IOS_DEMO ON)
 
 if(NOT DEFINED ENV{IOS_DEVELOPER_PATH})
     set(ENV{IOS_DEVELOPER_PATH} "/Applications/Xcode.app/Contents/Developer")
index 7d07de0..5ff1ca4 100644 (file)
@@ -257,7 +257,7 @@ include_directories (
     ${PROJECT_SOURCE_DIR}/common
 )
 
-if(NE10_BUILD_STATIC OR ANDROID_PLATFORM)
+if(NE10_BUILD_STATIC OR ANDROID_PLATFORM OR IOS_DEMO)
     add_library( NE10 STATIC
         ${NE10_C_SRCS}
         ${NE10_INTRINSIC_SRCS}
@@ -268,6 +268,11 @@ if(NE10_BUILD_STATIC OR ANDROID_PLATFORM)
         CLEAN_DIRECT_OUTPUT 1
         VERSION ${NE10_VERSION}
     )
+
+  if(IOS_DEMO)
+    install(TARGETS NE10
+      DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../ios/NE10Demo/libs/)
+  endif(IOS_DEMO)
 endif()
 
 if(NE10_BUILD_SHARED)