├── sources ├── system │ ├── results │ │ └── .gitkeep │ ├── bass24 │ │ ├── Chmox.app │ │ │ └── Contents │ │ │ │ ├── PkgInfo │ │ │ │ ├── Resources │ │ │ │ ├── MacPAD.url │ │ │ │ ├── Assets.car │ │ │ │ ├── chmdoc.icns │ │ │ │ ├── application.icns │ │ │ │ ├── toolbar-bigger.png │ │ │ │ ├── toolbar-drawer.png │ │ │ │ ├── toolbar-smaller.png │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── MainMenu.nib │ │ │ │ │ ├── CHMDocument.nib │ │ │ │ │ └── VersionChecker.nib │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ ├── CHMDocument.strings │ │ │ │ │ └── VersionChecker.strings │ │ │ │ ├── de.lproj │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ └── CHMDocument.strings │ │ │ │ ├── fa.lproj │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ ├── CHMDocument.strings │ │ │ │ │ └── VersionChecker.strings │ │ │ │ ├── fr.lproj │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ ├── CHMDocument.strings │ │ │ │ │ └── VersionChecker.strings │ │ │ │ ├── it.lproj │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ └── CHMDocument.strings │ │ │ │ └── zh_TW.lproj │ │ │ │ │ ├── Localizable.strings │ │ │ │ │ └── VersionChecker.strings │ │ │ │ └── MacOS │ │ │ │ └── Chmox │ │ ├── bass.chm │ │ ├── bass.txt │ │ ├── mp3 │ │ │ ├── SA_Complete.mp3 │ │ │ └── Vice_Complete.mp3 │ │ ├── synth │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── dsptest │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── fxtest │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── plugins │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── rectest │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── AppDelegate.m │ │ │ ├── ViewController.h │ │ │ └── Info.plist │ │ ├── multi │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── speakers │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── AppDelegate.m │ │ │ ├── ViewController.h │ │ │ └── Info.plist │ │ ├── netradio │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── AppDelegate.m │ │ │ ├── ViewController.h │ │ │ └── Info.plist │ │ ├── spectrum │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── livespec │ │ │ ├── AppDelegate.h │ │ │ ├── main.m │ │ │ ├── ViewController.h │ │ │ ├── AppDelegate.m │ │ │ └── Info.plist │ │ ├── delphi │ │ │ └── demo │ │ │ │ ├── uDemo.dpr │ │ │ │ └── uDemoMainUnit.fmx │ │ ├── makefile │ │ └── devlist │ │ │ └── devlist.c │ ├── libbass.dylib │ ├── credits │ │ ├── screenshot.gif │ │ └── header │ ├── lib.hpp │ ├── output.hpp │ ├── run_utilities.cpp │ ├── run_stack.cpp │ └── system_methods.ipp ├── map_tests │ ├── key_redefinition.cpp │ ├── using allocator.cpp │ ├── count().cpp │ ├── max_size().cpp │ ├── empty().cpp │ ├── erase(InputIt).cpp │ ├── key_comp().cpp │ ├── size().cpp │ ├── at().cpp │ ├── clear().cpp │ ├── insert(hint).cpp │ ├── insert(InputIt).cpp │ ├── constructor.cpp │ ├── find().cpp │ ├── operator[].cpp │ ├── assign overload.cpp │ ├── reverse iterators.cpp │ ├── operator <.cpp │ ├── operator >.cpp │ ├── operator !=.cpp │ ├── operator ==.cpp │ ├── operator <=.cpp │ ├── operator >=.cpp │ ├── swap().cpp │ └── erase(key).cpp ├── utilities_tests │ ├── equal.cpp │ ├── enable_if.cpp │ ├── lexicographical.cpp │ ├── is_integral.cpp │ └── iterator_traits.cpp ├── set_tests │ ├── using allocator.cpp │ ├── count().cpp │ ├── max_size().cpp │ ├── empty().cpp │ ├── erase(InputIt).cpp │ ├── size().cpp │ ├── key_comp().cpp │ ├── clear().cpp │ ├── insert(hint).cpp │ ├── insert(InputIt).cpp │ ├── constructor.cpp │ ├── find().cpp │ ├── assign overload.cpp │ ├── reverse iterators.cpp │ ├── equal_range().cpp │ ├── insert(value).cpp │ ├── swap().cpp │ ├── operator <.cpp │ ├── operator >.cpp │ ├── erase(value).cpp │ ├── operator ==.cpp │ ├── operator !=.cpp │ ├── operator <=.cpp │ ├── operator >=.cpp │ ├── lower_bound().cpp │ ├── iterators.cpp │ └── erase(pos).cpp ├── vector_tests │ ├── using allocator.cpp │ ├── empty().cpp │ ├── size().cpp │ ├── max_size().cpp │ ├── capacity().cpp │ ├── begin().cpp │ ├── end().cpp │ ├── rend().cpp │ ├── rbegin().cpp │ ├── reserve().cpp │ ├── back().cpp │ ├── clear().cpp │ ├── front().cpp │ ├── at().cpp │ ├── operator[].cpp │ ├── data().cpp │ ├── push_back().cpp │ ├── pop_back().cpp │ ├── insert(value).cpp │ ├── insert(fill).cpp │ ├── operator <.cpp │ ├── operator >.cpp │ ├── erase(value).cpp │ ├── assign(std iterators).cpp │ ├── operator <=.cpp │ ├── operator >=.cpp │ ├── operator !=.cpp │ ├── operator ==.cpp │ ├── constructor(std iterators).cpp │ ├── erase(range).cpp │ ├── insert(std iterators).cpp │ ├── iterators.cpp │ ├── assign().cpp │ ├── resize().cpp │ ├── constructor.cpp │ └── __service.ipp └── stack_tests │ ├── push().cpp │ ├── pop().cpp │ ├── empty().cpp │ ├── top().cpp │ ├── size().cpp │ ├── constructor.cpp │ ├── __service.ipp │ ├── operator <.cpp │ ├── operator >.cpp │ ├── operator ==.cpp │ ├── operator !=.cpp │ ├── operator <=.cpp │ └── operator >=.cpp └── config.hpp /sources/system/results/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPLiCHM -------------------------------------------------------------------------------- /sources/system/libbass.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/libbass.dylib -------------------------------------------------------------------------------- /sources/system/bass24/bass.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/bass.chm -------------------------------------------------------------------------------- /sources/system/bass24/bass.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/bass.txt -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/MacPAD.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=http://chmox.sourceforge.net/MacPAD.plist 3 | -------------------------------------------------------------------------------- /sources/system/credits/screenshot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/credits/screenshot.gif -------------------------------------------------------------------------------- /sources/system/bass24/mp3/SA_Complete.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/mp3/SA_Complete.mp3 -------------------------------------------------------------------------------- /sources/system/bass24/mp3/Vice_Complete.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/mp3/Vice_Complete.mp3 -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/MacOS/Chmox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/MacOS/Chmox -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/Assets.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/Assets.car -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/chmdoc.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/chmdoc.icns -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/application.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/application.icns -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/toolbar-bigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/toolbar-bigger.png -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/toolbar-drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/toolbar-drawer.png -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/toolbar-smaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/toolbar-smaller.png -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/MainMenu.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/MainMenu.nib -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/CHMDocument.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/CHMDocument.nib -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/de.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/de.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fa.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/fa.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fr.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/fr.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/it.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/it.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/VersionChecker.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/Base.lproj/VersionChecker.nib -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/zh_TW.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divinepet/ft_containers-unit-test/HEAD/sources/system/bass24/Chmox.app/Contents/Resources/zh_TW.lproj/Localizable.strings -------------------------------------------------------------------------------- /sources/map_tests/key_redefinition.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | int main() { 5 | _map::iterator it; 6 | 7 | it->first = 1; 8 | 9 | return (0); 10 | } -------------------------------------------------------------------------------- /sources/system/bass24/synth/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS simple synth 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /sources/system/bass24/synth/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS simple synth 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /sources/system/bass24/dsptest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS DSP example 3 | Copyright (c) 2000-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/fxtest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS effects example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/dsptest/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS DSP example 3 | Copyright (c) 2000-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/plugins/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS plugins example 3 | Copyright (c) 2005-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/rectest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS recording example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/synth/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS simple synth 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/fxtest/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS effects example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/multi/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multiple output example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/plugins/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS plugins example 3 | Copyright (c) 2005-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/rectest/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS recording example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/speakers/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multi-speaker example 3 | Copyright (c) 2003-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/multi/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multi-speaker example 3 | Copyright (c) 2003-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/netradio/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS internet radio example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/speakers/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multi-speaker example 3 | Copyright (c) 2003-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/spectrum/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/livespec/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS live spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface AppDelegate : NSObject 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /sources/system/bass24/netradio/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS internet radio example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/spectrum/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/livespec/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS live spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | int main(int argc, const char * argv[]) { 9 | return NSApplicationMain(argc, argv); 10 | } 11 | -------------------------------------------------------------------------------- /sources/system/bass24/fxtest/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS effects example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSButton *outputSwitch; 10 | 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /sources/system/bass24/spectrum/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSButton *specView; 10 | 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /sources/system/bass24/delphi/demo/uDemo.dpr: -------------------------------------------------------------------------------- 1 | program uDemo; 2 | 3 | uses 4 | FMX.Forms, 5 | BASS in '..\BASS.pas', 6 | uDemoMainUnit in 'uDemoMainUnit.pas' {DemoMainForm}; 7 | 8 | {$R *.res} 9 | 10 | begin 11 | Application.Initialize; 12 | Application.CreateForm(TDemoMainForm, DemoMainForm); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /sources/system/bass24/livespec/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS live spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSButton *specView; 10 | @property (weak) IBOutlet NSTextField *noticeText; 11 | 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /sources/utilities_tests/equal.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include UTILITIES 3 | 4 | bool equal_test() { 5 | std::string s = "approvjvorppa"; 6 | bool res = 0; 7 | if (_equal(s.begin(), s.begin() + s.size()/2, s.rbegin()) == 1) 8 | res = 1; 9 | return res; 10 | } 11 | 12 | int main() { 13 | exit(run_bool_unit_test("equal", equal_test)); 14 | } 15 | -------------------------------------------------------------------------------- /sources/system/bass24/dsptest/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS DSP example 3 | Copyright (c) 2000-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSButton *rotateSwitch; 10 | @property (weak) IBOutlet NSButton *echoSwitch; 11 | @property (weak) IBOutlet NSButton *flangerSwitch; 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /sources/set_tests/using allocator.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | void allocator_test(_set st) { 6 | for (int i = 0; i < 10; ++i) { 7 | st.insert(i); 8 | } 9 | } 10 | 11 | int main() { 12 | exit(run_set_allocator_unit_test, Alloc >("using allocator", allocator_test)); 13 | } -------------------------------------------------------------------------------- /sources/vector_tests/using allocator.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | void allocator_test(_vector vector) { 6 | 7 | for (int i = 0; i < 10; ++i) { 8 | vector.push_back(i); 9 | } 10 | } 11 | 12 | int main() { 13 | 14 | exit(run_vector_allocator_unit_test >("using allocator", allocator_test)); 15 | } -------------------------------------------------------------------------------- /sources/system/bass24/synth/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS simple synth 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/bass24/dsptest/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS DSP example 3 | Copyright (c) 2000-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/bass24/fxtest/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS effects example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/bass24/plugins/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS plugins example 3 | Copyright (c) 2005-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (strong) IBOutlet NSArrayController *pluginListController; 10 | @property (weak) IBOutlet NSTextField *infoText; 11 | @property (weak) IBOutlet NSSlider *positionSlider; 12 | @property (weak) IBOutlet NSTextField *positionText; 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /sources/map_tests/using allocator.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | void allocator_test(_map mp) { 6 | 7 | for (int i = 0, j = 10; i < 10; ++i, ++j) { 8 | mp.insert(_make_pair(i, j)); 9 | } 10 | } 11 | 12 | int main() { 13 | 14 | exit(run_map_allocator_unit_test, Alloc<_pair > >("using allocator", allocator_test)); 15 | } -------------------------------------------------------------------------------- /sources/system/bass24/multi/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multiple output example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSPopUpButton *device1Selector; 10 | @property (weak) IBOutlet NSPopUpButton *device2Selector; 11 | @property (weak) IBOutlet NSButton *open1Button; 12 | @property (weak) IBOutlet NSButton *open2Button; 13 | 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /sources/system/bass24/multi/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multiple output example 3 | Copyright (c) 2001-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/bass24/spectrum/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/credits/header: -------------------------------------------------------------------------------- 1 | ******************************************************************************************** 2 | * * 3 | * FT_CONTAINERS TEST by @elaronda and @cshells * 4 | * * 5 | ******************************************************************************************** 6 | -------------------------------------------------------------------------------- /sources/system/bass24/livespec/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS live spectrum analyser example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_RecordFree(); 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /sources/system/bass24/plugins/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS plugins example 3 | Copyright (c) 2005-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | BASS_PluginFree(0); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /sources/system/bass24/rectest/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS recording example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_RecordFree(); 20 | BASS_Free(); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /sources/system/bass24/speakers/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multi-speaker example 3 | Copyright (c) 2003-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | BASS_PluginFree(0); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /sources/system/bass24/netradio/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | BASS internet radio example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import "AppDelegate.h" 7 | #include "bass.h" 8 | 9 | @interface AppDelegate () 10 | 11 | @end 12 | 13 | @implementation AppDelegate 14 | 15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 16 | } 17 | 18 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 19 | BASS_Free(); 20 | BASS_PluginFree(0); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /sources/system/bass24/netradio/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS internet radio example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSTextField *customURL; 10 | @property (weak) IBOutlet NSTextField *statusText1; 11 | @property (weak) IBOutlet NSTextField *statusText2; 12 | @property (weak) IBOutlet NSTextField *statusText3; 13 | @property (weak) IBOutlet NSTextField *proxyURL; 14 | @property (weak) IBOutlet NSButton *proxyDirectSwitch; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /sources/system/bass24/speakers/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS multi-speaker example 3 | Copyright (c) 2003-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSButton *open1Button; 10 | @property (weak) IBOutlet NSButton *open2Button; 11 | @property (weak) IBOutlet NSButton *open3Button; 12 | @property (weak) IBOutlet NSButton *open4Button; 13 | @property (weak) IBOutlet NSButton *swap12Button; 14 | @property (weak) IBOutlet NSButton *swap23Button; 15 | @property (weak) IBOutlet NSButton *swap34Button; 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /sources/set_tests/count().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector count_test(std::set st) { 6 | std::vector v; 7 | g_start1 = g_end1 = timer(); 8 | v.push_back(st.count(0)); 9 | st.insert(0); 10 | v.push_back(st.count(0)); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector count_test(_set st) { 16 | std::vector v; 17 | g_start2 = g_end2 = timer(); 18 | v.push_back(st.count(0)); 19 | st.insert(0); 20 | v.push_back(st.count(0)); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_set_unit_test("count()", count_test, count_test)); 27 | } -------------------------------------------------------------------------------- /sources/vector_tests/empty().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector empty_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.empty()); 10 | g_end1 = timer(); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector empty_test(_vector vector) { 16 | std::vector v; 17 | vector.assign(1000, 1); 18 | g_start2 = timer(); 19 | v.push_back(vector.empty()); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_vector_unit_test("empty()", empty_test, empty_test)); 27 | } -------------------------------------------------------------------------------- /sources/stack_tests/push().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector size_test(std::stack stk) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | for (int i = 0; i < 800 * _ratio; ++i) 9 | stk.push(i); 10 | g_end1 = timer(); 11 | v.push_back(stk.size()); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector size_test(_stack stk) { 17 | std::vector v; 18 | g_start2 = timer(); 19 | for (int i = 0; i < 800 * _ratio; ++i) 20 | stk.push(i); 21 | g_end2 = timer(); 22 | v.push_back(stk.size()); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_stack_unit_test("push()", size_test, size_test)); 29 | } -------------------------------------------------------------------------------- /sources/set_tests/max_size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector max_size_test(std::set st) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | v.push_back((st.size() * 0) + 1); 9 | g_end1 = timer(); 10 | return v; 11 | } 12 | 13 | template 14 | std::vector max_size_test(_set st) { 15 | std::vector v; 16 | std::set std_st; 17 | g_start2 = timer(); 18 | if ((std_st.max_size() / 2) < st.max_size()) 19 | v.push_back(1); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_set_unit_test("max_size()", max_size_test, max_size_test)); 27 | } -------------------------------------------------------------------------------- /sources/vector_tests/size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector size_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1200 * _ratio, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.size()); 10 | g_end1 = timer(); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector size_test(_vector vector) { 16 | std::vector v; 17 | vector.assign(1200 * _ratio, 1); 18 | g_start2 = timer(); 19 | v.push_back(vector.size()); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_vector_unit_test("size()", size_test, size_test)); 27 | } -------------------------------------------------------------------------------- /sources/set_tests/empty().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector empty_test(std::set st) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | v.push_back(st.empty()); 9 | st.insert(3); 10 | v.push_back(st.empty()); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector empty_test(_set st) { 17 | std::vector v; 18 | g_start2 = timer(); 19 | v.push_back(st.empty()); 20 | st.insert(3); 21 | v.push_back(st.empty()); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_set_unit_test("empty()", empty_test, empty_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/max_size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector maxsize_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.max_size()); 10 | g_end1 = timer(); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector maxsize_test(_vector vector) { 16 | std::vector v; 17 | vector.assign(1, 1); 18 | g_start2 = timer(); 19 | v.push_back(vector.max_size()); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_vector_unit_test("max_size()", maxsize_test, maxsize_test)); 27 | } -------------------------------------------------------------------------------- /sources/system/bass24/rectest/ViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | BASS recording example 3 | Copyright (c) 2002-2021 Un4seen Developments Ltd. 4 | */ 5 | 6 | #import 7 | 8 | @interface ViewController : NSViewController 9 | @property (weak) IBOutlet NSPopUpButton *deviceSelector; 10 | @property (weak) IBOutlet NSPopUpButton *inputSelector; 11 | @property (weak) IBOutlet NSSlider *volumeSlider; 12 | @property (weak) IBOutlet NSPopUpButton *formatSelector; 13 | @property (weak) IBOutlet NSButton *recordButton; 14 | @property (weak) IBOutlet NSButton *playButton; 15 | @property (weak) IBOutlet NSButton *saveButton; 16 | @property (weak) IBOutlet NSTextField *positionText; 17 | @property (weak) IBOutlet NSLevelIndicator *levelIndicator; 18 | 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /sources/utilities_tests/enable_if.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include UTILITIES 3 | 4 | template typename _enable_if< std::is_unsigned::value >::type 5 | foo(T) { 6 | g_start1 = -20; 7 | } 8 | 9 | template typename _enable_if< std::is_signed::value >::type 10 | foo(T) { 11 | g_start2 = -20; 12 | } 13 | 14 | bool enable_if_test_() { 15 | std::vector v; 16 | bool res = 1; 17 | unsigned int xx = 5; 18 | int x = 5; 19 | foo(xx); 20 | foo(x); 21 | if (g_start1 != -20 && g_start2 != -20) 22 | res = 0; 23 | g_start2 = timer(); g_end2 = timer(); g_start1 = timer(); g_end1 = timer(); 24 | return res; 25 | } 26 | 27 | int main() { 28 | exit(run_bool_unit_test("enable_if", enable_if_test_)); 29 | } 30 | -------------------------------------------------------------------------------- /sources/map_tests/count().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector count_test(std::map mp) { 6 | std::vector v; 7 | g_start1 = g_end1 = timer(); 8 | v.push_back(mp.count(0)); 9 | mp.insert(std::make_pair(0, 0)); 10 | v.push_back(mp.count(0)); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector count_test(_map mp) { 16 | std::vector v; 17 | g_start2 = g_end2 = timer(); 18 | v.push_back(mp.count(0)); 19 | mp.insert(_make_pair(0, 0)); 20 | v.push_back(mp.count(0)); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_map_unit_test("count()", count_test, count_test)); 27 | } -------------------------------------------------------------------------------- /sources/map_tests/max_size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector max_size_test(std::map mp) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | v.push_back((mp.size() * 0) + 1); 9 | g_end1 = timer(); 10 | return v; 11 | } 12 | 13 | template 14 | std::vector max_size_test(_map mp) { 15 | std::vector v; 16 | std::map std_mp; 17 | g_start2 = timer(); 18 | if ((std_mp.max_size() / 2) < mp.max_size()) 19 | v.push_back(1); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_map_unit_test("max_size()", max_size_test, max_size_test)); 27 | } -------------------------------------------------------------------------------- /sources/vector_tests/capacity().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector capacity_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1200 * _ratio, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.capacity()); 10 | g_end1 = timer(); 11 | return v; 12 | } 13 | 14 | template 15 | std::vector capacity_test(_vector vector) { 16 | std::vector v; 17 | vector.assign(1200 * _ratio, 1); 18 | g_start2 = timer(); 19 | v.push_back(vector.capacity()); 20 | g_end2 = timer(); 21 | return v; 22 | } 23 | 24 | int main() { 25 | 26 | exit(run_vector_unit_test("capacity()", capacity_test, capacity_test)); 27 | } -------------------------------------------------------------------------------- /sources/map_tests/empty().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector empty_test(std::map mp) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | v.push_back(mp.empty()); 9 | mp.insert(std::make_pair(3, 3)); 10 | v.push_back(mp.empty()); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector empty_test(_map mp) { 17 | std::vector v; 18 | g_start2 = timer(); 19 | v.push_back(mp.empty()); 20 | mp.insert(_make_pair(3, 3)); 21 | v.push_back(mp.empty()); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_map_unit_test("empty()", empty_test, empty_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/begin().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector begin_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | v.push_back(*vector.begin()); 10 | v.push_back(*++vector.begin()); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector begin_test(_vector vector) { 17 | std::vector v; 18 | vector.assign(1000, 1); 19 | g_start2 = timer(); 20 | v.push_back(*vector.begin()); 21 | v.push_back(*++vector.begin()); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_vector_unit_test("begin()", begin_test, begin_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/end().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector end_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | v.push_back(*(vector.end() - 1)); 10 | v.push_back(*(vector.end() - 2)); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector end_test(_vector vector) { 17 | std::vector v; 18 | vector.assign(1000, 1); 19 | g_start2 = timer(); 20 | v.push_back(*(vector.end() - 1)); 21 | v.push_back(*(vector.end() - 2)); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_vector_unit_test("end()", end_test, end_test)); 29 | } -------------------------------------------------------------------------------- /sources/stack_tests/pop().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector pop_test(std::stack stk) { 6 | std::vector v; 7 | for (int i = 0; i < 200 * _ratio; ++i) 8 | stk.push(i); 9 | g_start1 = timer(); 10 | while (stk.size() > 0) 11 | stk.pop(); 12 | g_end1 = timer(); 13 | v.push_back(stk.size()); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector pop_test(_stack stk) { 19 | std::vector v; 20 | for (int i = 0; i < 200 * _ratio; ++i) 21 | stk.push(i); 22 | g_start2 = timer(); 23 | while (stk.size() > 0) 24 | stk.pop(); 25 | g_end2 = timer(); 26 | v.push_back(stk.size()); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_stack_unit_test("pop()", pop_test, pop_test)); 33 | } -------------------------------------------------------------------------------- /sources/system/lib.hpp: -------------------------------------------------------------------------------- 1 | #ifndef UNIT_TESTS_HPP 2 | # define UNIT_TESTS_HPP 3 | 4 | #ifdef FAST 5 | int _ratio = 1; 6 | #else 7 | int _ratio = 10000; 8 | #endif 9 | 10 | int _allocator_used = 0; 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include "../../config.hpp" 29 | #include "output.hpp" 30 | #include "Alloc.hpp" 31 | 32 | volatile static time_t g_start1; 33 | volatile static time_t g_start2; 34 | volatile static time_t g_end1; 35 | volatile static time_t g_end2; 36 | 37 | #endif -------------------------------------------------------------------------------- /sources/vector_tests/rend().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector rend_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | v.push_back(*(vector.rend() - 1)); 10 | v.push_back(*(vector.rend() - 2)); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector rend_test(_vector vector) { 17 | std::vector v; 18 | vector.assign(1000, 1); 19 | g_start2 = timer(); 20 | v.push_back(*(vector.rend() - 1)); 21 | v.push_back(*(vector.rend() - 2)); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_vector_unit_test("rend()", rend_test, rend_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/rbegin().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector rbegin_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | v.push_back(*vector.rbegin()); 10 | v.push_back(*(vector.rbegin() + 1)); 11 | g_end1 = timer(); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector rbegin_test(_vector vector) { 17 | std::vector v; 18 | vector.assign(1000, 1); 19 | g_start2 = timer(); 20 | v.push_back(*vector.rbegin()); 21 | v.push_back(*(vector.rbegin() + 1)); 22 | g_end2 = timer(); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_vector_unit_test("rbegin()", rbegin_test, rbegin_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/reserve().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector reserve_test(std::vector vector) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | vector.reserve(9900 * _ratio); 9 | g_end1 = timer(); 10 | v.push_back(vector.size()); 11 | v.push_back(vector.capacity()); 12 | return v; 13 | } 14 | 15 | template 16 | std::vector reserve_test(_vector vector) { 17 | std::vector v; 18 | g_start2 = timer(); 19 | vector.reserve(9900 * _ratio); 20 | g_end2 = timer(); 21 | v.push_back(vector.size()); 22 | v.push_back(vector.capacity()); 23 | return v; 24 | } 25 | 26 | int main() { 27 | 28 | exit(run_vector_unit_test("reserve()", reserve_test, reserve_test)); 29 | } -------------------------------------------------------------------------------- /sources/vector_tests/back().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector back_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(44444, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.back()); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector back_test(_vector vector) { 18 | std::vector v; 19 | vector.assign(44444, 1); 20 | g_start2 = timer(); 21 | v.push_back(vector.back()); 22 | g_end2 = timer(); 23 | v.push_back(vector.size()); 24 | v.push_back(vector.capacity()); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_vector_unit_test("back()", back_test, back_test)); 31 | } -------------------------------------------------------------------------------- /sources/vector_tests/clear().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector clear_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(5000 * _ratio, 1); 8 | g_start1 = timer(); 9 | vector.clear(); 10 | g_end1 = timer(); 11 | v.push_back(vector.capacity()); 12 | v.push_back(vector.size()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector clear_test(_vector vector) { 18 | std::vector v; 19 | vector.assign(5000 * _ratio, 1); 20 | g_start2 = timer(); 21 | vector.clear(); 22 | g_end2 = timer(); 23 | v.push_back(vector.capacity()); 24 | v.push_back(vector.size()); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_vector_unit_test("clear()", clear_test, clear_test)); 31 | } -------------------------------------------------------------------------------- /sources/vector_tests/front().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector front_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(44444, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.front()); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector front_test(_vector vector) { 18 | std::vector v; 19 | vector.assign(44444, 1); 20 | g_start2 = timer(); 21 | v.push_back(vector.front()); 22 | g_end2 = timer(); 23 | v.push_back(vector.size()); 24 | v.push_back(vector.capacity()); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_vector_unit_test("front()", front_test, front_test)); 31 | } -------------------------------------------------------------------------------- /sources/set_tests/erase(InputIt).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_3(std::set st) { 6 | std::vector v; 7 | for (int i = 0; i < 50 * _ratio; ++i) 8 | st.insert(i); 9 | g_start1 = timer(); 10 | st.erase(st.begin(), --st.end()); 11 | g_end1 = timer(); 12 | v.push_back(*(st.begin())); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector erase_test_3(_set st) { 18 | std::vector v; 19 | for (int i = 0; i < 50 * _ratio; ++i) 20 | st.insert(i); 21 | g_start2 = timer(); 22 | st.erase(st.begin(), --st.end()); 23 | g_end2 = timer(); 24 | v.push_back(*(st.begin())); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_set_unit_test("erase(InputIt)", erase_test_3, erase_test_3)); 31 | } -------------------------------------------------------------------------------- /sources/stack_tests/empty().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector empty_test(std::stack stk) { 6 | std::vector v; 7 | for (int i = 0; i < 200 * _ratio; ++i) 8 | stk.push(i); 9 | v.push_back(stk.empty()); 10 | while (stk.size() > 0) 11 | stk.pop(); 12 | g_start1 = timer(); 13 | v.push_back(stk.empty()); 14 | g_end1 = timer(); 15 | return v; 16 | } 17 | 18 | template 19 | std::vector empty_test(_stack stk) { 20 | std::vector v; 21 | for (int i = 0; i < 200 * _ratio; ++i) 22 | stk.push(i); 23 | v.push_back(stk.empty()); 24 | while (stk.size() > 0) 25 | stk.pop(); 26 | g_start2 = timer(); 27 | v.push_back(stk.empty()); 28 | g_end2 = timer(); 29 | return v; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_stack_unit_test("empty()", empty_test, empty_test)); 35 | } -------------------------------------------------------------------------------- /sources/vector_tests/at().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector at_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(9900 * _ratio, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector.at(354 * _ratio)); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector at_test(_vector vector) { 18 | std::vector v; 19 | vector.assign(9900 * _ratio, 1); 20 | g_start2 = timer(); 21 | v.push_back(vector.at(354 * _ratio)); 22 | g_end2 = timer(); 23 | v.push_back(vector.size()); 24 | v.push_back(vector.capacity()); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_vector_unit_test("at()", at_test, at_test)); 31 | } -------------------------------------------------------------------------------- /sources/utilities_tests/lexicographical.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include UTILITIES 3 | 4 | bool lexicographical_test() { 5 | std::vector result, result2; 6 | std::vector v1, v2; 7 | std::vector b1, b2; 8 | v1.assign(5000 * _ratio, 'f'); 9 | v1.push_back('e'); 10 | v2.assign(5000 * _ratio, 'f'); 11 | v2.push_back('e'); 12 | b1.assign(5000 * _ratio, 'f'); 13 | b1.push_back('e'); 14 | b2.assign(5000 * _ratio, 'f'); 15 | b2.push_back('e'); 16 | g_start1 = timer(); 17 | result.push_back(std::lexicographical_compare(v1.begin(), v1.end(), v2.begin(), v2.end())); 18 | g_end1 = timer(); 19 | g_start2 = timer(); 20 | result2.push_back(_lexicographical(b1.begin(), b1.end(), b2.begin(), b2.end())); 21 | g_end2 = timer(); 22 | return result == result2; 23 | } 24 | 25 | int main() { 26 | exit(run_bool_unit_test("lexicographical", lexicographical_test)); 27 | } 28 | -------------------------------------------------------------------------------- /sources/vector_tests/operator[].cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector operator1_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(44444, 1); 8 | g_start1 = timer(); 9 | v.push_back(vector[5555]); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector operator1_test(_vector vector) { 18 | std::vector v; 19 | vector.assign(44444, 1); 20 | g_start2 = timer(); 21 | v.push_back(vector[5555]); 22 | g_end2 = timer(); 23 | v.push_back(vector.size()); 24 | v.push_back(vector.capacity()); 25 | return v; 26 | } 27 | 28 | int main() { 29 | 30 | exit(run_vector_unit_test("operator[]", operator1_test, operator1_test)); 31 | } -------------------------------------------------------------------------------- /sources/stack_tests/top().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector top_test(std::stack stk) { 6 | std::vector v; 7 | for (int i = 0; i < 200 * _ratio; ++i) 8 | stk.push(i); 9 | g_start1 = timer(); 10 | v.push_back(stk.top()); 11 | g_end1 = timer(); 12 | stk.pop(); 13 | v.push_back(stk.top()); 14 | stk.push(7); 15 | v.push_back(stk.top()); 16 | return v; 17 | } 18 | 19 | template 20 | std::vector top_test(_stack stk) { 21 | std::vector v; 22 | for (int i = 0; i < 200 * _ratio; ++i) 23 | stk.push(i); 24 | g_start2 = timer(); 25 | v.push_back(stk.top()); 26 | g_end2 = timer(); 27 | stk.pop(); 28 | v.push_back(stk.top()); 29 | stk.push(7); 30 | v.push_back(stk.top()); 31 | return v; 32 | } 33 | 34 | int main() { 35 | 36 | exit(run_stack_unit_test("top()", top_test, top_test)); 37 | } -------------------------------------------------------------------------------- /sources/vector_tests/data().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector data_test(std::vector vector) { 6 | std::vector v; 7 | std::ostringstream oss; 8 | g_start1 = timer(); 9 | oss << &*(vector.data()); 10 | g_end1 = timer(); 11 | string str = oss.str(); 12 | if (!oss.str().rfind("0x", 0)) 13 | v.push_back(1); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector data_test(_vector vector) { 19 | std::vector v; 20 | std::ostringstream oss; 21 | g_start2 = timer(); 22 | oss << &*(vector.data()); 23 | g_end2 = timer(); 24 | string str = oss.str(); 25 | if (!oss.str().rfind("0x", 0)) 26 | v.push_back(1); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_vector_unit_test("data()", data_test, data_test)); 33 | } -------------------------------------------------------------------------------- /sources/stack_tests/size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector size_test(std::stack stk) { 6 | std::vector v; 7 | for (int i = 0; i < 200 * _ratio; ++i) 8 | stk.push(i); 9 | g_start1 = timer(); 10 | v.push_back(stk.size()); 11 | g_end1 = timer(); 12 | stk.pop(); 13 | v.push_back(stk.size()); 14 | stk.push(7); 15 | v.push_back(stk.size()); 16 | return v; 17 | } 18 | 19 | template 20 | std::vector size_test(_stack stk) { 21 | std::vector v; 22 | for (int i = 0; i < 200 * _ratio; ++i) 23 | stk.push(i); 24 | g_start2 = timer(); 25 | v.push_back(stk.size()); 26 | g_end2 = timer(); 27 | stk.pop(); 28 | v.push_back(stk.size()); 29 | stk.push(7); 30 | v.push_back(stk.size()); 31 | return v; 32 | } 33 | 34 | int main() { 35 | 36 | exit(run_stack_unit_test("size()", size_test, size_test)); 37 | } -------------------------------------------------------------------------------- /sources/vector_tests/push_back().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector push_back_test(std::vector vector) { 6 | std::vector v; 7 | g_start1 = timer(); 8 | for (int i = 0; i < 5500 * _ratio; ++i) 9 | vector.push_back(i); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | return v; 14 | } 15 | 16 | template 17 | std::vector push_back_test(_vector vector) { 18 | std::vector v; 19 | g_start2 = timer(); 20 | for (int i = 0; i < 5500 * _ratio; ++i) { 21 | vector.push_back(i); 22 | } 23 | g_end2 = timer(); 24 | v.push_back(vector.size()); 25 | v.push_back(vector.capacity()); 26 | return v; 27 | } 28 | 29 | int main() { 30 | 31 | exit(run_vector_unit_test("push_back()", push_back_test, push_back_test)); 32 | } -------------------------------------------------------------------------------- /sources/set_tests/size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector size_test(std::set st) { 6 | std::vector v; 7 | for (int i = 0; i < 100 * _ratio; ++i) 8 | st.insert(i); 9 | g_start1 = timer(); 10 | v.push_back(st.size()); 11 | g_end1 = timer(); 12 | for (int i = 0; i < 43; ++i) 13 | st.erase(i); 14 | v.push_back(st.size()); 15 | return v; 16 | } 17 | 18 | template 19 | std::vector size_test(_set st) { 20 | std::vector v; 21 | for (int i = 0; i < 100 * _ratio; ++i) 22 | st.insert(i); 23 | g_start2 = timer(); 24 | v.push_back(st.size()); 25 | g_end2 = timer(); 26 | for (int i = 0; i < 43; ++i) 27 | st.erase(i); 28 | v.push_back(st.size()); 29 | return v; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_set_unit_test("size()", size_test, size_test)); 35 | } -------------------------------------------------------------------------------- /sources/map_tests/erase(InputIt).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_3(std::map mp) { 6 | std::vector v; 7 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) 8 | mp.insert(std::make_pair(i, j)); 9 | 10 | g_start1 = timer(); 11 | mp.erase(mp.begin(), --mp.end()); 12 | g_end1 = timer(); 13 | v.push_back(mp.begin()->first); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector erase_test_3(_map mp) { 19 | std::vector v; 20 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) 21 | mp.insert(_make_pair(i, j)); 22 | 23 | g_start2 = timer(); 24 | mp.erase(mp.begin(), --mp.end()); 25 | g_end2 = timer(); 26 | v.push_back(mp.begin()->first); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_map_unit_test("erase(InputIt)", erase_test_3, erase_test_3)); 33 | } -------------------------------------------------------------------------------- /sources/vector_tests/pop_back().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector pop_back_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(9900 * _ratio, 1); 8 | g_start1 = timer(); 9 | vector.pop_back(); 10 | g_end1 = timer(); 11 | v.push_back(vector[vector.size() - 1]); 12 | v.push_back(vector.size()); 13 | v.push_back(vector.capacity()); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector pop_back_test(_vector vector) { 19 | std::vector v; 20 | vector.assign(9900 * _ratio, 1); 21 | g_start2 = timer(); 22 | vector.pop_back(); 23 | g_end2 = timer(); 24 | v.push_back(vector[vector.size() - 1]); 25 | v.push_back(vector.size()); 26 | v.push_back(vector.capacity()); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_vector_unit_test("pop_back()", pop_back_test, pop_back_test)); 33 | } -------------------------------------------------------------------------------- /sources/set_tests/key_comp().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector key_comp_test(std::set st) { 6 | 7 | std::vector v; 8 | g_start1 = g_end1 = timer(); 9 | std::set > st2; 10 | std::set > st3; 11 | v.push_back(st.key_comp()(1, 2)); 12 | v.push_back(st2.key_comp()(1, 2)); 13 | v.push_back(st3.key_comp()(1, 2)); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector key_comp_test(_set st) { 19 | 20 | std::vector v; 21 | g_start2 = g_end2 = timer(); 22 | _set > st2; 23 | _set > st3; 24 | v.push_back(st.key_comp()(1, 2)); 25 | v.push_back(st2.key_comp()(1, 2)); 26 | v.push_back(st3.key_comp()(1, 2)); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_set_unit_test("key_comp()", key_comp_test, key_comp_test)); 33 | } -------------------------------------------------------------------------------- /sources/vector_tests/insert(value).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_1(std::vector vector) { 6 | std::vector v; 7 | vector.assign(2600 * _ratio, 1); 8 | g_start1 = timer(); 9 | v.push_back(*(vector.insert(vector.end() - 800 * _ratio, 44))); 10 | g_end1 = timer(); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | 14 | return v; 15 | } 16 | 17 | template 18 | std::vector insert_test_1(_vector vector) { 19 | std::vector v; 20 | vector.assign(2600 * _ratio, 1); 21 | g_start2 = timer(); 22 | v.push_back(*(vector.insert(vector.end() - 800 * _ratio, 44))); 23 | g_end2 = timer(); 24 | v.push_back(vector.size()); 25 | v.push_back(vector.capacity()); 26 | 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_vector_unit_test("insert(value)", insert_test_1, insert_test_1)); 33 | } -------------------------------------------------------------------------------- /sources/system/output.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | int _test_passed_cnt = 0; 6 | 7 | using std::string; 8 | using std::cout; 9 | using std::endl; 10 | 11 | const std::string GREEN = "\x1B[1;32m"; 12 | const std::string REDD = "\x1B[1;31m"; 13 | const std::string YELLOW = "\x1B[1;33m"; 14 | const std::string WHITE = "\x1B[1;39m"; 15 | const std::string RESET = "\033[0m"; 16 | 17 | void printElement(std::string t) { 18 | if (t == "OK") 19 | t = GREEN + t + RESET; 20 | else if (t == "FAILED") t = REDD + t + RESET; 21 | cout << std::left << std::setw(30) << std::setfill(' ') << t; 22 | } 23 | 24 | void outputCurrentResult(std::string test_name, int num_tests) { 25 | cout << endl << YELLOW + test_name << " RESULT: " << _test_passed_cnt << "/" << num_tests << RESET << endl; 26 | } 27 | 28 | void outputTotalResult(int num_passed, int num_tests) { 29 | cout << endl << YELLOW << "TOTAL RESULT: " << num_passed << "/" << num_tests << RESET << endl; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /sources/vector_tests/insert(fill).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_2(std::vector vector) { 6 | std::vector v; 7 | vector.assign(1000, 1); 8 | g_start1 = timer(); 9 | vector.insert(vector.end() - 50, 4200 * _ratio , 2); 10 | g_end1 = timer(); 11 | v.push_back(vector[2121]); 12 | v.push_back(vector.size()); 13 | v.push_back(vector.capacity()); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector insert_test_2(_vector vector) { 19 | std::vector v; 20 | vector.assign(1000, 1); 21 | g_start2 = timer(); 22 | vector.insert(vector.end() - 50, 4200 * _ratio , 2); 23 | g_end2 = timer(); 24 | v.push_back(vector[2121]); 25 | v.push_back(vector.size()); 26 | v.push_back(vector.capacity()); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | exit(run_vector_unit_test("insert(fill)", insert_test_2, insert_test_2)); 33 | } -------------------------------------------------------------------------------- /sources/map_tests/key_comp().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector key_comp_test(std::map mp) { 6 | 7 | std::vector v; 8 | g_start1 = g_end1 = timer(); 9 | std::map > mp2; 10 | std::map > mp3; 11 | v.push_back(mp.key_comp()(1, 2)); 12 | v.push_back(mp2.key_comp()(1, 2)); 13 | v.push_back(mp3.key_comp()(1, 2)); 14 | return v; 15 | } 16 | 17 | template 18 | std::vector key_comp_test(_map mp) { 19 | 20 | std::vector v; 21 | g_start2 = g_end2 = timer(); 22 | _map > mp2; 23 | _map > mp3; 24 | v.push_back(mp.key_comp()(1, 2)); 25 | v.push_back(mp2.key_comp()(1, 2)); 26 | v.push_back(mp3.key_comp()(1, 2)); 27 | return v; 28 | } 29 | 30 | int main() { 31 | 32 | run_map_unit_test("key_comp()", key_comp_test, key_comp_test); 33 | 34 | return (0); 35 | } -------------------------------------------------------------------------------- /sources/map_tests/size().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector size_test(std::map mp) { 6 | std::vector v; 7 | for (int i = 0, j = 0; i < 100 * _ratio; ++i, ++j) 8 | mp.insert(std::make_pair(i, j)); 9 | g_start1 = timer(); 10 | v.push_back(mp.size()); 11 | g_end1 = timer(); 12 | for (int i = 0; i < 43 * _ratio; ++i) 13 | mp.erase(i); 14 | v.push_back(mp.size()); 15 | return v; 16 | } 17 | 18 | template 19 | std::vector size_test(_map mp) { 20 | std::vector v; 21 | for (int i = 0, j = 0; i < 100 * _ratio; ++i, ++j) 22 | mp.insert(_make_pair(i, j)); 23 | g_start2 = timer(); 24 | v.push_back(mp.size()); 25 | g_end2 = timer(); 26 | for (int i = 0; i < 43 * _ratio; ++i) 27 | mp.erase(i); 28 | v.push_back(mp.size()); 29 | return v; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_map_unit_test("size()", size_test, size_test)); 35 | } -------------------------------------------------------------------------------- /config.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /**************************************************/ 4 | /* Change paths to your files */ 5 | /* or comment #include */ 6 | /* if you haven't yet some container */ 7 | /**************************************************/ 8 | #define VECTOR "../../../Vector.hpp" 9 | #define STACK "../../../Stack.hpp" 10 | #define MAP "../../../Map.hpp" 11 | #define SET "../../../Set.hpp" 12 | #define UTILITIES "../../../Utility.hpp" 13 | 14 | /* comment this to turn OFF flags (-WWW, -std=98) */ 15 | // #define FLAGS 16 | 17 | /**************************************************/ 18 | /* Change template names of your classes */ 19 | /**************************************************/ 20 | #define _vector ft::Vector 21 | #define _stack ft::Stack 22 | #define _map ft::Map 23 | #define _set ft::Set 24 | #define _is_integral ft::is_integral 25 | #define _enable_if ft::enable_if 26 | #define _pair ft::pair 27 | #define _make_pair ft::make_pair 28 | #define _lexicographical ft::lexicographical_compare 29 | #define _equal ft::equal 30 | -------------------------------------------------------------------------------- /sources/system/bass24/dsptest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/fxtest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/multi/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/plugins/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/synth/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/netradio/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/speakers/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/system/bass24/spectrum/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSPrincipalClass 28 | NSApplication 29 | 30 | 31 | -------------------------------------------------------------------------------- /sources/set_tests/clear().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector clear_test(std::set st) { 6 | std::vector v; 7 | st.clear(); 8 | for (int i = 0; i < 25 * _ratio; ++i) 9 | st.insert(i); 10 | v.push_back(st.size()); 11 | g_start1 = timer(); 12 | st.clear(); 13 | g_end1 = timer(); 14 | v.push_back(st.size()); 15 | typename std::set::iterator it = st.begin(); 16 | if (it == st.end()) 17 | v.push_back(1); 18 | return v; 19 | } 20 | 21 | template 22 | std::vector clear_test(_set st) { 23 | std::vector v; 24 | st.clear(); 25 | for (int i = 0; i < 25 * _ratio; ++i) 26 | st.insert(i); 27 | v.push_back(st.size()); 28 | g_start2 = timer(); 29 | st.clear(); 30 | g_end2 = timer(); 31 | v.push_back(st.size()); 32 | typename _set::iterator it = st.begin(); 33 | if (it == st.end()) 34 | v.push_back(1); 35 | return v; 36 | } 37 | 38 | int main() { 39 | 40 | exit(run_set_unit_test("clear()", clear_test, clear_test)); 41 | } -------------------------------------------------------------------------------- /sources/set_tests/insert(hint).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_3(std::set st) { 6 | std::vector v; 7 | typename std::set::iterator it = st.end(); 8 | g_start1 = timer(); 9 | for (int i = 0; i < 50 * _ratio; ++i) { 10 | st.insert(it, i); 11 | } 12 | g_end1 = timer(); 13 | typename std::set::iterator it2 = st.begin(); 14 | for (; it2 != st.end(); ++it2) { 15 | v.push_back(*it2); 16 | } 17 | return v; 18 | } 19 | 20 | template 21 | std::vector insert_test_3(_set st) { 22 | std::vector v; 23 | typename _set::iterator it = st.end(); 24 | g_start2 = timer(); 25 | for (int i = 0; i < 50 * _ratio; ++i) { 26 | st.insert(it, i); 27 | } 28 | g_end2 = timer(); 29 | typename _set::iterator it2 = st.begin(); 30 | for (; it2 != st.end(); ++it2) { 31 | v.push_back(*it2); 32 | } 33 | return v; 34 | } 35 | 36 | int main() { 37 | 38 | exit(run_set_unit_test("insert(hint)", insert_test_3, insert_test_3)); 39 | } -------------------------------------------------------------------------------- /sources/system/run_utilities.cpp: -------------------------------------------------------------------------------- 1 | #include "engine.ipp" 2 | 3 | int main(int argc, char* argv[], char* env[]) { 4 | cout << "--------------------------------------------------------------------------------------------" << endl; 5 | cout << "| UTILITIES |" << endl; 6 | cout << "--------------------------------------------------------------------------------------------" << endl; 7 | printElement("FUNCTION"); printElement(WHITE + "RESULT" + RESET); printElement(WHITE + "FT TIME" + RESET); printElement(WHITE + "STD TIME" + RESET); 8 | printElement(WHITE + "LEAKS" + RESET); cout << endl; 9 | 10 | runFunctionTest("../utilities_tests/is_integral.cpp", argv, env); 11 | runFunctionTest("../utilities_tests/enable_if.cpp", argv, env); 12 | runFunctionTest("../utilities_tests/equal.cpp", argv, env); 13 | runFunctionTest("../utilities_tests/lexicographical.cpp", argv, env); 14 | runFunctionTest("../utilities_tests/iterator_traits.cpp", argv, env); 15 | 16 | saveResult("utilities_res"); 17 | outputCurrentResult("UTILITIES", _UTILITIES_TEST_NUM); 18 | 19 | return (0); 20 | } -------------------------------------------------------------------------------- /sources/vector_tests/operator <.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_less_test() { 5 | std::vector result, result_2; 6 | std::vector v_int1, v_int2, v_int3; 7 | std::vector v_str1, v_str2; 8 | _vector V_int1, V_int2, V_int3; 9 | _vector V_str1, V_str2; 10 | v_int1.push_back(1); 11 | v_int3.push_back(1); 12 | v_str1.push_back("aa"); 13 | v_str2.push_back("ab"); 14 | result.push_back(v_int1 < v_int2); 15 | v_int2.push_back(2); 16 | result.push_back(v_int1 < v_int2); 17 | result.push_back(v_int1 < v_int3); 18 | result.push_back(v_str1 < v_str2); 19 | V_int1.push_back(1); 20 | V_int3.push_back(1); 21 | V_str1.push_back("aa"); 22 | V_str2.push_back("ab"); 23 | result_2.push_back(V_int1 < V_int2); 24 | V_int2.push_back(2); 25 | result_2.push_back(V_int1 < V_int2); 26 | result_2.push_back(V_int1 < V_int3); 27 | result_2.push_back(V_str1 < V_str2); 28 | return result == result_2; 29 | } 30 | 31 | int main() { 32 | 33 | exit(run_bool_unit_test("operator <", operator_less_test)); 34 | } -------------------------------------------------------------------------------- /sources/vector_tests/operator >.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_more_test() { 5 | std::vector result, result_2; 6 | std::vector v_int1, v_int2, v_int3; 7 | std::vector v_str1, v_str2; 8 | _vector V_int1, V_int2, V_int3; 9 | _vector V_str1, V_str2; 10 | v_int1.push_back(1); 11 | v_int3.push_back(1); 12 | v_str1.push_back("aa"); 13 | v_str2.push_back("ab"); 14 | result.push_back(v_int1 > v_int2); 15 | v_int2.push_back(2); 16 | result.push_back(v_int1 > v_int2); 17 | result.push_back(v_int1 > v_int3); 18 | result.push_back(v_str1 > v_str2); 19 | V_int1.push_back(1); 20 | V_int3.push_back(1); 21 | V_str1.push_back("aa"); 22 | V_str2.push_back("ab"); 23 | result_2.push_back(V_int1 > V_int2); 24 | V_int2.push_back(2); 25 | result_2.push_back(V_int1 > V_int2); 26 | result_2.push_back(V_int1 > V_int3); 27 | result_2.push_back(V_str1 > V_str2); 28 | return result == result_2; 29 | } 30 | 31 | int main() { 32 | 33 | exit(run_bool_unit_test("operator >", operator_more_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/at().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector at_test(std::map mp) { 6 | std::vector v; 7 | for (int i = 0, j = 10; i < 70 * _ratio; ++i, ++j) 8 | mp.insert(std::make_pair(i, j)); 9 | g_start1 = timer(); 10 | try { 11 | v.push_back(mp.at(40 * _ratio)); 12 | v.push_back(mp.at(40 * _ratio + 1)); 13 | } catch (std::exception &e) { 14 | v.push_back(1); 15 | } 16 | g_end1 = timer(); 17 | return v; 18 | } 19 | 20 | template 21 | std::vector at_test(_map mp) { 22 | std::vector v; 23 | for (int i = 0, j = 10; i < 70 * _ratio; ++i, ++j) 24 | mp.insert(_make_pair(i, j)); 25 | g_start2 = timer(); 26 | try { 27 | v.push_back(mp.at(40 * _ratio)); 28 | v.push_back(mp.at(40 * _ratio + 1)); 29 | } catch (std::exception &e) { 30 | v.push_back(1); 31 | } 32 | g_end2 = timer(); 33 | return v; 34 | } 35 | 36 | int main() { 37 | 38 | exit(run_map_unit_test("at()", at_test, at_test)); 39 | } -------------------------------------------------------------------------------- /sources/set_tests/insert(InputIt).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_2(std::set st) { 6 | std::vector v; 7 | for (int i = 0; i < 50 * _ratio; ++i) 8 | st.insert(i); 9 | std::set st2; 10 | g_start1 = timer(); 11 | st2.insert(st.begin(), st.end()); 12 | g_end1 = timer(); 13 | typename std::set::iterator it2 = st2.begin(); 14 | for (; it2 != st2.end(); ++it2) { 15 | v.push_back(*it2); 16 | } 17 | return v; 18 | } 19 | 20 | template 21 | std::vector insert_test_2(_set st) { 22 | std::vector v; 23 | for (int i = 0; i < 50 * _ratio; ++i) 24 | st.insert(i); 25 | _set st2; 26 | g_start2 = timer(); 27 | st2.insert(st.begin(), st.end()); 28 | g_end2 = timer(); 29 | typename _set::iterator it2 = st2.begin(); 30 | for (; it2 != st2.end(); ++it2) { 31 | v.push_back(*it2); 32 | } 33 | return v; 34 | } 35 | 36 | int main() { 37 | 38 | exit(run_set_unit_test("insert(InputIt)", insert_test_2, insert_test_2)); 39 | } -------------------------------------------------------------------------------- /sources/set_tests/constructor.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector copy_constructor_test(std::set st) { 6 | std::vector v; 7 | 8 | for (int i = 0; i < 30 * _ratio; ++i) { 9 | st.insert(i); 10 | } 11 | g_start1 = timer(); 12 | std::set st2(st.begin(), st.end()); 13 | g_end1 = timer(); 14 | std::set::iterator it = st2.begin(); 15 | for (int i = 0; i < 30 * _ratio; ++i, it++) { 16 | v.push_back(*it); 17 | } 18 | return v; 19 | } 20 | 21 | template 22 | std::vector copy_constructor_test(_set st) { 23 | std::vector v; 24 | 25 | for (int i = 0; i < 30 * _ratio; ++i) 26 | st.insert(i); 27 | g_start2 = timer(); 28 | _set st2(st.begin(), st.end()); 29 | g_end2 = timer(); 30 | _set::iterator it = st2.begin(); 31 | for (int i = 0; i < 30 * _ratio; ++i, it++) { 32 | v.push_back(*it); 33 | } 34 | return v; 35 | } 36 | 37 | int main() { 38 | exit(run_set_unit_test("constructor", copy_constructor_test, copy_constructor_test)); 39 | } -------------------------------------------------------------------------------- /sources/vector_tests/erase(value).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_1(std::vector vector) { 6 | std::vector v; 7 | for (int i = 0; i < 9900 * _ratio; ++i) 8 | vector.push_back(i); 9 | g_start1 = timer(); 10 | v.push_back(*(vector.erase(vector.begin() + 8 * _ratio))); 11 | g_end1 = timer(); 12 | v.push_back(*(vector.begin() + 82 * _ratio)); 13 | v.push_back(vector.size()); 14 | v.push_back(vector.capacity()); 15 | return v; 16 | } 17 | 18 | template 19 | std::vector erase_test_1(_vector vector) { 20 | std::vector v; 21 | for (int i = 0; i < 9900 * _ratio; ++i) 22 | vector.push_back(i); 23 | g_start2 = timer(); 24 | v.push_back(*(vector.erase(vector.begin() + 8 * _ratio))); 25 | g_end2 = timer(); 26 | v.push_back(*(vector.begin() + 82 * _ratio)); 27 | v.push_back(vector.size()); 28 | v.push_back(vector.capacity()); 29 | return v; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_vector_unit_test("erase(value)", erase_test_1, erase_test_1)); 35 | } -------------------------------------------------------------------------------- /sources/vector_tests/assign(std iterators).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector assign_std_test(std::vector vector) { 6 | std::vector v; 7 | std::vector tmp; 8 | vector.assign(3, 3); 9 | tmp.assign(4000 * _ratio, 1); 10 | g_start1 = timer(); 11 | vector.assign(tmp.begin(), tmp.end()); 12 | g_end1 = timer(); 13 | for (size_t i = 0; i < tmp.size(); ++i) 14 | v.push_back(vector[i]); 15 | v.push_back(vector.size()); 16 | v.push_back(vector.capacity()); 17 | return v; 18 | } 19 | 20 | template 21 | std::vector assign_std_test(_vector vector) { 22 | std::vector v; 23 | std::vector tmp; 24 | vector.assign(3, 3); 25 | tmp.assign(4000 * _ratio, 1); 26 | g_start2 = timer(); 27 | vector.assign(tmp.begin(), tmp.end()); 28 | g_end2 = timer(); 29 | for (size_t i = 0; i < tmp.size(); ++i) 30 | v.push_back(vector[i]); 31 | v.push_back(vector.size()); 32 | v.push_back(vector.capacity()); 33 | return v; 34 | } 35 | 36 | int main() { 37 | 38 | exit(run_vector_unit_test("assign(std iterators)", assign_std_test, assign_std_test)); 39 | } -------------------------------------------------------------------------------- /sources/vector_tests/operator <=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_less_equal_test() { 5 | std::vector result, result_2; 6 | std::vector v_int1, v_int2, v_int3; 7 | std::vector v_str1, v_str2; 8 | _vector V_int1, V_int2, V_int3; 9 | _vector V_str1, V_str2; 10 | v_int1.push_back(1); 11 | v_int3.push_back(1); 12 | v_str1.push_back("aa"); 13 | v_str2.push_back("ab"); 14 | result.push_back(v_int1 <= v_int2); 15 | v_int2.push_back(2); 16 | result.push_back(v_int1 <= v_int2); 17 | result.push_back(v_int1 <= v_int3); 18 | result.push_back(v_str1 <= v_str2); 19 | V_int1.push_back(1); 20 | V_int3.push_back(1); 21 | V_str1.push_back("aa"); 22 | V_str2.push_back("ab"); 23 | result_2.push_back(V_int1 <= V_int2); 24 | V_int2.push_back(2); 25 | result_2.push_back(V_int1 <= V_int2); 26 | result_2.push_back(V_int1 <= V_int3); 27 | result_2.push_back(V_str1 <= V_str2); 28 | return result == result_2; 29 | } 30 | 31 | int main() { 32 | 33 | exit(run_bool_unit_test("operator <=", operator_less_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/vector_tests/operator >=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_more_equal_test() { 5 | std::vector result, result_2; 6 | std::vector v_int1, v_int2, v_int3; 7 | std::vector v_str1, v_str2; 8 | _vector V_int1, V_int2, V_int3; 9 | _vector V_str1, V_str2; 10 | v_int1.push_back(1); 11 | v_int3.push_back(1); 12 | v_str1.push_back("aa"); 13 | v_str2.push_back("ab"); 14 | result.push_back(v_int1 >= v_int2); 15 | v_int2.push_back(2); 16 | result.push_back(v_int1 >= v_int2); 17 | result.push_back(v_int1 >= v_int3); 18 | result.push_back(v_str1 >= v_str2); 19 | V_int1.push_back(1); 20 | V_int3.push_back(1); 21 | V_str1.push_back("aa"); 22 | V_str2.push_back("ab"); 23 | result_2.push_back(V_int1 >= V_int2); 24 | V_int2.push_back(2); 25 | result_2.push_back(V_int1 >= V_int2); 26 | result_2.push_back(V_int1 >= V_int3); 27 | result_2.push_back(V_str1 >= V_str2); 28 | return result == result_2; 29 | } 30 | 31 | int main() { 32 | 33 | exit(run_bool_unit_test("operator >=", operator_more_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/vector_tests/operator !=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_not_equal_test() { 5 | std::vector result, result_2; 6 | std::vector v_int1, v_int2, v_int3; 7 | std::vector v_str1, v_str2; 8 | _vector V_int1, V_int2, V_int3; 9 | _vector V_str1, V_str2; 10 | v_int1.push_back(1); 11 | v_int3.push_back(1); 12 | v_str1.push_back("aa"); 13 | v_str2.push_back("ab"); 14 | result.push_back(v_int1 != v_int2); 15 | v_int2.push_back(2); 16 | result.push_back(v_int1 != v_int2); 17 | result.push_back(v_int1 != v_int3); 18 | result.push_back(v_str1 != v_str2); 19 | V_int1.push_back(1); 20 | V_int3.push_back(1); 21 | V_str1.push_back("aa"); 22 | V_str2.push_back("ab"); 23 | result_2.push_back(V_int1 != V_int2); 24 | V_int2.push_back(2); 25 | result_2.push_back(V_int1 != V_int2); 26 | result_2.push_back(V_int1 != V_int3); 27 | result_2.push_back(V_str1 != V_str2); 28 | return result == result_2; 29 | } 30 | 31 | int main() { 32 | 33 | exit(run_bool_unit_test("operator !=", operator_not_equal_test)); 34 | } 35 | -------------------------------------------------------------------------------- /sources/vector_tests/operator ==.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool operator_equal_test() { 5 | g_start2 = timer(); g_end2 = timer(); g_start1 = timer(); g_end1 = timer(); 6 | std::vector result, result_2; 7 | std::vector v_int1, v_int2, v_int3; _vector V_int1, V_int2, V_int3; 8 | std::vector v_str1, v_str2; _vector V_str1, V_str2; 9 | v_int1.push_back(1); V_int1.push_back(1); 10 | v_int3.push_back(1); V_int3.push_back(1); 11 | v_str1.push_back("aa"); V_str1.push_back("aa"); 12 | v_str2.push_back("ab"); V_str2.push_back("ab"); 13 | result.push_back(v_int1 == v_int2); result_2.push_back(V_int1 == V_int2); 14 | v_int2.push_back(2); V_int2.push_back(2); 15 | result.push_back(v_int1 == v_int2); result_2.push_back(V_int1 == V_int2); 16 | result.push_back(v_int1 == v_int3); result_2.push_back(V_int1 == V_int3); 17 | result.push_back(v_str1 == v_str2); result_2.push_back(V_str1 == V_str2); 18 | return result == result_2; 19 | } 20 | 21 | int main() { 22 | 23 | exit(run_bool_unit_test("operator ==", operator_equal_test)); 24 | } -------------------------------------------------------------------------------- /sources/vector_tests/constructor(std iterators).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector constructor_std_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(3, 3); 8 | std::vector tmp(1000 * _ratio, 4); 9 | g_start1 = timer(); 10 | std::vector tmp2(tmp.begin(), tmp.end()); 11 | g_end1 = timer(); 12 | v.push_back(tmp2.size()); 13 | v.push_back(tmp2.capacity()); 14 | for (size_t i = 0; i < tmp.size(); ++i) 15 | v.push_back(tmp2[i]); 16 | return v; 17 | } 18 | 19 | template 20 | std::vector constructor_std_test(_vector vecto) { 21 | (void)vecto; 22 | std::vector v; 23 | _vector vector(3, 3); 24 | std::vector tmp(1000 * _ratio, 4); 25 | g_start2 = timer(); 26 | _vector tmp2(tmp.begin(), tmp.end()); 27 | g_end2 = timer(); 28 | v.push_back(tmp2.size()); 29 | v.push_back(tmp2.capacity()); 30 | for (size_t i = 0; i < tmp.size(); ++i) 31 | v.push_back(tmp2[i]); 32 | return v; 33 | } 34 | 35 | int main() { 36 | 37 | exit(run_vector_unit_test("constructor(std iterators)", constructor_std_test, constructor_std_test)); 38 | } 39 | -------------------------------------------------------------------------------- /sources/system/bass24/livespec/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSMicrophoneUsageDescription 28 | 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /sources/system/bass24/rectest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSMainStoryboardFile 26 | Main 27 | NSMicrophoneUsageDescription 28 | 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /sources/vector_tests/erase(range).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_2(std::vector vector) { 6 | std::vector v; 7 | for (int i = 0; i < 9900 * _ratio; ++i) 8 | vector.push_back(i); 9 | g_start1 = timer(); 10 | v.push_back(*(vector.erase(vector.begin() + 8 * _ratio, vector.end() - 1500 * _ratio))); 11 | g_end1 = timer(); 12 | v.push_back(*(vector.begin() + 82 * _ratio)); 13 | v.push_back(vector.size()); 14 | v.push_back(vector.capacity()); 15 | return v; 16 | } 17 | 18 | template 19 | std::vector erase_test_2(_vector vector) { 20 | std::vector v; 21 | for (int i = 0; i < 9900 * _ratio; ++i) 22 | vector.push_back(i); 23 | g_start2 = timer(); 24 | v.push_back(*(vector.erase(vector.begin() + 8 * _ratio, vector.end() - 1500 * _ratio))); 25 | g_end2 = timer(); 26 | v.push_back(*(vector.begin() + 82 * _ratio)); 27 | v.push_back(vector.size()); 28 | v.push_back(vector.capacity()); 29 | return v; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_vector_unit_test("erase(range)", erase_test_2, erase_test_2)); 35 | } -------------------------------------------------------------------------------- /sources/vector_tests/insert(std iterators).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_std_test(std::vector vector) { 6 | std::vector v; 7 | std::vector tmp; 8 | tmp.assign(2600 * _ratio, 1); 9 | vector.assign(4200 * _ratio, 7); 10 | g_start1 = timer(); 11 | vector.insert(vector.begin(), tmp.begin(), tmp.end()); 12 | g_end1 = timer(); 13 | for (size_t i = 0; i < tmp.size(); ++i) { 14 | v.push_back(vector[i]); 15 | } 16 | v.push_back(vector.size()); 17 | v.push_back(vector.capacity()); 18 | return v; 19 | } 20 | 21 | template 22 | std::vector insert_std_test(_vector vector) { 23 | std::vector v; 24 | std::vector tmp; 25 | tmp.assign(2600 * _ratio, 1); 26 | vector.assign(4200 * _ratio, 7); 27 | g_start2 = timer(); 28 | vector.insert(vector.begin(), tmp.begin(), tmp.end()); 29 | g_end2 = timer(); 30 | for (size_t i = 0; i < tmp.size(); ++i) { 31 | v.push_back(vector[i]); 32 | } 33 | v.push_back(vector.size()); 34 | v.push_back(vector.capacity()); 35 | return v; 36 | } 37 | 38 | int main() { 39 | 40 | exit(run_vector_unit_test("insert(std iterators)", insert_std_test, insert_std_test)); 41 | } -------------------------------------------------------------------------------- /sources/system/bass24/makefile: -------------------------------------------------------------------------------- 1 | default: 2 | @echo " Create 64-bit Intel (x86_64) library version:" 3 | @echo " make x86_64" 4 | @echo " Create 64-bit ARM (arm64) library version:" 5 | @echo " make arm64" 6 | @echo " Create 32-bit Intel (i386) library version:" 7 | @echo " make i386" 8 | @echo " Create 64-bit (x86_64 and arm64) library version:" 9 | @echo " make 64bit" 10 | @echo " Create Intel (x86_64 and i386) library version:" 11 | @echo " make intel" 12 | 13 | BASSLIBS := $(wildcard libbass*.dylib) 14 | 15 | x86_64: $(foreach x,$(BASSLIBS),x86_64/$(x)) 16 | 17 | arm64: $(foreach x,$(BASSLIBS),arm64/$(x)) 18 | 19 | i386: $(foreach x,$(BASSLIBS),i386/$(x)) 20 | 21 | 64bit: $(foreach x,$(BASSLIBS),64bit/$(x)) 22 | 23 | intel: $(foreach x,$(BASSLIBS),intel/$(x)) 24 | 25 | x86_64/%: % 26 | @mkdir -p x86_64 27 | -lipo $* -extract x86_64 -output $@ 28 | 29 | arm64/%: % 30 | @mkdir -p arm64 31 | -lipo $* -extract arm64 -output $@ 32 | 33 | i386/%: % 34 | @mkdir -p i386 35 | -lipo $* -extract i386 -output $@ 36 | 37 | 64bit/%: % 38 | @mkdir -p 64bit 39 | -lipo $* -extract x86_64 -extract arm64 -output $@ 40 | 41 | intel/%: % 42 | @mkdir -p intel 43 | -lipo $* -extract x86_64 -extract i386 -output $@ 44 | -------------------------------------------------------------------------------- /sources/set_tests/find().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector find_test(std::set st) { 6 | std::vector v; 7 | for (int i = -75 * _ratio; i < 75 * _ratio; ++i) { 8 | st.insert(i); 9 | } 10 | g_start1 = timer(); 11 | typename std::set::iterator it = st.find(34 * _ratio); 12 | g_end1 = timer(); 13 | v.push_back(*it); 14 | 15 | it = st.find(-34 * _ratio); 16 | v.push_back(*it); 17 | 18 | it = st.find(-987654321); 19 | if (it == st.end()) 20 | v.push_back(1); 21 | return v; 22 | } 23 | 24 | template 25 | std::vector find_test(_set st) { 26 | std::vector v; 27 | for (int i = -75 * _ratio; i < 75 * _ratio; ++i) { 28 | st.insert(i); 29 | } 30 | g_start2 = timer(); 31 | typename _set::iterator it = st.find(34 * _ratio); 32 | g_end2 = timer(); 33 | v.push_back(*it); 34 | 35 | it = st.find(-34 * _ratio); 36 | v.push_back(*it); 37 | 38 | it = st.find(-987654321); 39 | if (it == st.end()) 40 | v.push_back(1); 41 | return v; 42 | } 43 | 44 | int main() { 45 | 46 | exit(run_set_unit_test("find()", find_test, find_test)); 47 | } -------------------------------------------------------------------------------- /sources/vector_tests/iterators.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector iterator_test(std::vector vector) { 6 | typename std::vector::iterator it; 7 | std::vector v; 8 | for (int i = 0; i < 10; ++i) 9 | vector.push_back(i); 10 | it = vector.begin(); 11 | g_start1 = timer(); 12 | v.push_back(*(++it)); 13 | v.push_back(*(--it)); 14 | v.push_back(*(it + 1)); 15 | it += 1; 16 | v.push_back(*(it - 1)); 17 | it -= 1; 18 | v.push_back(*it); 19 | g_end1 = timer(); 20 | return v; 21 | } 22 | 23 | template 24 | std::vector iterator_test(_vector vector) { 25 | typename _vector::iterator it; 26 | std::vector v; 27 | for (int i = 0; i < 10; ++i) 28 | vector.push_back(i); 29 | it = vector.begin(); 30 | g_start2 = timer(); 31 | v.push_back(*(++it)); 32 | v.push_back(*(--it)); 33 | v.push_back(*(it + 1)); 34 | it += 1; 35 | v.push_back(*(it - 1)); 36 | it -= 1; 37 | v.push_back(*it); 38 | g_end2 = timer(); 39 | return v; 40 | } 41 | 42 | int main() { 43 | 44 | exit(run_vector_unit_test("iterators", iterator_test, iterator_test)); 45 | } -------------------------------------------------------------------------------- /sources/map_tests/clear().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "../system/system_methods.ipp" 3 | #include "__service.ipp" 4 | 5 | template 6 | std::vector clear_test(std::map mp) { 7 | std::vector v; 8 | mp.clear(); 9 | for (int i = 0, j = 0; i < 25 * _ratio; ++i, ++j) 10 | mp.insert(std::make_pair(i, j)); 11 | v.push_back(mp.size()); 12 | g_start1 = timer(); 13 | mp.clear(); 14 | g_end1 = timer(); 15 | v.push_back(mp.size()); 16 | typename std::map::iterator it = mp.begin(); 17 | if (it == mp.end()) 18 | v.push_back(1); 19 | return v; 20 | } 21 | 22 | template 23 | std::vector clear_test(_map mp) { 24 | std::vector v; 25 | mp.clear(); 26 | for (int i = 0, j = 0; i < 25 * _ratio; ++i, ++j) 27 | mp.insert(_make_pair(i, j)); 28 | v.push_back(mp.size()); 29 | g_start2 = timer(); 30 | mp.clear(); 31 | g_end2 = timer(); 32 | v.push_back(mp.size()); 33 | typename _map::iterator it = mp.begin(); 34 | if (it == mp.end()) 35 | v.push_back(1); 36 | return v; 37 | } 38 | 39 | int main() { 40 | 41 | exit(run_map_unit_test("clear()", clear_test, clear_test)); 42 | } -------------------------------------------------------------------------------- /sources/map_tests/insert(hint).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_3(std::map mp) { 6 | std::vector v; 7 | typename std::map::iterator it = mp.end(); 8 | g_start1 = timer(); 9 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) { 10 | mp.insert(it, std::make_pair(i, j)); 11 | } 12 | g_end1 = timer(); 13 | typename std::map::iterator it2 = mp.begin(); 14 | for (; it2 != mp.end(); ++it2) { 15 | v.push_back(it2->first); 16 | v.push_back(it2->second); 17 | } 18 | return v; 19 | } 20 | 21 | template 22 | std::vector insert_test_3(_map mp) { 23 | std::vector v; 24 | typename _map::iterator it = mp.end(); 25 | g_start2 = timer(); 26 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) { 27 | mp.insert(it, _make_pair(i, j)); 28 | } 29 | g_end2 = timer(); 30 | typename _map::iterator it2 = mp.begin(); 31 | for (; it2 != mp.end(); ++it2) { 32 | v.push_back(it2->first); 33 | v.push_back(it2->second); 34 | } 35 | return v; 36 | } 37 | 38 | int main() { 39 | 40 | exit(run_map_unit_test("insert(hint)", insert_test_3, insert_test_3)); 41 | } -------------------------------------------------------------------------------- /sources/set_tests/assign overload.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector assign_overload_test(std::set st) { 6 | std::vector v; 7 | for (int i = 0; i < 20 * _ratio; ++i) 8 | st.insert(i); 9 | std::set st2; 10 | for (int i = 20 * _ratio; i < 40 * _ratio; ++i) 11 | st2.insert(i); 12 | g_start1 = timer(); 13 | st2 = st; 14 | g_end1 = timer(); 15 | typename std::set::iterator it = st2.begin(); 16 | for (; it != st2.end(); it++) 17 | v.push_back(*it); 18 | v.push_back(st2.size()); 19 | return v; 20 | } 21 | 22 | template 23 | std::vector assign_overload_test(_set st) { 24 | std::vector v; 25 | for (int i = 0; i < 20 * _ratio; ++i) 26 | st.insert(i); 27 | _set st2; 28 | for (int i = 20 * _ratio; i < 40 * _ratio; ++i) 29 | st2.insert(i); 30 | g_start2 = timer(); 31 | st2 = st; 32 | g_end2 = timer(); 33 | typename _set::iterator it = st2.begin(); 34 | for (; it != st2.end(); it++) 35 | v.push_back(*it); 36 | v.push_back(st2.size()); 37 | return v; 38 | } 39 | 40 | int main() { 41 | 42 | exit(run_set_unit_test("assign overload", assign_overload_test, assign_overload_test)); 43 | } 44 | -------------------------------------------------------------------------------- /sources/map_tests/insert(InputIt).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test_2(std::map mp) { 6 | std::vector v; 7 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) 8 | mp.insert(std::make_pair(i, j)); 9 | std::map mp2; 10 | g_start1 = timer(); 11 | mp2.insert(mp.begin(), mp.end()); 12 | g_end1 = timer(); 13 | typename std::map::iterator it2 = mp2.begin(); 14 | for (; it2 != mp2.end(); ++it2) { 15 | v.push_back(it2->first); 16 | v.push_back(it2->second); 17 | } 18 | return v; 19 | } 20 | 21 | template 22 | std::vector insert_test_2(_map mp) { 23 | std::vector v; 24 | for (int i = 0, j = 0; i < 50 * _ratio; ++i, ++j) 25 | mp.insert(_make_pair(i, j)); 26 | _map mp2; 27 | g_start2 = timer(); 28 | mp2.insert(mp.begin(), mp.end()); 29 | g_end2 = timer(); 30 | typename _map::iterator it2 = mp2.begin(); 31 | for (; it2 != mp2.end(); ++it2) { 32 | v.push_back(it2->first); 33 | v.push_back(it2->second); 34 | } 35 | return v; 36 | } 37 | 38 | int main() { 39 | 40 | exit(run_map_unit_test("insert(InputIt)", insert_test_2, insert_test_2)); 41 | } -------------------------------------------------------------------------------- /sources/map_tests/constructor.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector copy_constructor_test(std::map mp) { 6 | 7 | std::vector v; 8 | 9 | for (int i = 0, j = 10; i < 30 * _ratio; ++i, ++j) { 10 | mp.insert(std::make_pair(i, j)); 11 | } 12 | g_start1 = timer(); 13 | std::map mp2(mp.begin(), mp.end()); 14 | g_end1 = timer(); 15 | std::map::iterator it = mp2.begin(); 16 | for (int i = 0; i < 30 * _ratio; ++i, it++) { 17 | v.push_back(it->first); 18 | v.push_back(it->second); 19 | } 20 | return v; 21 | } 22 | 23 | template 24 | std::vector copy_constructor_test(_map mp) { 25 | 26 | std::vector v; 27 | 28 | for (int i = 0, j = 10; i < 30 * _ratio; ++i, ++j) { 29 | mp.insert(_make_pair(i, j)); 30 | } 31 | g_start2 = timer(); 32 | _map mp2(mp.begin(), mp.end()); 33 | g_end2 = timer(); 34 | _map::iterator it = mp2.begin(); 35 | for (int i = 0; i < 30 * _ratio; ++i, it++) { 36 | v.push_back(it->first); 37 | v.push_back(it->second); 38 | } 39 | return v; 40 | } 41 | 42 | int main() { 43 | 44 | exit(run_map_unit_test("constructor(InputIt)", copy_constructor_test, copy_constructor_test)); 45 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fa.lproj/CHMDocument.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Chmox"; ObjectID = "26"; */ 3 | "26.title" = "Chmox"; 4 | 5 | /* Class = "NSTabViewItem"; label = "جستجو"; ObjectID = "35"; */ 6 | "35.label" = "جستجو"; 7 | 8 | /* Class = "NSTabViewItem"; label = "محتوا"; ObjectID = "36"; */ 9 | "36.label" = "محتوا"; 10 | 11 | /* Class = "NSTabViewItem"; label = "برگزیده ها"; ObjectID = "40"; */ 12 | "40.label" = "برگزیده ها"; 13 | 14 | /* Class = "NSTableColumn"; headerCell.title = "مکان"; ObjectID = "53"; */ 15 | "53.headerCell.title" = "مکان"; 16 | 17 | /* Class = "NSButtonCell"; title = "جستجوی نتایج قبلی"; ObjectID = "80"; */ 18 | "80.title" = "جستجوی نتایج قبلی"; 19 | 20 | /* Class = "NSButtonCell"; title = "تطبیف با کلمه های مشابه"; ObjectID = "81"; */ 21 | "81.title" = "تطبیف با کلمه های مشابه"; 22 | 23 | /* Class = "NSButtonCell"; title = "جستجو فقط در عناوین"; ObjectID = "82"; */ 24 | "82.title" = "جستجو فقط در عناوین"; 25 | 26 | /* Class = "NSSearchFieldCell"; placeholderString = "کلمه برای جستجو"; ObjectID = "131"; */ 27 | "131.placeholderString" = "کلمه برای جستجو"; 28 | 29 | /* Class = "NSButtonCell"; title = "+"; ObjectID = "132"; */ 30 | "132.title" = "+"; 31 | 32 | /* Class = "NSButtonCell"; title = "-"; ObjectID = "133"; */ 33 | "133.title" = "-"; 34 | 35 | /* Class = "NSButtonCell"; title = "Rechercher les résultats précédents."; ObjectID = "135"; */ 36 | "135.title" = "Rechercher les résultats précédents."; 37 | -------------------------------------------------------------------------------- /sources/map_tests/find().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector find_test(std::map mp) { 6 | std::vector v; 7 | for (int i = -75 * _ratio, j = 0; i < 75 * _ratio; ++i, ++j) { 8 | mp.insert(std::make_pair(i, j)); 9 | } 10 | g_start1 = timer(); 11 | typename std::map::iterator it = mp.find(34 * _ratio); 12 | g_end1 = timer(); 13 | v.push_back(it->first); 14 | v.push_back(it->second); 15 | it = mp.find(-34 * _ratio); 16 | v.push_back(it->first); 17 | v.push_back(it->second); 18 | it = mp.find(-75 * _ratio); 19 | if (it == mp.end()) 20 | v.push_back(1); 21 | return v; 22 | } 23 | 24 | template 25 | std::vector find_test(_map mp) { 26 | std::vector v; 27 | for (int i = -75 * _ratio, j = 0; i < 75 * _ratio; ++i, ++j) { 28 | mp.insert(_make_pair(i, j)); 29 | } 30 | g_start2 = timer(); 31 | typename _map::iterator it = mp.find(34 * _ratio); 32 | g_end2 = timer(); 33 | v.push_back(it->first); 34 | v.push_back(it->second); 35 | it = mp.find(-34 * _ratio); 36 | v.push_back(it->first); 37 | v.push_back(it->second); 38 | it = mp.find(-75 * _ratio); 39 | if (it == mp.end()) 40 | v.push_back(1); 41 | return v; 42 | } 43 | 44 | int main() { 45 | 46 | exit(run_map_unit_test("find()", find_test, find_test)); 47 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/CHMDocument.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Chmox"; ObjectID = "26"; */ 3 | "26.title" = "Chmox"; 4 | 5 | /* Class = "NSTabViewItem"; label = "Search"; ObjectID = "35"; */ 6 | "35.label" = "Search"; 7 | 8 | /* Class = "NSTabViewItem"; label = "Content"; ObjectID = "36"; */ 9 | "36.label" = "Content"; 10 | 11 | /* Class = "NSTabViewItem"; label = "Favorites"; ObjectID = "40"; */ 12 | "40.label" = "Favorites"; 13 | 14 | /* Class = "NSTableColumn"; headerCell.title = "Location"; ObjectID = "53"; */ 15 | "53.headerCell.title" = "Location"; 16 | 17 | /* Class = "NSButtonCell"; title = "Search previous results"; ObjectID = "80"; */ 18 | "80.title" = "Search previous results"; 19 | 20 | /* Class = "NSButtonCell"; title = "Match similar words"; ObjectID = "81"; */ 21 | "81.title" = "Match similar words"; 22 | 23 | /* Class = "NSButtonCell"; title = "Search titles only"; ObjectID = "82"; */ 24 | "82.title" = "Search titles only"; 25 | 26 | /* Class = "NSSearchFieldCell"; placeholderString = "Word to search"; ObjectID = "131"; */ 27 | "131.placeholderString" = "Word to search"; 28 | 29 | /* Class = "NSButtonCell"; title = "+"; ObjectID = "132"; */ 30 | "132.title" = "+"; 31 | 32 | /* Class = "NSButtonCell"; title = "-"; ObjectID = "133"; */ 33 | "133.title" = "-"; 34 | 35 | /* Class = "NSButtonCell"; title = "Rechercher les résultats précédents."; ObjectID = "135"; */ 36 | "135.title" = "Rechercher les résultats précédents."; 37 | -------------------------------------------------------------------------------- /sources/vector_tests/assign().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector assign_test(std::vector vector) { 6 | std::vector v; 7 | std::vector tmp, tmp2; 8 | vector.assign(3, 3); 9 | tmp.assign(4000 * _ratio, 1); 10 | tmp2.assign(4 * _ratio, 1); 11 | g_start1 = timer(); 12 | vector.assign(tmp.begin(), tmp.end()); 13 | v.push_back(vector[1]); 14 | v.push_back(vector.size()); 15 | v.push_back(vector.capacity()); 16 | vector.assign(tmp2.begin(), tmp2.end()); 17 | g_end1 = timer(); 18 | v.push_back(vector[444]); 19 | v.push_back(vector.size()); 20 | v.push_back(vector.capacity()); 21 | return v; 22 | } 23 | 24 | template 25 | std::vector assign_test(_vector vector) { 26 | std::vector v; 27 | _vector tmp, tmp2; 28 | vector.assign(3, 3); 29 | tmp.assign(4000 * _ratio, 1); 30 | tmp2.assign(4 * _ratio, 1); 31 | g_start2 = timer(); 32 | vector.assign(tmp.begin(), tmp.end()); 33 | v.push_back(vector[1]); 34 | v.push_back(vector.size()); 35 | v.push_back(vector.capacity()); 36 | vector.assign(tmp2.begin(), tmp2.end()); 37 | g_end2 = timer(); 38 | v.push_back(vector[444]); 39 | v.push_back(vector.size()); 40 | v.push_back(vector.capacity()); 41 | return v; 42 | } 43 | 44 | int main() { 45 | 46 | exit(run_vector_unit_test("assign()", assign_test, assign_test)); 47 | } -------------------------------------------------------------------------------- /sources/vector_tests/resize().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector resize_test(std::vector vector) { 6 | std::vector v; 7 | vector.assign(9900 * _ratio, 1); 8 | g_start1 = timer(); 9 | vector.resize(5000 * _ratio); 10 | vector.reserve(5000 * _ratio); 11 | v.push_back(vector.size()); 12 | v.push_back(vector.capacity()); 13 | vector.resize(7000 * _ratio); 14 | v.push_back(vector.size()); 15 | v.push_back(vector.capacity()); 16 | vector.resize(15300 * _ratio, T()); 17 | v.push_back(vector.size()); 18 | v.push_back(vector.capacity()); 19 | v.push_back(vector[65]); 20 | g_end1 = timer(); 21 | return v; 22 | } 23 | 24 | template 25 | std::vector resize_test(_vector vector) { 26 | std::vector v; 27 | vector.assign(9900 * _ratio, 1); 28 | g_start2 = timer(); 29 | vector.resize(5000 * _ratio); 30 | vector.reserve(5000 * _ratio); 31 | v.push_back(vector.size()); 32 | v.push_back(vector.capacity()); 33 | vector.resize(7000 * _ratio); 34 | v.push_back(vector.size()); 35 | v.push_back(vector.capacity()); 36 | vector.resize(15300 * _ratio, T()); 37 | v.push_back(vector.size()); 38 | v.push_back(vector.capacity()); 39 | v.push_back(vector[65]); 40 | g_end2 = timer(); 41 | return v; 42 | } 43 | 44 | int main() { 45 | 46 | exit(run_vector_unit_test("resize()", resize_test, resize_test)); 47 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/it.lproj/CHMDocument.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Chmox"; ObjectID = "26"; */ 3 | "26.title" = "Chmox"; 4 | 5 | /* Class = "NSTabViewItem"; label = "Cerca"; ObjectID = "35"; */ 6 | "35.label" = "Cerca"; 7 | 8 | /* Class = "NSTabViewItem"; label = "Contenuto"; ObjectID = "36"; */ 9 | "36.label" = "Contenuto"; 10 | 11 | /* Class = "NSTabViewItem"; label = "Preferiti"; ObjectID = "40"; */ 12 | "40.label" = "Preferiti"; 13 | 14 | /* Class = "NSTableColumn"; headerCell.title = "Posizione"; ObjectID = "53"; */ 15 | "53.headerCell.title" = "Posizione"; 16 | 17 | /* Class = "NSButtonCell"; title = "Cerca risultati precedenti"; ObjectID = "80"; */ 18 | "80.title" = "Cerca risultati precedenti"; 19 | 20 | /* Class = "NSButtonCell"; title = "Considera le parole simili"; ObjectID = "81"; */ 21 | "81.title" = "Considera le parole simili"; 22 | 23 | /* Class = "NSButtonCell"; title = "Cerca solo nei titoli"; ObjectID = "82"; */ 24 | "82.title" = "Cerca solo nei titoli"; 25 | 26 | /* Class = "NSSearchFieldCell"; placeholderString = "Parola da cercare"; ObjectID = "131"; */ 27 | "131.placeholderString" = "Parola da cercare"; 28 | 29 | /* Class = "NSButtonCell"; title = "+"; ObjectID = "132"; */ 30 | "132.title" = "+"; 31 | 32 | /* Class = "NSButtonCell"; title = "-"; ObjectID = "133"; */ 33 | "133.title" = "-"; 34 | 35 | /* Class = "NSButtonCell"; title = "Rechercher les résultats précédents."; ObjectID = "135"; */ 36 | "135.title" = "Rechercher les résultats précédents."; 37 | -------------------------------------------------------------------------------- /sources/stack_tests/constructor.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector constructor_test(std::stack stk) { 6 | std::vector v; 7 | std::deque deque; 8 | for (int i = 0; i < 100 * _ratio; ++i) 9 | deque.push_back(i); 10 | for (int i = 100 * _ratio; i < 200 * _ratio; ++i) 11 | stk.push(i); 12 | g_start1 = timer(); 13 | std::stack stack(deque); 14 | std::stack stack2(stk); 15 | std::stack stack3; 16 | stack3 = stack2; 17 | g_end1 = timer(); 18 | while (stack.size() > 0) { 19 | v.push_back(stack.top()); 20 | stack.pop(); 21 | } 22 | while (stack2.size() > 0) { 23 | v.push_back(stack2.top()); 24 | stack2.pop(); 25 | } 26 | return v; 27 | } 28 | 29 | template 30 | std::vector constructor_test(_stack stk) { 31 | std::vector v; 32 | _vector deque; 33 | for (int i = 0; i < 100 * _ratio; ++i) 34 | deque.push_back(i); 35 | for (int i = 100 * _ratio; i < 200 * _ratio; ++i) 36 | stk.push(i); 37 | g_start2 = timer(); 38 | _stack stack(deque); 39 | _stack stack2(stk); 40 | _stack stack3; 41 | stack3 = stack2; 42 | g_end2 = timer(); 43 | while (stack.size() > 0) { 44 | v.push_back(stack.top()); 45 | stack.pop(); 46 | } 47 | while (stack2.size() > 0) { 48 | v.push_back(stack2.top()); 49 | stack2.pop(); 50 | } 51 | return v; 52 | } 53 | 54 | int main() { 55 | 56 | exit(run_stack_unit_test("constructor", constructor_test, constructor_test)); 57 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/de.lproj/CHMDocument.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Chmox"; ObjectID = "26"; */ 3 | "26.title" = "Chmox"; 4 | 5 | /* Class = "NSTabViewItem"; label = "Suche"; ObjectID = "35"; */ 6 | "35.label" = "Suche"; 7 | 8 | /* Class = "NSTabViewItem"; label = "Inhalt"; ObjectID = "36"; */ 9 | "36.label" = "Inhalt"; 10 | 11 | /* Class = "NSTabViewItem"; label = "Favoriten"; ObjectID = "40"; */ 12 | "40.label" = "Favoriten"; 13 | 14 | /* Class = "NSTableColumn"; headerCell.title = "Fundort"; ObjectID = "53"; */ 15 | "53.headerCell.title" = "Fundort"; 16 | 17 | /* Class = "NSButtonCell"; title = "Suche in den vorherigen Ergebnissen."; ObjectID = "80"; */ 18 | "80.title" = "Suche in den vorherigen Ergebnissen."; 19 | 20 | /* Class = "NSButtonCell"; title = "Ähnliche Wörter beachten."; ObjectID = "81"; */ 21 | "81.title" = "Ähnliche Wörter beachten."; 22 | 23 | /* Class = "NSButtonCell"; title = "Suche nur in den Titeln."; ObjectID = "82"; */ 24 | "82.title" = "Suche nur in den Titeln."; 25 | 26 | /* Class = "NSSearchFieldCell"; placeholderString = "Gesuchtes Word"; ObjectID = "131"; */ 27 | "131.placeholderString" = "Gesuchtes Word"; 28 | 29 | /* Class = "NSButtonCell"; title = "+"; ObjectID = "132"; */ 30 | "132.title" = "+"; 31 | 32 | /* Class = "NSButtonCell"; title = "-"; ObjectID = "133"; */ 33 | "133.title" = "-"; 34 | 35 | /* Class = "NSButtonCell"; title = "Suche in den vorherigen Ergebnissen."; ObjectID = "135"; */ 36 | "135.title" = "Suche in den vorherigen Ergebnissen."; 37 | -------------------------------------------------------------------------------- /sources/system/run_stack.cpp: -------------------------------------------------------------------------------- 1 | #include "engine.ipp" 2 | 3 | using std::cout; 4 | 5 | int main(int argc, char* argv[], char* env[]) { 6 | cout << "--------------------------------------------------------------------------------------------" << endl; 7 | cout << "| STACK |" << endl; 8 | cout << "--------------------------------------------------------------------------------------------" << endl; 9 | printElement("FUNCTION"); printElement(WHITE + "RESULT" + RESET); printElement(WHITE + "FT TIME" + RESET); printElement(WHITE + "STD TIME" + RESET); 10 | printElement(WHITE + "LEAKS" + RESET); cout << endl; 11 | 12 | runFunctionTest("../stack_tests/constructor.cpp", argv, env); 13 | runFunctionTest("../stack_tests/push().cpp", argv, env); 14 | runFunctionTest("../stack_tests/top().cpp", argv, env); 15 | runFunctionTest("../stack_tests/pop().cpp", argv, env); 16 | runFunctionTest("../stack_tests/size().cpp", argv, env); 17 | runFunctionTest("../stack_tests/empty().cpp", argv, env); 18 | runFunctionTest("../stack_tests/operator ==.cpp", argv, env); 19 | runFunctionTest("../stack_tests/operator !=.cpp", argv, env); 20 | runFunctionTest("../stack_tests/operator <.cpp", argv, env); 21 | runFunctionTest("../stack_tests/operator >.cpp", argv, env); 22 | runFunctionTest("../stack_tests/operator <=.cpp", argv, env); 23 | runFunctionTest("../stack_tests/operator >=.cpp", argv, env); 24 | 25 | saveResult("stack_res"); 26 | outputCurrentResult("STACK", _STACK_TEST_NUM); 27 | 28 | return 0; 29 | } -------------------------------------------------------------------------------- /sources/utilities_tests/is_integral.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include UTILITIES 3 | 4 | bool is_integral_test_() { 5 | std::vector v; 6 | bool res = 1; 7 | g_start2 = timer(); g_end2 = timer(); g_start1 = timer(); g_end1 = timer(); 8 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 9 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 10 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 11 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 12 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 13 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 14 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 15 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 16 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 17 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 18 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 19 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 20 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 21 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 22 | (_is_integral() == std::is_integral()) ? 0 : res = 0; 23 | return res; 24 | } 25 | 26 | int main() { 27 | exit(run_bool_unit_test("is_integral", is_integral_test_)); 28 | } 29 | -------------------------------------------------------------------------------- /sources/vector_tests/constructor.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector constructor_test(std::vector vector) { 6 | std::vector v; 7 | std::vector tmp0(vector); 8 | std::vector tmp(1000 * _ratio, 4), tmp2(1000 * _ratio, 5); 9 | tmp = tmp2; 10 | std::vector tmp3(tmp); 11 | g_start1 = timer(); 12 | std::vector tmp4(tmp.begin(), tmp.end()); 13 | g_end1 = timer(); 14 | v.push_back(tmp4.size()); 15 | v.push_back(tmp4.capacity()); 16 | v.push_back(tmp[2]); 17 | v.push_back(tmp3[2]); 18 | v.push_back(tmp4[2]); 19 | try { std::vector tmp5(-1, -1); } 20 | catch (std::exception &e) { v.push_back(1); } 21 | return v; 22 | } 23 | 24 | template 25 | std::vector constructor_test(_vector vector) { 26 | std::vector v; 27 | _vector tmp0(vector); 28 | _vector tmp(1000 * _ratio, 4), tmp2(1000 * _ratio, 5); 29 | tmp = tmp2; 30 | _vector tmp3(tmp); 31 | g_start2 = timer(); 32 | _vector tmp4(tmp.begin(), tmp.end()); 33 | g_end2 = timer(); 34 | v.push_back(tmp4.size()); 35 | v.push_back(tmp4.capacity()); 36 | v.push_back(tmp[2]); 37 | v.push_back(tmp3[2]); 38 | v.push_back(tmp4[2]); 39 | try { _vector tmp5(-1, -1); } 40 | catch (std::exception &e) { v.push_back(1); } 41 | return v; 42 | } 43 | 44 | int main() { 45 | 46 | exit(run_vector_unit_test("constructor", constructor_test, constructor_test)); 47 | } -------------------------------------------------------------------------------- /sources/map_tests/operator[].cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector operator_sq_test(std::map mp) { 6 | std::vector v; 7 | mp.insert(std::make_pair(3, 3)); 8 | typename std::map::iterator it = mp.begin(); 9 | g_start1 = timer(); 10 | v.push_back(it->first); 11 | v.push_back(it->second); 12 | mp[3] = 10; 13 | v.push_back(it->first); 14 | v.push_back(it->second); 15 | mp[2] = 9; 16 | it = mp.begin(); 17 | v.push_back(it->first); 18 | v.push_back(it->second); 19 | it++; 20 | v.push_back(it->first); 21 | v.push_back(it->second); 22 | v.push_back(mp.size()); 23 | g_end1 = timer(); 24 | return v; 25 | } 26 | 27 | template 28 | std::vector operator_sq_test(_map mp) { 29 | std::vector v; 30 | mp.insert(_make_pair(3, 3)); 31 | typename _map::iterator it = mp.begin(); 32 | g_start2 = timer(); 33 | v.push_back(it->first); 34 | v.push_back(it->second); 35 | mp[3] = 10; 36 | v.push_back(it->first); 37 | v.push_back(it->second); 38 | mp[2] = 9; 39 | it = mp.begin(); 40 | v.push_back(it->first); 41 | v.push_back(it->second); 42 | it++; 43 | v.push_back(it->first); 44 | v.push_back(it->second); 45 | v.push_back(mp.size()); 46 | g_end2 = timer(); 47 | return v; 48 | } 49 | 50 | int main() { 51 | 52 | exit(run_map_unit_test("operator[]", operator_sq_test, operator_sq_test)); 53 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fr.lproj/CHMDocument.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Chmox"; ObjectID = "26"; */ 3 | "26.title" = "Chmox"; 4 | 5 | /* Class = "NSTabViewItem"; label = "Recherche"; ObjectID = "35"; */ 6 | "35.label" = "Recherche"; 7 | 8 | /* Class = "NSTabViewItem"; label = "Contenu"; ObjectID = "36"; */ 9 | "36.label" = "Contenu"; 10 | 11 | /* Class = "NSTabViewItem"; label = "Signets"; ObjectID = "40"; */ 12 | "40.label" = "Signets"; 13 | 14 | /* Class = "NSTableColumn"; headerCell.title = "Emplacement"; ObjectID = "53"; */ 15 | "53.headerCell.title" = "Emplacement"; 16 | 17 | /* Class = "NSButtonCell"; title = "Rechercher les résultats précédents."; ObjectID = "80"; */ 18 | "80.title" = "Rechercher les résultats précédents."; 19 | 20 | /* Class = "NSButtonCell"; title = "Respecter les mots similaires."; ObjectID = "81"; */ 21 | "81.title" = "Respecter les mots similaires."; 22 | 23 | /* Class = "NSButtonCell"; title = "Rechercher uniquement dans les titres."; ObjectID = "82"; */ 24 | "82.title" = "Rechercher uniquement dans les titres."; 25 | 26 | /* Class = "NSSearchFieldCell"; placeholderString = "Mots à chercher"; ObjectID = "131"; */ 27 | "131.placeholderString" = "Mots à chercher"; 28 | 29 | /* Class = "NSButtonCell"; title = "+"; ObjectID = "132"; */ 30 | "132.title" = "+"; 31 | 32 | /* Class = "NSButtonCell"; title = "-"; ObjectID = "133"; */ 33 | "133.title" = "-"; 34 | 35 | /* Class = "NSButtonCell"; title = "Rechercher les résultats précédents."; ObjectID = "135"; */ 36 | "135.title" = "Rechercher les résultats précédents."; 37 | -------------------------------------------------------------------------------- /sources/map_tests/assign overload.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector assign_overload_test(std::map mp) { 6 | std::vector v; 7 | for (int i = 0, j = 10; i < 20 * _ratio; ++i, ++j) 8 | mp.insert(std::make_pair(i, j)); 9 | std::map mp2; 10 | for (int i = 20 * _ratio, j = 200010; i < 40 * _ratio; ++i, ++j) 11 | mp2.insert(std::make_pair(i, j)); 12 | g_start1 = timer(); 13 | mp2 = mp; 14 | g_end1 = timer(); 15 | typename std::map::iterator it = mp2.begin(); 16 | for (; it != mp2.end(); it++) { 17 | v.push_back(it->first); 18 | v.push_back(it->second); 19 | } 20 | v.push_back(mp2.size()); 21 | return v; 22 | } 23 | 24 | template 25 | std::vector assign_overload_test(_map mp) { 26 | std::vector v; 27 | for (int i = 0, j = 10; i < 20 * _ratio; ++i, ++j) 28 | mp.insert(_make_pair(i, j)); 29 | _map mp2; 30 | for (int i = 20 * _ratio, j = 200010; i < 40 * _ratio; ++i, ++j) 31 | mp2.insert(_make_pair(i, j)); 32 | g_start2 = timer(); 33 | mp2 = mp; 34 | g_end2 = timer(); 35 | typename _map::iterator it = mp2.begin(); 36 | for (; it != mp2.end(); it++) { 37 | v.push_back(it->first); 38 | v.push_back(it->second); 39 | } 40 | v.push_back(mp2.size()); 41 | return v; 42 | } 43 | 44 | int main() { 45 | exit(run_map_unit_test("assign overload", assign_overload_test, assign_overload_test)); 46 | } -------------------------------------------------------------------------------- /sources/vector_tests/__service.ipp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "../system/lib.hpp" 3 | #include VECTOR 4 | 5 | template 6 | int run_vector_unit_test(std::string test_name, std::vector (func1)(std::vector), std::vector (func2)(_vector)) { 7 | int result; 8 | int leaks; 9 | time_t t1; 10 | time_t t2; 11 | std::vector res1; 12 | std::vector res2; 13 | std::vector vector; 14 | _vector my_vector; 15 | 16 | printElement(test_name); 17 | res1 = func1(vector); 18 | res2 = func2(my_vector); 19 | if (res1 == res2) { 20 | printElement("OK"); 21 | result = 0; 22 | } 23 | else { 24 | printElement("FAILED"); 25 | result = 1; 26 | } 27 | t1 = g_end1 - g_start1, t2 = g_end2 - g_start2; 28 | (t1 >= t2) ? printElement(GREEN + std::to_string(t2) + "ms" + RESET) : printElement(REDD + std::to_string(t2) + "ms" + RESET); 29 | (t1 > t2) ? printElement(REDD + std::to_string(t1) + "ms" + RESET) : printElement(GREEN + std::to_string(t1) + "ms" + RESET); 30 | leaks = leaks_test(getpid()); 31 | cout << endl; 32 | 33 | return !(!result && !leaks); 34 | } 35 | 36 | template 37 | int run_vector_allocator_unit_test(std::string test_name, void (func)(_vector)) { 38 | _vector my_vector; 39 | 40 | printElement(test_name); 41 | func(my_vector); 42 | if (_allocator_used) { 43 | printElement("OK"); 44 | cout << endl; 45 | return (0); 46 | } 47 | else { 48 | printElement("FAILED"); 49 | cout << endl; 50 | return (1); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /sources/stack_tests/__service.ipp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "../system/lib.hpp" 3 | #include STACK 4 | 5 | class StackBoolTest { 6 | public: 7 | std::stack s1, s2, s3, s4; 8 | std::stack s5, s6, s7, s8, s9; 9 | _stack st1, st2, st3, st4; 10 | _stack st5, st6, st7, st8, st9; 11 | 12 | StackBoolTest() { 13 | s1.push(2); st1.push(2); 14 | s2.push(3); st2.push(3); 15 | s3.push(3); st3.push(3); 16 | s4.push(4); st4.push(4); 17 | s4.push(4); st4.push(4); 18 | s5.push("122"); st5.push("122"); 19 | s6.push("123"); st6.push("123"); 20 | s7.push("124"); st7.push("124"); 21 | s8.push("12"); st8.push("12"); 22 | s9.push("123"); st9.push("123"); 23 | } 24 | }; 25 | 26 | template 27 | int run_stack_unit_test(std::string test_name, std::vector (func1)(std::stack), std::vector (func2)(_stack)) { 28 | int result; 29 | int leaks; 30 | time_t t1; 31 | time_t t2; 32 | std::vector res1; 33 | std::vector res2; 34 | std::stack stack; 35 | _stack my_stack; 36 | 37 | printElement(test_name); 38 | res1 = func1(stack); 39 | res2 = func2(my_stack); 40 | if (res1 == res2) { 41 | printElement("OK"); 42 | result = 0; 43 | } 44 | else { 45 | printElement("FAILED"); 46 | result = 1; 47 | } 48 | t1 = g_end1 - g_start1, t2 = g_end2 - g_start2; 49 | (t1 >= t2) ? printElement(GREEN + std::to_string(t2) + "ms" + RESET) : printElement(REDD + std::to_string(t2) + "ms" + RESET); 50 | (t1 > t2) ? printElement(REDD + std::to_string(t1) + "ms" + RESET) : printElement(GREEN + std::to_string(t1) + "ms" + RESET); 51 | leaks = leaks_test(getpid()); 52 | cout << endl; 53 | 54 | return !(!result && !leaks);; 55 | } 56 | -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/zh_TW.lproj/VersionChecker.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "%@ 軟體更新"; ObjectID = "10"; */ 3 | "10.title" = "%@ 軟體更新"; 4 | 5 | /* Class = "NSWindow"; title = "%@ 軟體更新"; ObjectID = "51"; */ 6 | "51.title" = "%@ 軟體更新"; 7 | 8 | /* Class = "NSWindow"; title = "%@ 軟體更新"; ObjectID = "59"; */ 9 | "59.title" = "%@ 軟體更新"; 10 | 11 | /* Class = "NSButtonCell"; title = "取消"; ObjectID = "96"; */ 12 | "96.title" = "取消"; 13 | 14 | /* Class = "NSButtonCell"; title = "更新"; ObjectID = "97"; */ 15 | "97.title" = "更新"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "更新已可取得"; ObjectID = "99"; */ 18 | "99.title" = "更新已可取得"; 19 | 20 | /* Class = "NSTextFieldCell"; title = "這個應用程式更新於 %@。\n這個版本 %@ 從 %i 天前起已可下載取得。\n您是否想要更新您的版本 %@?"; ObjectID = "100"; */ 21 | "100.title" = "這個應用程式更新於 %@。\n這個版本 %@ 從 %i 天前起已可下載取得。\n您是否想要更新您的版本 %@?"; 22 | 23 | /* Class = "NSButtonCell"; title = "自動檢查更新"; ObjectID = "101"; */ 24 | "101.title" = "自動檢查更新"; 25 | 26 | /* Class = "NSButtonCell"; title = "自動檢查更新"; ObjectID = "103"; */ 27 | "103.title" = "自動檢查更新"; 28 | 29 | /* Class = "NSButtonCell"; title = "好"; ObjectID = "104"; */ 30 | "104.title" = "好"; 31 | 32 | /* Class = "NSTextFieldCell"; title = "目前沒有更新可取得。"; ObjectID = "105"; */ 33 | "105.title" = "目前沒有更新可取得。"; 34 | 35 | /* Class = "NSTextFieldCell"; title = "您的版本已是最新版本"; ObjectID = "106"; */ 36 | "106.title" = "您的版本已是最新版本"; 37 | 38 | /* Class = "NSTextFieldCell"; title = "連接至伺服器時發生錯誤。請檢查您的網路設定或稍後重試\n。"; ObjectID = "107"; */ 39 | "107.title" = "連接至伺服器時發生錯誤。請檢查您的網路設定或稍後重試\n。"; 40 | 41 | /* Class = "NSButtonCell"; title = "自動檢查更新"; ObjectID = "109"; */ 42 | "109.title" = "自動檢查更新"; 43 | 44 | /* Class = "NSButtonCell"; title = "好"; ObjectID = "110"; */ 45 | "110.title" = "好"; 46 | 47 | /* Class = "NSTextFieldCell"; title = "檢查最新版本時發生錯誤"; ObjectID = "111"; */ 48 | "111.title" = "檢查最新版本時發生錯誤"; 49 | -------------------------------------------------------------------------------- /sources/set_tests/reverse iterators.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector reverse_iterators_test(std::set st) { 6 | std::vector v; 7 | 8 | g_start1 = g_end1 = timer(); 9 | st.insert(5); 10 | st.insert(3); 11 | st.insert(7); 12 | typename std::set::reverse_iterator rit = st.rbegin(); 13 | typename std::set::reverse_iterator rit2 = st.rend(); 14 | v.push_back(*rit); 15 | rit++; 16 | rit2--; 17 | v.push_back(*rit); 18 | v.push_back(*rit2); 19 | rit++; 20 | v.push_back(*rit == *rit2); 21 | v.push_back(rit == rit2); 22 | rit2--; 23 | v.push_back(*rit); 24 | v.push_back(*rit2); 25 | v.push_back(*rit2 > *rit); 26 | v.push_back(*rit2 < *rit); 27 | v.push_back(*(--rit)); 28 | v.push_back(*(++rit2)); 29 | v.push_back(*(rit--)); 30 | v.push_back(*(rit2++)); 31 | return v; 32 | } 33 | 34 | template 35 | std::vector reverse_iterators_test(_set st) { 36 | 37 | std::vector v; 38 | 39 | g_start2 = g_end2 = timer(); 40 | st.insert(5); 41 | st.insert(3); 42 | st.insert(7); 43 | typename _set::reverse_iterator rit = st.rbegin(); 44 | typename _set::reverse_iterator rit2 = st.rend(); 45 | v.push_back(*rit); 46 | rit++; 47 | rit2--; 48 | v.push_back(*rit); 49 | v.push_back(*rit2); 50 | rit++; 51 | v.push_back(*rit == *rit2); 52 | v.push_back(rit == rit2); 53 | rit2--; 54 | v.push_back(*rit); 55 | v.push_back(*rit2); 56 | v.push_back(*rit2 > *rit); 57 | v.push_back(*rit2 < *rit); 58 | v.push_back(*(--rit)); 59 | v.push_back(*(++rit2)); 60 | v.push_back(*(rit--)); 61 | v.push_back(*(rit2++)); 62 | return v; 63 | } 64 | 65 | int main() { 66 | exit(run_set_unit_test("reverse iterators", reverse_iterators_test, reverse_iterators_test)); 67 | } -------------------------------------------------------------------------------- /sources/set_tests/equal_range().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector equal_range_test(std::set st) { 6 | std::vector v; 7 | st.insert(10); 8 | st.insert(20); 9 | st.insert(30); 10 | st.insert(40); 11 | st.insert(50); 12 | st.insert(60); 13 | g_start1 = timer(); 14 | const std::pair::const_iterator , std::set::const_iterator>& pair = st.equal_range(10); 15 | const std::pair::const_iterator , std::set::const_iterator>& pair2 = st.equal_range(11); 16 | const std::pair::const_iterator , std::set::const_iterator>& pair3 = st.equal_range(1); 17 | g_end1 = timer(); 18 | v.push_back(*(pair.first)); 19 | v.push_back(*(pair.second)); 20 | v.push_back(*(pair2.first)); 21 | v.push_back(*(pair2.second)); 22 | v.push_back(*(pair3.first)); 23 | v.push_back(*(pair3.second)); 24 | return v; 25 | } 26 | 27 | template 28 | std::vector equal_range_test(_set st) { 29 | std::vector v; 30 | st.insert(10); 31 | st.insert(20); 32 | st.insert(30); 33 | st.insert(40); 34 | st.insert(50); 35 | st.insert(60); 36 | g_start2 = timer(); 37 | const _pair<_set::const_iterator , _set::const_iterator>& pair = st.equal_range(10); 38 | const _pair<_set::const_iterator , _set::const_iterator>& pair2 = st.equal_range(11); 39 | const _pair<_set::const_iterator , _set::const_iterator>& pair3 = st.equal_range(1); 40 | g_end2 = timer(); 41 | v.push_back(*(pair.first)); 42 | v.push_back(*(pair.second)); 43 | v.push_back(*(pair2.first)); 44 | v.push_back(*(pair2.second)); 45 | v.push_back(*(pair3.first)); 46 | v.push_back(*(pair3.second)); 47 | return v; 48 | } 49 | 50 | int main() { 51 | 52 | exit(run_set_unit_test("equal_range()", equal_range_test, equal_range_test)); 53 | } -------------------------------------------------------------------------------- /sources/set_tests/insert(value).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector insert_test(std::set st) { 6 | std::vector v; 7 | std::pair::iterator , bool> pair = st.insert(7); 8 | std::set::iterator it = st.begin(); 9 | v.push_back(*it); 10 | 11 | v.push_back(*(pair.first)); 12 | v.push_back(pair.second); 13 | st.insert(9); 14 | std::pair::iterator , bool> pair2 = st.insert(9); 15 | std::set::iterator it2 = pair.first; 16 | v.push_back(*it2); 17 | v.push_back(*(pair2.first)); 18 | v.push_back(pair2.second); 19 | g_start1 = timer(); 20 | for (int i = 0; i < 50 * _ratio; ++i) { 21 | st.insert(i); 22 | } 23 | g_end1 = timer(); 24 | typename std::set::iterator it3 = st.begin(); 25 | for (; it3 != st.end(); ++it3) { 26 | v.push_back(*it3); 27 | } 28 | v.push_back(st.size()); 29 | return v; 30 | } 31 | 32 | template 33 | std::vector insert_test(_set st) { 34 | std::vector v; 35 | _pair<_set::iterator , bool> pair = st.insert(7); 36 | _set::iterator it = st.begin(); 37 | v.push_back(*it); 38 | 39 | v.push_back(*(pair.first)); 40 | v.push_back(pair.second); 41 | st.insert(9); 42 | _pair<_set::iterator , bool> pair2 = st.insert(9); 43 | _set::iterator it2 = pair.first; 44 | v.push_back(*it2); 45 | v.push_back(*(pair2.first)); 46 | v.push_back(pair2.second); 47 | g_start2 = timer(); 48 | for (int i = 0; i < 50 * _ratio; ++i) { 49 | st.insert(i); 50 | } 51 | g_end2 = timer(); 52 | typename _set::iterator it3 = st.begin(); 53 | for (; it3 != st.end(); ++it3) { 54 | v.push_back(*it3); 55 | } 56 | v.push_back(st.size()); 57 | return v; 58 | } 59 | 60 | int main() { 61 | 62 | exit(run_set_unit_test("insert(value)", insert_test, insert_test)); 63 | } -------------------------------------------------------------------------------- /sources/set_tests/swap().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector swap_test(std::set st) { 6 | std::vector v; 7 | g_start1 = g_end1 = timer(); 8 | for (int i = 0; i < 25 * _ratio; ++i) 9 | st.insert(i); 10 | std::set st2; 11 | for (int i = 25 * _ratio; i < 35 * _ratio; ++i) 12 | st.insert(i); 13 | long *adr1 = reinterpret_cast(&st); 14 | long *adr2 = reinterpret_cast(&st2); 15 | st.swap(st2); 16 | if (reinterpret_cast(&st) == adr1 && reinterpret_cast(&st2) == adr2) 17 | v.push_back(1); 18 | v.push_back(st2.size()); 19 | typename std::set::iterator it = st2.begin(); 20 | for (; it != st2.end(); ++it) { 21 | v.push_back(*it); 22 | } 23 | std::swap(st, st2); 24 | typename std::set::iterator it2 = st2.begin(); 25 | for (; it2 != st2.end(); ++it2) { 26 | v.push_back(*it2); 27 | } 28 | return v; 29 | } 30 | 31 | template 32 | std::vector swap_test(_set st) { 33 | std::vector v; 34 | g_start2 = g_end2 = timer(); 35 | for (int i = 0; i < 25 * _ratio; ++i) 36 | st.insert(i); 37 | _set st2; 38 | for (int i = 25 * _ratio; i < 35 * _ratio; ++i) 39 | st.insert(i); 40 | long *adr1 = reinterpret_cast(&st); 41 | long *adr2 = reinterpret_cast(&st2); 42 | st.swap(st2); 43 | if (reinterpret_cast(&st) == adr1 && reinterpret_cast(&st2) == adr2) 44 | v.push_back(1); 45 | v.push_back(st2.size()); 46 | typename _set::iterator it = st2.begin(); 47 | for (; it != st2.end(); ++it) { 48 | v.push_back(*it); 49 | } 50 | std::swap(st, st2); 51 | typename _set::iterator it2 = st2.begin(); 52 | for (; it2 != st2.end(); ++it2) { 53 | v.push_back(*it2); 54 | } 55 | return v; 56 | } 57 | 58 | int main() { 59 | 60 | exit(run_set_unit_test("swap()", swap_test, swap_test)); 61 | } -------------------------------------------------------------------------------- /sources/system/system_methods.ipp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "lib.hpp" 3 | 4 | time_t timer() { 5 | struct timeval start = {}; 6 | gettimeofday(&start, nullptr); 7 | time_t msecs_time = (start.tv_sec * 1000) + (start.tv_usec / 1000); 8 | return msecs_time; 9 | } 10 | 11 | std::string exec(const char* cmd) { 12 | char buffer[128]; 13 | std::string result = ""; 14 | FILE* pipe = popen(cmd, "r"); 15 | if (!pipe) throw std::runtime_error("popen() failed!"); 16 | try { 17 | while (fgets(buffer, sizeof buffer, pipe) != NULL) { 18 | result += buffer; 19 | } 20 | } catch (...) { pclose(pipe); throw; } 21 | pclose(pipe); 22 | return result; 23 | } 24 | 25 | std::string get_leak_string(std::string s) { 26 | std::string tmp; 27 | int idx = s.find("total leaked bytes"); 28 | for (; s[idx] != '\n' ; --idx) {} 29 | int edx = idx + 1; 30 | for (; s[edx] != '\n' ; ++edx) {} 31 | 32 | return s.substr(++idx, edx - 101); 33 | } 34 | 35 | int leaks_test(pid_t pid) { 36 | string a = "leaks "; 37 | a += std::to_string(static_cast(pid)); 38 | usleep(50); 39 | string s = get_leak_string(exec(a.c_str())); 40 | 41 | if (s.find("0 leaks for 0 total leaked bytes") != std::string::npos) { 42 | printElement(GREEN + "CLEAR" + RESET); 43 | return (0); 44 | } 45 | else { 46 | printElement(REDD + "LEAKS" + RESET); 47 | return (1); 48 | } 49 | } 50 | 51 | int run_bool_unit_test(std::string test_name, bool (func1)()) { 52 | int ret = 0; 53 | time_t t1; 54 | time_t t2; 55 | bool res; 56 | 57 | printElement(test_name); 58 | res = func1(); 59 | if (res) { 60 | printElement("OK"); 61 | ret = 0; 62 | } 63 | else { 64 | printElement("FAILED"); 65 | ret = 1; 66 | } 67 | t1 = g_end1 - g_start1, t2 = g_end2 - g_start2; 68 | (t1 >= t2) ? printElement(GREEN + std::to_string(t2) + "ms" + RESET) : printElement(REDD + std::to_string(t2) + "ms" + RESET); 69 | (t1 > t2) ? printElement(REDD + std::to_string(t1) + "ms" + RESET) : printElement(GREEN + std::to_string(t1) + "ms" + RESET); 70 | cout << endl; 71 | 72 | return ret; 73 | } 74 | 75 | -------------------------------------------------------------------------------- /sources/utilities_tests/iterator_traits.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include UTILITIES 3 | #include VECTOR 4 | 5 | bool iterator_traits_test() { 6 | std::vector res; 7 | std::vector res2; 8 | g_start1 = g_end1 = timer(); 9 | 10 | res.push_back(typeid(std::vector::iterator::iterator_category).name()); 11 | res.push_back(typeid(std::vector::iterator::value_type).name()); 12 | res.push_back(typeid(std::vector::iterator::difference_type).name()); 13 | res.push_back(typeid(std::vector::iterator::iterator_type).name()); 14 | res.push_back(typeid(std::vector::iterator::pointer).name()); 15 | res.push_back(typeid(std::vector::iterator::reference).name()); 16 | res.push_back(typeid(std::vector::reverse_iterator::iterator_category).name()); 17 | res.push_back(typeid(std::vector::reverse_iterator::value_type).name()); 18 | res.push_back(typeid(std::vector::reverse_iterator::difference_type).name()); 19 | res.push_back(typeid(std::vector::reverse_iterator::pointer).name()); 20 | res.push_back(typeid(std::vector::reverse_iterator::reference).name()); 21 | 22 | res2.push_back(typeid(_vector::iterator::iterator_category).name()); 23 | res2.push_back(typeid(_vector::iterator::value_type).name()); 24 | res2.push_back(typeid(_vector::iterator::difference_type).name()); 25 | res2.push_back(typeid(_vector::iterator::iterator_type).name()); 26 | res2.push_back(typeid(_vector::iterator::pointer).name()); 27 | res2.push_back(typeid(_vector::iterator::reference).name()); 28 | res2.push_back(typeid(_vector::reverse_iterator::iterator_category).name()); 29 | res2.push_back(typeid(_vector::reverse_iterator::value_type).name()); 30 | res2.push_back(typeid(_vector::reverse_iterator::difference_type).name()); 31 | res2.push_back(typeid(_vector::reverse_iterator::pointer).name()); 32 | res2.push_back(typeid(_vector::reverse_iterator::reference).name()); 33 | 34 | return res == res2; 35 | } 36 | 37 | int main() { 38 | 39 | exit(run_bool_unit_test("iterators_traits", iterator_traits_test)); 40 | } 41 | -------------------------------------------------------------------------------- /sources/map_tests/reverse iterators.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector reverse_iterators_test_std(std::map mp) { 6 | std::vector v; 7 | 8 | g_start1 = g_end1 = timer(); 9 | mp.insert(std::make_pair(5, 5)); 10 | mp.insert(std::make_pair(3, 3)); 11 | mp.insert(std::make_pair(7, 7)); 12 | typename std::map::reverse_iterator rit = mp.rbegin(); 13 | typename std::map::reverse_iterator rit2 = mp.rend(); 14 | v.push_back(rit->first); 15 | rit++; 16 | rit2--; 17 | v.push_back(rit->first); 18 | v.push_back(rit2->first); 19 | rit++; 20 | v.push_back(*rit == *rit2); 21 | rit2--; 22 | v.push_back(rit->first); 23 | v.push_back(rit2->first); 24 | v.push_back(*rit2 > *rit); 25 | v.push_back(*rit2 < *rit); 26 | v.push_back((--rit)->first); 27 | v.push_back((++rit2)->first); 28 | v.push_back((rit--)->first); 29 | v.push_back((rit2++)->first); 30 | return v; 31 | } 32 | 33 | template 34 | std::vector reverse_iterators_test_ft(_map mp) { 35 | 36 | std::vector v; 37 | 38 | g_start2 = g_end2 = timer(); 39 | mp.insert(_make_pair(5, 5)); 40 | mp.insert(_make_pair(3, 3)); 41 | mp.insert(_make_pair(7, 7)); 42 | typename _map::reverse_iterator rit = mp.rbegin(); 43 | typename _map::reverse_iterator rit2 = mp.rend(); 44 | v.push_back(rit->first); 45 | rit++; 46 | rit2--; 47 | v.push_back(rit->first); 48 | v.push_back(rit2->first); 49 | rit++; 50 | v.push_back(*rit == *rit2); 51 | rit2--; 52 | v.push_back(rit->first); 53 | v.push_back(rit2->first); 54 | v.push_back(*rit2 > *rit); 55 | v.push_back(*rit2 < *rit); 56 | v.push_back((--rit)->first); 57 | v.push_back((++rit2)->first); 58 | v.push_back((rit--)->first); 59 | v.push_back((rit2++)->first); 60 | return v; 61 | } 62 | 63 | int main() { 64 | 65 | exit(run_map_unit_test("reverse iterators", reverse_iterators_test_std, reverse_iterators_test_ft)); 66 | } -------------------------------------------------------------------------------- /sources/map_tests/operator <.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_less_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 < mt.m1); result.push_back(mt.m3 < mt.m3); result.push_back(mt.m5 < mt.m9); 10 | result.push_back(mt.m1 < mt.m2); result.push_back(mt.m3 < mt.m4); result.push_back(mt.m6 < mt.m6); 11 | result.push_back(mt.m1 < mt.m3); result.push_back(mt.m4 < mt.m4); result.push_back(mt.m6 < mt.m7); 12 | result.push_back(mt.m1 < mt.m4); result.push_back(mt.m5 < mt.m5); result.push_back(mt.m6 < mt.m8); 13 | result.push_back(mt.m2 < mt.m2); result.push_back(mt.m5 < mt.m6); result.push_back(mt.m6 < mt.m9); 14 | result.push_back(mt.m2 < mt.m3); result.push_back(mt.m5 < mt.m7); result.push_back(mt.m7 < mt.m7); 15 | result.push_back(mt.m2 < mt.m4); result.push_back(mt.m5 < mt.m8); result.push_back(mt.m7 < mt.m8); 16 | result.push_back(mt.m7 < mt.m9); result.push_back(mt.m8 < mt.m8); result.push_back(mt.m8 < mt.m9); 17 | result.push_back(mt.m9 < mt.m9); 18 | 19 | result2.push_back(mt.mp1 < mt.mp1); result2.push_back(mt.mp3 < mt.mp3); result2.push_back(mt.mp5 < mt.mp9); 20 | result2.push_back(mt.mp1 < mt.mp2); result2.push_back(mt.mp3 < mt.mp4); result2.push_back(mt.mp6 < mt.mp6); 21 | result2.push_back(mt.mp1 < mt.mp3); result2.push_back(mt.mp4 < mt.mp4); result2.push_back(mt.mp6 < mt.mp7); 22 | result2.push_back(mt.mp1 < mt.mp4); result2.push_back(mt.mp5 < mt.mp5); result2.push_back(mt.mp6 < mt.mp8); 23 | result2.push_back(mt.mp2 < mt.mp2); result2.push_back(mt.mp5 < mt.mp6); result2.push_back(mt.mp6 < mt.mp9); 24 | result2.push_back(mt.mp2 < mt.mp3); result2.push_back(mt.mp5 < mt.mp7); result2.push_back(mt.mp7 < mt.mp7); 25 | result2.push_back(mt.mp2 < mt.mp4); result2.push_back(mt.mp5 < mt.mp8); result2.push_back(mt.mp7 < mt.mp8); 26 | result2.push_back(mt.mp7 < mt.mp9); result2.push_back(mt.mp8 < mt.mp8); result2.push_back(mt.mp8 < mt.mp9); 27 | result2.push_back(mt.mp9 < mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <", map_less_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/operator >.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_more_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 > mt.m1); result.push_back(mt.m3 > mt.m3); result.push_back(mt.m5 > mt.m9); 10 | result.push_back(mt.m1 > mt.m2); result.push_back(mt.m3 > mt.m4); result.push_back(mt.m6 > mt.m6); 11 | result.push_back(mt.m1 > mt.m3); result.push_back(mt.m4 > mt.m4); result.push_back(mt.m6 > mt.m7); 12 | result.push_back(mt.m1 > mt.m4); result.push_back(mt.m5 > mt.m5); result.push_back(mt.m6 > mt.m8); 13 | result.push_back(mt.m2 > mt.m2); result.push_back(mt.m5 > mt.m6); result.push_back(mt.m6 > mt.m9); 14 | result.push_back(mt.m2 > mt.m3); result.push_back(mt.m5 > mt.m7); result.push_back(mt.m7 > mt.m7); 15 | result.push_back(mt.m2 > mt.m4); result.push_back(mt.m5 > mt.m8); result.push_back(mt.m7 > mt.m8); 16 | result.push_back(mt.m7 > mt.m9); result.push_back(mt.m8 > mt.m8); result.push_back(mt.m8 > mt.m9); 17 | result.push_back(mt.m9 > mt.m9); 18 | 19 | result2.push_back(mt.mp1 > mt.mp1); result2.push_back(mt.mp3 > mt.mp3); result2.push_back(mt.mp5 > mt.mp9); 20 | result2.push_back(mt.mp1 > mt.mp2); result2.push_back(mt.mp3 > mt.mp4); result2.push_back(mt.mp6 > mt.mp6); 21 | result2.push_back(mt.mp1 > mt.mp3); result2.push_back(mt.mp4 > mt.mp4); result2.push_back(mt.mp6 > mt.mp7); 22 | result2.push_back(mt.mp1 > mt.mp4); result2.push_back(mt.mp5 > mt.mp5); result2.push_back(mt.mp6 > mt.mp8); 23 | result2.push_back(mt.mp2 > mt.mp2); result2.push_back(mt.mp5 > mt.mp6); result2.push_back(mt.mp6 > mt.mp9); 24 | result2.push_back(mt.mp2 > mt.mp3); result2.push_back(mt.mp5 > mt.mp7); result2.push_back(mt.mp7 > mt.mp7); 25 | result2.push_back(mt.mp2 > mt.mp4); result2.push_back(mt.mp5 > mt.mp8); result2.push_back(mt.mp7 > mt.mp8); 26 | result2.push_back(mt.mp7 > mt.mp9); result2.push_back(mt.mp8 > mt.mp8); result2.push_back(mt.mp8 > mt.mp9); 27 | result2.push_back(mt.mp9 > mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >", map_more_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/set_tests/operator <.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_less_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 < st.s1); result.push_back(st.s3 < st.s3); result.push_back(st.s5 < st.s9); 10 | result.push_back(st.s1 < st.s2); result.push_back(st.s3 < st.s4); result.push_back(st.s6 < st.s6); 11 | result.push_back(st.s1 < st.s3); result.push_back(st.s4 < st.s4); result.push_back(st.s6 < st.s7); 12 | result.push_back(st.s1 < st.s4); result.push_back(st.s5 < st.s5); result.push_back(st.s6 < st.s8); 13 | result.push_back(st.s2 < st.s2); result.push_back(st.s5 < st.s6); result.push_back(st.s6 < st.s9); 14 | result.push_back(st.s2 < st.s3); result.push_back(st.s5 < st.s7); result.push_back(st.s7 < st.s7); 15 | result.push_back(st.s2 < st.s4); result.push_back(st.s5 < st.s8); result.push_back(st.s7 < st.s8); 16 | result.push_back(st.s7 < st.s9); result.push_back(st.s8 < st.s8); result.push_back(st.s8 < st.s9); 17 | result.push_back(st.s9 < st.s9); 18 | 19 | result2.push_back(st.st1 < st.st1); result2.push_back(st.st3 < st.st3); result2.push_back(st.st5 < st.st9); 20 | result2.push_back(st.st1 < st.st2); result2.push_back(st.st3 < st.st4); result2.push_back(st.st6 < st.st6); 21 | result2.push_back(st.st1 < st.st3); result2.push_back(st.st4 < st.st4); result2.push_back(st.st6 < st.st7); 22 | result2.push_back(st.st1 < st.st4); result2.push_back(st.st5 < st.st5); result2.push_back(st.st6 < st.st8); 23 | result2.push_back(st.st2 < st.st2); result2.push_back(st.st5 < st.st6); result2.push_back(st.st6 < st.st9); 24 | result2.push_back(st.st2 < st.st3); result2.push_back(st.st5 < st.st7); result2.push_back(st.st7 < st.st7); 25 | result2.push_back(st.st2 < st.st4); result2.push_back(st.st5 < st.st8); result2.push_back(st.st7 < st.st8); 26 | result2.push_back(st.st7 < st.st9); result2.push_back(st.st8 < st.st8); result2.push_back(st.st8 < st.st9); 27 | result2.push_back(st.st9 < st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <", set_less_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/set_tests/operator >.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_more_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 > st.s1); result.push_back(st.s3 > st.s3); result.push_back(st.s5 > st.s9); 10 | result.push_back(st.s1 > st.s2); result.push_back(st.s3 > st.s4); result.push_back(st.s6 > st.s6); 11 | result.push_back(st.s1 > st.s3); result.push_back(st.s4 > st.s4); result.push_back(st.s6 > st.s7); 12 | result.push_back(st.s1 > st.s4); result.push_back(st.s5 > st.s5); result.push_back(st.s6 > st.s8); 13 | result.push_back(st.s2 > st.s2); result.push_back(st.s5 > st.s6); result.push_back(st.s6 > st.s9); 14 | result.push_back(st.s2 > st.s3); result.push_back(st.s5 > st.s7); result.push_back(st.s7 > st.s7); 15 | result.push_back(st.s2 > st.s4); result.push_back(st.s5 > st.s8); result.push_back(st.s7 > st.s8); 16 | result.push_back(st.s7 > st.s9); result.push_back(st.s8 > st.s8); result.push_back(st.s8 > st.s9); 17 | result.push_back(st.s9 > st.s9); 18 | 19 | result2.push_back(st.st1 > st.st1); result2.push_back(st.st3 > st.st3); result2.push_back(st.st5 > st.st9); 20 | result2.push_back(st.st1 > st.st2); result2.push_back(st.st3 > st.st4); result2.push_back(st.st6 > st.st6); 21 | result2.push_back(st.st1 > st.st3); result2.push_back(st.st4 > st.st4); result2.push_back(st.st6 > st.st7); 22 | result2.push_back(st.st1 > st.st4); result2.push_back(st.st5 > st.st5); result2.push_back(st.st6 > st.st8); 23 | result2.push_back(st.st2 > st.st2); result2.push_back(st.st5 > st.st6); result2.push_back(st.st6 > st.st9); 24 | result2.push_back(st.st2 > st.st3); result2.push_back(st.st5 > st.st7); result2.push_back(st.st7 > st.st7); 25 | result2.push_back(st.st2 > st.st4); result2.push_back(st.st5 > st.st8); result2.push_back(st.st7 > st.st8); 26 | result2.push_back(st.st7 > st.st9); result2.push_back(st.st8 > st.st8); result2.push_back(st.st8 > st.st9); 27 | result2.push_back(st.st9 > st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >", set_more_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator <.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_less_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 < st.s1); result.push_back(st.s3 < st.s3); result.push_back(st.s5 < st.s9); 10 | result.push_back(st.s1 < st.s2); result.push_back(st.s3 < st.s4); result.push_back(st.s6 < st.s6); 11 | result.push_back(st.s1 < st.s3); result.push_back(st.s4 < st.s4); result.push_back(st.s6 < st.s7); 12 | result.push_back(st.s1 < st.s4); result.push_back(st.s5 < st.s5); result.push_back(st.s6 < st.s8); 13 | result.push_back(st.s2 < st.s2); result.push_back(st.s5 < st.s6); result.push_back(st.s6 < st.s9); 14 | result.push_back(st.s2 < st.s3); result.push_back(st.s5 < st.s7); result.push_back(st.s7 < st.s7); 15 | result.push_back(st.s2 < st.s4); result.push_back(st.s5 < st.s8); result.push_back(st.s7 < st.s8); 16 | result.push_back(st.s7 < st.s9); result.push_back(st.s8 < st.s8); result.push_back(st.s8 < st.s9); 17 | result.push_back(st.s9 < st.s9); 18 | 19 | result2.push_back(st.st1 < st.st1); result2.push_back(st.st3 < st.st3); result2.push_back(st.st5 < st.st9); 20 | result2.push_back(st.st1 < st.st2); result2.push_back(st.st3 < st.st4); result2.push_back(st.st6 < st.st6); 21 | result2.push_back(st.st1 < st.st3); result2.push_back(st.st4 < st.st4); result2.push_back(st.st6 < st.st7); 22 | result2.push_back(st.st1 < st.st4); result2.push_back(st.st5 < st.st5); result2.push_back(st.st6 < st.st8); 23 | result2.push_back(st.st2 < st.st2); result2.push_back(st.st5 < st.st6); result2.push_back(st.st6 < st.st9); 24 | result2.push_back(st.st2 < st.st3); result2.push_back(st.st5 < st.st7); result2.push_back(st.st7 < st.st7); 25 | result2.push_back(st.st2 < st.st4); result2.push_back(st.st5 < st.st8); result2.push_back(st.st7 < st.st8); 26 | result2.push_back(st.st7 < st.st9); result2.push_back(st.st8 < st.st8); result2.push_back(st.st8 < st.st9); 27 | result2.push_back(st.st9 < st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <", stack_less_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator >.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_more_than_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 > st.s1); result.push_back(st.s3 > st.s3); result.push_back(st.s5 > st.s9); 10 | result.push_back(st.s1 > st.s2); result.push_back(st.s3 > st.s4); result.push_back(st.s6 > st.s6); 11 | result.push_back(st.s1 > st.s3); result.push_back(st.s4 > st.s4); result.push_back(st.s6 > st.s7); 12 | result.push_back(st.s1 > st.s4); result.push_back(st.s5 > st.s5); result.push_back(st.s6 > st.s8); 13 | result.push_back(st.s2 > st.s2); result.push_back(st.s5 > st.s6); result.push_back(st.s6 > st.s9); 14 | result.push_back(st.s2 > st.s3); result.push_back(st.s5 > st.s7); result.push_back(st.s7 > st.s7); 15 | result.push_back(st.s2 > st.s4); result.push_back(st.s5 > st.s8); result.push_back(st.s7 > st.s8); 16 | result.push_back(st.s7 > st.s9); result.push_back(st.s8 > st.s8); result.push_back(st.s8 > st.s9); 17 | result.push_back(st.s9 > st.s9); 18 | 19 | result2.push_back(st.st1 > st.st1); result2.push_back(st.st3 > st.st3); result2.push_back(st.st5 > st.st9); 20 | result2.push_back(st.st1 > st.st2); result2.push_back(st.st3 > st.st4); result2.push_back(st.st6 > st.st6); 21 | result2.push_back(st.st1 > st.st3); result2.push_back(st.st4 > st.st4); result2.push_back(st.st6 > st.st7); 22 | result2.push_back(st.st1 > st.st4); result2.push_back(st.st5 > st.st5); result2.push_back(st.st6 > st.st8); 23 | result2.push_back(st.st2 > st.st2); result2.push_back(st.st5 > st.st6); result2.push_back(st.st6 > st.st9); 24 | result2.push_back(st.st2 > st.st3); result2.push_back(st.st5 > st.st7); result2.push_back(st.st7 > st.st7); 25 | result2.push_back(st.st2 > st.st4); result2.push_back(st.st5 > st.st8); result2.push_back(st.st7 > st.st8); 26 | result2.push_back(st.st7 > st.st9); result2.push_back(st.st8 > st.st8); result2.push_back(st.st8 > st.st9); 27 | result2.push_back(st.st9 > st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >", stack_more_than_test)); 34 | } -------------------------------------------------------------------------------- /sources/set_tests/erase(value).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_1(std::set st) { 6 | std::vector v; 7 | v.push_back(st.erase(3)); 8 | for (int i = 0; i < 30 * _ratio; ++i) 9 | st.insert(i); 10 | typename std::set::iterator it = st.begin(); 11 | v.push_back(*it); 12 | v.push_back(st.erase(-5)); 13 | v.push_back(st.size()); 14 | v.push_back(st.erase(0)); 15 | v.push_back(st.size()); 16 | typename std::set::iterator it4 = st.begin(); 17 | g_start1 = timer(); 18 | for (; it4 != st.end(); it4 = st.begin()) 19 | st.erase(*it4); 20 | g_end1 = timer(); 21 | v.push_back(st.erase(30 * _ratio - 1)); 22 | v.push_back(st.size()); 23 | std::set st2; 24 | for (int i = 0; i < 10 ; ++i) 25 | st2.insert(i); 26 | st2.erase(2); 27 | st2.erase(7); 28 | typename std::set::iterator it3 = st2.begin(); 29 | for (; it3 != st2.end(); ++it3) { 30 | v.push_back(*it3); 31 | } 32 | return v; 33 | } 34 | 35 | template 36 | std::vector erase_test_1(_set st) { 37 | std::vector v; 38 | v.push_back(st.erase(3)); 39 | for (int i = 0; i < 30 * _ratio; ++i) 40 | st.insert(i); 41 | typename _set::iterator it = st.begin(); 42 | v.push_back(*it); 43 | v.push_back(st.erase(-5)); 44 | v.push_back(st.size()); 45 | v.push_back(st.erase(0)); 46 | v.push_back(st.size()); 47 | typename _set::iterator it4 = st.begin(); 48 | g_start2 = timer(); 49 | for (; it4 != st.end(); it4 = st.begin()) 50 | st.erase(*it4); 51 | g_end2 = timer(); 52 | v.push_back(st.erase(30 * _ratio - 1)); 53 | v.push_back(st.size()); 54 | _set st2; 55 | for (int i = 0; i < 10 ; ++i) 56 | st2.insert(i); 57 | st2.erase(2); 58 | st2.erase(7); 59 | typename _set::iterator it3 = st2.begin(); 60 | for (; it3 != st2.end(); ++it3) { 61 | v.push_back(*it3); 62 | } 63 | return v; 64 | } 65 | 66 | int main() { 67 | 68 | exit(run_set_unit_test("erase(value)", erase_test_1, erase_test_1)); 69 | } 70 | -------------------------------------------------------------------------------- /sources/system/bass24/devlist/devlist.c: -------------------------------------------------------------------------------- 1 | /* 2 | BASS device list example 3 | Copyright (c) 2014-2019 Un4seen Developments Ltd. 4 | */ 5 | 6 | #include 7 | #include "bass.h" 8 | 9 | void DisplayDeviceInfo(BASS_DEVICEINFO *di) 10 | { 11 | #if 0//def _WIN32 12 | const char *path = di->driver + strlen(di->driver) + 1; 13 | if (path[0]) 14 | printf("%s\n\tdriver: %s\n\tpath: %s\n\ttype: ", di->name, di->driver, path); 15 | else 16 | #endif 17 | printf("%s\n\tdriver: %s\n\ttype: ", di->name, di->driver); 18 | switch (di->flags & BASS_DEVICE_TYPE_MASK) { 19 | case BASS_DEVICE_TYPE_NETWORK: 20 | printf("Remote Network"); 21 | break; 22 | case BASS_DEVICE_TYPE_SPEAKERS: 23 | printf("Speakers"); 24 | break; 25 | case BASS_DEVICE_TYPE_LINE: 26 | printf("Line"); 27 | break; 28 | case BASS_DEVICE_TYPE_HEADPHONES: 29 | printf("Headphones"); 30 | break; 31 | case BASS_DEVICE_TYPE_MICROPHONE: 32 | printf("Microphone"); 33 | break; 34 | case BASS_DEVICE_TYPE_HEADSET: 35 | printf("Headset"); 36 | break; 37 | case BASS_DEVICE_TYPE_HANDSET: 38 | printf("Handset"); 39 | break; 40 | case BASS_DEVICE_TYPE_DIGITAL: 41 | printf("Digital"); 42 | break; 43 | case BASS_DEVICE_TYPE_SPDIF: 44 | printf("SPDIF"); 45 | break; 46 | case BASS_DEVICE_TYPE_HDMI: 47 | printf("HDMI"); 48 | break; 49 | case BASS_DEVICE_TYPE_DISPLAYPORT: 50 | printf("DisplayPort"); 51 | break; 52 | default: 53 | printf("Unknown"); 54 | } 55 | printf("\n\tflags:"); 56 | if (di->flags & BASS_DEVICE_LOOPBACK) printf(" loopback"); 57 | if (di->flags & BASS_DEVICE_ENABLED) printf(" enabled"); 58 | if (di->flags & BASS_DEVICE_DEFAULT) printf(" default"); 59 | printf(" (%x)\n", di->flags); 60 | } 61 | 62 | int main() 63 | { 64 | BASS_DEVICEINFO di; 65 | int a; 66 | printf("Output Devices\n"); 67 | for (a = 1; BASS_GetDeviceInfo(a, &di); a++) { 68 | printf("%d: ", a); 69 | DisplayDeviceInfo(&di); 70 | } 71 | printf("\nInput Devices\n"); 72 | for (a = 0; BASS_RecordGetDeviceInfo(a, &di); a++) { 73 | printf("%d: ", a); 74 | DisplayDeviceInfo(&di); 75 | } 76 | return 0; 77 | } 78 | -------------------------------------------------------------------------------- /sources/set_tests/operator ==.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 == st.s1); result.push_back(st.s3 == st.s3); result.push_back(st.s5 == st.s9); 10 | result.push_back(st.s1 == st.s2); result.push_back(st.s3 == st.s4); result.push_back(st.s6 == st.s6); 11 | result.push_back(st.s1 == st.s3); result.push_back(st.s4 == st.s4); result.push_back(st.s6 == st.s7); 12 | result.push_back(st.s1 == st.s4); result.push_back(st.s5 == st.s5); result.push_back(st.s6 == st.s8); 13 | result.push_back(st.s2 == st.s2); result.push_back(st.s5 == st.s6); result.push_back(st.s6 == st.s9); 14 | result.push_back(st.s2 == st.s3); result.push_back(st.s5 == st.s7); result.push_back(st.s7 == st.s7); 15 | result.push_back(st.s2 == st.s4); result.push_back(st.s5 == st.s8); result.push_back(st.s7 == st.s8); 16 | result.push_back(st.s7 == st.s9); result.push_back(st.s8 == st.s8); result.push_back(st.s8 == st.s9); 17 | result.push_back(st.s9 == st.s9); 18 | 19 | result2.push_back(st.st1 == st.st1); result2.push_back(st.st3 == st.st3); result2.push_back(st.st5 == st.st9); 20 | result2.push_back(st.st1 == st.st2); result2.push_back(st.st3 == st.st4); result2.push_back(st.st6 == st.st6); 21 | result2.push_back(st.st1 == st.st3); result2.push_back(st.st4 == st.st4); result2.push_back(st.st6 == st.st7); 22 | result2.push_back(st.st1 == st.st4); result2.push_back(st.st5 == st.st5); result2.push_back(st.st6 == st.st8); 23 | result2.push_back(st.st2 == st.st2); result2.push_back(st.st5 == st.st6); result2.push_back(st.st6 == st.st9); 24 | result2.push_back(st.st2 == st.st3); result2.push_back(st.st5 == st.st7); result2.push_back(st.st7 == st.st7); 25 | result2.push_back(st.st2 == st.st4); result2.push_back(st.st5 == st.st8); result2.push_back(st.st7 == st.st8); 26 | result2.push_back(st.st7 == st.st9); result2.push_back(st.st8 == st.st8); result2.push_back(st.st8 == st.st9); 27 | result2.push_back(st.st9 == st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator ==", set_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/operator !=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_not_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 != mt.m1); result.push_back(mt.m3 != mt.m3); result.push_back(mt.m5 != mt.m9); 10 | result.push_back(mt.m1 != mt.m2); result.push_back(mt.m3 != mt.m4); result.push_back(mt.m6 != mt.m6); 11 | result.push_back(mt.m1 != mt.m3); result.push_back(mt.m4 != mt.m4); result.push_back(mt.m6 != mt.m7); 12 | result.push_back(mt.m1 != mt.m4); result.push_back(mt.m5 != mt.m5); result.push_back(mt.m6 != mt.m8); 13 | result.push_back(mt.m2 != mt.m2); result.push_back(mt.m5 != mt.m6); result.push_back(mt.m6 != mt.m9); 14 | result.push_back(mt.m2 != mt.m3); result.push_back(mt.m5 != mt.m7); result.push_back(mt.m7 != mt.m7); 15 | result.push_back(mt.m2 != mt.m4); result.push_back(mt.m5 != mt.m8); result.push_back(mt.m7 != mt.m8); 16 | result.push_back(mt.m7 != mt.m9); result.push_back(mt.m8 != mt.m8); result.push_back(mt.m8 != mt.m9); 17 | result.push_back(mt.m9 != mt.m9); 18 | 19 | result2.push_back(mt.mp1 != mt.mp1); result2.push_back(mt.mp3 != mt.mp3); result2.push_back(mt.mp5 != mt.mp9); 20 | result2.push_back(mt.mp1 != mt.mp2); result2.push_back(mt.mp3 != mt.mp4); result2.push_back(mt.mp6 != mt.mp6); 21 | result2.push_back(mt.mp1 != mt.mp3); result2.push_back(mt.mp4 != mt.mp4); result2.push_back(mt.mp6 != mt.mp7); 22 | result2.push_back(mt.mp1 != mt.mp4); result2.push_back(mt.mp5 != mt.mp5); result2.push_back(mt.mp6 != mt.mp8); 23 | result2.push_back(mt.mp2 != mt.mp2); result2.push_back(mt.mp5 != mt.mp6); result2.push_back(mt.mp6 != mt.mp9); 24 | result2.push_back(mt.mp2 != mt.mp3); result2.push_back(mt.mp5 != mt.mp7); result2.push_back(mt.mp7 != mt.mp7); 25 | result2.push_back(mt.mp2 != mt.mp4); result2.push_back(mt.mp5 != mt.mp8); result2.push_back(mt.mp7 != mt.mp8); 26 | result2.push_back(mt.mp7 != mt.mp9); result2.push_back(mt.mp8 != mt.mp8); result2.push_back(mt.mp8 != mt.mp9); 27 | result2.push_back(mt.mp9 != mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator !=", map_not_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/operator ==.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 == mt.m1); result.push_back(mt.m3 == mt.m3); result.push_back(mt.m5 == mt.m9); 10 | result.push_back(mt.m1 == mt.m2); result.push_back(mt.m3 == mt.m4); result.push_back(mt.m6 == mt.m6); 11 | result.push_back(mt.m1 == mt.m3); result.push_back(mt.m4 == mt.m4); result.push_back(mt.m6 == mt.m7); 12 | result.push_back(mt.m1 == mt.m4); result.push_back(mt.m5 == mt.m5); result.push_back(mt.m6 == mt.m8); 13 | result.push_back(mt.m2 == mt.m2); result.push_back(mt.m5 == mt.m6); result.push_back(mt.m6 == mt.m9); 14 | result.push_back(mt.m2 == mt.m3); result.push_back(mt.m5 == mt.m7); result.push_back(mt.m7 == mt.m7); 15 | result.push_back(mt.m2 == mt.m4); result.push_back(mt.m5 == mt.m8); result.push_back(mt.m7 == mt.m8); 16 | result.push_back(mt.m7 == mt.m9); result.push_back(mt.m8 == mt.m8); result.push_back(mt.m8 == mt.m9); 17 | result.push_back(mt.m9 == mt.m9); 18 | 19 | result2.push_back(mt.mp1 == mt.mp1); result2.push_back(mt.mp3 == mt.mp3); result2.push_back(mt.mp5 == mt.mp9); 20 | result2.push_back(mt.mp1 == mt.mp2); result2.push_back(mt.mp3 == mt.mp4); result2.push_back(mt.mp6 == mt.mp6); 21 | result2.push_back(mt.mp1 == mt.mp3); result2.push_back(mt.mp4 == mt.mp4); result2.push_back(mt.mp6 == mt.mp7); 22 | result2.push_back(mt.mp1 == mt.mp4); result2.push_back(mt.mp5 == mt.mp5); result2.push_back(mt.mp6 == mt.mp8); 23 | result2.push_back(mt.mp2 == mt.mp2); result2.push_back(mt.mp5 == mt.mp6); result2.push_back(mt.mp6 == mt.mp9); 24 | result2.push_back(mt.mp2 == mt.mp3); result2.push_back(mt.mp5 == mt.mp7); result2.push_back(mt.mp7 == mt.mp7); 25 | result2.push_back(mt.mp2 == mt.mp4); result2.push_back(mt.mp5 == mt.mp8); result2.push_back(mt.mp7 == mt.mp8); 26 | result2.push_back(mt.mp7 == mt.mp9); result2.push_back(mt.mp8 == mt.mp8); result2.push_back(mt.mp8 == mt.mp9); 27 | result2.push_back(mt.mp9 == mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | 34 | exit(run_bool_unit_test("operator ==", map_equal_test)); 35 | } -------------------------------------------------------------------------------- /sources/set_tests/operator !=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_not_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 != st.s1); result.push_back(st.s3 != st.s3); result.push_back(st.s5 != st.s9); 10 | result.push_back(st.s1 != st.s2); result.push_back(st.s3 != st.s4); result.push_back(st.s6 != st.s6); 11 | result.push_back(st.s1 != st.s3); result.push_back(st.s4 != st.s4); result.push_back(st.s6 != st.s7); 12 | result.push_back(st.s1 != st.s4); result.push_back(st.s5 != st.s5); result.push_back(st.s6 != st.s8); 13 | result.push_back(st.s2 != st.s2); result.push_back(st.s5 != st.s6); result.push_back(st.s6 != st.s9); 14 | result.push_back(st.s2 != st.s3); result.push_back(st.s5 != st.s7); result.push_back(st.s7 != st.s7); 15 | result.push_back(st.s2 != st.s4); result.push_back(st.s5 != st.s8); result.push_back(st.s7 != st.s8); 16 | result.push_back(st.s7 != st.s9); result.push_back(st.s8 != st.s8); result.push_back(st.s8 != st.s9); 17 | result.push_back(st.s9 != st.s9); 18 | 19 | result2.push_back(st.st1 != st.st1); result2.push_back(st.st3 != st.st3); result2.push_back(st.st5 != st.st9); 20 | result2.push_back(st.st1 != st.st2); result2.push_back(st.st3 != st.st4); result2.push_back(st.st6 != st.st6); 21 | result2.push_back(st.st1 != st.st3); result2.push_back(st.st4 != st.st4); result2.push_back(st.st6 != st.st7); 22 | result2.push_back(st.st1 != st.st4); result2.push_back(st.st5 != st.st5); result2.push_back(st.st6 != st.st8); 23 | result2.push_back(st.st2 != st.st2); result2.push_back(st.st5 != st.st6); result2.push_back(st.st6 != st.st9); 24 | result2.push_back(st.st2 != st.st3); result2.push_back(st.st5 != st.st7); result2.push_back(st.st7 != st.st7); 25 | result2.push_back(st.st2 != st.st4); result2.push_back(st.st5 != st.st8); result2.push_back(st.st7 != st.st8); 26 | result2.push_back(st.st7 != st.st9); result2.push_back(st.st8 != st.st8); result2.push_back(st.st8 != st.st9); 27 | result2.push_back(st.st9 != st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator !=", set_not_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator ==.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 == st.s1); result.push_back(st.s3 == st.s3); result.push_back(st.s5 == st.s9); 10 | result.push_back(st.s1 == st.s2); result.push_back(st.s3 == st.s4); result.push_back(st.s6 == st.s6); 11 | result.push_back(st.s1 == st.s3); result.push_back(st.s4 == st.s4); result.push_back(st.s6 == st.s7); 12 | result.push_back(st.s1 == st.s4); result.push_back(st.s5 == st.s5); result.push_back(st.s6 == st.s8); 13 | result.push_back(st.s2 == st.s2); result.push_back(st.s5 == st.s6); result.push_back(st.s6 == st.s9); 14 | result.push_back(st.s2 == st.s3); result.push_back(st.s5 == st.s7); result.push_back(st.s7 == st.s7); 15 | result.push_back(st.s2 == st.s4); result.push_back(st.s5 == st.s8); result.push_back(st.s7 == st.s8); 16 | result.push_back(st.s7 == st.s9); result.push_back(st.s8 == st.s8); result.push_back(st.s8 == st.s9); 17 | result.push_back(st.s9 == st.s9); 18 | 19 | result2.push_back(st.st1 == st.st1); result2.push_back(st.st3 == st.st3); result2.push_back(st.st5 == st.st9); 20 | result2.push_back(st.st1 == st.st2); result2.push_back(st.st3 == st.st4); result2.push_back(st.st6 == st.st6); 21 | result2.push_back(st.st1 == st.st3); result2.push_back(st.st4 == st.st4); result2.push_back(st.st6 == st.st7); 22 | result2.push_back(st.st1 == st.st4); result2.push_back(st.st5 == st.st5); result2.push_back(st.st6 == st.st8); 23 | result2.push_back(st.st2 == st.st2); result2.push_back(st.st5 == st.st6); result2.push_back(st.st6 == st.st9); 24 | result2.push_back(st.st2 == st.st3); result2.push_back(st.st5 == st.st7); result2.push_back(st.st7 == st.st7); 25 | result2.push_back(st.st2 == st.st4); result2.push_back(st.st5 == st.st8); result2.push_back(st.st7 == st.st8); 26 | result2.push_back(st.st7 == st.st9); result2.push_back(st.st8 == st.st8); result2.push_back(st.st8 == st.st9); 27 | result2.push_back(st.st9 == st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator ==", stack_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/operator <=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_less_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 <= mt.m1); result.push_back(mt.m3 <= mt.m3); result.push_back(mt.m5 <= mt.m9); 10 | result.push_back(mt.m1 <= mt.m2); result.push_back(mt.m3 <= mt.m4); result.push_back(mt.m6 <= mt.m6); 11 | result.push_back(mt.m1 <= mt.m3); result.push_back(mt.m4 <= mt.m4); result.push_back(mt.m6 <= mt.m7); 12 | result.push_back(mt.m1 <= mt.m4); result.push_back(mt.m5 <= mt.m5); result.push_back(mt.m6 <= mt.m8); 13 | result.push_back(mt.m2 <= mt.m2); result.push_back(mt.m5 <= mt.m6); result.push_back(mt.m6 <= mt.m9); 14 | result.push_back(mt.m2 <= mt.m3); result.push_back(mt.m5 <= mt.m7); result.push_back(mt.m7 <= mt.m7); 15 | result.push_back(mt.m2 <= mt.m4); result.push_back(mt.m5 <= mt.m8); result.push_back(mt.m7 <= mt.m8); 16 | result.push_back(mt.m7 <= mt.m9); result.push_back(mt.m8 <= mt.m8); result.push_back(mt.m8 <= mt.m9); 17 | result.push_back(mt.m9 <= mt.m9); 18 | 19 | result2.push_back(mt.mp1 <= mt.mp1); result2.push_back(mt.mp3 <= mt.mp3); result2.push_back(mt.mp5 <= mt.mp9); 20 | result2.push_back(mt.mp1 <= mt.mp2); result2.push_back(mt.mp3 <= mt.mp4); result2.push_back(mt.mp6 <= mt.mp6); 21 | result2.push_back(mt.mp1 <= mt.mp3); result2.push_back(mt.mp4 <= mt.mp4); result2.push_back(mt.mp6 <= mt.mp7); 22 | result2.push_back(mt.mp1 <= mt.mp4); result2.push_back(mt.mp5 <= mt.mp5); result2.push_back(mt.mp6 <= mt.mp8); 23 | result2.push_back(mt.mp2 <= mt.mp2); result2.push_back(mt.mp5 <= mt.mp6); result2.push_back(mt.mp6 <= mt.mp9); 24 | result2.push_back(mt.mp2 <= mt.mp3); result2.push_back(mt.mp5 <= mt.mp7); result2.push_back(mt.mp7 <= mt.mp7); 25 | result2.push_back(mt.mp2 <= mt.mp4); result2.push_back(mt.mp5 <= mt.mp8); result2.push_back(mt.mp7 <= mt.mp8); 26 | result2.push_back(mt.mp7 <= mt.mp9); result2.push_back(mt.mp8 <= mt.mp8); result2.push_back(mt.mp8 <= mt.mp9); 27 | result2.push_back(mt.mp9 <= mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <=", map_less_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/map_tests/operator >=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool map_more_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | MapBoolTest mt; 8 | 9 | result.push_back(mt.m1 >= mt.m1); result.push_back(mt.m3 >= mt.m3); result.push_back(mt.m5 >= mt.m9); 10 | result.push_back(mt.m1 >= mt.m2); result.push_back(mt.m3 >= mt.m4); result.push_back(mt.m6 >= mt.m6); 11 | result.push_back(mt.m1 >= mt.m3); result.push_back(mt.m4 >= mt.m4); result.push_back(mt.m6 >= mt.m7); 12 | result.push_back(mt.m1 >= mt.m4); result.push_back(mt.m5 >= mt.m5); result.push_back(mt.m6 >= mt.m8); 13 | result.push_back(mt.m2 >= mt.m2); result.push_back(mt.m5 >= mt.m6); result.push_back(mt.m6 >= mt.m9); 14 | result.push_back(mt.m2 >= mt.m3); result.push_back(mt.m5 >= mt.m7); result.push_back(mt.m7 >= mt.m7); 15 | result.push_back(mt.m2 >= mt.m4); result.push_back(mt.m5 >= mt.m8); result.push_back(mt.m7 >= mt.m8); 16 | result.push_back(mt.m7 >= mt.m9); result.push_back(mt.m8 >= mt.m8); result.push_back(mt.m8 >= mt.m9); 17 | result.push_back(mt.m9 >= mt.m9); 18 | 19 | result2.push_back(mt.mp1 >= mt.mp1); result2.push_back(mt.mp3 >= mt.mp3); result2.push_back(mt.mp5 >= mt.mp9); 20 | result2.push_back(mt.mp1 >= mt.mp2); result2.push_back(mt.mp3 >= mt.mp4); result2.push_back(mt.mp6 >= mt.mp6); 21 | result2.push_back(mt.mp1 >= mt.mp3); result2.push_back(mt.mp4 >= mt.mp4); result2.push_back(mt.mp6 >= mt.mp7); 22 | result2.push_back(mt.mp1 >= mt.mp4); result2.push_back(mt.mp5 >= mt.mp5); result2.push_back(mt.mp6 >= mt.mp8); 23 | result2.push_back(mt.mp2 >= mt.mp2); result2.push_back(mt.mp5 >= mt.mp6); result2.push_back(mt.mp6 >= mt.mp9); 24 | result2.push_back(mt.mp2 >= mt.mp3); result2.push_back(mt.mp5 >= mt.mp7); result2.push_back(mt.mp7 >= mt.mp7); 25 | result2.push_back(mt.mp2 >= mt.mp4); result2.push_back(mt.mp5 >= mt.mp8); result2.push_back(mt.mp7 >= mt.mp8); 26 | result2.push_back(mt.mp7 >= mt.mp9); result2.push_back(mt.mp8 >= mt.mp8); result2.push_back(mt.mp8 >= mt.mp9); 27 | result2.push_back(mt.mp9 >= mt.mp9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >=", map_more_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/set_tests/operator <=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_less_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 <= st.s1); result.push_back(st.s3 <= st.s3); result.push_back(st.s5 <= st.s9); 10 | result.push_back(st.s1 <= st.s2); result.push_back(st.s3 <= st.s4); result.push_back(st.s6 <= st.s6); 11 | result.push_back(st.s1 <= st.s3); result.push_back(st.s4 <= st.s4); result.push_back(st.s6 <= st.s7); 12 | result.push_back(st.s1 <= st.s4); result.push_back(st.s5 <= st.s5); result.push_back(st.s6 <= st.s8); 13 | result.push_back(st.s2 <= st.s2); result.push_back(st.s5 <= st.s6); result.push_back(st.s6 <= st.s9); 14 | result.push_back(st.s2 <= st.s3); result.push_back(st.s5 <= st.s7); result.push_back(st.s7 <= st.s7); 15 | result.push_back(st.s2 <= st.s4); result.push_back(st.s5 <= st.s8); result.push_back(st.s7 <= st.s8); 16 | result.push_back(st.s7 <= st.s9); result.push_back(st.s8 <= st.s8); result.push_back(st.s8 <= st.s9); 17 | result.push_back(st.s9 <= st.s9); 18 | 19 | result2.push_back(st.st1 <= st.st1); result2.push_back(st.st3 <= st.st3); result2.push_back(st.st5 <= st.st9); 20 | result2.push_back(st.st1 <= st.st2); result2.push_back(st.st3 <= st.st4); result2.push_back(st.st6 <= st.st6); 21 | result2.push_back(st.st1 <= st.st3); result2.push_back(st.st4 <= st.st4); result2.push_back(st.st6 <= st.st7); 22 | result2.push_back(st.st1 <= st.st4); result2.push_back(st.st5 <= st.st5); result2.push_back(st.st6 <= st.st8); 23 | result2.push_back(st.st2 <= st.st2); result2.push_back(st.st5 <= st.st6); result2.push_back(st.st6 <= st.st9); 24 | result2.push_back(st.st2 <= st.st3); result2.push_back(st.st5 <= st.st7); result2.push_back(st.st7 <= st.st7); 25 | result2.push_back(st.st2 <= st.st4); result2.push_back(st.st5 <= st.st8); result2.push_back(st.st7 <= st.st8); 26 | result2.push_back(st.st7 <= st.st9); result2.push_back(st.st8 <= st.st8); result2.push_back(st.st8 <= st.st9); 27 | result2.push_back(st.st9 <= st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <=", set_less_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/set_tests/operator >=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool set_more_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | SetBoolTest st; 8 | 9 | result.push_back(st.s1 >= st.s1); result.push_back(st.s3 >= st.s3); result.push_back(st.s5 >= st.s9); 10 | result.push_back(st.s1 >= st.s2); result.push_back(st.s3 >= st.s4); result.push_back(st.s6 >= st.s6); 11 | result.push_back(st.s1 >= st.s3); result.push_back(st.s4 >= st.s4); result.push_back(st.s6 >= st.s7); 12 | result.push_back(st.s1 >= st.s4); result.push_back(st.s5 >= st.s5); result.push_back(st.s6 >= st.s8); 13 | result.push_back(st.s2 >= st.s2); result.push_back(st.s5 >= st.s6); result.push_back(st.s6 >= st.s9); 14 | result.push_back(st.s2 >= st.s3); result.push_back(st.s5 >= st.s7); result.push_back(st.s7 >= st.s7); 15 | result.push_back(st.s2 >= st.s4); result.push_back(st.s5 >= st.s8); result.push_back(st.s7 >= st.s8); 16 | result.push_back(st.s7 >= st.s9); result.push_back(st.s8 >= st.s8); result.push_back(st.s8 >= st.s9); 17 | result.push_back(st.s9 >= st.s9); 18 | 19 | result2.push_back(st.st1 >= st.st1); result2.push_back(st.st3 >= st.st3); result2.push_back(st.st5 >= st.st9); 20 | result2.push_back(st.st1 >= st.st2); result2.push_back(st.st3 >= st.st4); result2.push_back(st.st6 >= st.st6); 21 | result2.push_back(st.st1 >= st.st3); result2.push_back(st.st4 >= st.st4); result2.push_back(st.st6 >= st.st7); 22 | result2.push_back(st.st1 >= st.st4); result2.push_back(st.st5 >= st.st5); result2.push_back(st.st6 >= st.st8); 23 | result2.push_back(st.st2 >= st.st2); result2.push_back(st.st5 >= st.st6); result2.push_back(st.st6 >= st.st9); 24 | result2.push_back(st.st2 >= st.st3); result2.push_back(st.st5 >= st.st7); result2.push_back(st.st7 >= st.st7); 25 | result2.push_back(st.st2 >= st.st4); result2.push_back(st.st5 >= st.st8); result2.push_back(st.st7 >= st.st8); 26 | result2.push_back(st.st7 >= st.st9); result2.push_back(st.st8 >= st.st8); result2.push_back(st.st8 >= st.st9); 27 | result2.push_back(st.st9 >= st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >=", set_more_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator !=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_not_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 != st.s1); result.push_back(st.s3 != st.s3); result.push_back(st.s5 != st.s9); 10 | result.push_back(st.s1 != st.s2); result.push_back(st.s3 != st.s4); result.push_back(st.s6 != st.s6); 11 | result.push_back(st.s1 != st.s3); result.push_back(st.s4 != st.s4); result.push_back(st.s6 != st.s7); 12 | result.push_back(st.s1 != st.s4); result.push_back(st.s5 != st.s5); result.push_back(st.s6 != st.s8); 13 | result.push_back(st.s2 != st.s2); result.push_back(st.s5 != st.s6); result.push_back(st.s6 != st.s9); 14 | result.push_back(st.s2 != st.s3); result.push_back(st.s5 != st.s7); result.push_back(st.s7 != st.s7); 15 | result.push_back(st.s2 != st.s4); result.push_back(st.s5 != st.s8); result.push_back(st.s7 != st.s8); 16 | result.push_back(st.s7 != st.s9); result.push_back(st.s8 != st.s8); result.push_back(st.s8 != st.s9); 17 | result.push_back(st.s9 != st.s9); 18 | 19 | result2.push_back(st.st1 != st.st1); result2.push_back(st.st3 != st.st3); result2.push_back(st.st5 != st.st9); 20 | result2.push_back(st.st1 != st.st2); result2.push_back(st.st3 != st.st4); result2.push_back(st.st6 != st.st6); 21 | result2.push_back(st.st1 != st.st3); result2.push_back(st.st4 != st.st4); result2.push_back(st.st6 != st.st7); 22 | result2.push_back(st.st1 != st.st4); result2.push_back(st.st5 != st.st5); result2.push_back(st.st6 != st.st8); 23 | result2.push_back(st.st2 != st.st2); result2.push_back(st.st5 != st.st6); result2.push_back(st.st6 != st.st9); 24 | result2.push_back(st.st2 != st.st3); result2.push_back(st.st5 != st.st7); result2.push_back(st.st7 != st.st7); 25 | result2.push_back(st.st2 != st.st4); result2.push_back(st.st5 != st.st8); result2.push_back(st.st7 != st.st8); 26 | result2.push_back(st.st7 != st.st9); result2.push_back(st.st8 != st.st8); result2.push_back(st.st8 != st.st9); 27 | result2.push_back(st.st9 != st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator !=", stack_not_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator <=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_less_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 <= st.s1); result.push_back(st.s3 <= st.s3); result.push_back(st.s5 <= st.s9); 10 | result.push_back(st.s1 <= st.s2); result.push_back(st.s3 <= st.s4); result.push_back(st.s6 <= st.s6); 11 | result.push_back(st.s1 <= st.s3); result.push_back(st.s4 <= st.s4); result.push_back(st.s6 <= st.s7); 12 | result.push_back(st.s1 <= st.s4); result.push_back(st.s5 <= st.s5); result.push_back(st.s6 <= st.s8); 13 | result.push_back(st.s2 <= st.s2); result.push_back(st.s5 <= st.s6); result.push_back(st.s6 <= st.s9); 14 | result.push_back(st.s2 <= st.s3); result.push_back(st.s5 <= st.s7); result.push_back(st.s7 <= st.s7); 15 | result.push_back(st.s2 <= st.s4); result.push_back(st.s5 <= st.s8); result.push_back(st.s7 <= st.s8); 16 | result.push_back(st.s7 <= st.s9); result.push_back(st.s8 <= st.s8); result.push_back(st.s8 <= st.s9); 17 | result.push_back(st.s9 <= st.s9); 18 | 19 | result2.push_back(st.st1 <= st.st1); result2.push_back(st.st3 <= st.st3); result2.push_back(st.st5 <= st.st9); 20 | result2.push_back(st.st1 <= st.st2); result2.push_back(st.st3 <= st.st4); result2.push_back(st.st6 <= st.st6); 21 | result2.push_back(st.st1 <= st.st3); result2.push_back(st.st4 <= st.st4); result2.push_back(st.st6 <= st.st7); 22 | result2.push_back(st.st1 <= st.st4); result2.push_back(st.st5 <= st.st5); result2.push_back(st.st6 <= st.st8); 23 | result2.push_back(st.st2 <= st.st2); result2.push_back(st.st5 <= st.st6); result2.push_back(st.st6 <= st.st9); 24 | result2.push_back(st.st2 <= st.st3); result2.push_back(st.st5 <= st.st7); result2.push_back(st.st7 <= st.st7); 25 | result2.push_back(st.st2 <= st.st4); result2.push_back(st.st5 <= st.st8); result2.push_back(st.st7 <= st.st8); 26 | result2.push_back(st.st7 <= st.st9); result2.push_back(st.st8 <= st.st8); result2.push_back(st.st8 <= st.st9); 27 | result2.push_back(st.st9 <= st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator <=", stack_less_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/stack_tests/operator >=.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | bool stack_more_or_equal_test() { 5 | std::vector result, result2; 6 | g_start2 = g_end2 = g_start1 = g_end1 = 0; 7 | StackBoolTest st; 8 | 9 | result.push_back(st.s1 >= st.s1); result.push_back(st.s3 >= st.s3); result.push_back(st.s5 >= st.s9); 10 | result.push_back(st.s1 >= st.s2); result.push_back(st.s3 >= st.s4); result.push_back(st.s6 >= st.s6); 11 | result.push_back(st.s1 >= st.s3); result.push_back(st.s4 >= st.s4); result.push_back(st.s6 >= st.s7); 12 | result.push_back(st.s1 >= st.s4); result.push_back(st.s5 >= st.s5); result.push_back(st.s6 >= st.s8); 13 | result.push_back(st.s2 >= st.s2); result.push_back(st.s5 >= st.s6); result.push_back(st.s6 >= st.s9); 14 | result.push_back(st.s2 >= st.s3); result.push_back(st.s5 >= st.s7); result.push_back(st.s7 >= st.s7); 15 | result.push_back(st.s2 >= st.s4); result.push_back(st.s5 >= st.s8); result.push_back(st.s7 >= st.s8); 16 | result.push_back(st.s7 >= st.s9); result.push_back(st.s8 >= st.s8); result.push_back(st.s8 >= st.s9); 17 | result.push_back(st.s9 >= st.s9); 18 | 19 | result2.push_back(st.st1 >= st.st1); result2.push_back(st.st3 >= st.st3); result2.push_back(st.st5 >= st.st9); 20 | result2.push_back(st.st1 >= st.st2); result2.push_back(st.st3 >= st.st4); result2.push_back(st.st6 >= st.st6); 21 | result2.push_back(st.st1 >= st.st3); result2.push_back(st.st4 >= st.st4); result2.push_back(st.st6 >= st.st7); 22 | result2.push_back(st.st1 >= st.st4); result2.push_back(st.st5 >= st.st5); result2.push_back(st.st6 >= st.st8); 23 | result2.push_back(st.st2 >= st.st2); result2.push_back(st.st5 >= st.st6); result2.push_back(st.st6 >= st.st9); 24 | result2.push_back(st.st2 >= st.st3); result2.push_back(st.st5 >= st.st7); result2.push_back(st.st7 >= st.st7); 25 | result2.push_back(st.st2 >= st.st4); result2.push_back(st.st5 >= st.st8); result2.push_back(st.st7 >= st.st8); 26 | result2.push_back(st.st7 >= st.st9); result2.push_back(st.st8 >= st.st8); result2.push_back(st.st8 >= st.st9); 27 | result2.push_back(st.st9 >= st.st9); 28 | 29 | return result == result2; 30 | } 31 | 32 | int main() { 33 | exit(run_bool_unit_test("operator >=", stack_more_or_equal_test)); 34 | } -------------------------------------------------------------------------------- /sources/system/bass24/delphi/demo/uDemoMainUnit.fmx: -------------------------------------------------------------------------------- 1 | object DemoMainForm: TDemoMainForm 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | Caption = 'Simple BASS OSX Demo ' 6 | ClientHeight = 100 7 | ClientWidth = 440 8 | FormFactor.Width = 1920 9 | FormFactor.Height = 1080 10 | FormFactor.Devices = [dkDesktop] 11 | OnCreate = FormCreate 12 | OnDestroy = FormDestroy 13 | object btnOpen: TButton 14 | DisableFocusEffect = False 15 | Height = 25.000000000000000000 16 | Position.X = 8.000000000000000000 17 | Position.Y = 64.000000000000000000 18 | Text = 'Open' 19 | Width = 80.000000000000000000 20 | OnClick = btnOpenClick 21 | end 22 | object tbSeek: TTrackBar 23 | DisableFocusEffect = False 24 | Height = 20.000000000000000000 25 | Orientation = orHorizontal 26 | Position.X = 8.000000000000000000 27 | Position.Y = 33.000000000000000000 28 | Tracking = False 29 | Width = 425.000000000000000000 30 | OnChange = tbSeekChange 31 | end 32 | object lbTime: TLabel 33 | Font.Size = 14.000000000000000000 34 | Font.Style = [fsBold] 35 | StyledSettings = [ssFamily, ssFontColor] 36 | Height = 25.000000000000000000 37 | Position.X = 8.000000000000000000 38 | Position.Y = 8.000000000000000000 39 | Text = '-' 40 | Width = 425.000000000000000000 41 | end 42 | object btnPlayPause: TButton 43 | DisableFocusEffect = False 44 | Height = 25.000000000000000000 45 | Position.X = 267.000000000000000000 46 | Position.Y = 64.000000000000000000 47 | Text = 'Play / Pause' 48 | Width = 80.000000000000000000 49 | OnClick = btnPlayPauseClick 50 | end 51 | object btnStop: TButton 52 | DisableFocusEffect = False 53 | Height = 25.000000000000000000 54 | Position.X = 352.000000000000000000 55 | Position.Y = 64.000000000000000000 56 | Text = 'Stop' 57 | Width = 80.000000000000000000 58 | OnClick = btnStopClick 59 | end 60 | object OpenDialog1: TOpenDialog 61 | Filter = 'MP3 / OGG / WAV|*.mp3;*.ogg;*.wav;' 62 | Left = 400 63 | Top = 8 64 | end 65 | object tmTimer: TTimer 66 | Enabled = False 67 | OnTimer = tmTimerTimer 68 | Left = 360 69 | Top = 8 70 | end 71 | end 72 | -------------------------------------------------------------------------------- /sources/map_tests/swap().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector swap_test(std::map mp) { 6 | std::vector v; 7 | g_start1 = g_end1 = timer(); 8 | for (int i = 0, j = 0; i < 25 * _ratio; ++i, ++j) 9 | mp.insert(std::make_pair(i, j)); 10 | std::map mp2; 11 | for (int i = 25 * _ratio, j = 0; i < 35 * _ratio; ++i, --j) 12 | mp.insert(std::make_pair(i, j)); 13 | long *adr1 = reinterpret_cast(&mp); 14 | long *adr2 = reinterpret_cast(&mp2); 15 | mp.swap(mp2); 16 | if (reinterpret_cast(&mp) == adr1 && reinterpret_cast(&mp2) == adr2) 17 | v.push_back(1); 18 | v.push_back(mp2.size()); 19 | typename std::map::iterator it = mp2.begin(); 20 | for (; it != mp2.end(); ++it) { 21 | v.push_back(it->first); 22 | v.push_back(it->second); 23 | } 24 | std::swap(mp, mp2); 25 | typename std::map::iterator it2 = mp2.begin(); 26 | for (; it2 != mp2.end(); ++it2) { 27 | v.push_back(it2->first); 28 | v.push_back(it2->second); 29 | } 30 | return v; 31 | } 32 | 33 | template 34 | std::vector swap_test(_map mp) { 35 | std::vector v; 36 | g_start2 = g_end2 = timer(); 37 | for (int i = 0, j = 0; i < 25 * _ratio; ++i, ++j) 38 | mp.insert(_make_pair(i, j)); 39 | _map mp2; 40 | for (int i = 25 * _ratio, j = 0; i < 35 * _ratio; ++i, --j) 41 | mp.insert(_make_pair(i, j)); 42 | long *adr1 = reinterpret_cast(&mp); 43 | long *adr2 = reinterpret_cast(&mp2); 44 | mp.swap(mp2); 45 | if (reinterpret_cast(&mp) == adr1 && reinterpret_cast(&mp2) == adr2) 46 | v.push_back(1); 47 | v.push_back(mp2.size()); 48 | typename _map::iterator it = mp2.begin(); 49 | for (; it != mp2.end(); ++it) { 50 | v.push_back(it->first); 51 | v.push_back(it->second); 52 | } 53 | std::swap(mp, mp2); 54 | typename _map::iterator it2 = mp2.begin(); 55 | for (; it2 != mp2.end(); ++it2) { 56 | v.push_back(it2->first); 57 | v.push_back(it2->second); 58 | } 59 | return v; 60 | } 61 | 62 | int main() { 63 | 64 | exit(run_map_unit_test("swap()", swap_test, swap_test)); 65 | } -------------------------------------------------------------------------------- /sources/set_tests/lower_bound().cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector lower_bound_test(std::set st) { 6 | std::vector v; 7 | std::set > st2; 8 | st.insert(10); 9 | st2.insert(10); 10 | if (st.lower_bound(11) == st.end()) 11 | v.push_back(1); 12 | if (st2.lower_bound(1) == st2.end()) 13 | v.push_back(1); 14 | st.insert(20); 15 | st.insert(30); 16 | st.insert(40); 17 | st.insert(50); 18 | st.insert(60); 19 | st2.insert(20); 20 | st2.insert(30); 21 | st2.insert(40); 22 | st2.insert(50); 23 | st2.insert(60); 24 | std::set::iterator it; 25 | for (int i = 1; i < 60; i += 10) { 26 | it = st.lower_bound(i); 27 | v.push_back(*it); 28 | } 29 | for (int i = 11; i < 70; i += 10) { 30 | it = st2.lower_bound(i); 31 | v.push_back(*it); 32 | } 33 | std::set st3; 34 | for (int i = 0; i < 50 * _ratio; ++i) { 35 | st3.insert(i); 36 | } 37 | g_start1 = timer(); 38 | st3.lower_bound(49 * _ratio); 39 | g_end1 = timer(); 40 | return v; 41 | } 42 | 43 | template 44 | std::vector lower_bound_test(_set st) { 45 | std::vector v; 46 | _set > st2; 47 | st.insert(10); 48 | st2.insert(10); 49 | if (st.lower_bound(11) == st.end()) 50 | v.push_back(1); 51 | if (st2.lower_bound(1) == st2.end()) 52 | v.push_back(1); 53 | st.insert(20); 54 | st.insert(30); 55 | st.insert(40); 56 | st.insert(50); 57 | st.insert(60); 58 | st2.insert(20); 59 | st2.insert(30); 60 | st2.insert(40); 61 | st2.insert(50); 62 | st2.insert(60); 63 | _set::iterator it; 64 | for (int i = 1; i < 60; i += 10) { 65 | it = st.lower_bound(i); 66 | v.push_back(*it); 67 | } 68 | for (int i = 11; i < 70; i += 10) { 69 | it = st2.lower_bound(i); 70 | v.push_back(*it); 71 | } 72 | _set st3; 73 | for (int i = 0; i < 50 * _ratio; ++i) { 74 | st3.insert(i); 75 | } 76 | g_start2 = timer(); 77 | st3.lower_bound(49 * _ratio); 78 | g_end2 = timer(); 79 | return v; 80 | } 81 | 82 | int main() { 83 | 84 | exit(run_set_unit_test("lower_bound()", lower_bound_test, lower_bound_test)); 85 | } -------------------------------------------------------------------------------- /sources/set_tests/iterators.cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector iterators_test(std::set st) { 6 | std::vector v; 7 | std::set stt; 8 | fillSet(stt); 9 | for (typename std::set::iterator it = stt.begin(); it != stt.end(); it++) { v.push_back(*it); } 10 | for (typename std::set::iterator it = --stt.end(); it != stt.begin(); it--) { v.push_back(*it); } 11 | std::set mp0; 12 | std::set::iterator ii = mp0.insert(3).first; 13 | ii++; 14 | v.push_back(*(--ii)); 15 | for (int i = 0; i < 5; ++i) 16 | st.insert(i); 17 | typename std::set::iterator it = st.begin(); 18 | typename std::set::iterator it2 = st.end(); 19 | g_start1 = timer(); 20 | v.push_back(*it); 21 | it++; 22 | it++; 23 | it++; 24 | it++; 25 | v.push_back(*it); 26 | it++; 27 | it--; 28 | v.push_back(*it); 29 | it2--; 30 | v.push_back(*it2); 31 | v.push_back(it2 == it); 32 | v.push_back(*(--it2)); 33 | v.push_back(*(it2--)); 34 | v.push_back(*(it2++)); 35 | v.push_back(*(++it2)); 36 | g_end1 = timer(); 37 | return v; 38 | } 39 | 40 | template 41 | std::vector iterators_test(_set st) { 42 | std::vector v; 43 | _set stt; 44 | fillSet(stt); 45 | for (typename _set::iterator it = stt.begin(); it != stt.end(); it++) { v.push_back(*it); } 46 | for (typename _set::iterator it = --stt.end(); it != stt.begin(); it--) { v.push_back(*it); } 47 | _set mp0; 48 | _set::iterator ii = mp0.insert(3).first; 49 | ii++; 50 | v.push_back(*(--ii)); 51 | for (int i = 0; i < 5; ++i) 52 | st.insert(i); 53 | typename _set::iterator it = st.begin(); 54 | typename _set::iterator it2 = st.end(); 55 | g_start2 = timer(); 56 | v.push_back(*it); 57 | it++; 58 | it++; 59 | it++; 60 | it++; 61 | v.push_back(*it); 62 | it++; 63 | it--; 64 | v.push_back(*it); 65 | it2--; 66 | v.push_back(*it2); 67 | v.push_back(it2 == it); 68 | v.push_back(*(--it2)); 69 | v.push_back(*(it2--)); 70 | v.push_back(*(it2++)); 71 | v.push_back(*(++it2)); 72 | g_end2 = timer(); 73 | return v; 74 | } 75 | 76 | int main() { 77 | 78 | exit(run_set_unit_test("iterators", iterators_test, iterators_test)); 79 | } -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fa.lproj/VersionChecker.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "%@ بروزرسانی نرم افزار"; ObjectID = "10"; */ 3 | "10.title" = "%@ بروزرسانی نرم افزار"; 4 | 5 | /* Class = "NSWindow"; title = "%@ بروزرسانی نرم افزار"; ObjectID = "51"; */ 6 | "51.title" = "%@ بروزرسانی نرم افزار"; 7 | 8 | /* Class = "NSWindow"; title = "%@ بروزرسانی نرم افزار"; ObjectID = "59"; */ 9 | "59.title" = "%@ بروزرسانی نرم افزار"; 10 | 11 | /* Class = "NSButtonCell"; title = "لغو"; ObjectID = "96"; */ 12 | "96.title" = "لغو"; 13 | 14 | /* Class = "NSButtonCell"; title = "بروزرسانی"; ObjectID = "97"; */ 15 | "97.title" = "بروزرسانی"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "بروزرسانی موجود است"; ObjectID = "99"; */ 18 | "99.title" = "بروزرسانی موجود است"; 19 | 20 | /* Class = "NSTextFieldCell"; title = "این برنامه بروز شده در %@.\nنسخه %@ مجود است از %i روز قبل.\nآیا می خواهید بروزرسانی کنید به نسخه %@ ?"; ObjectID = "100"; */ 21 | "100.title" = "این برنامه بروز شده در %@.\nنسخه %@ مجود است از %i روز قبل.\nآیا می خواهید بروزرسانی کنید به نسخه %@ ?"; 22 | 23 | /* Class = "NSButtonCell"; title = "بررسی خودکار برای بروزرسانی"; ObjectID = "101"; */ 24 | "101.title" = "بررسی خودکار برای بروزرسانی"; 25 | 26 | /* Class = "NSButtonCell"; title = "بررسی خودکار برای بروزرسانی"; ObjectID = "103"; */ 27 | "103.title" = "بررسی خودکار برای بروزرسانی"; 28 | 29 | /* Class = "NSButtonCell"; title = "تایید"; ObjectID = "104"; */ 30 | "104.title" = "تایید"; 31 | 32 | /* Class = "NSTextFieldCell"; title = ".بروزرسانی موجود نیست"; ObjectID = "105"; */ 33 | "105.title" = ".بروزرسانی موجود نیست"; 34 | 35 | /* Class = "NSTextFieldCell"; title = "نسخه شما به روز است"; ObjectID = "106"; */ 36 | "106.title" = "نسخه شما به روز است"; 37 | 38 | /* Class = "NSTextFieldCell"; title = ".هنگام اتصال به سرویس دهنده مشکلی پیش آمد. لطفا تنظیمات شبکه را بررسی کنید یا دوباره تلاش کنید "; ObjectID = "107"; */ 39 | "107.title" = ".هنگام اتصال به سرویس دهنده مشکلی پیش آمد. لطفا تنظیمات شبکه را بررسی کنید یا دوباره تلاش کنید "; 40 | 41 | /* Class = "NSButtonCell"; title = "بررسی خودکار برای بروزرسانی"; ObjectID = "109"; */ 42 | "109.title" = "بررسی خودکار برای بروزرسانی"; 43 | 44 | /* Class = "NSButtonCell"; title = "تایید"; ObjectID = "110"; */ 45 | "110.title" = "تایید"; 46 | 47 | /* Class = "NSTextFieldCell"; title = "در بررسی برای آخرین نسخه مشکلی پیش آمد"; ObjectID = "111"; */ 48 | "111.title" = "در بررسی برای آخرین نسخه مشکلی پیش آمد"; 49 | -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/en.lproj/VersionChecker.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "%@ Software Update"; ObjectID = "10"; */ 3 | "10.title" = "%@ Software Update"; 4 | 5 | /* Class = "NSWindow"; title = "%@ Software Update"; ObjectID = "51"; */ 6 | "51.title" = "%@ Software Update"; 7 | 8 | /* Class = "NSWindow"; title = "%@ Software Update"; ObjectID = "59"; */ 9 | "59.title" = "%@ Software Update"; 10 | 11 | /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "96"; */ 12 | "96.title" = "Cancel"; 13 | 14 | /* Class = "NSButtonCell"; title = "Update"; ObjectID = "97"; */ 15 | "97.title" = "Update"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "Update available"; ObjectID = "99"; */ 18 | "99.title" = "Update available"; 19 | 20 | /* Class = "NSTextFieldCell"; title = "This application was updated on %@.\nThe version %@ is available since %i days.\nWould you like to update your version %@ ?"; ObjectID = "100"; */ 21 | "100.title" = "This application was updated on %@.\nThe version %@ is available since %i days.\nWould you like to update your version %@ ?"; 22 | 23 | /* Class = "NSButtonCell"; title = "Check for updates automatically"; ObjectID = "101"; */ 24 | "101.title" = "Check for updates automatically"; 25 | 26 | /* Class = "NSButtonCell"; title = "Check for updates automatically"; ObjectID = "103"; */ 27 | "103.title" = "Check for updates automatically"; 28 | 29 | /* Class = "NSButtonCell"; title = "Okay"; ObjectID = "104"; */ 30 | "104.title" = "Okay"; 31 | 32 | /* Class = "NSTextFieldCell"; title = "No updates are available."; ObjectID = "105"; */ 33 | "105.title" = "No updates are available."; 34 | 35 | /* Class = "NSTextFieldCell"; title = "Your version is up to date"; ObjectID = "106"; */ 36 | "106.title" = "Your version is up to date"; 37 | 38 | /* Class = "NSTextFieldCell"; title = "There was an error while connecting to server. Please check your network settings or try again later."; ObjectID = "107"; */ 39 | "107.title" = "There was an error while connecting to server. Please check your network settings or try again later."; 40 | 41 | /* Class = "NSButtonCell"; title = "Check for updates automatically"; ObjectID = "109"; */ 42 | "109.title" = "Check for updates automatically"; 43 | 44 | /* Class = "NSButtonCell"; title = "Okay"; ObjectID = "110"; */ 45 | "110.title" = "Okay"; 46 | 47 | /* Class = "NSTextFieldCell"; title = "Error while checking for the latest version"; ObjectID = "111"; */ 48 | "111.title" = "Error while checking for the latest version"; 49 | -------------------------------------------------------------------------------- /sources/set_tests/erase(pos).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_2(std::set st) { 6 | std::vector v; 7 | for (int i = 0; i < 30 * _ratio; ++i) 8 | st.insert(i); 9 | typename std::set::iterator it = st.begin(); 10 | v.push_back(*it); 11 | st.erase(it); 12 | v.push_back(st.size()); 13 | it = st.begin(); 14 | st.erase(++it); 15 | v.push_back(st.size()); 16 | it = st.begin(); 17 | v.push_back(*it); 18 | typename std::set::iterator it4 = st.begin(); 19 | g_start1 = timer(); 20 | for (; it4 != st.end(); it4 = st.begin()) 21 | st.erase(it4); 22 | g_end1 = timer(); 23 | v.push_back(st.size()); 24 | std::set st2; 25 | for (int i = 0; i < 10 ; ++i) 26 | st2.insert(i); 27 | typename std::set::iterator ittest = st2.begin(); 28 | for (int i = 0; i < 2; ++i) ittest++; 29 | st2.erase(ittest); 30 | ittest = st2.begin(); 31 | for (int i = 0; i < 5; ++i) ittest++; 32 | st2.erase(ittest); 33 | typename std::set::iterator it3 = st2.begin(); 34 | for (; it3 != st2.end(); ++it3) { 35 | v.push_back(*it3); 36 | } 37 | return v; 38 | } 39 | 40 | template 41 | std::vector erase_test_2(_set st) { 42 | std::vector v; 43 | for (int i = 0; i < 30 * _ratio; ++i) 44 | st.insert(i); 45 | typename _set::iterator it = st.begin(); 46 | v.push_back(*it); 47 | st.erase(it); 48 | v.push_back(st.size()); 49 | it = st.begin(); 50 | st.erase(++it); 51 | v.push_back(st.size()); 52 | it = st.begin(); 53 | v.push_back(*it); 54 | typename _set::iterator it4 = st.begin(); 55 | g_start2 = timer(); 56 | for (; it4 != st.end(); it4 = st.begin()) 57 | st.erase(it4); 58 | g_end2 = timer(); 59 | v.push_back(st.size()); 60 | _set st2; 61 | for (int i = 0; i < 10 ; ++i) 62 | st2.insert(i); 63 | typename _set::iterator ittest = st2.begin(); 64 | for (int i = 0; i < 2; ++i) ittest++; 65 | st2.erase(ittest); 66 | ittest = st2.begin(); 67 | for (int i = 0; i < 5; ++i) ittest++; 68 | st2.erase(ittest); 69 | typename _set::iterator it3 = st2.begin(); 70 | for (; it3 != st2.end(); ++it3) { 71 | v.push_back(*it3); 72 | } 73 | return v; 74 | } 75 | 76 | int main() { 77 | 78 | exit(run_set_unit_test("erase(pos)", erase_test_2, erase_test_2)); 79 | } 80 | -------------------------------------------------------------------------------- /sources/map_tests/erase(key).cpp: -------------------------------------------------------------------------------- 1 | #include "../system/system_methods.ipp" 2 | #include "__service.ipp" 3 | 4 | template 5 | std::vector erase_test_1(std::map mp) { 6 | std::vector v; 7 | v.push_back(mp.erase(3)); 8 | for (int i = 0, j = 0; i < 30 * _ratio; ++i, ++j) 9 | mp.insert(std::make_pair(i, j)); 10 | typename std::map::iterator it = mp.begin(); 11 | v.push_back(it->first); 12 | v.push_back(mp.erase(-5)); 13 | v.push_back(mp.size()); 14 | v.push_back(mp.erase(0)); 15 | v.push_back(mp.size()); 16 | it = mp.begin(); 17 | v.push_back(it->first); 18 | typename std::map::iterator it4 = mp.begin(); 19 | g_start1 = timer(); 20 | for (; it4 != mp.end(); it4 = mp.begin()) 21 | mp.erase(it4->first); 22 | g_end1 = timer(); 23 | v.push_back(mp.erase(30 * _ratio - 1)); 24 | v.push_back(mp.size()); 25 | std::map mp2; 26 | for (int i = 0, j = 0; i < 10 ; ++i, ++j) 27 | mp2.insert(std::make_pair(i, j)); 28 | mp2.erase(2); 29 | mp2.erase(7); 30 | typename std::map::iterator it3 = mp2.begin(); 31 | for (; it3 != mp2.end(); ++it3) { 32 | v.push_back(it3->first); 33 | v.push_back(it3->second); 34 | } 35 | return v; 36 | } 37 | 38 | template 39 | std::vector erase_test_1(_map mp) { 40 | std::vector v; 41 | v.push_back(mp.erase(3)); 42 | for (int i = 0, j = 0; i < 30 * _ratio; ++i, ++j) 43 | mp.insert(_make_pair(i, j)); 44 | typename _map::iterator it = mp.begin(); 45 | v.push_back(it->first); 46 | v.push_back(mp.erase(-5)); 47 | v.push_back(mp.size()); 48 | v.push_back(mp.erase(0)); 49 | v.push_back(mp.size()); 50 | it = mp.begin(); 51 | v.push_back(it->first); 52 | typename _map::iterator it4 = mp.begin(); 53 | g_start2 = timer(); 54 | for (; it4 != mp.end(); it4 = mp.begin()) 55 | mp.erase(it4->first); 56 | g_end2 = timer(); 57 | v.push_back(mp.erase(30 * _ratio - 1)); 58 | v.push_back(mp.size()); 59 | _map mp2; 60 | for (int i = 0, j = 0; i < 10 ; ++i, ++j) 61 | mp2.insert(_make_pair(i, j)); 62 | mp2.erase(2); 63 | mp2.erase(7); 64 | typename _map::iterator it3 = mp2.begin(); 65 | for (; it3 != mp2.end(); ++it3) { 66 | v.push_back(it3->first); 67 | v.push_back(it3->second); 68 | } 69 | return v; 70 | } 71 | 72 | int main() { 73 | 74 | exit(run_map_unit_test("erase(key)", erase_test_1, erase_test_1)); 75 | } 76 | -------------------------------------------------------------------------------- /sources/system/bass24/Chmox.app/Contents/Resources/fr.lproj/VersionChecker.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Mise à jour %@"; ObjectID = "10"; */ 3 | "10.title" = "Mise à jour %@"; 4 | 5 | /* Class = "NSWindow"; title = "Mise à jour %@"; ObjectID = "51"; */ 6 | "51.title" = "Mise à jour %@"; 7 | 8 | /* Class = "NSWindow"; title = "Mise à jour %@"; ObjectID = "59"; */ 9 | "59.title" = "Mise à jour %@"; 10 | 11 | /* Class = "NSButtonCell"; title = "Annuler"; ObjectID = "96"; */ 12 | "96.title" = "Annuler"; 13 | 14 | /* Class = "NSButtonCell"; title = "MàJ"; ObjectID = "97"; */ 15 | "97.title" = "MàJ"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "Une mise à jour est disponible"; ObjectID = "99"; */ 18 | "99.title" = "Une mise à jour est disponible"; 19 | 20 | /* Class = "NSTextFieldCell"; title = "Cette application a été mise à jour le %@.\nLa version %@ est disponible depuis %i jours.\nVoulez vous mettre à jour votre version %@ ?"; ObjectID = "100"; */ 21 | "100.title" = "Cette application a été mise à jour le %@.\nLa version %@ est disponible depuis %i jours.\nVoulez vous mettre à jour votre version %@ ?"; 22 | 23 | /* Class = "NSButtonCell"; title = "Vérifier les mises à jour atomatiquement"; ObjectID = "101"; */ 24 | "101.title" = "Vérifier les mises à jour atomatiquement"; 25 | 26 | /* Class = "NSButtonCell"; title = "Vérifier les mises à jour atomatiquement"; ObjectID = "103"; */ 27 | "103.title" = "Vérifier les mises à jour atomatiquement"; 28 | 29 | /* Class = "NSButtonCell"; title = "Ok"; ObjectID = "104"; */ 30 | "104.title" = "Ok"; 31 | 32 | /* Class = "NSTextFieldCell"; title = "Aucune mise à jour n'est disponible."; ObjectID = "105"; */ 33 | "105.title" = "Aucune mise à jour n'est disponible."; 34 | 35 | /* Class = "NSTextFieldCell"; title = "L'application est à jour"; ObjectID = "106"; */ 36 | "106.title" = "L'application est à jour"; 37 | 38 | /* Class = "NSTextFieldCell"; title = "Il y a eut une erreur lors de la connexion au serveur.\nVérifiez vos réglages réseau ou essayez plus tard."; ObjectID = "107"; */ 39 | "107.title" = "Il y a eut une erreur lors de la connexion au serveur.\nVérifiez vos réglages réseau ou essayez plus tard."; 40 | 41 | /* Class = "NSButtonCell"; title = "Vérifier les mises à jour atomatiquement"; ObjectID = "109"; */ 42 | "109.title" = "Vérifier les mises à jour atomatiquement"; 43 | 44 | /* Class = "NSButtonCell"; title = "Ok"; ObjectID = "110"; */ 45 | "110.title" = "Ok"; 46 | 47 | /* Class = "NSTextFieldCell"; title = "Impossible de vérifier les mises à jour"; ObjectID = "111"; */ 48 | "111.title" = "Impossible de vérifier les mises à jour"; 49 | --------------------------------------------------------------------------------