how to self-detect when it has overflowed the value (32 bit signed integer) of an int variable.  Can I add some conditional logic (an if statement) that breaks the loop when overflow is detected.  #include&lt;iostream&gt; using namespace std;  int factorial(int n){    if (n== 1){        return 1;    }     else {        return n * factorial(n-1);     }   } int main() {  for (int i = 0; i &lt; 20; i++) {     cout &lt;&lt; i+1 &lt;&lt;"!:" &lt;&lt; factorial(i+1) &lt;&lt; endl;  }     system("pause"); }
I was writing a program in C++ to find all solutions of ab = c, where a, b and c together use all the digits 0-9 exactly once. The program looped over values of a and b, and it ran a digit-counting routine each time on a, b and ab to check if the digits condition was satisfied.  However, spurious solutions can be generated when ab overflows the integer limit. I ended up checking for this using code like:  unsigned long b, c, c_test; ... c_test=c*b;         // Possible overflow if (c_test/b != c) {/* There has been an overflow*/} else c=c_test;      // No overflow   Is there a better way of testing for overflow? I know that some chips have an internal flag that is set when overflow occurs, but I've never seen it accessed through C or C++.    Beware that signed int overflow is undefined behaviour in C and C++, and thus you have to detect it without actually causing it. For signed int overflow before addition, see .
Compiz Problems (Plugin Missing, Performance Issues, Development) I've recently set up the compiz cube again, and I was very happy to find that that flickering window glitch is gone! However, the cube reflection and deformation plugins are also gone.  I am running a fresh 12.10 install, and I have every compiz plugin package installed (including compiz-plugins-extra, which supposedly contains everything that compiz-fusion-plugins-extra package used to have), but those two plugins are still missing. I haven't been able to find anyone with the same problem.   Any ideas? (thanks!) Finding the uniquely determined region of a PDE (a) Solve the equation $yu_x+xu_y=0$  with the condition $u(0,y) = e^{-y^2}$. (b) In which region of the xy plane is the solution uniquely determined?     I did the first part but I don't understand how to do part b.  I read   But I don't understand how the argument is based. A more clear explanation is appreciated I am trying to encrypt an entire USB drive with Truecrypt 7.1a. But as long as there is a partition it will only encrypt that. This will make it appear like the USB is full instead of completely empty, which isnt what Im aiming for.   I've tried with DISKPART, USB Partition Tool, and the built-in storage manager. When I delete all partitions, Windows still assigns the drive a letter and assumes that it has a partition covering the whole space.  I know that it is possible as I have done it with another USB, but I just don't remember how I did it.  Ideas? Do I need quote marks when I quote myself? Hello language lovers,   English isn't my first language and I would like to know if I need to use quotation marks when I quote something I said in the past. Bump and color data in a single brush? Is there any way to paint onto a bump map and diffuse map at the same time, so that the strokes match up? Like a multi-layer brush that uses a greyscale texture for the bump layer and a color texture for the diffuse color?  Here's a rough sculpt to demonstrate what I'm imagining:    The GIF above shows how such a brush could be made. The black and white height map would be the displacement brush, transferring its greyscale data to the bump map texture and the green one would transfer its color data to the diffuse map texture.  The resulting brush images:      Making the brush is one thing, but is it possible to use such a brush? Nonabelian semidirect products of order $pq$? Problem  sudo notify-send Test "Hello World"   Displays a notification as expected.  notify-send Test "Hello World"   Does not display a notification.  Further information  Ubuntu version 16.04.  The notifications appear to use notify-osd instead of notification-daemon. Running notify-send appears to launch a notify-osd process under the user that ran notify-send. I'm not sure what dbus is.   No error messages  There are no errors in the syslog. When I run the following code no error messages occur.   #include &lt;libnotify/notify.h&gt; #include &lt;stdio.h&gt; int main() {     gboolean x = notify_init ("Hello world!");     printf( "notify_init: %d\n", x );     NotifyNotification * Hello = notify_notification_new ("Hello world", "This is an example notification.", "dialog-information");     GError *err = NULL;     x = notify_notification_show (Hello, &amp;err);     printf( "notify_notification_show: %d\n", x );     if(err != NULL) {         printf("Error detected!\n");         printf("Error message:%s\n", err-&gt;message);     }     else {         printf("No error detected.\n");     }     g_object_unref(G_OBJECT(Hello));     notify_uninit();     return 0; }   I do not know what I'm doing. Thanks for the help.  Python Notify  In the past, I've used a python program that has working notifications. I tested a hello world notification and it works without sudo!   #!/usr/bin/env python # -*- coding: utf-8 -*- import gi gi.require_version('Notify', '0.7') from gi.repository import Notify  Notify.init("test") n = Notify.Notification.new('test', 'test2') n.set_urgency(Notify.Urgency.CRITICAL)     n.show()   Code from   I am not sure why this works. The python Notify is just wrapping the library used in the C example. I'd prefer not to use python but will if I must.  Edit  The problem occurred again. Resolved by adding urgency critical. Clojure - Side Effects Happening Out Of Order While dabbling in Clojure I've written a very basic program to echo whatever the user types into it. However, it doesn't run in a way that I'm perceiving to be natural. Here's the code:  (defn goo []   (print "echo&gt; ")   (def resp (read-line))   (print resp) )   I would expect the code to run like this (for me typing in foo as the input to read-line):  user=&gt; (goo) echo&gt; foo foonil   But instead, the echo and read-line is switched:  user=&gt; (goo) foo echo&gt; foonil   Why does this happen? Is there a subtlety I'm missing?  EDIT: From Joe's answer, the updated correct solution is:  (defn goo []   (print "echo&gt; ")   (flush)   (def resp (read-line))   (print resp)   (flush) )   Also, the flushes aren't necessary if you use println instead of print. I am confused. I don't understand the difference a ARMA and a GARCH process.. to me there are the same no ?  Here is the (G)ARCH(p, q) process  $$\sigma_t^2 =      \underbrace{     \underbrace{      \alpha_0       + \sum_{i=1}^q \alpha_ir_{t-i}^2}     _{ARCH}        + \sum_{i=1}^p\beta_i\sigma_{t-i}^2}     _{GARCH}$$  And here is the ARMA($p, q$):  $$ X_t = c + \varepsilon_t +  \sum_{i=1}^p \varphi_i X_{t-i} + \sum_{i=1}^q \theta_i \varepsilon_{t-i}.\,$$  Is the ARMA simply an extension of the GARCH, GARCH being used only for returns and with the assumption $r = \sigma\varepsilon$ where $\varepsilon$ follows a strong white process? Correctness of questions without inversion, relying on intonation Metropolis is not working I tried to use the metropolis beamer theme, but I got the following error  ! Package beamerfontthememetropolis Error: Patching section title failed. See the beamerfontthememetropolis package documentation for explanation. Type H &lt;return&gt; for immediate help.... \patchcmd If you go to review a suggested edit and close the Reject dialogue box, the button at the top-right will continue to say "Rejecting...". You will not be able to continue with the review process.  I have refreshed the page, and tried clearing my cache. If I refresh the page, I can continue reviewing the edit.  I'm using Chrome Version 31.0.1650.57 m. Which command should I use for displayed equations? A number of related questions have already been asked about this issue:       and even    But I'm still confused by the conflicting suggestions that have been given so far. So I'm trying again.  Which should be the preferred command to produce a displayed equation in my LaTeX documents?  So far the suggestions indicate that one should use \[ ... \], maybe \begin{equation*} ... \end{equation*}, or maybe even the gather* or align* environments from amsmath.  And one should definitely avoid using either $$...$$ or the eqnarray environment.  Now I have to say that, from a language perspective, I have a strong preference for the equation* environment because it is less cryptic than the \[ ... \] notation and it is  the most accurate.  So, is it fine to use equation*? Maybe only after loading amsmath? Or should the equation/equation* environment be redefined to something else so that spacing, package support, or whatever is improved? Parentheses around more than one paragraph Does English allow one to put parentheses around more than one paragraph? Example:     Paragraph 1.      (Paragraph 2.      Paragraph 3.)      Paragraph 4.   (Of course, this is just a simple example. In reality, it looks more clean since the paragraphs are more than one line long, and are not separated by an empty line.) Low-res texture blurry I unwrapped a simple plane and applied the following 80x80 pixel picture:    Yes, it's quite small. The problem is, the result is all blurry, like so:    How do I make it accurate to the pixel? Cleaning wax and pesticide from apple skin Factorial identity $n!=1+(1-1/1!)n+(1-1/1!+1/2!)n(n-1)+\cdots$ Show that $\displaystyle{n!=1+\left(1-\frac1{1!}\right)n+\left(1-\frac1{1!}+\frac1{2!}\right)n(n-1)+\cdots}$. I can't figure out how this can be solved. I tried to use the binomial theorem but I couldn't prove it. Any help will be greatly appreciated. Is it possible to prove a null hypothesis? shortcut for commands How can I add a class to a block with code (development) For theming reasons I'd like to add a specific class at the "block" level to some of the blocks I'm generating with a custom module. I know there is a module , but I would rather like to do it directly in code (there is no need to change is afterwards).   I also know of , but that does not seem to allow adding or editing classes.  Is it possible to add a class with to a block from within my module code? I'm using Drupal 7.