00:47:19 | dom96 | aww |
00:47:42 | dom96 | well that was fun |
00:48:19 | dom96 | Time to sleep |
00:48:20 | dom96 | good night |
00:50:55 | EXetoC | gg bye |
00:50:57 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
02:13:30 | * | q66 quit (Quit: Leaving) |
03:14:13 | * | Associat0r quit (Quit: Associat0r) |
03:35:21 | * | rubino123 joined #nimrod |
03:39:16 | * | rubino123 quit (Quit: Leaving) |
04:08:35 | reactormonk | dom96, so how do I add my babel lib to my project |
04:46:56 | * | OrionPK quit (Read error: Connection reset by peer) |
09:32:26 | * | BitPuffin_ joined #nimrod |
09:55:50 | * | BitPuffin_ quit (Ping timeout: 240 seconds) |
10:09:05 | * | Associat0r joined #nimrod |
10:09:06 | * | Associat0r quit (Changing host) |
10:09:06 | * | Associat0r joined #nimrod |
10:32:57 | * | [2]charles quit (Ping timeout: 276 seconds) |
10:39:53 | * | q66 joined #nimrod |
11:03:23 | dom96 | reactormonk: https://gist.github.com/dom96/6261117 |
11:03:45 | dom96 | put that in nim-kwin-tiling's root and run 'babel build' |
11:08:12 | BitPuffin | wait you can use babel to build? |
11:08:13 | BitPuffin | gahhhh |
11:08:29 | dom96 | of course! |
11:08:41 | BitPuffin | you should make it so that you can use babel to run |
11:08:49 | BitPuffin | that would be awesome when making a software |
11:08:56 | BitPuffin | babel run |
11:09:00 | BitPuffin | and it compiles and run |
11:09:01 | BitPuffin | s |
11:10:15 | dom96 | is it so hard to do: babel build && ./app? :P |
11:10:54 | BitPuffin | yes ;_; |
11:11:52 | dom96 | also what should that do when there are multiple binaries? |
11:12:07 | BitPuffin | well then you could pass an argument |
11:12:10 | BitPuffin | babel run server |
11:12:12 | BitPuffin | babel run clien |
11:12:13 | BitPuffin | t |
11:12:57 | BitPuffin | so in the config you could specify an alias for all the binaries or otherwise just use the binary name as a param |
11:13:03 | dom96 | yeah, ok. Submit an issue then to remind me I guess. |
11:13:19 | BitPuffin | so if my client is awesomecoolgame I want to alias that to "game" |
11:13:34 | BitPuffin | and maybe the server is awesomecoolgame-server I want to alias that to "server" |
11:13:44 | dom96 | gah, just rename it to server then |
11:13:51 | BitPuffin | never! |
11:13:57 | dom96 | I'm trying to keep it simple. |
11:14:04 | dom96 | I haven't even released the damn thing yet! |
11:14:06 | BitPuffin | it is very simple |
11:14:15 | BitPuffin | you don't HAVE to alias |
11:14:19 | BitPuffin | it should just be an option |
11:14:41 | BitPuffin | if no alias is defined (or even if it is) you should be able to do babel run exenam |
11:14:41 | BitPuffin | e |
11:14:44 | dom96 | it's not that easy |
11:15:01 | BitPuffin | a hash map and you are done |
11:15:02 | dom96 | specifying the aliases in the .babel file will require some extra parsing or something |
11:15:25 | BitPuffin | it reads .babel file and it hashes "server" to the value "myawesomecoolsuperspecialgame-server" |
11:19:57 | BitPuffin | dom96: https://github.com/nimrod-code/babel/issues/10 |
11:19:59 | dom96 | yeah, ok. Maybe in version 0.2 |
11:20:28 | BitPuffin | you mean run? or just the alias part? |
11:20:41 | dom96 | both probably |
11:21:04 | BitPuffin | okay |
11:21:14 | * | BitPuffin is trying to grasp matrix cofactor |
11:22:08 | * | EXetoC joined #nimrod |
11:23:49 | BitPuffin | ah |
11:23:51 | BitPuffin | well it's simple |
11:25:40 | * | BitPuffin was confused by the notation |
11:27:37 | BitPuffin | okay so tomorrow when I finish linagl |
11:27:57 | BitPuffin | shoud I call the minor proc "minor" or "min"? |
11:28:11 | BitPuffin | min kind of sounds like it would be the minimum value is the matrix |
11:28:30 | dom96 | "minor"; "min" means "minimum" :P |
11:28:43 | BitPuffin | but then should cofactor be cof? or cofactor? |
11:29:03 | dom96 | the latter |
11:29:10 | BitPuffin | cofactor? |
11:29:48 | dom96 | y |
11:30:22 | BitPuffin | but then shouldn't det be renamed determinant and sub subtract, mul mulitiply? |
11:30:26 | BitPuffin | etc |
11:31:04 | dom96 | 'sub' should be `-` and 'mul' should be `*` |
11:31:06 | dom96 | I guess? |
11:31:12 | dom96 | 'det' I have no idea |
11:31:14 | BitPuffin | dom96: they are too, there are aliases |
11:31:17 | EXetoC | some names are more common than others |
11:31:18 | BitPuffin | https://bitbucket.org/TheLonelyByte/linagl/src/c0315f2199e5bf514af2245be402f8f374093a37/src/linagl/matrix.nim?at=default |
11:31:38 | BitPuffin | it just feels like calling it "minor" destroys all the established convention |
11:32:50 | dom96 | why do you have all these aliases? |
11:33:03 | EXetoC | though I'd probably be fine with 'cof' if I knew all the linalg terms, but min is often 'minimum' indeed |
11:33:03 | dom96 | Why not just have `==` instead of an equal proc and an equals alias? |
11:33:04 | BitPuffin | zahary: how is the separating generic value stuff going? it would be super useful to have it when finishing all of linagl tomorrow |
11:33:38 | BitPuffin | dom96: because some people likes having those aliases |
11:33:47 | BitPuffin | dom96: I am one of those people |
11:33:59 | EXetoC | but then again I don't think 'minimum' for matrices would make sense, so that reduces the confusion somewhat |
11:34:21 | BitPuffin | dom96: for example in a line with a lot of ?-*(&%/ stuff going on "mul" is more distinguishing than * |
11:34:22 | EXetoC | dom96: it's a time consuming game, but yeah it was fun |
11:34:51 | BitPuffin | EXetoC: why wouldn't it? it could return the smallest element in the matrix |
11:34:54 | dom96 | what does 'minor' actually do? |
11:35:02 | BitPuffin | not that I am sure tha's even useful |
11:35:20 | BitPuffin | dom96: it deletes row i and column j and then does the determinant of that |
11:36:10 | dom96 | hrm, well I dunno. Do whatever feels right for you. But most people when they see 'min' will think 'minimum' |
11:36:23 | BitPuffin | maybe |
11:36:26 | dom96 | Unless they learned to think of it as 'minor' in this context. |
11:36:35 | BitPuffin | but in the context of a matrix I am not sure |
11:36:35 | dom96 | I have no experience with libraries like these. |
11:38:05 | BitPuffin | actually I wonder if minor should even be a part of the public interface |
11:38:14 | BitPuffin | it might only be useful when constructing other operations |
11:38:55 | BitPuffin | like when computing determinants and inverse |
11:39:06 | zahary | BitPuffin, I'll probably commit the fixes today |
11:39:33 | BitPuffin | zahary: amazing, thank you |
11:40:01 | BitPuffin | zahary: notify me if you do please :) |
11:41:40 | BitPuffin | would casting a [N][N] array no an [N*N] array be safe? |
11:41:58 | BitPuffin | I mean the memory should be identical |
11:45:29 | BitPuffin | might be useful when people are using arbitrary matrices |
11:45:37 | BitPuffin | I'll have a squarematrix type that is optimized |
11:47:12 | BitPuffin | so if they for example multiply a 3x48 by a 48x3 matrix and get a 3x3 matrix back and then pass that to a squarematrix proc, then it should be temporarily cast to a squarematrix and do the operation in the optimized way and then cast back |
11:47:24 | BitPuffin | or just return a squarematrix type |
11:56:53 | BitPuffin | hmm, actually the sub proc coud be confused with a submatrix |
12:08:53 | dom96 | hrm, this looks fun: http://aishowdown.com/ |
12:11:05 | zahary | nimrod should provide the same guarantees as C (regarding the matrices). but weren't your library using a fixed sized matrices? the generic procs will be compiled for each value of M and N (so you can put the optimized code behind a simple when statement in the generic proc) |
12:12:42 | BitPuffin | zahary: you mean hardcoded sizes? no, they are arbitrarily sized, you can have an RxC matrix |
12:13:19 | zahary | I meant they are not dynamically sized (M and N are fixed parameters for the generic type) |
12:13:41 | BitPuffin | Oh you mean you can't append to them etc? |
12:14:01 | BitPuffin | like dynamically expanding the dimensions |
12:14:32 | zahary | e.g. an analogy would be arrays vs sequences - arrays are fixed size, sequences are dynamically resizable |
12:14:37 | BitPuffin | zahary: but yeah I was thinking about using a when statement for that |
12:14:40 | BitPuffin | zahary: exactly |
12:16:28 | BitPuffin | zahary: when R == C: cast[TSquareMatrix[T, C*C] m or whetever the syntax is |
12:16:37 | BitPuffin | ah |
12:16:52 | BitPuffin | cast[TSquareMatrix[T, R*C], m] ? |
12:18:03 | zahary | what I meant is that you don't need a separate type for TSquareMatric |
12:18:04 | BitPuffin | zahary: actually a when isn't even needed, I can just make a proc that takes a TMatrix[T, N, N] |
12:18:31 | BitPuffin | zahary: I do though, because TSquareMatirx is a single dimensional array |
12:18:39 | BitPuffin | zahary: and TMatrix is arbitrarily sized |
12:18:51 | BitPuffin | it is the indexing that is optimized |
12:18:59 | EXetoC | it's in the manual. cast[T](x) |
12:19:05 | zahary | … because all optimisations you can think of can be applied as code behind when statements in the generic TMatrix[T, N, M] type |
12:19:14 | BitPuffin | EXetoC: I know, I just didn't wanna look it up now, too much time |
12:20:09 | BitPuffin | zahary: well a single dimensional array for a TSquareMatrix is indexed like m[d*c + row] |
12:20:23 | BitPuffin | so I can optimize by storing the d*c calculation for each column |
12:20:43 | BitPuffin | I can't do that with a multidimensional array |
12:20:52 | BitPuffin | it will do the d*c calculation for each index |
12:21:23 | zahary | this kind of thinking should apply for any case - not just square matrices |
12:21:24 | BitPuffin | zahary: or do you mean that I should cast after the when? do the optimization and then cast back? |
12:22:12 | BitPuffin | wait it is true for RxC dimensional matrices too? |
12:22:51 | BitPuffin | crap it is.. |
12:23:18 | BitPuffin | well then TMatrix will be refactored to be a single dimensional array! |
12:23:25 | zahary | unless I miss something, yes. the C compiler is likely to produce the same optimization behind your back even with regular 2-diminsional indexing, but that's another story |
12:23:46 | BitPuffin | zahary: it might, but should I trust that it will? |
12:24:33 | zahary | the array implementation is not bad for a such a library - gives you more control indeed |
12:25:14 | zahary | would you support changing row-major and column-major layouts at compile time? |
12:25:40 | BitPuffin | zahary: not unless someone really wants it like that |
12:25:57 | BitPuffin | zahary: but then how do I know when a matrix that is passed it is a row major or column major? |
12:26:44 | BitPuffin | zahary: although I do want to be able to give the option to write a literal as a row major (because it looks better in code) and then store it column major internally |
12:26:44 | zahary | I guess, it should be an additional generic parameter - my commit will also feature default param values so most users that don't care won't have to specify it |
12:27:18 | BitPuffin | oh okay cool |
12:27:24 | BitPuffin | well depending on how much time I have I will add it |
12:27:34 | BitPuffin | if I don't have enough time now it will be added later |
12:27:36 | EXetoC | zahary: for type params? |
12:27:42 | BitPuffin | EXetoC: yeah |
12:27:50 | BitPuffin | anyways |
12:27:52 | BitPuffin | back to reading |
12:28:11 | EXetoC | I guess it's just parsed now, but ignored |
12:28:24 | zahary | EXetoC, yes (and the params are not necessary types anymore, they could be anything) |
12:28:55 | BitPuffin | also I found a bug with generics |
12:29:13 | BitPuffin | https://bitbucket.org/TheLonelyByte/linagl/src/c0315f2199e5bf514af2245be402f8f374093a37/src/linagl/matrix.nim?at=default#cl-140 |
12:29:38 | BitPuffin | these two matrices shouldn't even try to multiply each other because it should be guaranteed at compile time |
12:30:05 | BitPuffin | because they don't have the same value for N |
12:30:14 | BitPuffin | yet it goes ahead anyways and tries to do it |
12:30:40 | BitPuffin | and throws some error regarding the dot product because it can't dot product a 3d vector by a 2d vector or something |
12:31:05 | BitPuffin | which should btw also be guaranteed at compile time that it doesn't even try |
12:31:20 | zahary | probably range types are compared properly |
12:31:24 | zahary | are not |
12:31:43 | BitPuffin | might be yeah |
12:32:54 | BitPuffin | well I cannot refactor TMatrix until tomorrow anyways because I can't multiply ranges |
12:33:19 | BitPuffin | or well I guess I might be able to do high(R)*high(C) (assuming that they start from 0) |
12:34:04 | zahary | btw, some of the functions can be written in a simpler style |
12:34:04 | zahary | for example, you could have equal like this: |
12:34:04 | zahary | proc equal*(a, b: TMatrix): bool {.noSideEffect.} = |
12:34:32 | zahary | you can read the section about type classes in the manual for explanation |
12:35:39 | BitPuffin | really? and they would both be of the same size? |
12:36:06 | BitPuffin | I did kind of think to myself that there is probably a better way because it was kind of redundant |
12:36:47 | zahary | yes, they will be the same type unless you say |
12:36:48 | zahary | proc equal(a, b: distinct TMatrix) |
12:37:11 | BitPuffin | and that would allow them to be different? |
12:37:14 | BitPuffin | I see |
12:37:14 | BitPuffin | cool |
12:37:27 | BitPuffin | inc(productivity) # in the future |
12:37:47 | zahary | the same applies for add(a, b: TMatrix): TMatrix (the return type is also the same) |
12:38:22 | BitPuffin | ahaa |
12:39:04 | BitPuffin | although however it wouldn't be all that bad to be able to do i in 0..N-1 or whatever or actually I guess high(a) looks better |
12:39:59 | zahary | inside the proc, you can have TMatrix.N and TMatrix.M which will be the generic param values |
12:40:30 | zahary | but yeah, high and low are even nicer here |
12:40:44 | BitPuffin | right! forgot about that! |
12:41:42 | EXetoC | is that use of distinct not implemented yet? |
12:42:43 | zahary | everything I mentioned should work |
12:44:20 | BitPuffin | hmm, I'll probably be able to get away with checking the magnitude of the determinant for checking if a matrix is non-singular, I'll add a todo for using a condition number |
12:51:17 | EXetoC | didn't work when I first tried it. will try again later |
13:02:18 | EXetoC | zahary: were you going to implement something related to constraints also? |
13:10:03 | zahary | there was a bug related to constraints in my branch - it's not visible on master |
13:44:05 | EXetoC | ok |
13:44:39 | EXetoC | dom96: up for a game or two today? |
13:44:44 | EXetoC | or ten |
13:44:49 | dom96 | 0 A.D.? |
13:45:01 | EXetoC | yeah |
13:45:38 | dom96 | sure, but later. |
13:45:47 | EXetoC | gonna pwn you this time, by rushing right from the start, just so you know |
13:46:04 | dom96 | You gave up way too early yesterday! |
13:47:28 | dom96 | As soon as I finish my little blog generator I will play, or probably earlier if I get annoyed with HTML heh |
13:47:44 | EXetoC | what do you mean? my military units died in about 30 seconds |
13:48:14 | dom96 | So? I still had a long way to go. I wouldn't have been able to destroy you with that little army. |
13:49:13 | EXetoC | might take some time to destroy the buildings, that's all |
13:50:35 | EXetoC | and any newly recruited fighter would've been faced with a quick and painful death :> |
13:50:42 | dom96 | I don't think so. |
13:51:11 | dom96 | and didn't you have a second city centre? |
13:53:49 | BitPuffin | gosh 0ad is fun |
13:53:55 | EXetoC | that didn't really help |
13:55:05 | dom96 | BitPuffin: You wanna play? :D |
13:55:39 | BitPuffin | dom96: I DO! but I have to ship this game you know :( stop enticing me! |
13:55:57 | BitPuffin | from now on this discussion happens in #nimrod-gaming lol |
13:56:04 | dom96 | Come on, you can take a break :P |
13:56:11 | dom96 | You know you want to :P |
13:56:12 | BitPuffin | I cannot! |
13:56:31 | EXetoC | nimrod-ot :> |
13:56:47 | BitPuffin | only 622 pages to go! |
13:56:53 | BitPuffin | this day |
13:57:26 | dom96 | Off topic talk is fine here I think. It's not like this channel is super busy with on topic talk currently anyway |
13:58:31 | BitPuffin | well yes it is, but you guys are alluring me with all that fun talk :( |
13:59:15 | dom96 | I really want to play this game! http://www.youtube.com/watch?v=iAcAd1fUiy8 |
13:59:35 | BitPuffin | dom96: ME TOO! It is going to be amazing! |
13:59:47 | dom96 | :D |
14:00:16 | BitPuffin | you a horror fan too? |
14:00:34 | dom96 | Wouldn't say a fan. But I do enjoy it. |
14:02:09 | dom96 | This game looks like it has a good back story and I enjoy games with good sci-fi storylines |
14:02:19 | BitPuffin | funny how an indie title like that has better graphics than most other AAA UE games |
14:02:38 | dom96 | hah, so true. And this is only an Alpha! |
14:03:22 | BitPuffin | honestly that is not far from photoreal for the most part |
14:07:39 | dom96 | You can really do amazing things with games like Routine which take place in space. I can just imagine walking into a part of Routine's moonbase which shows you the whole moon, that would be an amazing view. |
14:08:01 | BitPuffin | indeed |
14:08:20 | BitPuffin | talk about dear esther in space! lol |
14:08:58 | dom96 | Haven't played Dear Esther yet, even though I own it lol |
14:09:05 | BitPuffin | do it |
14:09:10 | BitPuffin | doesn't take much time |
14:10:25 | * | dom96 will |
14:10:38 | Associat0r | Elite: Dangerous is gonna be the ultimate game |
14:10:43 | EXetoC | new games are overrated. day of defeat ftw :> |
14:12:04 | dom96 | Associat0r: ooh, awesome. Reminds me of Freelancer. |
14:12:17 | * | dom96 loves space games |
14:12:37 | Associat0r | Freelancer is nothing like Elite: Dangerous |
14:13:08 | BitPuffin | doesn't mean it can't remind him of the game though |
14:13:21 | Associat0r | dom96: https://www.youtube.com/playlist?list=PL9E1E1F7AA6193498 |
14:13:27 | dom96 | indeed. But I am curious how it is different. |
14:14:08 | Associat0r | http://www.youtube.com/user/Isinona?feature=watch |
14:14:36 | Associat0r | well ED is based on scientifically based realistic galaxy |
14:14:50 | Associat0r | with freeform interplanetary flight |
14:15:03 | Associat0r | and utilitarian ship design that's more believable |
14:15:19 | dom96 | cool. |
14:15:39 | Associat0r | check the newsletters here http://us2.campaign-archive1.com/home/?u=dcbf6b86b4b0c7d1c21b73b1e&id=eb767c006f |
14:16:50 | Associat0r | and dev diaries http://www.youtube.com/playlist?list=PL7glm5rbPHKyBblUEjmm2PFkwJ4ykuz6s |
14:18:23 | Associat0r | they did an AMA to some time ago http://www.reddit.com/r/IAmA/comments/15od2s/i_am_david_braben_cocreator_of_elite_creator_of/ |
14:18:46 | dom96 | Even Elite 2 looks very impressive. |
14:19:05 | Associat0r | yeah, this game left a mark on me |
14:19:15 | Associat0r | I haven't been impressed by a game ever since |
14:20:36 | Associat0r | 3 was nice too with procedural textures but was quite buggy http://www.youtube.com/watch?v=sUn4hQdpfPc |
14:33:02 | * | OrionPK joined #nimrod |
15:09:08 | Associat0r | hmm that previous devdiary link doesn't cover the latest ones seen here http://www.youtube.com/user/FrontierDevelopments/videos |
17:19:45 | EXetoC | dom96: not annoyed by html yet? enjoying it? |
17:20:09 | EXetoC | the web 2.0 rox, aiiiiight |
17:21:07 | * | dom96 is close to being done |
17:21:40 | dom96 | My blog looks sexy, and the blog generator generates the correct things. |
17:23:30 | dom96 | And i've got mac & cheese cooking :D |
17:40:27 | EXetoC | nom |
18:06:16 | dom96 | And done! https://github.com/dom96/ipsumgenera |
18:08:28 | dom96 | EXetoC: so, wanna play? |
18:08:45 | EXetoC | great |
18:08:58 | EXetoC | I don't know. have I done anything useful today? |
18:09:07 | EXetoC | no I haven't, but let's play anyway |
18:09:11 | dom96 | lol |
18:09:28 | EXetoC | :p |
18:09:49 | EXetoC | how was it sluggish? unstable frame rate? |
18:10:07 | dom96 | moving the camera just feels sluggish |
18:11:08 | dom96 | I am playing in windowed mode though |
18:11:10 | dom96 | Maybe that's why |
18:11:32 | dom96 | Anyway: 94.14.112.201 |
18:11:53 | EXetoC | yeah it might be a little choppy |
18:12:23 | dom96 | The game actually uses amazingly little memory. |
18:13:51 | EXetoC | good |
18:14:29 | reactormonk | dom96, kk, thanks |
18:31:56 | * | Mat2 joined #nimrod |
18:31:59 | Mat2 | hi @ all |
18:38:45 | * | BitPuffin quit (Ping timeout: 245 seconds) |
18:39:43 | * | BitPuffin joined #nimrod |
18:47:59 | * | zahary quit (Read error: Connection reset by peer) |
18:48:13 | * | zahary joined #nimrod |
18:57:50 | * | Mat2 wahthcing: https://www.youtube.com/watch?v=QGw-cy0ylCc |
18:58:08 | Mat2 | ^watching |
19:09:29 | BitPuffin | does nimrod have atan2? (no time to check sorry) |
19:09:54 | Mat2 | hi BitPuffin |
19:10:02 | BitPuffin | hey Mat2 |
19:10:14 | BitPuffin | Mat2: if schedule happens then linagl will be done tomorrow :) |
19:11:11 | Mat2 | nice :) |
19:17:29 | dom96 | woo, I win :P |
19:18:17 | Mat2 | hi dom96, ehm, you win what ? |
19:18:49 | dom96 | A game of 0 A.D versus EXetoC :D |
19:19:09 | Mat2 | *g* ok |
19:28:03 | EXetoC | still don't have a clue how to manage things |
19:28:26 | Mat2 | hi EXetoC |
19:28:49 | EXetoC | hi |
19:32:18 | Araq | seriously? |
19:32:32 | Araq | "origin" cannot pause&continue a 10GB download? |
19:32:41 | Araq | wtf |
19:32:44 | BitPuffin | origin? |
19:32:53 | Araq | never mind |
19:33:05 | Araq | I'm wrong, it did pick up where it left finally |
19:33:17 | EXetoC | oh good. 56k nightmare otherwise :> |
19:34:01 | Araq | hi Mat2 |
19:34:10 | Araq | ever implemented a tracing JIT? |
19:36:15 | EXetoC | dom96: rematch later? |
19:37:36 | EXetoC | I told you my strategy before, but I didn't feel like executing it this time |
19:37:45 | dom96 | yeah, sure. |
19:38:08 | EXetoC | it's true |
19:38:24 | dom96 | no, I mean. Yeah, sure, rematch later heh |
19:38:30 | EXetoC | ha |
19:38:33 | EXetoC | alright |
19:39:55 | EXetoC | I hope there's a way to select only a certain type of unit |
19:40:24 | EXetoC | but I guess you can just select some units, and then deselect some by clicking on any of the icons |
19:40:43 | dom96 | Yeah, you can also double click a unit |
19:40:51 | dom96 | Although it currently selects all of that type |
19:41:00 | dom96 | It should really select them if they're close |
19:41:32 | EXetoC | you could zoom in first |
19:44:32 | BitPuffin | there we go arctan2 did exist |
19:45:06 | Araq | BitPuffin: you know about the index, right? |
19:45:40 | BitPuffin | the index? |
19:45:46 | BitPuffin | you mean to the left? |
19:46:01 | Araq | http://nimrod-code.org/theindex.html |
19:46:11 | Araq | ctrl+F on it |
19:46:26 | BitPuffin | sweet |
19:49:54 | * | BitPuffin always misses such things |
19:49:59 | BitPuffin | overlooks*? |
20:24:28 | EXetoC | booyakasha |
20:24:43 | BitPuffin | makes sense to say I would imagine |
20:27:06 | EXetoC | I gS o |
20:35:27 | * | XAMPP-8 joined #nimrod |
20:56:14 | * | XAMPP-8 quit (Ping timeout: 240 seconds) |
20:56:36 | * | XAMPP-8 joined #nimrod |
21:08:28 | * | XAMPP-8 quit (Ping timeout: 268 seconds) |
21:10:22 | BitPuffin | wtf |
21:10:31 | BitPuffin | how does this wrap an angle within 0..twopi |
21:10:48 | BitPuffin | a -= floor(a/twopi) * twopi |
21:11:16 | BitPuffin | isn't that nearly equal to a -= a |
21:11:37 | BitPuffin | except it doesn't have the same amount of fractions |
21:12:38 | BitPuffin | i tjust rounds down to the nearsest integer |
21:15:11 | EXetoC | I just validated it in python |
21:16:06 | BitPuffin | EXetoC: and the result? |
21:17:50 | EXetoC | BitPuffin: it seems to do exactly that |
21:17:56 | BitPuffin | EXetoC: how the fuck |
21:22:21 | Mat2 | well, angular funtions define only a distingt range, so the multiply n of a fraction number m by n maps naturally near the fraction n itself |
21:22:25 | Associat0r | dom96: https://www.youtube.com/watch?feature=player_detailpage&v=GJLCyfJr4cI&t=340 |
21:22:30 | BitPuffin | EXetoC: math.floor(blah/twopi) * twopi just returns twopi for me |
21:23:19 | BitPuffin | actually it seems to vary on input |
21:23:31 | BitPuffin | apparently my arbitrary test case 9.3 screwed me over lol |
21:24:30 | Mat2 | if the range is exceeded |
21:25:44 | BitPuffin | I am starting to see what's going on |
21:25:50 | BitPuffin | but I am not positive I understand why it works |
21:26:12 | BitPuffin | oooh |
21:26:13 | BitPuffin | of course |
21:26:49 | BitPuffin | dividing by twopi will give us the amount of revolutions when we floor it |
21:27:01 | BitPuffin | then we multiply that by twopi in order to get the amount to subtract |
21:27:10 | BitPuffin | clever mr math book, very clever |
21:28:47 | EXetoC | neat |
21:29:10 | BitPuffin | EXetoC: indeed, definitely a nice trick |
21:38:58 | EXetoC | this reminded me to use plotting applications more often |
21:39:10 | EXetoC | or at all :> |
21:39:33 | BitPuffin | hmm? |
21:40:19 | EXetoC | like gnuplot, for visualizing the relations of individual terms for example |
21:40:52 | BitPuffin | never used such software |
21:40:57 | BitPuffin | seems very useful though |
21:41:34 | EXetoC | "plot sin(x)/x". pretty straightforward |
21:44:47 | BitPuffin | hmm well actually I have used one a bit I guess |
21:45:26 | BitPuffin | geogebra |
21:47:20 | * | XAMPP-8 joined #nimrod |
21:50:06 | * | shevy left #nimrod ("I'll be back ... maybe") |
21:54:48 | * | XAMPP-8 quit (Ping timeout: 276 seconds) |
21:59:51 | * | XAMPP-8 joined #nimrod |
22:04:23 | Mat2 | ciao |
22:04:33 | * | Mat2 quit (Quit: Verlassend) |
22:31:11 | * | XAMPP_8 joined #nimrod |
22:35:25 | * | XAMPP-8 quit (Ping timeout: 268 seconds) |
23:30:09 | * | XAMPP_8 quit (Ping timeout: 264 seconds) |
23:32:46 | * | XAMPP-8 joined #nimrod |
23:34:45 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
23:44:54 | * | XAMPP-8 quit (Ping timeout: 264 seconds) |
23:46:22 | * | XAMPP-8 joined #nimrod |