IRC log for #brlcad on 20111220

00:15.25 CIA-28 BRL-CAD: 03starseeker * r48063 10/brlcad/trunk/misc/CMake/ThirdParty.cmake: oops - zigging when we need to zag. no turning things on when we have SYSTEM settings.
00:21.17 brlcad whaaa .... when did that file get committed???
00:21.36 brlcad ah, r48053
00:34.59 CIA-28 BRL-CAD: 03starseeker * r48064 10/brlcad/trunk/ (misc/CMake/ThirdParty_TCL.cmake src/other/CMakeLists.txt): Few more tweaks for that annoying 'system only even though there's nothing installed on it that I need' case...
00:38.17 CIA-28 BRL-CAD: 03starseeker * r48065 10/brlcad/trunk/misc/CMake/ThirdParty_TCL.cmake: No need to double warn
00:52.51 CIA-28 BRL-CAD: 03starseeker * r48066 10/brlcad/trunk/misc/CMake/ (ThirdParty.cmake ThirdParty_TCL.cmake): Don't show disabled 3rd party opts, and make sure to show them if they become enabled.
00:56.07 CIA-28 BRL-CAD: 03starseeker * r48067 10/brlcad/trunk/misc/CMake/xsltproc.cmake.in: Note why it's important to make the directory first when running xsltproc
01:02.51 CIA-28 BRL-CAD: 03starseeker * r48068 10/brlcad/trunk/misc/CMake/ThirdParty.cmake: Oops - just because we've already added the subdirectory, that doesn't mean we don't need to set the executable variable for the second executable...
01:04.09 CIA-28 BRL-CAD: 03starseeker * r48069 10/brlcad/trunk/misc/CMake/ThirdParty.cmake: in fact, the exe var setting is only conditional on the build setting.
01:07.18 CIA-28 BRL-CAD: 03starseeker * r48070 10/brlcad/trunk/doc/docbook/books/en/BRL-CAD_Tutorial_Series-VolumeI.xml: fix xmllint error
01:07.43 starseeker what's the LOTR line...
01:07.51 starseeker "but that is only a few leaves in a forest"
01:08.27 starseeker isn't feeling OCD enough to tackle 'em all right now...
01:09.16 starseeker Looks like the on/off behavior of the CMake logic is improved considerably - will have to ask dli to give it a go when comes back
02:15.43 CIA-28 BRL-CAD: 03starseeker * r48071 10/brlcad/trunk/ (8 files in 2 dirs): Woo hoo! autogenerate the guts of the configure rosetta script right along with the docs.
02:17.05 starseeker "I object to doing things that computers can do." - Olin Shivers
04:33.01 CIA-28 BRL-CAD: 03starseeker * r48072 10/brlcad/trunk/src/tclscripts/archer/BotUtility.tcl: use bu_brlcad_root to find libbu.<whatever> - wasn't working from build directory
04:54.22 starseeker holds his breath... do I actually have it fully working now?
08:08.13 *** join/#brlcad jordisayol (~jordisayo@unaffiliated/jordisayol)
13:00.36 starseeker hmm http://pastebin.mozilla.org/1413600
13:01.29 starseeker clang 2.9
13:01.36 starseeker tries 3.0
13:44.55 starseeker /src/libbu/simd.c:33:5: error: extension used [-Werror,-pedantic,-Wlanguage-extension-token] asm volatile("cpuid":"=b"(b),"=c"(c),"=d"(d):"a"(0x1)); ^
13:45.11 starseeker apparently asm isn't standard ANSI C?
13:54.32 starseeker well... it builds a working archer with the strict flag off at least
14:28.32 brlcad looks like a valid bug it detected with the [Z] indexing past the end of the array
14:30.22 brlcad asm isn't ansi, it's gcc
14:30.35 brlcad could try changing it to __asm__ which gcc also supports
14:32.06 brlcad otherwise, that logic can have another strict define added to keep clang from entering
14:32.44 brlcad yeah, from clang manual: The parser recognizes "asm" and "typeof" as keywords in gnu* modes; the variants "__asm__" and "__typeof__" are recognized in all modes
14:32.53 brlcad so it might not consider it an extension as __
14:33.03 ``Erik or break the func out to a .s file (which is probably the strict ansi permissible approach, but not exactly portable)
14:47.48 *** join/#brlcad hackrat (~packrator@c-98-209-146-133.hsd1.mi.comcast.net)
14:48.06 starseeker ``Erik: why is that not portable?
14:48.29 starseeker (sure you're right, just wondering what the reasons would be)
14:52.16 ``Erik a unix system will expect an at&t format .s file, windows will expect an intel format .asm file
14:52.35 ``Erik linux will depend on whether you're using nasm or gas or yasm or ...
14:52.51 starseeker ah - so embedding it in C code lets the C compiler translate it?
14:53.17 ``Erik nah, but it lets the precompiler choose the code path
14:53.53 ``Erik hm, I thought I put the winderz one in simd.c, guess I only did *nix
14:53.58 ``Erik (gcc specific, even)
14:55.06 starseeker so we'd have to conditionalize in CMake, looks like: http://www.cmake.org/Wiki/CMake/Assembler
14:55.33 starseeker doable
14:55.42 ``Erik and maintain parallel versions, unfortunately... I believe bullet has cross platform detection, so if that becomes a core part, we can let them handle that detail
14:57.56 starseeker ``Erik: iirc, wasn't the simd stuff in bullet nicely contained in its own little bit of code?
14:59.12 starseeker ah, right
14:59.16 starseeker http://bullet.svn.sourceforge.net/viewvc/bullet/trunk/Extras/simdmathlibrary/
15:00.24 starseeker any reason not to just use that?
15:01.30 starseeker bemusedly notes we could just use that instead of looking for the "m" library, assuming it actually supported all the platforms we're interested in...
15:01.42 starseeker "a SIMDized version of the
15:01.44 starseeker 7 C99 standard math library (libm)"
15:02.04 starseeker "a SIMDized version of the C99 standard math library (libm)" rather
15:09.10 starseeker ah, phooey - looks like it's only for PowerPC and Cell
15:14.16 starseeker oh, I see - they've got it in vectormath, I think... http://code.google.com/p/bullet/source/browse/trunk/src/vectormath/
15:22.20 starseeker humph
15:22.49 starseeker why can't someone just do a straight-up simd-libm under BSD license somewhere...
15:23.49 starseeker ptview guy has one that looks close, but it's GPL3
15:26.49 starseeker oh, here's the bullet overview: http://bulletphysics.com/ftp/pub/test/physics/demos/Vector_Math_Library-Overview.pdf
15:39.28 starseeker ah... looks like the benefits of simd manifest more at the higher vector level operations... could be the libm implementations for those platforms are because they needed 'em there...
15:41.46 starseeker shakes head - ``Erik, I leave it to you :-)
16:29.08 CIA-28 BRL-CAD: 03tbrowder2 * r48073 10/brlcad/trunk/src/tclscripts/mged/botedit.tcl: need manual dependency to define BotEditor' this fixes bug number 3392650
16:31.44 CIA-28 BRL-CAD: 03tbrowder2 * r48075 10/brlcad/trunk/NEWS: shameless credit for two bug fixes
16:31.44 CIA-28 BRL-CAD: 03tbrowder2 * r48074 10/brlcad/trunk/src/tclscripts/boteditor/botTools.tcl: correct typo in menu
16:56.15 CIA-28 BRL-CAD: 03starseeker * r48076 10/brlcad/trunk/src/other/step/src/express/expprint.c: Not really sure what's going on with printScope here...
17:31.03 brlcad simd calls for just a few ops is utterly ridiculous
17:31.25 brlcad you get a benefit when you can push your data into the simd pipeline AND KEEP IT THERE
17:31.48 brlcad so a low-level simdified-libm isn't really feasible unless you overhaul all math
17:34.07 brlcad as for the original elephant in the room, fixing that clang error is trivial and amounts to probably a 1-line tweak to the cpp logic
17:36.07 brlcad moving the asm conditionalization from cppland to cmake wouldn't actually fix anything (and it'd be worse imho)
18:23.15 starseeker brlcad: so Sony probably did it just to have a libm api for those platforms. Probably why bullet stuck it in extra
18:28.18 CIA-28 BRL-CAD: 03starseeker * r48077 10/brlcad/trunk/src/libbu/simd.c: asm -> __asm__
18:37.25 brlcad that looks like the right fix :)
18:39.01 brlcad starseeker: I meant feasible for our use -- a libm where your data is already in simd entities wouldn't be a bad idea
18:39.38 brlcad heck, even something like gpm using simd under the hood would probably be a (modest) benefit (to us)
18:46.28 CIA-28 BRL-CAD: 03n_reed * r48078 10/brlcad/trunk/src/other/perplex/scanner.re: fixed patterns that sometimes skipped quote characters, causing bad parsing of quoted text
19:26.11 CIA-28 BRL-CAD: 03tbrowder2 * r48079 10/brlcad/trunk/regress/mged.sh: add more detailed regression tests for the mged solids and regions commands
19:35.54 CIA-28 BRL-CAD: 03n_reed * r48080 10/brlcad/trunk/src/other/perplex/scanner.re: need to update scope flag at end of condition scope
20:15.53 CIA-28 BRL-CAD: 03bob1961 * r48081 10/brlcad/trunk/ (3 files in 3 dirs): Added the ability to move a data object (i.e. line, arrow, polygon) or point. Previously only data points could be moved.
20:59.55 CIA-28 BRL-CAD: 03erikgreenwald * r48082 10/brlcad/trunk/src/libgcv/test_bottess.c: add some meat
21:13.22 *** join/#brlcad Technicus (~Technicus@DSLPool-net208-2.wctc.net)
21:32.30 CIA-28 BRL-CAD: 03brlcad * r48083 10/brlcad/trunk/src/libbu/str.c: mark a few more of the expressions that result in logging as UNLIKELY
22:15.19 CIA-28 BRL-CAD: 03brlcad * r48084 10/brlcad/trunk/ (4 files in 2 dirs):
22:15.20 CIA-28 BRL-CAD: add a new bu_str_escape() function for escaping string characters with
22:15.20 CIA-28 BRL-CAD: backslashes. supports static and dynamic memory models as well as overlapping
22:15.20 CIA-28 BRL-CAD: or same input/output buffers. should be threadsafe and re-entrant as long as
22:15.20 CIA-28 BRL-CAD: the inputs are.
22:55.26 CIA-28 BRL-CAD: 03brlcad * r48085 10/brlcad/trunk/ (include/bu.h src/libbu/escape.c):
22:55.27 CIA-28 BRL-CAD: add a new bu_str_unescape() function for removing backslash characters from
22:55.27 CIA-28 BRL-CAD: strings. simpler to implement since the output is always less than or equal in
22:55.27 CIA-28 BRL-CAD: size to the input. otherwise,similar to bu_str_escape() in that it supports
22:55.27 CIA-28 BRL-CAD: static and dynamic memory models as well as overlapping or same input/output
22:55.27 CIA-28 BRL-CAD: buffers and should be threadsafe and re-entrant as long as the inputs are. make
22:55.28 CIA-28 BRL-CAD: sure we null-terminate.
23:06.31 CIA-28 BRL-CAD: 03n_reed * r48086 10/brlcad/trunk/src/other/perplex/ (CMakeLists.txt scanner_template.c): lose libm dependency
23:16.51 CIA-28 BRL-CAD: 03brlcad * r48087 10/brlcad/trunk/src/libbu/test_quote.c: doesn't actually use stdarg or stdlib
23:17.12 CIA-28 BRL-CAD: 03tbrowder2 * r48088 10/brlcad/trunk/regress/mged.sh: document reason for new special tests
23:39.23 CIA-28 BRL-CAD: 03brlcad * r48089 10/brlcad/trunk/src/libbu/escape.c: don't call strlen() before we know whether input is NULL
23:49.20 CIA-28 BRL-CAD: 03brlcad * r48090 10/brlcad/trunk/src/libbu/test_escape.c: add an initial stab at a unit test for the new escape/unescape routines
23:49.36 CIA-28 BRL-CAD: 03brlcad * r48091 10/brlcad/trunk/src/libbu/ (CMakeLists.txt Makefile.am): hook test_escape into the build

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.